결국 모든 시스템 설계는 '백프레셔'로 귀결된다
## 'Attention is all you need' 패러디 같은 제목, 그런데 진지한 글 Lucas F. Costa가 쓴 "Backpressure is all you need"는 제목부터 트랜스포머 논문을 농담조로 가져왔지만, 안에 담긴 메시지는...
TypeScript를 실행 파일로 직접 컴파일하는 Perry: SWC와 LLVM의 만남
## TypeScript가 네이티브 실행 파일이 된다고? TypeScript로 개발해본 분들이라면 한 번쯤 이런 생각 해보셨을 거예요. "내 TS 코드가 Node.js 없이 그냥 실행되면 얼마나 좋을까?" 보통 TypeScript를 배포할 때는 ...
Cloudflare Flagship 등장, 엣지 컴퓨팅의 다음 단계가 시작됐다
## Cloudflare가 또 새 카드를 꺼냈다 Cloudflare가 'Flagship'이라는 새로운 개발자 플랫폼을 공개했어요. 이름부터 "우리 회사의 대표작이야"라고 외치는 느낌인데, 실제로도 그동안 흩어져 있던 Workers, R2, D1,...
C 언어의 "확장 기능"이 왜 이식성 지옥을 만드는지 들여다봐요
## C 언어, 표준이 있는데 왜 컴파일러마다 다를까요? C 언어를 배우다 보면 이상한 경험을 하게 돼요. 분명 같은 C 코드인데 GCC에서는 잘 컴파일되던 게 Clang에서는 경고가 뜨고, MSVC(마이크로소프트 컴파일러)에서는 아예 안 돌아가는 ...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
Firefox가 Intel Raptor Lake에서 죽는 이유 - CPU 버그를 소프트웨어로 막는 법
## 잘 돌아가던 브라우저가 갑자기 죽기 시작했다 노트북이나 데스크톱에서 Firefox를 쓰는데 갑자기 크래시가 자주 발생한다면, 혹시 CPU가 Intel 13세대(Raptor Lake)나 14세대(Raptor Lake Refresh)인지 한번 확인...
Electrobun 2.0가 Bun에서 분리된다 — Rust 재작성이 만든 변화
## Electrobun이 뭐였더라 혹시 **Electrobun**이라는 프로젝트를 들어보셨나요? 이름에서 느껴지듯이 Electron의 대안으로 등장한 데스크톱 앱 프레임워크인데요. Electron이 Chromium과 Node.js를 묶어서 만드는 ...
yt-dlp가 Bun 지원을 사실상 접었습니다 — "빠른 런타임"의 그늘
## 무슨 일이 있었나요 유튜브를 비롯한 수많은 동영상 사이트의 영상을 받아 주는 그 유명한 `yt-dlp`가, 자바스크립트 인터프리터로 쓰던 Bun을 deprecated 처리한다고 공지했어요. 즉, 앞으로 Bun으로 yt-dlp를 돌리다 문제가...
Deno 2.8 등장 — 드디어 `deno bundle`이 정식으로 돌아왔습니다
## 무슨 일이 있었나요 Deno 팀이 2.8 버전을 공개했어요. 이번 릴리스의 주인공은 단연 `deno bundle` 명령어인데요, 한 마디로 표현하면 "드디어 정식으로 돌아왔다"입니다. Deno 1.x 시절에 있다가 2.0에서 사라졌던 이 기...
uv는 정말 빠르지만, 패키지 관리 UX는 왜 이렇게 헷갈릴까
## uv가 파이썬 생태계를 바꾸고 있는데요 혹시 파이썬으로 개발하시다가 `pip install`이 너무 느려서 답답했던 경험 있으신가요? 가상환경 만들고, 패키지 설치하고, requirements.txt 관리하는 과정이 항상 어딘가 모르게 매끄...
Rmux — Playwright처럼 코드로 조종하는 새로운 터미널 멀티플렉서
## tmux를 코드로 조종할 수 있다면? 터미널을 자주 쓰는 분이라면 tmux나 screen 같은 도구를 한 번쯤 만져보셨을 거예요. 창 하나에 여러 세션을 띄워놓고 분할해서 쓰는 그 도구들이요. 그런데 이게 진짜 편한 만큼, 자동화하려고 하면...
브라우저에서 리눅스 VM 돌려서 옛날 스캐너 되살리기, WebUSB의 진짜 활용법
## 도대체 무슨 프로젝트인가요 'Yes We Scan'이라는 이름의 프로젝트가 등장했어요. 한 줄로 요약하면 "드라이버 지원이 끊긴 옛날 USB 스캐너를, 브라우저만 열어서 사용할 수 있게 해주는" 서비스예요. 옛날 HP나 Canon 스캐너 같은 ...
VSCode 확장 하나로 3,800개 저장소가 털렸다 — 'GlassWorm' 사건이 알려주는 공급망 보안의 현실
## 무슨 일이 일어났나 GitHub가 공식적으로 확인한 사건이에요. 악성 VSCode 확장 프로그램 하나를 통해 **약 3,800개 저장소가 침해당했다**고요. 이번 캠페인은 보안업계에서 'GlassWorm' 또는 유사한 이름으로 추적 중인데,...
Rust 라이브러리를 Haskell에서 그대로 쓰는 법 - Hsrs 바인딩 생성기
## Rust와 Haskell 사이의 다리를 놓다 요즘 시스템 프로그래밍 쪽에서 Rust가 워낙 강세잖아요. 메모리 안전성과 성능을 동시에 잡았다는 평가를 받으면서 새 라이브러리들이 계속 Rust로 쓰여지고 있죠. 그런데 함수형 프로그래밍을 좋아...
가끔 터지는 ECONNRESET, 그 짜증나는 에러의 진짜 정체
## "분명 어제까진 잘 됐는데"의 범인 서버 개발하다 보면 한 번쯤 만나는 에러가 있어요. 로그에 갑자기 찍히는 `ECONNRESET`. 한국말로 하면 "커넥션이 강제로 끊겼다"는 뜻인데, 문제는 이게 **재현이 잘 안 된다**는 거예요. 하루에 ...
어셈블리어로 웹서버를 만든다고? 'ymawky' 프로젝트가 보여주는 극한의 로우레벨 도전
## 인생의 의미를 (잃기) 위해 어셈블리로 웹서버를 짠 사람 요즘 웹서버 하나 만들려면 선택지가 정말 많죠. Node.js로 몇 줄이면 뚝딱이고, Go나 Rust 같은 언어를 쓰면 성능도 뽑아낼 수 있고요. Python의 Flask나 FastA...
Bun이 Zig를 버리고 Rust로 갈아탄다? 실험적 재작성 버전이 99.8% 테스트 통과
## Bun, Rust로 다시 태어나는 중 JavaScript 런타임 시장은 한동안 Node.js 천하였죠. 그러다 Deno가 등장해서 "Node.js의 단점을 고쳐보자" 했고, 이어서 **Bun** 이 나타나서 "우리는 그냥 압도적으로 빠르게 만들...
Mercury가 200만 줄의 Haskell로 은행 시스템을 운영하는 법
## Haskell이 진짜 프로덕션에서 돌아간다고? Haskell 하면 보통 "학교에서 배우는 함수형 언어", "수학 잘하는 사람들이 쓰는 언어" 같은 이미지가 떠오르잖아요. 그런데 미국의 핀테크 스타트업 Mercury가 자사 블로그에서 공개한 내용...
C 함수에 레지스터 인자를 적게 넘기면 생기는 무서운 일
## 호출 규약, 보이지 않지만 모든 걸 좌우하는 약속 Microsoft의 레이먼드 첸이 운영하는 'The Old New Thing' 블로그에서 또 흥미로운 저수준 이야기를 다뤘어요. 이번 주제는 **호출 규약(calling convention)...
30년 된 FastCGI가 HTTP보다 리버스 프록시에 더 나은 이유
## 왜 갑자기 FastCGI 이야기인가요 웹 개발 좀 해보신 분이라면 "FastCGI"라는 단어를 한 번쯤은 들어보셨을 거예요. PHP를 nginx에 붙일 때 `php-fpm`을 쓰는데, 그게 바로 FastCGI거든요. 1996년에 만들어진, 거의...
CJIT - C 언어를 컴파일 없이 바로 실행하는 새로운 방법
## C 코드를 스크립트처럼 실행한다고요? 이탈리아의 Dyne.org가 재미있는 도구를 공개했어요. **CJIT(C, Just in Time)** 라는 건데요. 이름 그대로 **C 언어 코드를 컴파일 단계 없이 바로 실행할 수 있게 해주는 도구**예...