2026/02 5

Docker 기반 웹 푸시 알림 시스템 - 4.5

소스 형상관리 및 사내 Git 서버(Gitea) 연동이번 단계에서는 프로젝트 소스 형상관리를 위해 Git을 도입하고,초기 GitHub 연동 이후 사내 Git 서버(Gitea) 로 이전한 과정을 정리한다.1. Git 도입 배경Spring Boot 기반 웹 푸시 알림 서버를 개발하면서 다음과 같은 필요성이 있었다.코드 변경 이력 관리기능 단위 버전 관리협업 및 추후 확장 대비회사 내부 정책에 맞는 형상관리 체계 구축초기에는 사이드 프로젝트 개념으로 GitHub Private Repository로 관리했으나,추후 내부적으로 활용이 가능할 것으로 판단되어 사내 보안 정책에 따라 내부 Git 서버(Gitea)로 이전하게 되었다.2. gitignore 구성기존 연동했던 Github에선 IDE 설정 파일, 빌드 산출..

SideProject 2026.02.12

연말정산 구조 쉽고 간단하게 알아보자

1️⃣ 연말정산을 한 문장으로 요약하면1년 동안 미리 낸 세금이 적절했는지 다시 계산해서 더 냈으면 돌려주고 덜 냈으면 추가로 받는 과정” 즉, 새로운 세금을 매기는 게 아니라 이미 낸 세금을 정산하는 것이다.2️⃣ 연말정산 전체 프로세스 (큰 그림)연말정산은 항상 아래 순서로 흘러간다.연봉 (총급여) → 1. 자동으로 빼주는 금액 (근로소득공제) → 2. 세금 계산 기준 금액 (과세표준) → 3. 세율 적용 (누진세) → 4. 깎아줄 수 있는 세금 차감 (세액공제) → 5. 최종 세금 → 6. 이미 낸 세금과 비교 후 환급 or 추가 납부 위 순서는 연봉이 얼마든 동일하다.3️⃣ 단계별 구조를 쉽게 풀어보면연봉 (총급여)세전 연봉상여금 포함1. 근로소득공제 (자동계산)“회사 다니는 사람이라서 깎아줌”자..

[CS] 메일 헤더를 분석해보자

메일 헤더(Header)란 무엇인가?메일 헤더는 "이 메일이 어디서, 누구에 의해, 어떤 방식으로 전달되었는지"를 기록한 메일의 이력서 같은 존재다. 본문은 사용자에게 보이는 영역이라면 헤더는 메일 서버와 보안 시스템을 위한 영역이다. 스팸 분석, 위·변조 판단, 발송 경로 추적 시 가장 먼저 확인하는 게 바로 이 메일 헤더다.메일 헤더 분석 가이드 (예시 헤더 기반 정리)/* ChatGPT를 통해 만든 샘플 메일 헤더입니다. */Received: from mail.example-sender.com (203.0.113.10) by mail.example-receiver.com with ESMTP; Tue, 04 Feb 2026 15:20:11 +0900Authentication-..

Dev/CS 2026.02.09

메이플키우기 환불 방법 총정리 (환불 링크 포함)

최근 메이플키우기 관련하여 넥슨에서 결제 금액 환불 안내를 공지했다.그래서 환불 링크 + 환불 절차를 간단하게 정리했다.메이플키우기 환불 대상 안내이번 환불은 메이플키우기에서 유료 결제를 진행한 사용자를 대상으로 진행된다.메이플키우기 유료 상품 결제 이력 보유넥슨 계정 로그인 필요PC / 모바일 브라우저 모두 가능정확한 환불 대상 여부는 환불 페이지 접속 후 자동으로 확인된다.메이플키우기 환불 신청 링크아래 링크를 통해 바로 환불 신청 페이지로 이동할 수 있습니다.https://maplestoryidle.nexon.com/ko/refund 메이플 키우기출구 없는 무한 성장의 재미, 방치형 RPG로 돌아온 메이플스토리!maplestoryidle.nexon.com메이플키우기 환불 방법 (순서대로 따라 하기)..

Docker 기반 웹 푸시 알림 시스템 - 4

Web Push 알림 시스템 구현 (DB 설계 변경 이후 실제 코드 중심) 앞선 글에서는 Web Push 시스템의 DB 설계를 사용자 중심 → 구독(endpoint) 중심으로 변경한 배경을 정리했다.이번 글에서는 그 설계가 실제 코드에서 어떻게 구현되었는지, Web Push 기술 특성과 어떤 식으로 맞물리는지를 코드 중심으로 정리해보았다.전체 흐름 요약 (기술 관점)관리자 --(발송 요청)-> Controller --> SendService --> PushSender --> FCM/PushServer --> Browser Service Worker 큰 변경점은 사용자가 아니라 구독 단위로 발송이 이뤄진다는 점이다.1. 구독 정보 도메인 (BDomain)/* * 편의성을 위하여 Lombok 사용 * Web..

SideProject 2026.02.02