⚙ Essays

⚙ Essays

시스템이 어떻게 동작하는지 이해하고 기록하기 위한 기술 노트 모음. Unix 설계 철학, 운영 환경, 개발 도구, 소프트웨어 구조, 실제 개발 과정에서 마주한 문제와 해결 과정을 정리한다. 단순한 튜토리얼보다 기술의 배경과 원리, 그리고 왜 그렇게 설계되었는지를 탐구하는 엔지니어링 기록에 가깝다.

Latest posts

AI 시대인데 왜 소프트웨어는 늘지 않았을까 — 보이지 않는 코드의 폭발

AI로 개발 생산성은 분명히 증가했다. 그런데 왜 세상에는 더 많은 소프트웨어가 보이지 않을까. PyPI와 앱스토어 데이터를 통해 드러난 것은 생산성의 부재가 아니라, 우리가 보지 못하는 곳에서 폭발적으로 증가하고 있는 ‘비공개 소프트웨어’의 존재다.

AI 시대, 개발자는 더 오래 일하지 않는다 — 대신 더 위험한 일을 한다

AI는 개발자의 일을 줄여주지 않는다. 대신 코드 작성이라는 작업을 밀어내고, 더 어려운 문제를 남긴다. 이제 개발자의 역할은 코드를 만드는 것이 아니라, 무엇이 맞는지 판단하는 것이다. 이 글은 생산성의 문제가 아니라 구조의 문제로 개발자의 변화를 설명한다.

코드를 넘어서 생태계로 — 오픈소스가 만들어낸 보이지 않는 전환

오픈소스는 단순한 코드 공개가 아니었다. Linux에서 Android까지 이어진 흐름 속에서, 소프트웨어는 코드가 아니라 생태계로 확장되었고 개발 방식 자체가 다시 정의되기 시작했다.

Android가 오픈소스가 된 순간 - 스마트폰 생태계를 바꾼 Google의 전략

Android는 단순한 모바일 운영체제가 아니었다. Google은 왜 Android를 오픈소스로 공개했을까? 이 글은 모바일 시장의 경쟁과 위기 속에서 탄생한 Android의 전략과, 그 선택이 어떻게 스마트폰 생태계를 바꿨는지를 따라간다.

우리는 왜 아직도 필요 없는 코드를 다운로드하고 있을까 — JavaScript 의존성 비대화의 구조적 착각

우리는 단순히 코드를 작성하는 것이 아니라, 수백 개의 의존성을 함께 다운로드하며 시스템을 구성한다. 문제는 그 중 상당수가 더 이상 필요 없는 코드라는 점이다. 이 글은 JavaScript 의존성 비대화가 어떻게 만들어졌고, 왜 여전히 유지되고 있으며, 우리가 어떤 선택을 해야 하는지를 구조적으로 분석한다.

MySQL이 스타트업의 데이터베이스가 된 이유 — 거대한 데이터베이스 시장을 뒤흔든 작은 오픈소스 프로젝트

MySQL은 단순한 데이터베이스가 아니었다. 그것은 비용, 접근성, 그리고 개발 속도라는 조건 자체를 바꾸며 스타트업 생태계를 가능하게 만든 기술이었다. 이 글은 MySQL이 어떻게 인터넷 산업의 성장 구조를 바꿨는지, 그리고 왜 거의 모든 초기 웹 서비스가 MySQL을 선택할 수밖에 없었는지를 따라간다.

Apache 웹서버가 인터넷을 지배한 이유 - 웹의 초기 인프라

웹은 처음부터 준비된 인프라 위에서 성장한 것이 아니었다. 표준도, 안정적인 서버도 없던 혼란 속에서 개발자들은 직접 코드를 고치기 시작했고, 그 과정에서 Apache가 탄생했다. 이 글은 Apache가 어떻게 웹 서버를 넘어 인터넷 인프라의 중심이 되었는지, 그리고 오픈소스가 어떻게 웹의 기본 구조를 만들어냈는지를 따라간다.