결국 돌고 돌아 라이카 M10

M11-D가 출고되고 있는 현재... 라이카의 전 세대 모델인 라이카 M10을 중고로 구매했다. 이유는 요약하자면 결국 소니 A7C2 는 나와 맞는 카메라가 아니었다는 것이다. 레인지파인더 카메라를 디지털에서도 사용할 필요가 없다고 생각했지만 결국 라이카 M이 만들어내는 신중함과 재미가 최신 기술의 편리함과 하드웨어적인 수치를 이겨내는 좋은 결과물을 만들어낸 다는 것을 A7C2로 찍은 사진들이

2 min read

More issues

몇년간의 근황: 2024 하반기에 접어들며

몇년동안 블로그를 잘 쓰지 않았다. 업무에 집중하느라 사이드 프로젝트나 새로운 것들 공부를 잘 하지 않았던 것 들도 있지만, 시간이 나도 공부를 하지 않았던 걸 생각하면 노는게 더 좋아졌던 것 같다. 2021년정도까지는 취미가 코딩이었던게 지금은 너무 비현실적으로 느껴진다 (그때 날 보던 사람들도 그렇게 생각했겠지?) 2022년 초 쯤 제대로 크런치 한번 걸리면서
1 min read

io_uring vs epoll

io_uring은 Facebook의 Jens Axboe가 만든 Linux용 새로운 비동기 I/O API로, 유저스페이스와 커널스페이스간에 매핑되는 SQ(요청 큐), CQ(완료 큐) 두가지의 링 버퍼를 사용한다. 애플리케이션은 SQ를 통해 커널에게 완료하길 원하는 작업을 SQE(SQ 엔트리)라는 포맷으로 제출한다. CQ를 통해서는 완료된 결과를 확인한다. SQ와 유사하게 완료된 결과도 CQE(CQ 엔트리)
2 min read

파이썬이 메모리를 관리하는 방법

C, C++ 같은 언어와는 달리 파이썬은 메모리의 할당과 해제가 파이썬 인터프리터에 의해 자동으로 관리됩니다. 이 글에서는 파이썬, 정확히는 가장 많이 사용되는 파이썬 인터프리터인 CPython(이하 "파이썬")이 메모리를 어떻게 관리하는지 그 세부 구현에 대해 소개합니다. 파이썬의 메모리 구조 파이썬에서 메모리에 할당되는것은 AST 객체와 일반 데이터 객체, 크게 두가지로
21 min read

SD카드 없이 라즈베리 파이 부팅하기

여러대의 라즈베리 파이들로 구성된 도커 스웜 클러스터를 구성하면서 가장 귀찮았던 점은 일일히 여러개의 SD 카드를 플래싱하고 부트 파티션 수정을 통한 ssh 활성화 등 제한적인 헤드리스 설정만 가능한 문제 때문에 직접 파이들에 접속해 추가 설정을 진행해야 했던 점이다. 처음에는 패브릭을 사용해 절반 정도의 자동화를 수행해 봤지만 그래도 중앙화된 관리는 아니라 불편한
14 min read

모나드, 그리고 모나드 트랜스포머와 함께하는 비동기 파이썬

간단한 서버 프로그램을 생각해 봅시다. 사용자로부터 입력을 받고, 입력받은 데이터를 가지고 무언가 IO를 한 후 결과물에 무언가 처리를 해 돌려주는 것이 일반적인 서버의 로직입니다. 하지만 현실 세계에서는 글로 보듯이 선형적인 흐름이 이루어지지 않습니다. 악의적인 사용자로부터 위험한 입력이 들어올 수도 있고, 비가 와서 인터넷이 느려서 IO가 실패할수도 있고, 결과물이 이상해서 처리를
7 min read

리얼월드 파이썬 메타클래스

이 글은 파이콘 한국 2019에서 파이썬 메타클래스에 대해 발표한 리얼월드 메타클래스 발표의 텍스트 버전입니다. 슬라이드와 영상 또한 공개되어 있습니다. 이 글에서는... * 파이썬의 핵심적인 부분이지만 잘 모르고, 심오하게만 느껴지는 파이썬 메타클래스를 객체와 타입의 정의를 찾아가며 메타클래스에 대한 개념을 정리 * 파이썬의 클래스 생성 과정에서 메타클래스가 어떻게 사용되는지 알아본 후, 메타클래스를 유용하게 사용할
21 min read