본문 바로가기

공부 이야기/그냥 찾아보는 공부

안드로이드 11. 보안) Developing with the latest privacy changes in Android 11 www.youtube.com/watch?v=MXlVj-EYgIQ&feature=youtu.be - 사용자로부터 권한 선택에 대한 부담을 최소화하도록 할 것 - 특정 기능에 대해서만 권한을 요구하도록 세분하게 나누기 - 권한 요구의 세 단계 절차 1) 이미 권한이 있는지 확인하기 - checkSelfPermission() 2) 왜 해당 권한을 받아야하는지 알려주기 - shouldShowRequestPermissionRationale() 3) 권한 얻는 allow 대화상자 표시 - requestPermissions() - 안드로이드 11에서는 Deny 옵션이 훨씬 다양한 곳에서 사용 - 이번 한 번만 허용 (One Time Permission) 기능도 추가됨 android-developers.googlebl.. 더보기
안드로이드 서비스, Service vs Intent Service 백그라운드에서 작업해야 되는 기능을 개발하기 위해 주로 사용하는 서비스 Service의 구동 방법 및 종류에 대해서 알아보았다. brunch.co.kr/@mystoryg/93 안드로이드 서비스(Service) 4대 컴포넌트 | 안드로이드 서비스 서비스는 백그라운드에서 동작하는 작업을 수행한다. 따라서 서비스를 실행한 앱을 다른 앱으로 전환하더라도 서비스에서 시작한 작업은 백그라운드에서 계 brunch.co.kr 메소드 및 구동 과정이 기술되어 있다. 1. 백그라운드 서비스 - 일반적인 서비스로 생성 -> 구동 -> 소멸로 이뤄진다. 2. 바인드 서비스 - 서비스를 호출한 호스트가 종료되는 경우, 자동으로 중단된다. 3. 인텐트 서비스 - 비동기적으로 서비스를 호출할 수 있는 방식으로 작업 큐에서 대기 후.. 더보기
Kotlin vs JAVA in 객체 초기화, 데이터 정의 자바에서는 객체를 정의할 때 getter, setter로 DTO 클래스를 만들어서 구현해야 하지만 코틀린에서는 다음과 같이 한 번에 구현할 수 있다. 바로 data class를 사용하고 전달인자에 데이터 타입을 정의하는 것이다. 구현할 때도 한 줄이면 족하다. 객체를 초기화 할때에도 apply { ... } 메소드를 이용해서 데이터를 객체에 초기화할 수 있다. 더보기
안드로이드 운영체제 - HAL 1. HAL - 하드웨어 추상화 계층 - 하드웨어와 소프트웨어의 중간 추상화 계층으로 응용프로그램의 Transparency를 지원 - 즉, 어떤 하드웨어에서도 동작할 수 있도록 하는 플랫폼임 - AS/400 (IBM 시스템 i)에서 적절하게 사용됨 2. GNU - 자유소프트웨어로 이루어진 운영 체제로 주로 리눅스와 혼용해서 상용됨 더보기
데이터 분석 정리 1. 범주형 데이터 vs 양적 데이터 - 수치적으로 계산을 할 수 있는지에 따라 구분 - 단, 양적 데이터에선 수학 연산이 된다고 무조건 결과가 의미 있지는 않음 2. 이항분포 - P와 1-P의 확률을 가질 때의 이산 확률 분포 ex) 동전 던지기 - 이처럼 두 가지 경우일 때를 베르누이 시행, n=1가 될 때는 베르누이 분포라고 함 (n은 시행 횟수) 3. 베이즈 이론 - 단순히 모든 경우의 수에 대해 확률을 구하는 것이 아닌, 특정 조건을 사전에 걸 필요가 있을 경우 사용 - 추론 대상의 사전 확률과 추가적인 정보를 기반으로 해당 대상의 사후 확률을 추론하는 통계적 방법 4. 부트스트랩 - 1부터 N개의 모수 중에서 하나씩 샘플로 뽑는 과정에서 하나씩 추가할 때마다 전체 평균을 계속 계산하는 방법 -.. 더보기
Angular JS란? 1. 기존 자바스크립트 방식 자바스크립트를 이용해서 웹 클라이언트를 개발할 때 다음과 같은 작업들이 필요하게 된다. 1. 사용자로부터 화면에서 데이터를 입력받는 작업 2. 입력된 데이터를 서버에 요청하기 위해 데이터를 파싱하는 작업 3. 서버측에서 응답받은 데이터를 이용해 화면을 구성하는 작업 자바스크립트를 이용하면 위와 같은 작업들을 처리할 수 있으나 전역 변수와 지역 변수(var 변수 선언)의 중복 선언으로 인한 호이스팅 현상, 데이터를 파싱하는 과정 속에서 발생하는 코드의 길어짐 등의 문제가 발생한다. 따라서 이러한 문제를 효과적으로 해결해주기 위해 Angular.js를 사용해야 한다. 2. 웹 개발자의 요구사항 한편, 웹 개발자의 요구사항에는 다음과 같은 사항들이 있다. 1. 손쉬운개발 2. 직관.. 더보기
Angular Framework는 무엇인가? 관련 출처 영상) https://www.youtube.com/watch?v=3K1AhCSW2iM&list=PLq8wAnVUcTFWl-3u5aH7G-5DQuPJP4sUw 1. Angular JS와는 다른 프로그램이다. 즉, Javascript에서 국한되지 않은 새로운 프레임워크이다. 2. Javascript와 Ajax가 사용되지 전의 웹 환경 - 데이터를 교환할 때 화면 전체를 전환해야되는 과-트래픽 문제가 발생했었음 - 따라서 페이지 단위가 아닌 데이터 단위로 요청-응답을 하는 방식으로 변화되었다. 3. 변화된 방식 - Ajax - XML을 비동기적으로 처리해주는 것이 Ajax !! - 다양한 종류의 데이터가 교환됨에 따라 프론트엔드 작업이 복잡해져 자바스크립트 기술이 필요해짐 4. Google - 브라.. 더보기
Github 사용법 배우기 지극히 주관적임 단순 기록용 오늘의 할 일 1. Repository 생성 2. Branch 개념 파악 3. Push / Pull 개념 파악 4. 임의의 Repository를 로컬 PC로 가져오기 5. Git Bash 다루는 법 파악 1. Repository란 작업 저장소를 의미하고 모든 코드들이 저장될 공간이다. master와 branch로 나뉨 2. branch는 임시 테스트용 stub로 버전 관리 및 수정 사항 반영을 위해 생성한다. 3. push는 로컬 PC에서 remote github로, pull은 그 반대 방향으로 수정 사항을 commit 하는 것을 의미한다. 4. Git Bash는 일종의 셀로 로컬 PC에 있는 파일이나 코드 등을 github 웹 호스팅에 연동할 수 있게 한다. 명령어 git .. 더보기