Hegel: 속성 기반 테스팅을 언어 가리지 않고 쓸 수 있게 해주는 새로운 프로토콜
## 테스트를 "예시"가 아니라 "규칙"으로 작성한다면? 우리가 보통 테스트 코드를 작성할 때는 특정 입력에 대해 특정 출력이 나오는지 확인하죠. 예를 들어 "add(2, 3)은 5를 반환해야 한다" 이런 식으로요. 이걸 예시 기반 테스팅(exa...
브라우저에서 레이캐스팅으로 달 표면을 탐험하는 게임, Mooncraft 2000
## 브라우저만 열면 달 위를 걸을 수 있다 별도의 설치 없이 웹 브라우저에서 달 표면을 돌아다닐 수 있는 게임이 공개됐어요. 이름은 **Mooncraft 2000**인데요, 단순한 3D 데모가 아니라 실제로 플레이할 수 있는 시뮬레이션 게임이에...
여러분의 파일 시스템은 이미 그래프 데이터베이스입니다
## 우리가 매일 쓰는 파일 시스템, 사실은 그래프였다 개발하다 보면 "그래프 데이터베이스"라는 단어를 한 번쯤 들어보셨을 거예요. Neo4j 같은 전문 도구를 떠올리시는 분도 있을 텐데요. 그런데 사실 우리가 매일 쓰고 있는 파일 시스템 자체가 이...
LLVM 커뮤니티에서 제안된 JSIR — JavaScript에도 고수준 중간 표현이 필요할까?
## JavaScript 최적화의 새로운 접근법 LLVM 커뮤니티에서 흥미로운 RFC(Request for Comments, 공식 제안서)가 올라왔어요. 바로 **JSIR(JavaScript Intermediate Representation)**...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
Xilem — Rust로 네이티브 UI를 만든다고? 실험적 프레임워크의 야심찬 도전
## Rust UI 생태계, 아직 정답이 없는 영역 Rust 언어가 시스템 프로그래밍 분야에서 입지를 확실히 굳혔다는 건 이제 누구도 부정하기 어려운데요, 딱 하나 아직 "이거다!" 하는 해답이 나오지 않은 영역이 있어요. 바로 **GUI(그래픽...
브라우저 안에서 리눅스를 돌려 옛날 프린터를 살려내는 프로젝트, Printervention
## 집에 굴러다니는 그 프린터, 아직 버리지 마세요 혹시 집이나 사무실 구석에 오래된 프린터가 하나쯤 있지 않나요? 하드웨어는 멀쩡한데, 제조사가 드라이버 지원을 끊어버리는 바람에 최신 운영체제에서 쓸 수 없게 된 그런 프린터요. macOS를 ...
부동소수점을 밑바닥부터 하드웨어로 구현하기 — 소프트웨어 개발자도 알아두면 좋은 이야기
## 부동소수점, 그게 대체 뭔데 이렇게 어려운 건가요? 개발하다 보면 한 번쯤은 이런 경험을 해보셨을 거예요. `0.1 + 0.2`를 계산했는데 `0.30000000000000004`가 나오는 거. "아 컴퓨터가 소수점 계산을 못 하는구나"라고 넘...
JavaScript Promise, 취소할 수 있을까? — 의외로 가능한 방법들
## Promise는 한번 시작하면 멈출 수 없다? 자바스크립트에서 비동기 작업을 다룰 때 가장 많이 쓰는 게 Promise죠. API 호출, 파일 읽기, 타이머 등 거의 모든 비동기 작업이 Promise로 이루어져요. 그런데 한 가지 불편한 진...
Solod: Go 문법으로 코드를 짜면 C로 변환해주는 트랜스파일러가 등장했어요
## Go가 좋긴 한데, C가 필요한 순간이 있잖아요 시스템 프로그래밍 세계에는 오래된 딜레마가 있어요. C는 성능과 이식성(portability) 면에서 여전히 최강인데, 쓰기가 너무 고통스럽다는 거예요. 메모리를 직접 관리해야 하고, 문자열 ...
Elm의 장점을 Go 위에 얹다 — 새 언어 Sky를 살펴봤어요
## 함수형 프로그래밍, 좋은 건 알겠는데 실무에서 쓰기엔… 함수형 프로그래밍 언어를 한번쯤 들어보셨을 거예요. Haskell, Elm, OCaml 같은 이름들이요. 이런 언어들은 코드의 안정성이 정말 뛰어나거든요. 특히 Elm은 프론트엔드 개발...
마이크로소프트는 왜 30년째 GUI 프레임워크를 통일하지 못할까
## Petzold 이후로 길을 잃다 Windows 개발을 해보신 분이라면 "찰스 펫졸드(Charles Petzold)"라는 이름을 한 번쯤 들어보셨을 거예요. 이 분이 쓴 *Programming Windows*라는 책은 Win32 API 시대의...
가비지 컬렉터, 직접 만들어보면 이렇게 재밌어요 — Baby's Second GC 이야기
## 가비지 컬렉터를 직접 만들어본다고요? 프로그래밍을 하면서 "가비지 컬렉터(Garbage Collector, GC)"라는 말은 많이 들어봤을 거예요. Java, Python, Go, JavaScript 같은 언어들이 메모리를 자동으로 관리해주는 ...
코드로 음악을 만든다고요? 컴퓨터 음악 입문 가이드를 소개합니다
## 프로그래밍과 음악의 만남 개발하면서 음악 듣는 분 많으시죠? 그런데 코드로 직접 음악을 **만들어본** 적은 있으세요? 컴퓨터 음악(Computer Music)이라는 분야가 있는데, 이건 단순히 컴퓨터로 음악을 재생하는 게 아니라 **프로그래밍...
Rust 문법으로 쓰고 Go로 컴파일되는 언어, Lisette를 아시나요?
## Rust는 좋은데 너무 어렵고, Go는 쉬운데 아쉽다면 Rust와 Go는 요즘 백엔드 개발자들 사이에서 가장 뜨거운 두 언어인데요, 둘의 성격은 꽤 달라요. Rust는 메모리 안전성과 성능을 극한까지 추구하지만 학습 곡선이 가파르고, Go는...
구글의 벡터 양자화 기술, 이제 브라우저에서 바로 돌린다 — TurboQuant-WASM
## 벡터 양자화가 브라우저 안으로 들어왔어요 요즘 AI 모델을 다뤄본 분이라면 '양자화(quantization)'라는 단어를 한 번쯤 들어봤을 거예요. 거대한 모델을 작은 기기에서도 돌릴 수 있게 모델의 숫자 정밀도를 줄이는 기술인데요. 그런데...
부동소수점 계산이 맨날 미세하게 틀리죠? Herbie가 수식을 자동으로 고쳐줍니다
## 0.1 + 0.2가 0.3이 아닌 세계에서 살고 있잖아요 개발을 좀 해보신 분이라면 한 번쯤 겪어봤을 거예요. JavaScript 콘솔에 `0.1 + 0.2`를 치면 `0.30000000000000004`가 나오는 그 당황스러운 순간이요. 이건...
[심층분석] Screen Studio에 29달러 내기 싫다면? 오픈소스 화면 녹화 도구 OpenScreen이 답이 될 수 있는 이유
## 제품 데모 영상, 꼭 비싼 도구가 필요할까? 개발자라면 한 번쯤 이런 경험이 있을 거예요. 열심히 만든 사이드 프로젝트를 세상에 공개하려는데, README에 넣을 데모 영상 하나가 없는 거죠. 그냥 화면 녹화 프로그램으로 찍으면 되지 않냐고...
axios NPM 패키지 공급망 공격 발생 — 포스트모템 정리
## 무슨 일이 있었나 JavaScript 생태계에서 가장 많이 쓰이는 HTTP 클라이언트 라이브러리 중 하나인 axios에서 공급망 공격(supply chain compromise)이 발생했어요. 공급망 공격이라는 게 좀 어렵게 들릴 수 있는데...
미쉐린이 왜 Clojure를 선택했을까 — 대기업에서 함수형 언어 도입기
## 타이어 회사가 Clojure를? 타이어로 유명한 미쉐린(Michelin)이 자사 엔터프라이즈 시스템에 Clojure를 도입한 사례가 다시 주목받고 있어요. "타이어 회사가 무슨 프로그래밍 언어?"라고 생각할 수 있는데요, 미쉐린은 전 세계 ...
2026년에도 이메일 주소를 스팸봇에서 지키는 방법, 뭐가 진짜 통할까?
## 웹에 이메일을 올려야 하는데, 스팸이 무서워요 웹사이트에 연락처를 남기고 싶은데 이메일 주소를 그대로 노출하면 스팸봇이 순식간에 긁어간다는 건 개발자라면 다들 아는 이야기예요. 그래서 예전부터 이메일 주소를 "난독화(obfuscation)"하는...