일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- pmap
- kafka
- NDK
- proc
- vm_area_struct
- BLOCK
- Kernel
- mm_struct
- Linux
- page
- Apache
- slub
- slowpath
- multiqueue
- memory
- 카프카
- vmalloc
- commit
- slab
- spinlock
- fastpath
- devicedriver
- lruvec
- Android
- Network
- allocator
- strex
- buddy_system
- blk-mq
- kmalloc
- Today
- Total
목록IT (43)
Art of Pr0gr4m
vim bootstrap 등에서 제공하는 플러그인을 사용하다보면 자동 주석 기능이 딸려온다. /* */ 주석의 경우엔 블락 단위로 쓰다 보니 자동으로 앞에 개행과 * 이 붙는 것이 편할 수 있지만 // 주석은 라인 단위로 쓰다 보니 엔터 쳤을 때 자동으로 붙는 것이 불편할 수 있다. 이럴 때 명령행모드에서 setlocal comments-=://를 쳐주면 라인 주석 자동 완성만 꺼진다. 둘 다 끄고 싶다면 set formatoptions-=r 이면 된다. 그런데 중요한건, .vimrc 파일에서 그냥 set으로 먹질 않는다. 이 경우 .vimrc 파일에서 적용하려면 `autocmd FileType * setlocal comments-=://` 와 같은 라인을 추가해주면 적용된다.
ISO/IEC 9899:1999 ISO/IEC 9899:2011
프로그램이 파일의 끝 너머로 파일 오프셋을 옮기고 쓰기 작업을 하면, 파일 중간에 빈 공간이 생긴다. 이전의 파일 끝과 새로 쓴 바이트들 사이의 이 공간을 파일 구멍(file hole)이라고 한다. 프로그래밍 관점에서 보면 파일 구멍 속에서도 바이트들이 존재하고, 읽을 시 0으로 채워진 바이트들의 버퍼를 리턴한다. 하지만 파일 구멍은 디스크 공간을 차지하지 않고 파일 시스템은 나중에 파일 구멍에 데이터가 쓰여질 때 디스크 블록을 할당한다. 여기서, 디스크 공간 할당에 대해서 블록 할당의 개념을 잘 알아둬야 한다. 대부분의 파일 시스템이 파일 공간을 블록 단위 (1K / 2K / 4K 등)로 할당하기 때문에 파일 구멍이 블록 경계에 걸치지 않고 블록 안에 들어간다면, 구멍이 있든 없든 똑같이 블록 하나가 ..
임의의 프로젝트에서 특정 디렉토리만 복사해 올 때, 내부에 상대 경로로 지정된 심볼릭 링크 파일이 있다면 링크 파일이 깨질 수 있다. 물론 타겟 파일을 새로 작성해서 새로 연결하는 방법도 있겠지만, 깨진 파일이 많고 당장 디렉토리 내용들을 깨진 파일을 제외하고 빌드하고 싶을 수 있다. 이럴 때 깨진 심볼릭 링크 파일만 검색 / 삭제하는 다음 명령이 효과적이다. 깨진 심볼릭 링크 파일 검색 명령 옵션 $ find -L $DIR -maxdepth 1 -type l 깨진 심볼릭 링크 파일 삭제 옵션 $ find -L $DIR -maxdepth 1 -type l -delete (삭제에 경고 옵션이 없으니 주의하자)