내 코드가 얼마나 복잡한지 측정하는 방법들, 제대로 알아보자
## 복잡한 코드, 느낌이 아니라 숫자로 말할 수 있을까? 코드 리뷰를 하다 보면 "이 함수 좀 복잡한데?"라는 말을 하거나 듣게 되잖아요. 그런데 "복잡하다"는 게 정확히 뭘 의미하는 걸까요? 줄 수가 많으면 복잡한 건지, 조건문이 많으면 복잡한 ...
Let's Encrypt가 '일부러 망가진 웹사이트'를 만드는 이유 — TLS 테스트의 어려움
## 인증서가 잘못됐을 때, 당신의 코드는 제대로 실패하나요? HTTPS를 쓰는 웹사이트에 접속하면 브라우저가 자물쇠 아이콘을 보여주죠. 이건 TLS(Transport Layer Security)라는 프로토콜로 통신이 암호화되어 있다는 뜻인데요,...
Python으로 위지윅 워드프로세서를 만들었다고? MiniWord 프로젝트 이야기
## Python으로 워드프로세서라니, 가능한 거야? 위지윅(WYSIWYG)이라는 말, 들어보셨나요? "What You See Is What You Get"의 약자인데요, 화면에 보이는 그대로 출력된다는 뜻이에요. 우리가 쓰는 MS Word나 G...
Rust로 만든 보안 스캐너 FoxGuard, 린터만큼 빠르게 취약점을 잡아준다고?
## 코드 보안 검사, 왜 매번 뒷전이 될까 개발하다 보면 보안 검사라는 게 항상 "나중에 하자"가 되기 쉽거든요. 이유는 간단해요. 느리니까요. CI/CD 파이프라인에 보안 스캐너를 붙여놓으면 빌드 시간이 훅 늘어나고, 로컬에서 돌리자니 무거워...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
JavaScript로 3D 모델링을? FluidCAD로 만나는 '코드 기반 CAD'의 세계
## 코드로 설계도를 그린다고요? 3D 모델링이라고 하면 보통 마우스로 도형을 끌어다 놓고, 크기를 조절하고, 이리저리 회전시키는 걸 떠올리잖아요. Fusion 360이나 SolidWorks 같은 전통적인 CAD 소프트웨어가 그런 방식이죠. 그런데 ...
Marimo Pair: AI 에이전트가 리액티브 노트북 안에서 직접 코드를 짜주는 세상
## 노트북 환경이 에이전트의 작업 공간이 된다면? 요즘 AI 코딩 에이전트 이야기가 끊이지 않죠. Cursor, Copilot, Devin 등 다양한 도구들이 나오고 있는데요, 대부분은 IDE나 터미널 환경에서 동작해요. 그런데 데이터 분석이나...
D&D 전투 시스템을 테스트하는 방법: 모델 기반 테스트(MBT) 실전 가이드
## 던전 앤 드래곤에 소프트웨어 테스트를 적용한다고? 테스트 코드를 작성하는 건 개발자라면 누구나 하는 일인데요, 보통은 "이 함수에 A를 넣으면 B가 나와야 해"라는 식으로 케이스를 하나하나 짜잖아요. 그런데 만약 테스트해야 할 시스템이 너무...
Dropbox는 어떻게 동기화 버그를 잡을까? 속성 기반 테스트로 분산 시스템 검증하기
## 파일 동기화, 생각보다 훨씬 어려운 문제예요 여러분이 노트북에서 파일을 수정하고, 동시에 폰에서도 같은 파일을 고쳤다고 해볼게요. Dropbox 같은 동기화 서비스는 이 두 변경 사항을 어떻게든 합쳐야 하는데요, 이게 말처럼 단순하지가 않아요....
[심층분석] 2014년 AI가 그린 소 한 마리가 알려주는, 이미지 생성 AI의 놀라운 진화 여정
## 2014년, AI는 소를 이렇게 그렸어요 요즘 Midjourney나 DALL-E, Stable Diffusion으로 이미지를 만들어 보신 적 있으신가요? 프롬프트 한 줄이면 사진과 구분이 안 될 정도의 이미지가 뚝딱 나오는 시대잖아요. 그런데 ...
AI 에이전트의 도구 연결, MCP vs Skills — 왜 아직도 MCP가 나은 선택일까
## MCP가 뭔데, Skills는 또 뭔데? 요즘 AI 에이전트를 만들다 보면 빠지지 않는 키워드가 있어요. 바로 **MCP(Model Context Protocol)**인데요. 이게 뭐냐면, AI 모델이 외부 도구나 데이터에 접근할 수 있도록...
Hegel: 속성 기반 테스팅을 언어 가리지 않고 쓸 수 있게 해주는 새로운 프로토콜
## 테스트를 "예시"가 아니라 "규칙"으로 작성한다면? 우리가 보통 테스트 코드를 작성할 때는 특정 입력에 대해 특정 출력이 나오는지 확인하죠. 예를 들어 "add(2, 3)은 5를 반환해야 한다" 이런 식으로요. 이걸 예시 기반 테스팅(exa...
람다 대신 나무? 계산의 새로운 기초를 제안하는 Tree Calculus
## 계산이란 뭘까, 그 근본부터 다시 생각해보자 프로그래밍을 하다 보면 "람다(lambda)"라는 단어를 한 번쯤은 만나게 되죠. Python의 `lambda x: x + 1`처럼 익명 함수를 만들 때 쓰는 그 키워드요. 그런데 이 람다라는 개...
온콜 장애 대응, AI가 런북을 자동으로 실행해준다면? — Relvy 소개
## 새벽 3시 알림, 그리고 런북 찾기 개발자라면 한 번쯤은 겪어봤을 거예요. 새벽에 PagerDuty나 Slack 알림이 울리고, 잠결에 노트북을 열어서 뭐가 문제인지 파악하려고 하는데, 머리가 안 돌아가서 런북(runbook)을 찾아 헤매는...
AI 코딩 에이전트 시대, 클린 코드의 의미가 달라지고 있다
## 코딩 에이전트가 코드를 짜는 시대의 클린 코드란 클린 코드, 한 번쯤은 들어보셨죠? 로버트 마틴(Uncle Bob)의 "Clean Code"는 개발자 필독서처럼 여겨져 왔어요. 의미 있는 이름 짓기, 함수는 하나의 일만 하기, 주석보다 코드 자...
uv와 Ruff를 만드는 Astral, 오픈소스 보안을 이렇게 관리한다
## Astral이 누구길래? **Astral**은 Python 생태계에서 요즘 가장 핫한 회사예요. **Ruff**(초고속 Python 린터)와 **uv**(Rust로 만든 초고속 Python 패키지 매니저)를 만든 곳인데요, 두 도구 모두 기...
[심층분석] 배우 밀라 요보비치가 만든 오픈소스 AI 기억 시스템, MemPalace는 어떻게 기존 유료 솔루션을 뛰어넘었나
## AI에게 기억력을 선물한 이상한 이름의 프로젝트 AI와 대화해본 적 있으시죠? ChatGPT든 Claude든, 한 가지 공통된 불만이 있어요. **대화가 끝나면 다 잊어버린다는 것.** 어제 디버깅하면서 설명했던 프로젝트 구조, 지난주에 논...
Solod: Go 문법으로 코드를 짜면 C로 변환해주는 트랜스파일러가 등장했어요
## Go가 좋긴 한데, C가 필요한 순간이 있잖아요 시스템 프로그래밍 세계에는 오래된 딜레마가 있어요. C는 성능과 이식성(portability) 면에서 여전히 최강인데, 쓰기가 너무 고통스럽다는 거예요. 메모리를 직접 관리해야 하고, 문자열 ...
달에 전파를 쏘아 반사시키는 240개 안테나 배열, 오픈소스로 공개되다 — MoonRF 프로젝트
## 달을 거울처럼 쓰는 통신, 들어보셨나요? "달에 전파를 쏘고 반사된 신호를 받는다"고 하면 SF 영화 같은 이야기로 들릴 수 있는데요, 이건 실제로 존재하는 통신 기술이에요. **EME(Earth-Moon-Earth)** 통신이라고 부르는데...
M3 Pro 맥북 하나로 실시간 AI 대화를 — Gemma E2B 기반 오픈소스 'Parlor'
## 노트북 한 대에서 실시간 음성·영상 AI가 돌아간다고? 요즘 AI 서비스 대부분은 클라우드 API를 호출하는 방식이잖아요. OpenAI든 Google이든 서버에 요청을 보내고 응답을 받는 구조인데요. 그런데 이걸 **내 맥북에서 로컬로**,...
[심층분석] OpenAI 이미지 모델의 진화, 도대체 뭐가 달라진 걸까?
## 들어가며: AI 이미지 생성, 새로운 전환점 AI가 그림을 그리는 시대가 온 지도 꽤 됐죠. 2022년 Stable Diffusion과 DALL·E 2가 등장했을 때만 해도 "오, 신기하다" 수준이었는데요. 이제는 완전히 다른 차원의 이야기가 ...