분류 전체보기 165

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

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

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

DB 설계 변경에 대한 정리 (현실 로직 우선)초기 설계에서는 푸시 구독 정보를 사용자 테이블(A)와 연계하여 관리하는 구조를 고려했다.다만 실제 구현 단계에서 아래와 같은 현실적인 제약 사항을 확인했다.사용자 정보 연계를 위해서는 기존 통합로그인(SSO) 시스템 연동이 필요해당 시스템 연동에는 별도의 라이선스 및 행정 절차가 요구됨단순 푸시 알림 PoC 및 운영 검증 단계에서 즉시 적용하기에는 비용과 일정 측면에서 비효율적이러한 이유로 지금 시점에서 현실적으로 구현 가능한 로직부터 우선 반영하는 방향으로 설계를 조정했다.변경된 방향성사용자 중심 → 구독(endpoint) 중심 설계Web Push 특성상, 실제 푸시 발송의 최소 단위는 사용자 계정이 아닌 브라우저의 endpoint이다.현재 단계에서는 로..

SideProject 2026.01.29

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

Spring Boot 기반 웹 푸시 알림 서비스 - DB 테이블 설계1. DB 테이블 설계아래와 같은 요구사항 충족을 위해 푸시 발송 로직보다 먼저 DB 구조를 설계했다.누가 알림을 받았는지어떤 메시지가 언제 발송되었는지발송 성공/실패 여부특정 사용자 또는 전체 발송 이력 조회향후 재발송, 통계, 로그 관리2. 전체 테이블 구성 개요4개의 핵심 테이블로 구성 (테이블명은 대외비)테이블명역할A알림 대상 사용자 정보B웹 푸시 구독 정보C발송할 알림 메시지D알림 발송 이력 각 테이블은 역할을 명확히 분리하여 확장성과 유지보수성을 고려하여 설계했다.3. 알림 대상 사용자 테이블(A)알림을 받을 수 있는 사용자 정보를 관리하는 테이블설계 포인트USER_NUMB를 기준 키로 사용학생 / 직원 / 일반 등 사용자 유..

SideProject 2026.01.27

🐳 도커(Docker) 프록시 네트워크 설정

포트 직접 접근에서 프록시 네트워크 방식으로 전환한 이유기존에는 아래처럼 포트를 직접 열어서 접근했다.http://도메인:8080http://도메인:9000 이 방식은 간단하지만, 운영 환경에서는 여러 문제가 있다.포트 직접 노출 방식의 한계서비스가 늘어날수록 포트 관리 지옥방화벽, 보안 장비 설정 복잡서비스 구조가 외부에 그대로 노출HTTPS 적용 시 서비스마다 설정 필요“서비스가 많아질수록 관리 포인트가 기하급수적으로 늘어난다.”프록시 네트워크 방식이란?외부에서는 단 하나의 진입점(WEB) 만 바라보고 실제 서비스들은 Docker 내부 네트워크에서만 통신하게 만드는 구조다.외부 사용자 ↓ HTTPS[Nginx Reverse Proxy] ↓ Docker Network[서비스 / 배치 / 관리자]..

Dev/CS 2026.01.21

🐳 도커(Docker) 기본 개념과 용어 정리

도커 프로젝트를 진행하면서 관련된 단어 정리를 해보려 한다.이미지? 컨테이너? 볼륨? 다양한 용어들이 한꺼번에 쏟아져서 어렵게 느껴졌지만 막상 두들겨보니 일상에서 익숙한 예시를 찾게되어 알기 쉽게 정리해 보았다.도커란?도커는 ‘애플리케이션을 실행하는 데 필요한 것을 한 번에 담아 어디서든 똑같이 실행할 수 있게 해주는 기술’도커 이미지(Image) = 🍱 밀키트도커 이미지는 애플리케이션 실행에 필요한 모든 것을 담아놓은 설계도 + 재료 세트 밀키트레시피손질된 재료양념조리 순서도커 이미지OS 기반 환경라이브러리실행 파일설정 값밀키트는 아직 요리된 상태가 아니고,도커 이미지도 아직 실행된 상태가 아니다.컨테이너(Container) = 🍳 실제로 조리된 요리컨테이너(Container)는 도커 이미지를 실제..

Dev/CS 2026.01.20