시스템이 어떻게 동작하는지 이해하고 기록하기 위한 기술 노트 모음. Unix 설계 철학, 운영 환경, 개발 도구, 소프트웨어 구조, 실제 개발 과정에서 마주한 문제와 해결 과정을 정리한다. 단순한 튜토리얼보다 기술의 배경과 원리, 그리고 왜 그렇게 설계되었는지를 탐구하는 엔지니어링 기록에 가깝다.
AI가 코드를 생성하는 시대가 시작되면서 소프트웨어의 저작권과 오픈소스 라이선스에 대한 오래된 전제가 흔들리기 시작했다. AI가 만든 코드의 소유권은 누구에게 있는지, Copyleft는 여전히 의미가 있는지, 그리고 기존 라이선스 체계는 이 변화를 감당할 수 있는지. 이 시리즈는 AI 코드 생성이 던지는 새로운 법적·기술적 질문들을 하나씩 탐구한다.
Docker와 Kubernetes 환경에서 애플리케이션 로그는 왜 파일이 아니라 stdout으로 출력해야 할까? 컨테이너 로그 구조를 따라가 보면 결국 Unix의 오래된 설계로 돌아가게 된다. stdout과 stderr로 분리된 I/O 모델이 어떻게 현대 클라우드 인프라의 로그 시스템까지 이어졌는지 살펴본다.
Unix에는 “Everything is a file”이라는 유명한 철학이 있다. 디스크 파일뿐 아니라 터미널, 파이프, 네트워크 소켓까지 모두 같은 방식으로 다루는 이 단순한 설계는 Unix 시스템 전체의 구조를 결정지었다. 이 글에서는 왜 Unix가 세상을 파일로 표현하려 했는지, 그리고 그 선택이 오늘날의 소프트웨어 구조에 어떤 영향을 남겼는지를 살펴본다.