C++ 해시맵 벤치마크 총정리: 어떤 구현체가 가장 빠를까?
## 해시맵, 다 같은 해시맵이 아니에요 C++로 개발하다 보면 `std::unordered_map`을 자연스럽게 사용하게 되는데요. 키-값 쌍을 빠르게 저장하고 조회하는 해시맵(Hash Map)은 거의 모든 프로그램에서 쓰이는 핵심 자료구조잖아...
무엇이든 라우터로 만들 수 있다: 네트워크 라우팅의 본질을 파헤치다
## 라우터, 생각보다 별거 아닐 수도 있어요 우리가 흔히 아는 라우터는 집에 있는 Wi-Fi 공유기 같은 장비인데요. 그런데 "아무 것이나 라우터로 만들 수 있다"라고 하면 어떤 느낌이 드시나요? 최근 한 엔지니어가 라우터의 본질을 파고들어서,...
Spring Boot 모듈 400개짜리 코드베이스에서 얻은 교훈들
## 모듈이 400개라니, 대체 어떻게 관리하는 걸까? 한국에서 Spring Boot는 사실상 백엔드 개발의 표준이라고 해도 과언이 아닌데요. 대부분의 프로젝트는 모듈 몇 개에서 시작해서, 잘해봤자 수십 개 수준에서 운영되곤 하죠. 그런데 한 엔지니...
강화학습과 확산 모델을 잇는 수학, Hamilton-Jacobi-Bellman 방정식 쉽게 이해하기
## 강화학습이랑 이미지 생성이 같은 수학이라고? 요즘 AI 분야에서 가장 뜨거운 두 가지 주제를 꼽으라면 **강화학습(Reinforcement Learning)**과 **확산 모델(Diffusion Model)**이에요. 강화학습은 로봇 제어나 게...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
[심층분석] 30분에 1대, 연간 1만 대 — 중국 휴머노이드 로봇 대량생산 시대가 열렸다
## 로봇을 '찍어내는' 공장이 등장했다 자동차를 만들 듯 로봇을 조립 라인에서 뽑아내는 시대가 왔어요. 중국에서 휴머노이드 로봇(사람 형태의 로봇)을 **30분에 1대씩, 연간 1만 대** 규모로 생산할 수 있는 자동화 제조 라인이 공식 발표됐거든...
Eclipse GlassFish가 달라졌다 — 자바 개발자가 다시 주목해야 할 이유
## 그 GlassFish가 아직 살아있었어? "GlassFish"라는 이름을 들으면 어떤 생각이 드시나요? 아마 많은 분들이 "아, 그거 옛날에 쓰던 거 아니야?" 하실 것 같아요. 맞아요, GlassFish는 한때 자바 EE의 레퍼런스 구현체...
AI가 글쓰기를 바꿔놓은 시대, 우리는 무엇을 잃어가고 있을까
## 어느 날 갑자기, 글이 다 비슷해졌다 요즘 기술 블로그나 문서를 읽다 보면 묘한 기시감을 느낄 때가 있지 않나요? 문장이 깔끔하고, 구조도 잘 잡혀 있는데, 어딘가 개성이 없달까요. 마치 같은 사람이 쓴 것 같은 느낌이에요. 이건 단순한 착...
서버 1대, RAM 8GB로 50만 유저를 15년간 서비스한 Webminal 이야기
## 서버 한 대로 15년을 버틴다고? Kubernetes니 마이크로서비스니, 요즘 인프라 이야기를 들으면 서버 수십 대는 기본이고 클라우드 비용만 매달 수백만 원 이상 나가는 게 당연한 것처럼 느껴지잖아요. 그런데 서버 딱 1대, RAM 8GB짜리...
GPU가 이미지를 압축하는 방법: 하드웨어 텍스처 압축의 세계
## 우리가 모르고 지나친 압축의 세계 이미지 압축이라고 하면 보통 JPEG이나 PNG를 떠올리잖아요. 그런데 GPU 안에서는 전혀 다른 방식의 이미지 압축이 돌아가고 있다는 거, 알고 계셨나요? 하드웨어 텍스처 압축(Hardware Image ...
GitHub Copilot이 PR에 광고를 슬쩍 넣었다 — AI 코딩 도구의 신뢰 문제
## 무슨 일이 있었나요? 최근 한 개발자가 GitHub Copilot을 이용해 Pull Request를 작성하던 중 황당한 일을 겪었어요. Copilot이 자동으로 생성한 코드 안에 **특정 서비스의 광고성 코드 조각이 포함**되어 있었던 거예...
레트로 데모씬 그래픽의 세계: AI가 절대 따라잡을 수 없는 장인정신
## 데모씬이라고 들어보셨나요? 혹시 '데모씬(demoscene)'이라는 문화를 아시나요? 1980~90년대 컴퓨터가 지금처럼 빠르지 않던 시절, 극도로 제한된 하드웨어에서 놀라운 그래픽과 음악을 만들어내던 프로그래머·아티스트 커뮤니티가 있었어요. ...
Excalidraw로 블로그 다이어그램 깔끔하게 관리하는 법
## 기술 블로그 다이어그램, 매번 고민되지 않나요? 기술 블로그를 운영하다 보면 다이어그램이 꼭 필요한 순간이 와요. 아키텍처 구조를 설명하거나, 데이터 흐름을 보여주거나, 시스템 간 관계를 그려야 할 때 말이에요. 그런데 어떤 도구를 쓸지가 ...
파서를 WebAssembly로 컴파일한다고? Ohm의 PEG-to-WASM 컴파일러 이야기
## 파싱 성능의 새로운 가능성 Ohm이라는 도구를 아시나요? JavaScript로 만들어진 파싱 프레임워크인데요, PEG(Parsing Expression Grammar)이라는 문법 정의 방식을 사용해서 프로그래밍 언어나 DSL(Domain-S...
AI 코딩 에이전트가 자유 소프트웨어의 르네상스를 열 수 있을까?
## 자유 소프트웨어, 왜 다시 이야기하는 걸까요? 오픈소스는 이미 세상을 지배하고 있어요. Linux 위에서 돌아가는 서버, React로 만든 웹앱, PostgreSQL에 저장된 데이터까지. 그런데 "자유 소프트웨어(Free Software)"...
BitTorrent 창시자 Bram Cohen이 말하는 "우리가 버전 관리를 잘못 하고 있는 이유"
## Git의 아버지가 아닌, 또 다른 전설이 버전 관리를 이야기한다 Bram Cohen이라는 이름, 혹시 들어보셨나요? BitTorrent를 만든 사람이에요. P2P 파일 공유의 판도를 완전히 바꾼 그 프로토콜이요. 그런데 이 사람이 버전 관리...
소프트웨어 엔지니어를 위한 ML 입문서 'There is No Spoon' — 마법이 아니라 수학이에요
## 머신러닝, 어렵다고 느끼는 건 당연해요 머신러닝(ML)이라는 단어를 들으면 어떤 느낌이 드시나요? "나는 백엔드 개발자니까 그건 데이터 사이언티스트 영역이지"라고 생각하시는 분들 꽤 많을 거예요. 사실 ML 분야는 용어부터가 벽처럼 느껴지거...
Claude Code가 10분마다 git reset --hard를 실행한다고? AI 코딩 도구의 무서운 버그
## 무슨 일이 있었나요? Anthropic에서 만든 AI 코딩 어시스턴트 Claude Code에서 꽤 충격적인 버그가 보고됐어요. 사용자의 프로젝트 저장소에서 약 10분 간격으로 `git reset --hard origin/main`을 실행해서...
브라우저를 포크한다는 것: Waterfox 15년의 기록
## 포크(Fork)가 뭔가요? 오픈소스 세계에서 "포크"라는 말을 자주 들어보셨을 거예요. 이게 뭐냐면, 기존 프로젝트의 소스 코드를 복사해서 독립적인 새 프로젝트로 발전시키는 걸 말해요. GitHub에서 Fork 버튼을 눌러본 적 있다면 개념...
M4·M5 맥북에서 4K 모니터 HiDPI가 제대로 안 되는 이유
## 무슨 일이 생긴 건가요? 맥북을 쓰는 개발자라면 외장 모니터 하나쯤은 연결해서 쓰고 계실 거예요. 특히 4K(3840×2160) 모니터는 이제 가성비 좋은 선택지로 자리 잡았는데요. 그런데 최근 Apple Silicon M4, M5 칩이 탑...
JavaScript를 Erlang 슈퍼비전 트리 안에서 돌린다고? QuickBEAM이 여는 새로운 가능성
## 두 세계의 만남: JavaScript + Erlang/OTP JavaScript와 Erlang, 이 두 언어를 한 문장에 넣으면 뭔가 어색하죠? 하나는 웹 브라우저에서 태어나 세상에서 가장 널리 쓰이는 언어가 됐고, 다른 하나는 통신 장비 ...