30년 된 FastCGI가 HTTP보다 리버스 프록시에 더 나은 이유
## 왜 갑자기 FastCGI 이야기인가요 웹 개발 좀 해보신 분이라면 "FastCGI"라는 단어를 한 번쯤은 들어보셨을 거예요. PHP를 nginx에 붙일 때 `php-fpm`을 쓰는데, 그게 바로 FastCGI거든요. 1996년에 만들어진, 거의...
DOS 1.0 원본 소스코드가 GitHub에 살아있다 - 컴퓨터 역사의 디지털 보존
## 45년 전 코드를 다시 만나다 1980년에 Tim Paterson이라는 프로그래머가 Seattle Computer Products라는 회사에서 **86-DOS**(나중에 MS-DOS의 원형이 되는 운영체제예요)를 만들었어요. 이게 마이크로소...
GitHub 이전 시대의 풍경: 우리는 어떻게 코드를 공유했나
## 향수가 아니라 맥락의 이야기 Flask와 Jinja2의 메인테이너로 유명한 **아르민 로나허(Armin Ronacher)**가 "Before GitHub"라는 제목의 글을 올렸어요. 단순한 추억담이 아니라, **현대 오픈소스 협업의 표준이 ...
CJIT - C 언어를 컴파일 없이 바로 실행하는 새로운 방법
## C 코드를 스크립트처럼 실행한다고요? 이탈리아의 Dyne.org가 재미있는 도구를 공개했어요. **CJIT(C, Just in Time)** 라는 건데요. 이름 그대로 **C 언어 코드를 컴파일 단계 없이 바로 실행할 수 있게 해주는 도구**예...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
ChatGPT와 Claude 안에서 DOOM을 플레이한다 - MCP의 진짜 가능성을 보여준 실험
## 챗봇 안에서 게임을 한다고요? Chris Nager라는 개발자가 정말 재미있는 걸 만들었어요. **DOOM(둠)을 ChatGPT와 Claude 안에서 직접 플레이할 수 있는 MCP 앱**을 공개한 거예요. 1993년에 나온 그 전설의 FPS...
PostgreSQL 확장을 Rust로 만든다고? pgrx가 여는 새로운 가능성
## 도입: PostgreSQL 확장의 새로운 길 혹시 PostgreSQL을 쓰면서 "여기에 내가 원하는 함수 하나만 더 있으면 좋겠는데"라고 생각해본 적 있으신가요? PostgreSQL의 가장 큰 장점 중 하나가 바로 **확장(extension...
AgentSwift 공개 — AI가 직접 iOS 앱을 만들어주는 오픈소스 빌더 에이전트
## "앱 하나 만들어줘"가 진짜로 통하는 시대 ChatGPT나 Cursor에 "To-Do 앱 만들어줘" 했더니 코드가 좌라락 나오는 경험, 다들 한 번쯤 해보셨을 거예요. 그런데 그 코드가 정말로 빌드되고, 시뮬레이터에서 돌아가고, 디자인이 그...
디커플링 커패시터를 몸으로 배웠다 - 펌웨어 개발자가 회로를 무시하면 생기는 일
## 도입: 코드는 멀쩡한데 보드가 미쳐버려요 nbelakovski라는 개발자가 자신의 블로그에 "How I learned what a decoupling capacitor is for, the hard way(디커플링 커패시터가 뭐 하는 건지 ...
사이드 프로젝트, 끝까지 완성 못해도 괜찮아요
## 누구나 한 번쯤 겪는 '버려둔 폴더' 개발자라면 깃허브나 로컬 어딘가에 미완성 프로젝트 폴더 한두 개쯤은 있을 거예요. 처음엔 "이거 진짜 대박 아이디어인데?" 하면서 신나게 시작했다가, 어느 순간 손이 안 가고 그냥 묵혀두게 된 그런 폴더...
Common Lisp 위에 정적 타입을? Coalton과 새 IDE "Mine" 이야기
## Lisp가 다시 움직이고 있다 혹시 Common Lisp라는 언어 들어보셨나요? 1984년에 표준화된, **현존하는 가장 오래된 고수준 프로그래밍 언어 중 하나**예요. 괄호로 가득한 코드 모양 때문에 농담거리가 되곤 하지만, 매크로 시스템과 ...
Lute 등장: Roblox의 Luau가 독립 런타임을 갖게 됐다
## Luau가 게임 엔진 밖으로 나왔다 혹시 Luau(루아우)라고 들어보셨어요? Roblox에서 만든 프로그래밍 언어인데요. 원래 Lua라는 가벼운 스크립트 언어가 있는데, 그걸 Roblox가 게임 개발에 맞게 대대적으로 손본 게 Luau예요. 점...
async가 약속한 것과 실제로 가져다준 것 — 비동기 10년의 회고
## 도입: async/await, 정말 우리 삶을 편하게 만들었나요 2010년대 초중반부터 거의 모든 주류 언어가 **async/await** 키워드를 받아들였어요. JavaScript, C#, Python, Rust, Kotlin, Swift...
CSS를 쿼리 언어처럼 쓴다고? 브라우저 개발자 도구의 숨은 무기
## 도입: CSS를 스타일링 말고 다른 용도로 쓸 수 있다는 발상 CSS라고 하면 보통 뭐가 떠오르세요? 색깔 바꾸고, 여백 주고, 반응형 디자인 만들고. 그런 "꾸미는 언어"라고 생각하잖아요. 그런데 CSS 셀렉터를 조금만 다르게 보면 이게 사실...
브라우저에서 tar 파일을 '진짜 파일시스템'처럼 마운트하기 - WebAssembly의 재미있는 활용
## 브라우저 안에서 파일시스템을 만든다는 것 Jeroen Ooms라는 개발자가 최근 자신의 블로그에 "WebAssembly에서 tar 아카이브를 파일시스템으로 마운트하기"라는 흥미로운 기술 노트를 올렸어요. 제목만 들으면 "그게 뭐 어쨌다는 거...
Go로 GUI 앱을? 선언형 프레임워크 'Gova'의 시도
## Go는 왜 GUI에서 약했을까 Go 언어 좋아하시는 분들 많으시죠. 서버, CLI, 네트워크 도구에서는 거의 무적이거든요. 그런데 이상하게 **데스크톱 GUI 앱**을 만들려고 하면 갑자기 선택지가 확 줄어들어요. Fyne, Wails, G...
Raylib 6.0 출시: C로 게임 만드는 가장 쉬운 길이 한 단계 더 편해졌다
## Raylib이 뭐예요? 게임 개발 입문자의 든든한 친구 Raylib을 모르는 분들을 위해 짧게 소개할게요. **C 언어로 간단하게 2D/3D 그래픽과 게임을 만들 수 있게 해주는 라이브러리**예요. Unity나 Unreal 같은 거창한 엔진...
러스트 없이도 '빌림 검사기'를 만들 수 있다 — 타입 없는 Borrow Checking 이야기
## 빌림 검사기, 꼭 타입 시스템에 묶여 있어야 할까? Rust를 배우다 보면 제일 많이 듣는 말이 '빌림 검사기(borrow checker)'예요. 이게 뭐냐면 Rust 컴파일러가 '이 변수는 지금 누가 쓰고 있나?', '두 명이 동시에 고치...
LiteLLM보다 44배 가볍다는 Go 기반 AI 게이트웨이, GoModel
## AI 게이트웨이가 대체 뭐길래 요즘 AI 앱을 만들다 보면 이런 고민이 생깁니다. OpenAI도 쓰고 싶고, Claude도 쓰고 싶고, 로컬에 띄운 Llama도 붙이고 싶은데, 각자 API 형식이 다 달라서 코드가 지저분해진다는 거예요. 그...
여러 언어가 섞인 모노레포에서 Changesets로 버전 관리하기
## 모노레포의 골치 아픈 문제, 버전 관리 모노레포(monorepo)라는 개념이 이제 꽤 익숙하시죠. 여러 프로젝트를 하나의 저장소에 모아놓고 관리하는 방식인데요, Google이나 Meta 같은 회사들이 오랫동안 써온 구조이고, 요즘은 스타트업들도...
프로그래밍 언어의 '조상 일곱'은 누구인가 — 모든 언어는 결국 이 중 하나의 후예
## 언어 수백 개, 근본은 몇 개일까 프로그래밍 언어는 지금도 계속 새로 태어나고 있어요. Python, JavaScript, Rust, Go, Kotlin, Swift… 이름만 늘어놔도 끝이 없죠. 그런데 2022년에 공개된 블로그 글 "The ...