6장. 물리적 데이터베이스 설계 - 인덱스 기본 원리
디스크 상에서 화일의 레코드 배치 결국 DB에 저장되어 있는 레코드들도 최종적으로는 파일 안에 들어있다. [원하는 레코드가 위치한 블록을 어떻게 빨리 찾을 것인가?, 블록을 얼마나 적게 읽을 것인가?]가 핵심. Disk IO는 block 단위로 이루어지기 때문에 block을 몇 개 읽어야 하는지가 중요하다. (page 단위로 메모리에...
디스크 상에서 화일의 레코드 배치 결국 DB에 저장되어 있는 레코드들도 최종적으로는 파일 안에 들어있다. [원하는 레코드가 위치한 블록을 어떻게 빨리 찾을 것인가?, 블록을 얼마나 적게 읽을 것인가?]가 핵심. Disk IO는 block 단위로 이루어지기 때문에 block을 몇 개 읽어야 하는지가 중요하다. (page 단위로 메모리에...
ERD (Entity-Relationship Diagram) 중요성 개체-관계 모델 설명 wiki ERD가 없으면 기존 구조를 파악하기 어려워, 새로운 컬럼이나 테이블을 추가하면서 역정규화 되거나, 같은 내용의 컬럼이 서로 다른 테이블 2개에 각각 생성되는 경우가 빈번하다. 이는 갱신이상 등 데이터 불일치를 유발한다. 이런 식으로 같은 용도의 테이...
Context란? + 안드로이드의 프로세스 / 어플리케이션 차이 https://stackoverflow.com/questions/10347184/difference-and-when-to-use-getapplication-getapplicationcontext-getbasecon context와 싱글턴 정리하면 Application Context(...
https://developer.android.com/studio/command-line/adb.html?hl=ko#howadbworks adb devices adb로 DB 접근하기 D:\AndroidSDK\platform-tools>adb shell root@generic\_x86:/ # cd data/data/com.example.um...
퍼포먼스는 둘 다 같다. 코드가 길지 않다면 onClick을 사용하는 방식이, 코드가 길어진다면 onClickListener를 사용하는 방식이 괜찮아 보인다. onClick in XML의 장점 ( API 4 부터 사용 가능 ) onClickListener()를 지정하는 방식은 inflate또는 kt findViewById()로 View를 불러...
Android 6.0 Marshmallow(API 23) 이전에는 AndroidManifest.xml에 필요한 위험 권한을 선언해놓고, 앱을 설치할 때 한 번에 권한을 획득하는 방식이었다. 그러나 6.0부터는 런타임에 위험 권한을 요청해야 한다. 기기에서 Android 5.1 이하를 실행 중이거나, 또는 앱의 targetSdkVersion이 2...
Anko등을 사용하지 않는 일반적인 경우라면 layout은 xml을 이용해서 만들기 때문에, xml layout을 불러와 실제로 앱에 그려주는 작업(View로 만드는 작업)이 필요한데 이를 inflate라고 한다. val elementView = inflater.inflate(R.layout.layout\_list\_element, parent, f...
https://developer.android.com/guide/platform/index.html?hl=ko#art Android는 모바일 기기를 위한 Linux 기반 커널과 미들웨어, 핵심 애플리케이션들을 포함한 소프트웨어 스택이라고 볼 수 있다. ART, Android Runtime https://developer.android.com/...
https://developer.android.com/guide/components/fundamentals.html 안드로이드의 메모리 관리 관점에서 프로세스 / 어플리케이션 관리 Android 앱은 일단 기기에 설치되고 나면 각자 자체적인 보안 샌드박스 안에 존재합니다. Android 운영 체제는 멀티유저 Linux 시스템으로, 여기서 각...
변성 (variance) List는 클래스(기저 클래스)이고, List<Int>는 타입이다. 타입 A의 값이 필요한 모든 장소에 타입 B의 값을 넣어도 아무 문제가 없다면 B는 A의 하위 타입(subtype)이다. 하위 클래스와 하위 타입은 미묘한 차이가 있다. A?와 A는 같은 클래스에 속하지만, A는 A?의 하위 타입이고 그 역은 성립...