본문 바로가기

분류 전체보기124

GitHub PR에서 Merge Conflict란? GitHub Pull Request에서 "Squash and Merge"를 누르면 충돌이 생기는 걸까? PR 체크 실패, 리뷰 미승인, Merge Conflict의 차이를 코드 예시와 함께 명확하게 정리합니다.목차GitHub PR이 머지되지 않는 3가지 이유Merge Conflict란 정확히 무엇인가Squash and Merge vs Conflict — 어떤 관계인가Conflict 해결하는 법 (실전 명령어)Merge 방식 3가지 비교정리 한 줄 요약1. GitHub PR이 머지되지 않는 3가지 이유PR을 올렸는데 머지가 안 된다면, 보통 아래 3가지 중 하나입니다. 원인설명해결 방법Review required리뷰어 N명의 Approve가 아직 없음팀원에게 리뷰 요청CI/CD 체크 실패Unit test,.. 2026. 4. 7.
Git Stash 안전하게 사용하는 방법: 커밋 없이 브랜치 변경 후 작업 복원하기 Git을 사용하다 보면 작업 중이던 변경사항을 아직 커밋하고 싶지는 않은데, 다른 브랜치로 잠깐 이동해야 하는 순간이 자주 생깁니다. 이럴 때 가장 많이 쓰는 방법이 git stash입니다. git stash를 사용하면 현재 수정한 파일들을 로컬에 임시 저장해두고, 워킹 트리를 깨끗한 상태로 만든 뒤 다른 브랜치로 이동할 수 있습니다. 이후 필요할 때 다시 꺼내서 이어서 작업하면 됩니다.특히 중요한 점은 git stash가 원격 저장소에 올라가는 기능이 아니라는 점입니다. 즉, stash에 넣은 내용은 내 로컬 .git 영역에만 임시로 저장됩니다. 그래서 아직 정리되지 않은 작업을 잠깐 치워두고 싶을 때 유용합니다. 반대로 팀원과 공유되거나 히스토리로 남는 것은 아니므로, 장기 보관 목적이라면 stas.. 2026. 4. 3.
추가 인증이 필요한 화면을 Annotation + Guard로 다루는 구조 특정 화면만 한 번 더 인증해야 하는 요구사항은 자주 등장합니다.다만 이 로직이 화면 조회 API, 로그인 API, 세션 관리, 레거시 인증 규칙과 뒤섞이기 시작하면 구조가 빠르게 복잡해집니다.이 글은 Protected Screen API와 Additional Login API를 분리하고, Annotation + Guard 조합으로 화면 단위 추가 인증을 다루는 구조를 정리한 글입니다.왜 화면 단위 추가 인증이 필요한가서비스 전체 로그인과 별개로, 일부 화면만 추가 인증이 필요한 경우가 있습니다.예를 들어 민감한 조회 화면이나 출력 화면은 사용자가 이미 로그인한 상태여도 한 번 더 확인하는 정책을 둘 수 있습니다.이때 중요한 점은 화면 조회 자체가 로그인 API가 아니라는 것입니다.먼저 세션이 있는지 확.. 2026. 3. 30.
하네스 엔지니어링이란? 2026년 3월 21일 하네스 엔지니어링이란?13살도 이해하는 AI 시험장 이야기 AI를 똑똑하게 만드는 것과, 믿고 쓸 수 있게 만드는 것은 다릅니다. 하네스 엔지니어링은 바로 그 차이를 메우는 기술입니다. 한 줄 답부터 하네스 엔지니어링은 AI를 위한 시험장, 채점표, 기록장치를 만드는 일입니다. 쉽게 말해, AI가 진짜 제대로 작동하는지 계속 검사하는 기술입니다. 왜 필요한가요? 게임 캐릭터가 멋있게 생겼다고 해서 꼭 게임을 잘하는 건 아니죠. AI도 마찬가지입니다. 답을 그럴듯하게 말해도 가끔 틀리거나, 너무 어렵게 설명하거나, 규칙을 어길 수 있습니다. 그래서 개발자들은 AI 옆에 작은 시험장을 둡니다. 같은 질문을 여러 번 물어보고, 맞았는지.. 2026. 3. 22.
웹에서 화면을 이미지로 저장하기 웹에서 화면을 이미지로 저장하기 — html2canvas vs modern-screenshot토스 앱인토스 미니앱에서 결과 카드를 이미지로 저장하는 기능을 구현하면서 겪은 삽질기기술 스택React 19 + TypeScriptVite 5@apps-in-toss/web-framework 2.0.9 (saveBase64Data)html2canvas 1.x (최종 채택)modern-screenshot (시도 후 포기) 하고 싶었던 것성격 테스트 결과 카드를 이미지로 저장하는 기능이 필요했어요. 사용자가 결과 화면에서 다운로드 버튼을 누르면, 캐릭터 일러스트 + 이름 + 육각형 스탯 차트가 포함된 카드를 PNG로 저장하는 거예요.환경이 좀 특수했어요. 토스 앱 안의 WebView에서 동작해야 하고, 저장은 토스 .. 2026. 3. 20.
Google 발송 메일 SPF 실패 원인 분석 및 해결 dev.note / Email / spf-debug 2025-02-25 | Email · DNS · DevOps SPF Google Workspace DNS 가비아 카페24 메일 발송 오류 Google 발송 메일 SPF 실패원인 분석 및 해결 과정 SPF를 분명히 설정했는데 왜 메일이 차단될까 — 도메인 등록사와 실제 DNS 관리사가 다를 때 발생하는 함정, 그리고 그 해결 과정을 정리했습니다. 1. 문제 상황 Google Workspace에서 발송한 메일이 특정 수신처로 전송되지 않고 다음과 같은 오류가 반환됐다. 553 Sender is blocked by SPF (209.85.xxx.xxx) 또는 메일 원본 헤더에서 아래와 같은 SPF 실패 메.. 2026. 2. 25.
반응형