TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
162216211620161916181617161616151614161316121611
AI
REA 리버스 엔지니어링 AI — 실행 파일만 보고 같은 동작을 다시 짜 주는 도구
REA는 실행 파일·앱을 내 PC에서 분석해 Claude Code·Codex·Cursor 같은 AI 에이전트에 근거와 함께 넘겨 주는 MIT 라이선스 MCP 서버다. 작동 원리, DX-Ball 재구현 사례, 설치법, 법적 주의점을 정리했다.
Frontend
Next.js 레이아웃 canonical 상속의 함정 — 놀이터 240개가 홈 중복이 된 이유
Next.js 루트 layout의 metadata에 canonical을 넣으면 자기 값이 없는 모든 하위 페이지가 홈을 대표 주소로 선언한다. 놀이터 240개가 홈 사본이 된 원인과 페이지별 메타 헬퍼로 고친 과정을 정리했다.
Database
조회수 하나가 사이트맵을 망친다 — Prisma updatedAt과 lastmod 오염
조회수를 Prisma update로 올리면 @updatedAt이 매번 바뀌어 사이트맵 lastmod와 dateModified가 "마지막으로 누가 본 시각"이 된다. 원인, 탐지 SQL, raw SQL 카운터로 고친 방법을 정리했다.
Etc
같은 주제 글이 두 개일 때 — 301·canonical·noindex·병합 선택 기준
같은 주제 글이 둘이면 대부분 약한 쪽을 강한 쪽으로 301 영구 이동하는 게 맞다. 중복 203쌍을 찾아 정리하며 세운 키워드 카니발리제이션 판단 기준과 Next.js 구현을 정리했다.
Frontend
서치 콘솔 itemReviewed 누락 오류의 정체 — 마이크로데이터와 JSON-LD가 겹친 이름 없는 항목
서치 콘솔의 리뷰 스니펫 itemReviewed 누락 오류는 부모 없이 단독으로 붙은 AggregateRating 마이크로데이터가 원인인 경우가 많다. 실제 사례로 원인, 수정, 검증 흐름을 정리했다.
Infra
releases.json으로 외부 배포 프로그램 버전 자동 동기화 — 매니페스트 설계와 스크립트
다른 서버에서 배포하는 프로그램의 버전·파일명·해시를 블로그 다운로드 페이지에 자동으로 맞추려면 상대 쪽 releases.json 매니페스트를 폴링하는 게 가장 확실하다. 형식 설계와 안전장치를 정리했다.
Frontend
모바일 CSS가 안 먹던 이유 — @media 위치와 캐스케이드 소스 순서, 인라인 스타일 함정
미디어쿼리는 명시도를 올려 주지 않아서, 같은 선택자라면 뒤에 나온 기본 규칙이 모바일 규칙을 덮는다. 목록 페이지 모바일 리디자인에서 겪은 소스 순서·인라인 스타일 문제와 해결법을 정리했다.
Backend
Prisma include가 공개 API로 흘린 것들 — 게스트 비밀번호 해시 유출과 IP 기록 다시 생각하기
Prisma include는 모델의 모든 스칼라 필드를 그대로 돌려주기 때문에, 공개 API에서 쓰면 비밀번호 해시 같은 필드가 응답에 섞여 나간다. 실제 사고와 수정, 게스트 IP 기록 방식을 다시 정한 과정을 정리했다.
AI
데스크톱 프로그램에 로컬 LLM을 넣을까 — 설치 파일이 수 GB가 되는 딜레마
데스크톱 프로그램에 로컬 LLM을 기본 번들하면 설치 파일이 수 GB로 커진다. 번들, 추가 모델 팩, 사용자 로컬 서버 연결, 클라우드 API 네 가지 선택지를 비교하고 내가 고른 방향을 정리했다.
Frontend
목록 카드에서 잘리지 않는 썸네일 — OG 이미지 1200×630 세이프존과 헤드리스 크롬 자동 생성
OG 썸네일이 목록 카드에서 잘리지 않으려면 핵심 글자를 가운데 약 700px 안에 두 줄 이내로 넣어야 한다. 잘림 영역 계산, 세이프존 CSS, 헤드리스 크롬 생성법을 정리했다.
Backend
오프라인에서도 검증되는 라이선스 키 — Ed25519 서명으로 설계한 LinkOn Pro
라이선스 키에 Ed25519 서명을 넣고 프로그램에는 공개키만 두면 인터넷 없이도 진위를 검증할 수 있다. LinkOn Pro 키 설계와 "서버가 죽어도 Pro가 꺼지면 안 된다"는 원칙을 정리했다.
Tools
코드 서명 없는 Windows 프로그램 배포 — SmartScreen 경고를 정직하게 안내하는 법
코드 서명 없이 배포한 Windows 프로그램은 SmartScreen "Windows의 PC 보호" 경고를 피하기 어렵다. 경고를 숨기지 않고 해시 공개·실행 안내·안전한 업데이트로 신뢰를 대신 주는 방법을 정리했다.