최신글

모든 블로그 글을 최신순으로 표시합니다.

[Claude Code] 커밋과 PR의 Co-Authored-By 표기 숨기기 (attribution 설정)

2026-06-06
Claude Code가 자동으로 추가하는 Co-Authored-By trailer와 PR의 Generated with Claude Code 문구를 숨기는 방법을 알아봅니다. deprecated된 includeCoAuthoredBy 대신 attribution 설정을 사용하는 방법을 정리합니다.
자세히 보기 →

[Flutter] split('') 함정 — 이모지·일부 한자에서 발생하는 Android 크래시

2026-05-27
일부 한자나 이모지가 포함된 단어를 한 글자씩 분리할 때 발생하는 "string is not well-formed UTF-16" Android 크래시의 원인과 수정 방법을 정리합니다.
자세히 보기 →

[Flutter] iPad 멀티태스킹에서 AppBar 와 시스템 컨트롤 겹침 수정

2026-05-26
iPad Split View · Slide Over · Stage Manager 환경에서 AppBar 좌상단 뒤로가기 버튼이 시스템 grab handle 과 겹치는 문제를 정리합니다. 화면 크기 기반 iPad 판별이 실패하는 이유, 하드웨어 기반 판별, AppBar leading 정렬의 함정까지 다룹니다.
자세히 보기 →

[Flutter] 갤럭시 S26 대응 — Android 16KB 페이지 크기 호환성

2026-05-25
갤럭시 S26 등 16KB 페이지 크기를 사용하는 Android 단말에서 Flutter 앱이 Play Store에 정상 노출되도록 AAB 산출물을 정렬하고, 회귀를 막는 정적 검증 게이트를 구축하는 방법을 알아봅니다.
자세히 보기 →

[Google Play] 릴리스 노트 500자 제한과 다국어 트리밍 전략

2026-05-25
Google Play의 릴리스 노트는 언어별 500자 제한이 있습니다. 한국어/영어 노트가 한도를 초과한 사례를 바탕으로, 어떤 항목을 빼고 어떻게 그룹핑하여 압축했는지 실전 트리밍 전략을 정리합니다.
자세히 보기 →

package.json의 caret(^)은 어떻게 동작하는가 — 락파일이 빠진 Docker 빌드가 일으킨 사고

2026-05-25
코드 변경이 없는데 어느 날 갑자기 Docker production 빌드가 실패했습니다. 원인은 의존성 트리 깊은 곳의 transitive 패키지가 며칠 전 publish한 새 patch였습니다. 이 글은 사고의 전말을 풀면서 package.json의 caret 범위가 정확히 어떻게 동작하는지, 그리고 yarn.lock의 역할이 무엇인지를 정리합니다.
자세히 보기 →

Subresource Integrity(SRI)로 CDN 변조 막기: Polyfill.io가 알려준 교훈

2026-05-22
2024년 Polyfill.io 사고는 CDN으로 로드하는 외부 스크립트가 어떻게 10만 개 이상의 사이트를 한 번에 감염시킬 수 있는지 보여줬습니다. Subresource Integrity(SRI)의 동작 원리와 적용 방법, 그리고 Google Fonts 같은 동적 CSS에서 SRI를 어떻게 우회·대체할지 정리합니다.
자세히 보기 →

GitHub Dependency Review Action으로 새 의존성을 PR 단계에서 검증하기

2026-05-21
새 의존성을 추가하는 PR이 알려진 CVE를 가진 패키지, 라이선스 위반, 위험한 메인테이너 변경을 끌어들이지 못하도록 GitHub Dependency Review Action으로 PR 게이트를 거는 방법을 실제 사고 사례와 함께 정리합니다.
자세히 보기 →

CodeQL과 yarn npm audit으로 보안 스캐너 보강하기

2026-05-20
공급망 cooldown만으로는 막지 못하는 두 가지 — "이미 의존 트리에 들어와 있는 알려진 CVE"와 "우리 코드 자체의 취약점" — 을 각각 yarn npm audit과 GitHub CodeQL로 막는 방법을 실제 사고 예시와 함께 정리합니다.
자세히 보기 →

SBOM으로 의존성 가시성 확보하기: Log4Shell이 알려준 교훈

2026-05-19
새로운 취약점이 공개될 때마다 "우리 프로젝트가 영향받는가?"라는 질문에 즉답하지 못한다면, 의존성 가시성이 부족한 상태입니다. Log4Shell 사례를 통해 SBOM(Software Bill of Materials)이 왜 필요한지, GitHub Dependency Submission으로 어떻게 자동화하는지 정리합니다.
자세히 보기 →

Yarn 4 Hardened Mode로 lockfile 변조 공격 막기

2026-05-18
공급망 방어의 빈틈 중 하나인 lockfile 변조 공격을 다룹니다. Yarn 4의 Hardened Mode가 매 설치마다 resolution과 무결성 해시를 검증해 lockfile injection 시나리오를 어떻게 차단하는지, 그리고 한 줄 설정으로 어떻게 도입할 수 있는지 정리합니다.
자세히 보기 →

공급망 공격 방어를 위한 cooldown의 효과와 한계

2026-05-17
Dependabot cooldown과 패키지 매니저의 minimum release age 같은 시간 기반 공급망 방어 전략이 실제로 얼마나 효과적인지 지금까지 있었던 사고 데이터로 검증합니다.
자세히 보기 →

SHARE
Twitter Facebook RSS