개발/프로그래밍

49 개의 글
카테고리

앱이 내 위치를 500번 조회했다? 스마트폰에 이미 있는 접근 기록 메뉴

배터리가 유난히 빨리 닳아 원인을 찾던 어느 날, 스마트폰 설정 속에 이미 있던 메뉴 하나를 열어보게 되는 경우가 있습니다. 테크 매체 How-To Geek의 기고자 비슈와무르티 라마크리슈난(Vishwamoorthy Ramakrishnan)은 자신의 안드로이드 기기에서 밤새 대기 중 배터리가 12%가량 감소하는…

HTTP 200인데 이미지가 안 뜬다: CORP와 SSRF 사이의 신뢰 경계

정상 JPEG와 HTTP 200만으로 이미지 렌더링을 보장할 수 없는 이유를 출발점으로, CORP·DNS 고정·Host와 SNI 보존·스트리밍 자원 예산·복구 상태 전이를 분석한다. HTTPX, httpcore, Pillow의 보장 범위와 검증 계층을 구체적으로 구분한다.

연결이 끊긴 뒤에도 남는 running: 스트리밍 실행의 종료를 설계하는 법

Python 비동기 생성기의 취소와 종료를 직접 재현하고, 실행 상태를 일관되게 마감하는 설계를 살펴봅니다. aclosing, 제한된 정리 구간, DB 커밋 순서에서 시작해 실행 리스·펜싱 토큰·이벤트 재생·완료 알림까지 실패 경계를 따라 확장합니다.

AI 금융 글의 숫자 오류, ‘좁은 검사 함수’로 잡는 MCP 서버 구조

AI가 초안을 쓴 금융 글을 다듬을 때, 실무자는 문장 구조와 어조에 집중하기 쉽습니다. 그런데 공시 해설 블로그 macromalt.com을 운영하는 hs85-newbie는 프롬프트에 ‘정확히 확인하라’고 지시한 뒤 퇴고 단계에서 문장만 점검하다가 핵심 수치 검수를 건너뛰어, 실제 공시와 다른 금액이 그대로 공개된…

200개 커밋 사이, git bisect로 범인을 좁히는 법과 exit code 함정

어젯밤 CI에서 통과하던 payment.spec.js가 아침 빌드에서 실패했습니다. 마지막 정상 릴리스 태그 이후로 머지된 커밋은 200개입니다. git log를 위로 스크롤하며 diff를 눈으로 훑으면 선형 탐색에 해당하므로, 매 커밋 빌드와 테스트를 돌리는 것은 상당한 시간을 소모합니다. 이 상황을 직접 겪은…

Rust CLI 도구로 '의존성 지옥'을 끝내는 정적 바이너리 배포법과 CI/CD 파이프라인 자동화 전략

인터프리터 기반 언어로 개발된 CLI 도구를 배포할 때, 사용자는 의존성 설치 실패와 기하급수적으로 불어나는 디스크 용량으로 인한 '의존성 지옥(Dependency Hell)'을 겪게 됩니다. Rust는 컴파일 시점에 모든 Rust 의존성과 C 런타임을 정적으로 묶어 단일 실행 파일을 생성하므로, 이러한 런타임…

취약점 발견이 먼저, 패치는 늦다: LLM 시대의 개발 일정 전략

엔지니어링 팀이 가장 선호하는 개발 리듬은 예측 가능한 스프린트와 차분한 릴리스입니다. 하지만 생성형 AI가 보안 취약점을 찾아내는 속도가 기하급수적으로 빨라지면서, 기존 개발 일정은 급격히 흔들리고 있습니다. AI가 기존 개발자가 미처 발견하지 못한 수십 년 된 코드베이스의 결함을 순식간에 드러내면서, 신규 기능…

Rust 기반 콘텐츠 인식 diff 도구 OmniDiff의 성능과 활용법

함수의 위치만 옮겼는데 리뷰 화면에는 삭제와 추가가 길게 늘어서고, 이미지 변경은 파일이 달라졌다는 한 줄로 끝나기도 합니다. 이럴 때는 변경된 줄 수보다 무엇이 바뀌었는지를 빨리 파악하는 편이 중요합니다. Rust로 만든 OmniDiff는 코드의 구문 구조를 비교하고, 이미지·폰트·PDF에는 각 형식에 맞는 비교…

2025년 이후 주목받는 Rust 도입 시나리오: Node.js 리팩토링 시 성능과 메모리 관리 최적화 전략

Node.js 기반 백엔드 시스템에서 응답 속도가 지연되거나 메모리 사용량이 급증할 때, 개발자들은 종종 애플리케이션 전체를 다른 언어로 재작성하는 것을 고려합니다. 그러나 최근의 기술 동향을 보여주는 여러 사례와 벤치마크는 전체 재작성보다는 프로파일링을 통해 병목 구간만 선별적으로 최적화하는 '정밀 타겟팅'…

스트래글러 패턴 2026: 무중단 레거시 마이그레이션과 트랩 피하기

레거시 시스템의 전면 재작성은 위험하지만, 방치하면 더 큰 비용을 요구합니다. 마틴 파울러(Martin Fowler)가 제시한 '스트래글러 패턴(Strangler Pattern)'은 이러한 딜레마를 해결하는 표준 전략으로 자리 잡았습니다. 2001년 호주 퀸즐랜드 열대우림에서 교살자 무화과가 숙주 나무를 감싸며…