왜 .tar.gz 파일은 cat으로 합칠 수 없는가 — tar와 gzip의 내부 구조 들여다보기
여러 개의 .tar.gz 아카이브를 cat으로 이어 붙이려다 실패한 저자가 tar와 gzip의 파일 형식을 파헤치며 원인을 분석합니다. tar의 EOF 마커가 결합을 막는 근본 원인이며, Python의 tarfile 모듈로 멤버를 새 아카이브에 복사하는 것이 올바른 해법입니다.
언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.
여러 개의 .tar.gz 아카이브를 cat으로 이어 붙이려다 실패한 저자가 tar와 gzip의 파일 형식을 파헤치며 원인을 분석합니다. tar의 EOF 마커가 결합을 막는 근본 원인이며, Python의 tarfile 모듈로 멤버를 새 아카이브에 복사하는 것이 올바른 해법입니다.
새벽 3시에 같은 장애를 두고 수십 개의 알림이 울리는 알림 피로(alert fatigue)는 Prometheus 규칙 문제가 아니라 Alertmanager 라우팅 설정 문제인 경우가 많습니다. 이 글은 group_by 조정, inhibition 규칙 추가, repeat_interval 재설정 같은 구체적인 설정 수정과 함께 amtool을 이용한 검증 방법과 재발 방지 체크리스트를 제시합니다.
Twigg는 LLM 호출을 위한 상태ful(stateful) API로, 매 요청마다 전체 대화를 다시 보내는 대신 채팅을 한 번 생성하고 다음 이벤트만 전송하면 된다. 컨텍스트를 대상 모델의 스키마에 맞추고 필요시 압축·절단해 라우팅하며, 대시보드에서 도구 스키마·시스템 프롬프트·컨텍스트 윈도우와 사용량·과금을 관리할 수 있다. 특정 프로바이더에 종속되지 않는(no lock-in) 설계로 개인 에이전트부터 엔터프라이즈 앱까지 겨냥한다.
Google Play 개인 개발자 계정의 비공개 테스트 요건(테스터 12명, 14일 연속)을 가족·친구로 채울 수 있는지를 다룬 글입니다. 정책상 지인 참여는 허용되지만, 중도 이탈로 인한 타이머 리셋과 프로덕션 심사의 사용량 신호 검증 때문에 지인만으로는 위험하다는 것이 저자의 결론입니다.
FitzLiveViews 시리즈 8편으로, .fitzv 컴포넌트 하나가 서버에서는 HTML로 렌더링되고 클라이언트에서는 WASM 앱으로 부팅해 서버가 그린 DOM 노드를 재생성 없이 그대로 '입양(adopt)'하는 하이드레이션 구현을 다룹니다. 가상 DOM 재조정이 없어 hydration mismatch 자체가 성립하지 않고, 프레임워크 런타임을 클라이언트에 싣지 않는다는 점이 차별점입니다.
Thread는 생각, 아이디어, 메모, 음성 녹음을 기록하는 AI 저널이자 세컨드 브레인(second brain) 앱입니다. 관련된 기억을 자동으로 연결하고 사고 패턴을 찾아내어, 흩어진 아이디어를 의미 있는 '스레드'로 묶어 실행 가능한 아이디어로 바꿔 줍니다.
금융 데이터 API 서비스 AlphAI를 운영하는 개발자가 신규 사용자처럼 무료 키를 발급받아 자사 API를 도그푸딩한 기록입니다. 관심 종목의 실적 발표일·공시 분석·매크로 일정을 하나의 스크립트로 모으는 과정에서 메트릭 단위 누락, SDK의 204 처리 오류, Retry-After 계산 버그 등 다섯 가지 결함을 찾아 당일 수정했고, 슬라이딩 윈도우 레이트 리밋의 실제 동작을 측정해 공개합니다.
macOS용 공간형 보드 앱 Expand가 Product Hunt에 공개됐습니다. 텍스트·이미지·파일·도형을 열린 캔버스에 배치하고, 보드 안에 다시 들어갈 수 있는 중첩 보드를 만들어 아이디어와 계획을 계층적으로 정리할 수 있습니다. 커뮤니티 점수 130을 기록하며 주목받았습니다.
저자가 2014년 AOL CMS 업그레이드 중 임시로 작성한 http_build_url() 폴리필이 12년간 Packagist에서 약 2,000만 회 설치되고 WordPress 플러그인·Debian 등에 번들되며 널리 퍼졌습니다. PHP 8.5에 표준 URI API가 도입된 지금, 저자는 유지보수나 인수인계 대신 패키지를 deprecated 처리하기로 결정했습니다.
웹 개발 입문 시리즈의 첫 번째 단계로, 코드를 작성하기 전 알아야 할 웹의 기본 개념들을 정리한 안내서입니다. 브라우저와 서버, 프런트엔드와 백엔드, 데이터베이스, HTTP 요청과 응답, URL 구조, DNS, HTTPS, GET/POST 구분까지 클라이언트-서버 아키텍처의 전체 흐름을 다룹니다. 브라우저 DevTools의 Network 탭으로 실제 요청과 응답을 관찰하는 실습 과제도 포함되어 있습니다.
Inithouse의 음성 기반 AI 워크스페이스 Voice Tables를 Airtable과 같은 팀에서 3개월간 병행 사용한 경험담입니다. 음성 설명만으로 테이블·필드·문서가 60초 안에 생성되지만, 필드가 대략 12개를 넘으면 스키마 추론 정확도가 급락하는 '계단 함수'가 확인됐습니다. 저자는 음성이 정밀도를 속도와 접근성으로 교환하는 '초안 도구'라고 결론 내립니다.
한 인디 개발자가 Tesla 차량 화면과 앱에 표시되는 차량 모델의 외형을 꾸미는 디지털 랩(digital wrap) 편집기 'Tesla Wrap Studio'를 2주 만에 만들었습니다. 자신의 사진을 차체 부위별로 배치하고 크기·회전을 조절하며 3D로 미리 볼 수 있는 도구로, 프로모션 전에 SEO만으로 일본 사용자의 첫 유료 결제를 얻었습니다.
LLM 기반 '바이브 코딩'은 초기 생산성을 높이지만, 유지보수 3개월 차부터 인간이 작성한 코드에서는 드물게 보이는 구조적 기술 부채를 드러낸다고 저자는 지적합니다. 의존성 팽창, 아키텍처 경계 침범, 형식만 있는 테스트 등 구체적인 실패 패턴을 분석하고 '검증 기반' 워크플로로 전환할 것을 제안합니다.
PCB 설계 지식이 없는 개발자가 AI 모델 Fable 5에 영어 설명만으로 RP2350 기반 E-ink 개발 보드의 설계를 전부 맡긴 실험기입니다. 패키지 오류와 미완성 자동 라우팅 등 우여곡절이 있었지만, JLCPCB에서 5장 130유로에 조립 주문한 보드가 실제로 동작했습니다. AI가 하드웨어 진입 장벽을 크게 낮추면서도 성취감과 검증 책임이라는 숙제를 남긴다는 점을 보여줍니다.
Cloudflare Pages에서 정적 사이트를 운영하는 개발자가 플랫폼이 조용히 실패하는 두 가지 동작을 실측으로 검증한 기록입니다. _headers로 지정한 Cache-Control이 정적 자산에서 무시되는 문제와, _redirects 규칙이 약 100줄을 넘으면 경고 없이 적용되지 않는 한계를 다룹니다. 콘텐츠 해시 기반 캐시 무효화와 canary 규칙을 활용한 배포 검증 같은 실용적인 우회 방법을 제시합니다.
자연어를 JavaScript 정규식으로 바꿔주는 소형 도구 Forge Regex의 제작자가 왜 DeepSeek 단일 모델을 유지하는지 설명합니다. 비용, 구조화된 출력, SQLite 캐싱, 그리고 'JS RegExp에서 실제로 동작하지 않으면 실패'로 간주하는 제품 수준 검증이 모델 브랜드보다 중요하다는 논지입니다. 교체 기준은 사용자 수정 빈도와 지연 시간 같은 실제 신호로 정합니다.
파일 크기를 결정하는 것은 MP4 같은 컨테이너가 아니라 내부의 코덱이라는 점을 지적하며, 720p 테스트 클립을 H.264, VP9, AV1로 인코딩하고 VMAF 품질 점수로 동일 체감 품질 기준의 크기를 비교했습니다. VMAF 90 기준으로 VP9는 H.264 대비 약 40%, AV1은 약 60% 더 작았습니다. 다만 신형 코덱은 인코딩 CPU 비용이 크므로, 여러 번 스트리밍할 영상이면 AV1/VP9, 일회성 전송이면 H.264가 합리적이라고 정리합니다.
git worktree가 코딩 에이전트 시대를 맞아 주류 도구가 됐지만, linked worktree에서는 .git이 디렉터리가 아니라 포인터 파일이라는 사실에서 비롯되는 함정들이 있습니다. 리포지터리 루트 탐색 로직이 어긋나고, 샌드박스 안에서는 git hooks가 끊기는 문제까지, 저자는 git rev-parse 계열 명령과 core.hooksPath 설정으로 해결책을 제시합니다.
Microsoft가 Windows Insider 일부에게 실험 빌드를 공개했고, 이 빌드에서 File Explorer가 클릭 즉시 로딩되는 등 전반적인 반응성이 크게 개선된 것으로 전해졌습니다. Start 메뉴와 taskbar 개선은 이미 일반 사용자에게 배포가 시작됐으며, K2 이니셔티브를 통해 올가을 추가 개선이 이어질 예정입니다.
C++에서 while (true); 같은 부수 효과 없는 무한 루프는 지금까지 미정의 동작(UB)이었고, Clang은 이를 최적화로 제거해 루프 뒤의 코드가 실행되는 일까지 벌어졌습니다. C++26의 P2809R3은 '자명한 무한 루프(trivial infinite loop)'라는 좁은 범주를 정의해 이를 유효한 동작으로 바꾸고, 루프 본문을 std::this_thread::yield() 호출로 대체해 forward progress를 보장합니다. C에서는 이미 C11부터 유효했던 동작이라 C와 C++의 불필요한 분기도 해소됩니다.