오픈소스 파라메트릭 3D CAD, Dune3D가 조용히 완성도를 높이고 있다
## 3D CAD의 오픈소스 공백 기계 설계나 제품 디자인을 하는 엔지니어에게 3D CAD 소프트웨어는 매일 사용하는 필수 도구입니다. 하지만 이 영역은 오랫동안 SolidWorks, Fusion 360, CATIA 같은 상용 소프트웨어가 독점해...
정규표현식의 findall은 사실 O(n²)이었다 — 아무도 고치지 않은 이차 시간 복잡도 문제
## 우리가 당연하게 쓰던 findall의 숨겨진 비용 프로그래밍에서 정규표현식(regex)은 텍스트 처리의 만능 도구처럼 쓰입니다. 로그 파싱, 입력 검증, 데이터 추출 등 거의 모든 곳에서 활용되죠. 그런데 정규표현식으로 문자열에서 "모든 매...
LocalStack, GitHub 저장소를 아카이브하고 계정 필수 정책으로 전환 — 오픈소스의 경계는 어디인가
## 무슨 일이 일어났나 AWS 서비스를 로컬 환경에서 에뮬레이션해주는 도구로 널리 사용되던 LocalStack이 자사 GitHub 저장소를 아카이브(archive) 처리했습니다. 아카이브된 저장소는 더 이상 이슈나 PR을 받지 않고, 사실상 읽...
[심층분석] AI로 '돈 버는 과정'을 자동화한다는 MoneyPrinterV2, 자동화 수익의 현실과 윤리적 경계
GitHub에서 스타 2만 개 이상을 기록하며 꾸준히 주목받고 있는 오픈소스 프로젝트가 있다. 이름부터 도발적인 **MoneyPrinterV2** — '온라인으로 돈 버는 과정을 자동화한다'는 것이 프로젝트의 공식 설명이다. Python 3.12 기...
테크 뉴스를 읽는 당신,
직접 만들어볼 준비 되셨나요?
17가지 수익 모델 실습 · 144+ 강의 · 자동화 소스코드 제공
Haskell에도 DataFrame이 왔다 — dataframe 1.0 정식 릴리스의 의미
데이터 분석 하면 보통 Python의 pandas, R의 data.frame을 떠올립니다. 그런데 함수형 프로그래밍의 대표 주자인 Haskell에서 본격적인 DataFrame 라이브러리가 정식 1.0 버전으로 출시되었습니다. `dataframe` 1...
Antithesis가 만든 Bombadil: 웹 UI를 위한 속성 기반 테스팅의 새로운 접근
테스트를 작성할 때 가장 어려운 부분은 뭘까요? 아마 "어떤 시나리오를 테스트해야 하는지"를 정하는 것일 겁니다. 단위 테스트든 E2E 테스트든, 결국 개발자가 머릿속으로 시나리오를 떠올리고 하나하나 수작업으로 작성해야 합니다. 그런데 우리가 미처...
[심층분석] "No Comment" — AI에 대한 대중의 반응이 말해주는 것들, 그리고 ChatGPT 담론의 현재
## 말하지 않아도 알 수 있는 것들 Reddit의 r/ChatGPT 커뮤니티에 올라온 "no comment"라는 제목의 게시글이 개발자와 일반 사용자 모두의 시선을 사로잡았다. 제목 그대로 별다른 설명 없이 올라온 이 게시글은, 역설적으로 AI...
NixOS를 사랑하는 이유 — 선언적 시스템 관리의 매력과 현실
## 운영체제를 코드로 정의한다는 것 서버를 세팅하거나 개발 환경을 구축할 때, 필요한 패키지를 하나씩 설치하고, 설정 파일을 수정하고, 환경 변수를 세팅하는 과정을 거칩니다. 문제는 이 과정이 어디에도 기록되지 않는다는 것입니다. 시간이 지나면 "...
Rust 프로젝트가 AI를 바라보는 시선 — 언어 커뮤니티 차원의 공식 입장 정리
## AI 시대, 프로그래밍 언어 프로젝트는 어떤 태도를 취해야 할까 AI가 코드를 생성하고, PR을 올리고, 이슈를 분류하는 시대입니다. 이런 상황에서 프로그래밍 언어 프로젝트 자체는 AI를 어떻게 받아들여야 할까요? Rust 프로젝트가 이 질문에...
AI 시대에도 코드는 죽지 않는다 — '정밀도'라는 관점에서 본 프로그래밍의 미래
## 코드의 종말이라는 예언 최근 몇 년간 "코드를 직접 작성하는 시대는 끝났다"는 주장이 끊임없이 등장하고 있습니다. LLM이 자연어만으로 소프트웨어를 만들어주는 시대가 오면 개발자가 필요 없어질 것이라는 논리입니다. GitHub Copilot...
양자 정보 이론의 아버지 찰스 베넷, 튜링상 수상 — 그가 다시 쓴 정보의 규칙들
## 컴퓨터 과학 최고 영예, 튜링상의 새 주인공 IBM 리서치의 과학자 찰스 베넷(Charles Bennett)이 2025년 ACM 튜링상을 수상했습니다. 튜링상은 컴퓨터 과학 분야의 노벨상으로 불리며, 매년 해당 분야에 지대한 공헌을 한 인물...
커링(Currying)에 대한 반론: 정말 좋은 패턴인가, 다시 생각해볼 때
## 함수형 프로그래밍의 "당연한 미덕"에 의문을 제기하다 함수형 프로그래밍(FP)을 공부하다 보면 반드시 만나는 개념이 있습니다. 커링(Currying)이죠. 여러 인자를 받는 함수를 하나의 인자만 받는 함수의 체인으로 변환하는 기법입니다. FP ...
[심층분석] AI가 '에이전트'를 발명했다고? 우리는 이미 수천 년 전부터 에이전트와 살아왔다
## 에이전트라는 단어의 두 번째 인생 2024년부터 테크 업계에서 가장 많이 회자되는 단어를 꼽으라면 단연 **'에이전트(Agent)'**일 것입니다. OpenAI, Google, Anthropic, Microsoft 할 것 없이 모든 빅테크가 '...
Floci: LocalStack의 오픈소스 대안, 무료 로컬 AWS 에뮬레이터
## AWS 로컬 개발의 오래된 고민 AWS를 사용하는 개발 팀이라면 로컬 개발 환경 구축이라는 숙제에서 자유로울 수 없습니다. S3에 파일을 올리고, SQS로 메시지를 보내고, DynamoDB에 데이터를 저장하는 코드를 작성할 때, 매번 실제 ...
2026년에 Common Lisp를 개발한다면 — 현대적 개발 도구 생태계 톺아보기
## 왜 지금 Common Lisp 개발 환경을 이야기하는가 Common Lisp는 1984년에 표준화된 프로그래밍 언어입니다. 40년이 넘은 언어라고 하면 대부분 "아직 쓰는 사람이 있어?"라고 반응할 수 있지만, 실제로 Common Lisp는 꾸...
베이지안 통계, 왜 그렇게 헷갈렸는지 이제야 이해했다
## 빈도주의와 베이지안, 뭐가 다른 건데 데이터 사이언스를 공부하다 보면 반드시 마주치는 갈림길이 있습니다. 바로 빈도주의(Frequentist) 통계와 베이지안(Bayesian) 통계의 차이입니다. 대학 통계 수업에서 배운 p-value, 신...
세미콜론, 정말 필요한 걸까? 프로그래밍 언어 설계의 오래된 논쟁
## 세미콜론을 둘러싼 끝나지 않는 토론 프로그래밍을 처음 배울 때 가장 많이 마주치는 에러 중 하나가 "세미콜론을 빼먹었습니다"일 겁니다. C, Java, JavaScript 같은 언어에서 세미콜론(`;`)은 문장의 끝을 알려주는 필수 구문입니다....
터미널에서 즐기는 2D 샌드박스 서바이벌, Rust로 만든 Termcraft
## 터미널이 게임 엔진이 되는 순간 터미널은 개발자에게 가장 익숙한 인터페이스입니다. 매일 코드를 작성하고, 빌드하고, 배포하는 그 검은 화면에서 2D 샌드박스 서바이벌 게임을 즐길 수 있다면 어떨까요? Termcraft는 바로 그 아이디어를 ...
Armin Ronacher가 말하는 '시간이 걸리는 것들' — 소프트웨어 개발에서 인내의 가치
## Flask 창시자의 새로운 에세이 Flask와 Jinja2, 그리고 최근에는 Rust 기반 도구들로 유명한 Armin Ronacher가 자신의 블로그에 "Some things just take time"이라는 제목의 에세이를 게시했다. 이 ...
IronKernel: Python 문법으로 작성하고 Rust로 병렬 실행하는 데이터 처리 엔진
## Python은 느리고, Rust는 어렵다는 딜레마 데이터 처리 업무를 하다 보면 Python의 생산성과 Rust의 성능 사이에서 고민하는 순간이 옵니다. Python은 작성하기 쉽고 풍부한 라이브러리 생태계를 갖추고 있지만, GIL(Glob...