Haskell로 GTK 애플리케이션 만들기 1부
Haskell, GTK 4, libadwaita로 할 일 목록 앱을 만드는 연재의 첫 편입니다. haskell-gi로 GTK 바인딩을 사용하고 Elm Architecture의 Model-View-Update 구조를 적용해 상태와 사용자 인터페이스를 분리합니다.
개발 도구와 언어, 웹 기술과 오픈소스 프로젝트의 변화를 다룹니다.
Haskell, GTK 4, libadwaita로 할 일 목록 앱을 만드는 연재의 첫 편입니다. haskell-gi로 GTK 바인딩을 사용하고 Elm Architecture의 Model-View-Update 구조를 적용해 상태와 사용자 인터페이스를 분리합니다.
OpenAI가 EU AI Act에 대응해 텍스트 생성물에 보이지 않는 통계적 워터마크를 넣는 textGrain을 공개했습니다. 짧은 글이나 수학처럼 단어 선택 폭이 좁은 글에서는 탐지율이 낮고, 동의어로 일부를 고쳐도 신호가 약해집니다. API 적용은 전 세계에서 선택 사항이며, ChatGPT와 Codex는 EU에서 단계적으로 적용합니다.
Dadi ki Rasoi는 할머니의 힌디어·힌글리시 음성 메모를 레시피로 정리해 인쇄용 책으로 만드는 오픈소스 프로젝트입니다. faster-whisper와 Ollama 기반 로컬 모델을 사용해 음성을 외부 서버로 보내지 않으며, 원래 표현과 이야기를 보존하고 변환 결과를 사람이 고치도록 설계했습니다.
Sente는 터미널이나 휴대전화에서 음성으로 요청하고, 등록한 본인 목소리로 답변을 듣는 코딩 에이전트입니다. 한 계정에서 404개 모델을 쓸 수 있으며 MIT 라이선스로 공개했습니다.
비동기 Rust의 복잡성은 스케줄러가 필요한 동시성의 속성이지, Rust만의 결함이 아니라고 설명합니다. 런타임을 라이브러리로 두는 설계의 이점과 비용을 짚고, Zig처럼 I/O 인터페이스를 함수 매개변수로 전달하는 대안을 살펴봅니다.
저자는 인터넷에 노출된 Mac mini가 macOS 화면 공유 취약점으로 해킹된 일을 계기로, 에이전트 실행 환경에서 macOS 권한 체계와 보안 업데이트가 겪는 문제를 짚습니다. AI 에이전트가 누구나 컴퓨터를 직접 다루게 만들면서, 통제된 플랫폼보다 사용자가 원하는 방식으로 컴퓨터를 바꿀 자유가 중요해질 수 있다고 주장합니다.
PixLab의 모회사 Symisc Systems는 인턴십 프로젝트를 맡은 학생 20여 명 가운데 일부가 챗봇의 단계별 안내 없이는 간단한 함수를 구현하기 어려워했다고 전합니다. 작성자는 AI 사용을 금지하기보다 먼저 직접 시도하게 하고, 코드 리뷰에서 구현 이유와 동작을 설명하도록 해야 한다고 제안합니다.
제품을 만든 사람은 익숙해서 놓치기 쉬운 가입·초기 설정의 혼란을 살펴보자는 글입니다. 기능을 더하기보다 첫 사용 과정을 관찰하고, 사용자가 망설이거나 멈추는 지점을 찾아야 합니다.
MCP 서버 pulpie-mcp는 AI 에이전트가 웹페이지와 문서를 원문 내용에 가까운 마크다운으로 가져오고 저장하게 합니다. 작성자는 문서 60페이지를 약 49초 만에 저장했으며, 로컬 모델을 공유하고 유휴 상태가 30분 이어지면 메모리를 반환하는 구조를 소개합니다.
Capybara Court는 두 사람이 같은 질문에 답하면 AI 판사 Cappy가 다툼을 판정하는 앱입니다. 양쪽 답변은 서로 읽지 못하도록 봉인하고, 결과는 양쪽 휴대폰에서 동시에 공개합니다. 작성 내용은 30일 뒤 삭제합니다.
Factor를 처음 접하는 개발자를 위한 실습 중심 안내서입니다. 데이터 스택과 스택 효과부터 조합자, 객체 모델, 메타프로그래밍, 파일·네트워크·C 연동까지 언어와 표준 라이브러리의 사용법을 코드로 설명합니다.
WikiFix는 Confluence 문서에서 서로 모순되는 내용, 중복 문서, 고아 문서를 찾아 수정안을 제시합니다. 사용자가 답을 고르고 승인해야 수정하며, 잘못된 탐지 결과가 약 5건 중 1건이라고 밝혔습니다.
Stremio의 공식 웹 UI 저장소로, React 화면과 Rust로 작성해 WebAssembly로 컴파일한 stremio-core를 연결합니다. 개발 서버 실행과 빌드·테스트 명령, 관련 저장소 구성을 안내합니다.
Deno를 주로 쓰던 저자가 SvelteKit 프로젝트와 정적 사이트 생성기를 Node.js로 옮긴 경험을 공유합니다. Node.js v26.10.0에서 마이그레이션 작업은 적었고 빌드 시간은 15% 줄었지만, Deno의 권한 관리와 편리한 기본 기능을 선호하는 개발자들의 반론도 나왔습니다.
SignalZen 창업자는 10년간 혼자 제품을 개발해왔지만, AI로 비슷한 서비스를 더 쉽게 만들 수 있게 되면서 신규 고객 확보가 어려워졌다고 말합니다. 댓글에서는 장기간 쌓은 엣지 케이스 처리 경험과 고객 신뢰를 드러내고, 신규 잠재 고객의 이탈 이유를 직접 확인하라는 조언이 나옵니다.
Octri.dev은 OpenAPI 명세 하나로 맞춤형 문서 사이트, 10개 언어 SDK, MCP 서버를 생성하고 GitHub 병합 때마다 갱신합니다. SDK가 실제 앱에서 발생한 오류를 보고하는 기능도 제공합니다.
Elm 0.19.3은 컴파일러 내부 타입을 더 구체화해 잘못된 데이터 표현과 그래프 순환 오류를 줄입니다. Evan Czaplicki는 이 작업을 Acadia 컴파일러와의 기반 정렬 과정으로 소개하며, 타입으로 불변 조건을 강제하는 설계 사례를 설명합니다.
Nvidia가 투자한 Reflection AI가 첫 오픈 웨이트 모델을 이달 중 내놓을 예정이라는 보도가 나왔습니다. 모델 이름과 가중치, 라이선스, 벤치마크는 아직 공개되지 않았으며, 글은 출시를 기다리기보다 자체 평가와 서빙 환경을 준비하라고 제안합니다.
FollowToDM 가입자 49명 중 33명이 Chrome 확장 프로그램 설치 단계에서 멈췄습니다. 작성자는 설치를 먼저 안내하고 설치 여부를 확인하는 흐름으로 바꿨으며, 댓글에서는 단계별 이벤트 기록과 계정 연결에 대한 신뢰, 모바일 유입을 함께 살펴야 한다는 의견이 나왔습니다.
AI가 몇 분 만에 그럴듯한 포트폴리오를 만드는 시대에도 포트폴리오는 여전히 필요하다고 주장합니다. 시각적 완성도보다 실제 프로젝트와 경력의 신뢰성, 접근성, 간결한 구성에 집중하고 포트폴리오를 적극적으로 공개하라고 제안합니다.