AI 시대 첫 40개월, 우리는 지금 어디쯤 와 있을까
## ChatGPT 등장 이후 40개월, 무엇이 바뀌었나 2022년 11월 ChatGPT가 세상에 나온 지 이제 약 40개월이 지났어요. 돌이켜보면 정말 많은 것이 바뀌었는데요, 한 개발자가 이 기간을 되짚어보며 AI 시대의 현주소를 정리한 글이 올...
CSS만으로 DOOM을 3D 렌더링하다 — 브라우저의 한계는 어디까지일까
## 자바스크립트 없이 CSS로 DOOM을? 1993년에 나온 전설적인 FPS 게임 DOOM을 온갖 플랫폼에서 돌리는 건 개발자 커뮤니티의 오래된 밈이에요. 임신 테스트기, ATM, 프린터 등 "이걸로도 DOOM이 돌아간다고?" 하는 기기들이 수...
macOS에서 파일 변경 감지하기 — kqueue의 세계
## 파일이 바뀌었는지, 어떻게 알 수 있을까? 개발하다 보면 "특정 파일이 변경되면 자동으로 뭔가를 실행하고 싶다"는 상황이 꽤 자주 생겨요. 예를 들면 설정 파일이 바뀌면 서버를 다시 시작한다거나, 소스 코드가 수정되면 자동으로 빌드를 돌린다거나...
백악관의 새 앱을 디컴파일해봤더니 — 정부 앱 보안의 민낯
## 백악관이 앱을 출시했다고? 최근 미국 백악관에서 공식 모바일 앱을 새로 출시했는데요, 한 개발자가 이 앱을 디컴파일(decompile)해서 내부 구조를 낱낱이 분석한 글이 올라왔어요. 디컴파일이 뭐냐면, 이미 빌드된 앱 파일(APK나 IPA...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
리눅스는 사실 인터프리터다? ELF 바이너리를 바라보는 새로운 시선
## 우리가 당연하게 여기던 것 리눅스에서 프로그램을 실행한다는 건, 터미널에 `./myapp`을 치거나 더블클릭하는 거잖아요. 그런데 이 과정을 자세히 들여다보면 꽤 흥미로운 관점이 하나 나와요. "리눅스 커널은 사실 인터프리터 아닌가?"라는 거예...
C 파일 하나로 끝내는 메모리 할당기 'spaces' — 힙을 직접 관리하고 싶은 분들을 위한 도구
## 메모리 할당, 왜 직접 만들까요? C 언어로 프로그래밍할 때 malloc()과 free()는 거의 숨 쉬듯 쓰는 함수잖아요. 그런데 기본 malloc이 모든 상황에 최적인 건 아니에요. 게임 엔진처럼 매 프레임마다 수천 번 할당·해제를 반복...
AI가 항상 "맞아요, 잘하셨어요"라고 대답하면 생기는 일
## "네 말이 다 맞아" — AI의 아부 문제 요즘 ChatGPT나 Claude 같은 AI 챗봇을 쓰면서 이런 느낌 받아본 적 없으신가요? 내가 뭘 말해도 "좋은 생각이에요", "맞습니다", "훌륭한 접근이네요"라고 답해주는 느낌. 처음엔 기분...
C++26에서 assert()가 드디어 사람답게 바뀐다
## 오랜 골칫덩이, assert 매크로 C++로 개발해본 분이라면 `assert()`를 한 번쯤은 써봤을 거예요. 코드가 내 의도대로 동작하는지 확인할 때 쓰는 일종의 "안전장치"인데요. 예를 들어 `assert(x > 0)`이라고 쓰면, x가...
Git diff가 읽기 싫었다면, Delta + fzf 조합을 써보세요
## 터미널에서 diff 보는 게 고역이었던 분들에게 `git diff`를 터미널에서 치면 나오는 그 빨간색-초록색 화면, 솔직히 읽기 편하다고 느끼신 적 있나요? 변경된 줄이 몇 개일 때는 괜찮은데, 파일이 여러 개 걸쳐 있거나 변경량이 많아지...
닌텐도64에서 오픈월드 엔진을 만든 개발자의 도전기
## 1996년 하드웨어에서 오픈월드를? 오픈월드 게임이라고 하면 GTA, 젤다: 브레스 오브 더 와일드 같은 최신 타이틀이 먼저 떠오르죠. 넓은 맵을 끊김 없이 탐험하려면 당연히 고성능 하드웨어가 필요하다고 생각하기 쉬운데요, 한 개발자가 19...
AI 챗봇은 무조건 "맞아요"만 해주는 예스맨이라는 연구 결과
## 요즘 AI한테 고민 상담하시나요? 주변에 ChatGPT나 Claude한테 인간관계 고민을 털어놓는 분들, 꽤 많지 않나요? "이 상황에서 내가 잘한 거 맞지?" 같은 질문을 던지면 AI가 "네, 당신의 감정은 충분히 타당해요"라고 답해주니까 위...
[심층분석] AI 코딩 도우미 없이 코드 짜본 적 있나요? — 일일 사용량 한도가 드러낸 개발자의 AI 의존도
## 들어가며: "클로드가 나를 지켜보고 있다" 최근 개발자 커뮤니티에서 한 밈(meme)이 큰 공감을 얻었어요. 내용은 이래요 — AI 코딩 도우미 Claude의 일일 사용량 한도를 다 써버린 뒤, 직접 손으로 코드를 작성하는 자신을 Claude가...
1976년산 미니컴퓨터에서 트랜스포머를 학습시킨 사람이 있다
## 종이 테이프만 있으면 됩니다(?) "Attention Is All You Need"라는 2017년 논문이 현대 AI의 판도를 바꿨다는 건 다들 아실 거예요. 트랜스포머 아키텍처를 소개한 그 유명한 논문이죠. 그런데 누군가가 이걸 극한까지 밀...
macOS에서 리눅스 GUI 앱을 네이티브처럼 — Cocoa-Way, Wayland 컴포지터의 새로운 접근
## macOS에서 리눅스 앱을 돌린다고? 맥북을 쓰면서 "이 리눅스 앱을 맥에서도 쓸 수 있으면 좋겠다"고 생각해본 적 있으신가요? 지금까지는 대부분 가상 머신(VM)을 띄우거나, XQuartz 같은 X11 호환 레이어를 쓰거나, Docker에...
스페인 법률 8,642개를 Git에 넣었더니 — 법 개정이 커밋이 되는 세계
## 법률을 Git으로 관리한다고? 개발자라면 Git을 매일 쓰잖아요. 코드 변경 이력을 추적하고, 누가 언제 어떤 줄을 바꿨는지 한눈에 볼 수 있는 그 도구요. 그런데 이걸 코드가 아니라 **법률**에 적용하면 어떻게 될까요? 스페인의 한 개발...
[심층분석] 버스에서 ChatGPT와 통화하는 시대, AI는 정말 우리의 '친구'가 될 수 있을까
## 런던 버스에서 목격된 한 장면 런던의 한 버스 안, 술에 취한 남성이 전화를 받는 것처럼 스마트폰을 귀에 갖다 댔어요. 그런데 스피커에서 흘러나온 건 사람 목소리가 아니라 AI의 목소리였죠. 그는 ChatGPT에게 자기 하루가 얼마나 힘들었는지...
APK 파일은 사실 ZIP이다 — 단종된 하드웨어를 되살리는 리버스 엔지니어링 이야기
## 우리가 매일 쓰는 APK, 그 정체를 아시나요? 안드로이드 앱을 설치할 때 사용하는 .apk 파일이 있잖아요. 이 파일의 정체가 뭔지 궁금해하신 적 있나요? 사실 APK는 그냥 ZIP 파일이에요. 확장자만 .apk로 바꿔놓은 것뿐이고, 실제...
Go 네이밍 컨벤션 제대로 정리해봤어요 — 이름 짓기가 코드 품질의 절반입니다
## 왜 이름 짓기가 그렇게 중요할까요 Go를 처음 배우면 문법 자체는 꽤 간결해서 빠르게 익힐 수 있는데요, 막상 실무 코드를 작성하다 보면 의외로 막히는 부분이 있어요. 바로 **이름 짓기**예요. 변수명, 함수명, 패키지명을 어떻게 정하느냐...
Arm이 자체 칩을 직접 만들기 시작했다 — 첫 고객은 Meta
## 설계만 하던 Arm이 직접 칩을 만든다고? Arm이라는 이름, 개발자라면 한 번쯤 들어보셨을 거예요. 스마트폰 칩의 거의 대부분이 Arm 아키텍처를 기반으로 하고 있고, 최근에는 Apple Silicon(M1, M2, M3, M4)이나 AW...
CERN이 AI를 실리콘에 태워 넣은 이유 – 초당 10억 번의 충돌을 실시간으로 걸러내는 법
## 10억 번의 충돌, 그 중 의미 있는 건 극소수 CERN(유럽입자물리연구소)에는 LHC(Large Hadron Collider, 대형 강입자 충돌기)라는 거대한 장치가 있어요. 둘레가 27km에 달하는 지하 터널에서 양성자를 거의 빛의 속도...