본문 바로가기
728x90
반응형

전체 글322

[Database] Sequential Files(Ordered Files)의 정의와 트랜잭션 파일(transaction file) sequential files(ordered files)는디스크에 물리적으로 레코드들이 정렬되어 있다. 정렬된 파일은 이전 포스팅에서의 heap file같이 정렬되어있지 않은 파일에 비해 다음과 같은 장점을 가진다. 일반적으로 다음 레코드에 접근하기 위해서 블록에 새롭게 접근할 필요가 없다. (같은 블록에 있기 때문) key field가 정렬되어 있기 때문에 이진 탐색으로 빠르게 찾아낼 수 있다. 삽입 연산 이렇게 정렬되어있는 파일의 경우 삽입이 어렵다. 중간을 삽입하게 되면 그 뒤부터 전부 한 칸씩 밀리기 때문이다. 그래서 이를 해결하는 방법은 두 가지가 있다. 애초부터 블록에 삽입할 여분의 공간을 남겨둔다. 삽입의 경우 별도의 공간에 따로 진행하고 나중에 합친다. 삭제 연산 정렬된 파일에서 삭제 연산.. 2022. 11. 24.
[Database] 더블 버퍼링 (double buffering) Program space : cpu가 사용 I/O space : 버퍼 관리자가 사용 디스크 속의 블록을 읽거나 쓰는 과정은 먼저 디스크에서 I/O space의 버퍼로 블록을 가져온다. 그리고 I/O space의 버퍼에 있는 것을 Program space로 가져와서 사용한다. 더블 버퍼링의 뜻은 버퍼가 두 개가 있다는 뜻이다. 더블 버퍼링을 사용할 경우 cpu가 I/O space의 한 버퍼를 사용중일 때 다른 버퍼는 디스크 안의 블록을 가져온다. 이런 식으로 교대로 동작하기 때문에 효율이 높아진다. pin-count : 현재 버퍼를 사용하고 있는 프로세서의 개수 dirty-bit : 비트의 업데이트 여부 버퍼 교체 전략 LRU(Least recently used) : 가장 최근에 잘 안 쓰인 것 MRU(M.. 2022. 11. 23.
[Database] 디스크 안에 파일 레코드를 저장하는 방법 데이터는 파일 속에 레코드 형태로 보관이 된다. 이러한 레코드는 고정 길이 레코드 가변 길이 레코드 로 나뉜다. 고정 길이의 경우 길이가 고정되어 있기 때문에 원하는 정보를 얻기 쉬우나 가변 길이의 경우 구분자를 사용한다. 고정길이 가변길이 blocking factor (블록 당 레코드의 수) 블록의 크기가 512 Bytes이고 레코드의 크기가 100 Bytes라고 한다면 하나의 블록에는 5개의 레코드가 들어가고 12Bytes는 남게 된다. 즉 512/100에서 소수점을 버리면 이게 곧 blocking factor 이다. bfr(blocking factor) = B(블록 크기)/R(레코드 크기) 블록마다 남는 크기는 B - bfr * R 이다. 레코드들의 크기가 블록의 크기보다 커진다면 어떻게 할까? 두.. 2022. 11. 23.
[Android/Kotlin] activity와 fragment에서 view binding 사용법 view binding을 사용하면 view에 존재하는 값들에 접근할 수 있다. 이전에는 view에 존재하는 값들에 접근하기 위해서는 해당 ID를 사용해서 findViewById를 사용하였다. 이제는 view binding을 사용하면 쉽게 접근할 수 있다. 먼저 앱 수준의 build.gradle에 들어간다. 코드를 보면 android로 싸여있는 코드를 확인할 수 있다. 그 안에 다음과 같은 코드를 적으면 된다. viewBinding{ enabled=true } android에 들어있는 모습을 보면 아래와 같다. android { namespace 'com.example.practiceapplication' compileSdk 32 defaultConfig { applicationId "com.example.. 2022. 11. 22.
728x90
반응형