Haskell 대신 여전히 Lisp/Scheme을 선택하는 이유
## 함수형 언어, 두 개의 길 함수형 프로그래밍에 관심을 갖다 보면 결국 두 산 앞에 서게 돼요. 한쪽은 **Haskell**이에요. 정적 타입, 게으른 평가, 모나드. "수학처럼 코드를 짠다"는 평을 받는 언어죠. 다른 한쪽은 **Lisp/Sch...
Rust도 잡지 못하는 버그들 — 컴파일러를 믿어도 안심할 수 없는 이유
## Rust = 안전, 정말 그게 끝일까 Rust를 한 번이라도 써본 분이라면 "메모리 안전성"이라는 말을 귀에 못이 박히게 들어보셨을 거예요. 널 포인터 역참조도 없고, 데이터 레이스도 컴파일 타임에 잡아주고, use-after-free도 원천 ...
[심층분석] 직접 만들어보면서 배우는 게 진짜다: 'Build Your Own X'가 50만 별을 받은 이유
## 들어가며: 왜 우리는 "직접 만들어보기"에 끌리는가 혹시 이런 경험 해보셨어요? React를 몇 년째 쓰고 있는데, 막상 "가상 DOM이 어떻게 동작해요?"라는 질문을 받으면 머릿속이 하얘지는 그런 순간이요. 또는 매일 `git commit...
Rust 코드의 '진짜 올바름'을 증명한다 — Verus 프로젝트 들여다보기
## 테스트로는 부족한 순간이 있어요 우리가 보통 코드가 맞는지 확인할 때 쓰는 방법은 테스트예요. 유닛 테스트, 통합 테스트, 프로퍼티 테스트까지 잘 깔아두면 대부분 버그를 잡을 수 있죠. 그런데 가끔은 이걸로 부족한 영역이 있어요. 예를 들어 운...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
유클리드보다 빠른 GCD? 비트 연산으로 풀어내는 이진 GCD 알고리즘
## 왜 다시 GCD 이야기를 하냐면요 최대공약수(GCD) 구하는 알고리즘, 다들 유클리드 알고리즘 쓰실 거예요. 코딩 테스트 단골이고, 학교에서도 제일 먼저 배우죠. 그런데 이게 사실 최선이 아니라는 걸 아시나요? 현대 CPU 환경에서는 유클리드보...
마이클 라빈 별세: 무작위 알고리즘과 암호학의 거장이 남긴 것
## 컴퓨터 과학의 한 시대가 저물다 튜링상 수상자이자 현대 이론 컴퓨터 과학의 뼈대를 세운 **마이클 라빈(Michael O. Rabin) 교수가 세상을 떠났습니다**. 1931년 독일에서 태어나 이스라엘에서 자란 그는, 스승 알론조 처치의 지...
antirez가 말하는 'AI 사이버보안은 작업증명이 아니다'의 진짜 의미
## 무슨 일이 있었냐면요 Redis를 만든 살바토레 산필리포(antirez)가 블로그에 **'AI cybersecurity is not proof of work'**라는 글을 올렸어요. 제목이 살짝 아리송한데, 쉽게 말하면 이래요. 요즘 AI 업계...
사이버 보안이 '작업 증명'처럼 변하고 있다 — 보안도 결국 비용 싸움인가
## 보안이 "작업 증명"이 됐다고? 혹시 비트코인의 작업 증명(Proof of Work)이라는 개념을 들어보셨나요? 이게 뭐냐면, 블록체인에서 새로운 블록을 추가하려면 엄청난 양의 컴퓨팅 자원을 써서 수학 문제를 풀어야 하는 방식이에요. 핵심은...
Lean으로 '증명 완료'된 프로그램에서 버그가 나왔다 — 형식 검증의 함정
## 수학적으로 증명했는데 버그라니? "형식 검증(formal verification)으로 프로그램이 올바르다고 증명했습니다" — 이 말을 들으면 뭔가 완벽하고 철벽 같은 느낌이 들잖아요. 수학적 증명이니까 틀릴 수가 없을 것 같고요. 그런데 한...
Lean 4: '완벽하게 만들어갈 수 있는' 프로그래밍 언어라는 개념
## 프로그래밍 언어가 '완벽해질 수 있다'는 건 무슨 뜻일까요? 보통 프로그래밍 언어를 고를 때 "이 언어가 빠른가?", "생태계가 좋은가?" 같은 걸 따지잖아요. 그런데 여기 조금 다른 질문을 던지는 언어가 있어요. "내 코드가 정말로 맞다는 걸...
Rust에서 데드락을 원천 차단하는 Surelock — 뮤텍스의 고질적 문제를 해결할 수 있을까?
## 데드락, 멀티스레드 프로그래밍의 오래된 악몽 멀티스레드 프로그래밍을 해본 분이라면 "데드락(deadlock)"이라는 단어만 들어도 머리가 아플 거예요. 데드락이 뭐냐면, 두 개 이상의 스레드가 서로가 가진 자원을 기다리면서 영원히 멈춰버리는...
[심층분석] 실리콘밸리 '테크 브로' 문화의 민낯 — 우리가 동경하는 그 세계의 이면
## 실리콘밸리라는 이름이 주는 무게 개발자라면 한 번쯤 실리콘밸리를 꿈꿔본 적 있을 거예요. FAANG(페이스북·애플·아마존·넷플릭스·구글)이라는 약어가 취준생 사이에서 일종의 주문처럼 통용되고, "실리콘밸리 출신"이라는 타이틀은 그 자체로 기술적...
[심층분석] OpenAI CEO 샘 올트먼은 정말 AI를 이해하고 있을까? — 뉴요커 폭로 기사가 던지는 질문
## 들어가며: "AI 시대의 얼굴"에 대한 불편한 질문 샘 올트먼(Sam Altman)이라는 이름을 들으면 어떤 이미지가 떠오르나요? ChatGPT를 만든 회사의 CEO, AI 시대를 이끄는 기술 리더, 백악관에까지 영향력을 행사하는 테크 비저...
비트코인은 양자 컴퓨터 앞에서 안전할까? — 현실적인 위협 분석
## 양자 컴퓨터와 비트코인, 진짜 위험한 걸까 Cloudflare가 포스트양자 보안 로드맵을 발표한 것과 비슷한 맥락에서, MIT 디지털 화폐 이니셔티브의 **Neha Narula**가 비트코인과 양자 컴퓨팅의 관계를 깊이 있게 분석한 글을 올렸어...
데이터 구조에 서명할 때 빠지기 쉬운 함정: 도메인 분리를 제대로 해야 하는 이유
## 서명이란 게 그냥 해시 돌리고 키로 암호화하면 끝 아닌가요? 암호학적 서명(digital signature)은 "이 데이터가 진짜 내가 만든 거다"를 증명하는 기술이에요. 보통은 데이터를 직렬화(serialize)하고, 해시를 구한 다음, 개인...
AI 이야기, 솔직히 좀 지겹지 않나요?
## 모든 대화가 AI로 수렴하는 시대 요즘 개발자 커뮤니티 어디를 가든, 컨퍼런스에 가든, 심지어 회사 점심 시간에도 화제는 하나예요. AI. 새로운 LLM이 나왔다, 코파일럿이 어떻다, AGI가 언제 온다… 한 개발자가 블로그에 솔직하게 적었...
컴퓨터 과학의 거인, 토니 호어가 남긴 것들
## "10억 달러짜리 실수"를 만든 사람 프로그래밍을 하다 보면 한 번쯤은 NullPointerException이나 null reference 에러를 만나본 적 있을 거예요. 변수에 값이 없는데 그걸 쓰려고 해서 프로그램이 터지는 그 오류 말이에요...
개인 키 하나 털려서 230억 원이 찍혀 나왔다 — Resolv 해킹 사건 분석
## 무슨 일이 있었나요? DeFi(탈중앙화 금융) 프로토콜인 Resolv에서 약 2300만 달러(한화 약 300억 원)가 탈취되는 해킹 사건이 발생했어요. 해킹의 원인은 놀랍도록 단순했는데요, 프로토콜을 관리하는 **개인 키(Private Ke...
Rust의 일관성(coherence) 시스템은 왜 모순투성이인가
## Rust 타입 시스템의 핵심 규칙, coherence란? Rust를 어느 정도 써본 개발자라면 한 번쯤 이런 컴파일 에러를 마주친 적이 있을 겁니다. 외부 크레이트의 트레이트를 외부 타입에 구현하려 했더니 "orphan rule에 의해 허용되지...
[심층분석] AI가 '에이전트'를 발명했다고? 우리는 이미 수천 년 전부터 에이전트와 살아왔다
## 에이전트라는 단어의 두 번째 인생 2024년부터 테크 업계에서 가장 많이 회자되는 단어를 꼽으라면 단연 **'에이전트(Agent)'**일 것입니다. OpenAI, Google, Anthropic, Microsoft 할 것 없이 모든 빅테크가 '...