| WORK 🏦 | IBK SYSTEM for Internet Banking Developer |
|---|---|
| BUILDING 🚀 | RAIO Streaming Platform |
| WRITING ✍️ | Hashnode Technical Blog |
| LEARNING 🌱 | DDD · CQRS · Hexagonal Architecture · gRPC |
금융권과 차세대 프로젝트를 경험한 백엔드 개발자 박경우입니다.
문제를 해결하는 것에서 끝나지 않고, 왜 문제가 발생했는지 이해하고 공유하는 개발자가 되고 싶습니다. 🔍
| 🚀 |
좋은 아키텍처는 코드를 위한 것이 아니라, 함께 일하는 사람을 위한 것이라고 생각합니다. |
- 🏦 금융권 인터넷뱅킹 운영 및 유지보수 경험이 있습니다.
- 🏗️ 차세대 프로젝트에서 공통 Framework 및 연계 모듈을 개발했습니다.
- 🔐 Spring Security, 인증/인가, SSO 연계에 관심이 많습니다.
- ⚡ Oracle SQL 튜닝을 통해 조회 성능을 10초 → 2초로 개선한 경험이 있습니다.
- 🌱 Nettee에서 스터디 리더 및 취준생 멘토로 활동했습니다.
- ✍️ Hashnode에 배운 것과 문제 해결 과정을 기록하고 있습니다.
🧑🏻💻 IBK기업은행 인터넷뱅킹 채널 운영 및 유지보수 업무를 수행하고 있습니다. 🧑🏻💻 건설근로자공제회 차세대 프로젝트에서 Spring Security + SSO 기반 공통 Framework를 개발했습니다. 🧑🏻💻 CRM 고도화 프로젝트에서 JWT + Redis 인증 체계와 GitLab 기반 DevOps 환경을 구축했습니다. 🧑🏻💻 현대홈쇼핑 차세대 프로젝트에서 상품 도메인 개발과 Kafka Consumer 전환을 수행했습니다.
| Leader | Backend |
실시간 스트리밍 플랫폼을 설계하고 개발하고 있습니다. 단순 기능 구현보다 유지보수 가능한 구조와 협업 가능한 아키텍처를 고민합니다.
+ 🏛️ RAIO: 유지보수 가능한 아키텍처 만들기
|
ℹ️ Hexagonal Architecture와 CQRS를 실제 서비스에 적용하며 도메인 중심 설계와 서비스 간 통신 구조를 연구하고 있습니다. |
- ARCHITECTURE: Hexagonal Architecture + CQRS + Multi Module
- COMMUNICATION: gRPC 기반 서비스 간 통신
- DATABASE: PostgreSQL + Flyway
- INFRA: Docker + Railway
- DOCUMENT: RAIO Project Document
Why Hexagonal Architecture? 🤔 도메인과 기술 구현을 분리하여, 기능 추가보다 유지보수가 쉬운 구조를 만드는 것을 목표로 합니다.
-
User Domain- 회원가입 및 인증 흐름
- Payment 서비스와 gRPC 연계
-
Payment Domain- Wallet 생성
- Point 충전
- Point History 관리
-
Donation Domain- 후원 기능
- 포인트 차감 연계
-
Stream / Chat Domain- 스트리밍 도메인 설계
- 실시간 채팅 도메인 설계
+ 📡 RAIO: gRPC 기반 서비스 통신
|
ℹ️ 서비스 간 직접 의존을 줄이기 위해 gRPC 기반 IPC 구조를 도입했습니다. 현재는 Monolith 환경에서 시작하지만, 서비스 분리를 고려한 구조로 설계하고 있습니다. |
- PROTO: Payment Wallet Command Service
- SERVER: WalletGrpcServerAdapter
- CLIENT: UserGrpcClientAdapter
- FLOW: User Register → Payment Wallet Create
- GOAL: 서비스 간 명확한 계약 기반 통신 구조 설계
✅ User 서비스에서 회원가입 성공 후 Wallet 생성 요청 ✅ Payment 서비스에서 Wallet 생성 및 응답 ✅ 추후 Outbox / Kafka 기반 이벤트 구조 확장 고려
+ 💰 RAIO: Wallet & Point System
-
✅ Wallet 생성 회원가입 이후 사용자별 지갑을 생성합니다.
-
✅ Point 충전 TossPayments 연동을 고려한 결제 승인 및 포인트 충전 구조를 설계합니다.
-
✅ Point History 포인트 충전, 후원, 환불 이력을 append-only 구조로 관리합니다.
-
✅ Donation 스트리머에게 포인트를 후원하는 기능을 설계하고 있습니다.
| Leader | Mentor |
2024.11 ~ 2025.06 함께 성장하는 개발 문화를 지향하며 스터디 리더와 멘토로 활동했습니다.
+ 🌐 Nettee: 스터디 운영과 멘토링
|
ℹ️ 단순히 기술을 학습하는 것을 넘어, 서로의 성장 속도를 존중하며 함께 나아가는 문화를 만들고자 했습니다. |
- PERIOD: 2024.11 ~ 2025.06
- ROLE: Study Leader / Mentor
- NOTION: (추가)
- REPOSITORY: (추가)
- ISSUES: (추가)
- 네트워크 스터디 운영
- 취업 준비생 멘토링
- 코드 리뷰 진행
- GitHub 협업 문화 공유
- 아키텍처 토론
- 기술 세션 진행
+ 😎 Nettee: 협업으로 만들어 가는 의미 있는 아키텍처
|
백엔드 팀은 단순히 코드를 작성하는 것을 넘어,
|
It makes sense to me! 🤔 그래서 우리는 배경지식의 차이를 좁히고, 단계적으로 적응할 수 있는 학습 구조를 고민했습니다.
-
Network Study- HTTP, TCP/IP, DNS 등 백엔드 개발자가 알아야 할 네트워크 기초를 함께 학습했습니다.
- 단순 개념 암기가 아니라, 실무 상황에서 왜 필요한지 중심으로 공유했습니다.
-
Backend Architecture Discussion- Layered Architecture
- Hexagonal Architecture
- Multi Module
- Domain과 Persistence 분리
-
GitHub Collaboration- Issue 기반 논의
- PR 기반 코드 리뷰
- Label / Branch 전략 논의
+ 🔑 Nettee: 백엔드 멘토링과 기술 공유
-
✅ 취업 준비생 멘토링 백엔드 개발자로 성장하기 위해 필요한 학습 방향과 프로젝트 방향을 함께 고민했습니다.
-
✅ 네트워크 스터디 운영 백엔드 개발자가 이해해야 하는 네트워크 지식을 함께 학습했습니다.
-
✅ GitHub 협업 방식 공유 Issue, Pull Request, Code Review 기반의 협업 방식을 공유했습니다.
-
✅ 아키텍처 토론 Layered Architecture, Hexagonal Architecture, Multi Module 구조를 함께 논의했습니다.
-
✅ 기술을 설명하는 연습 혼자 아는 것보다, 다른 사람이 이해할 수 있게 설명하는 과정을 중요하게 생각했습니다.
문제를 해결한 경험과 기술적인 고민을 기록합니다.
- JWT에 Client IP를 응용한 인증 필터 구현
- Redis 기반 Refresh Token 관리
- Spring Security 인증 흐름 정리
- Hexagonal Architecture
- CQRS
- Multi Module Architecture
- gRPC 기반 서비스 통신
- GitLab Runner with Docker Troubleshooting
- Docker 기반 배포 환경
- Linux 운영 환경
+ 🚀 Oracle 조회 성능 개선: 10초에서 2초로
|
ℹ️ 대용량 조회 API에서 발생한 성능 저하를 분석하고, SQL Cost 최소화를 목표로 쿼리 구조를 개선했습니다. |
- PROBLEM: 5만 건 이상 데이터 조회 시 응답 지연
- CAUSE: Count Query와 조회 Query의 비용 증가
- SOLUTION: Count Query 분리, SQL Cost 분석, Query 구조 개선
- RESULT: 10초 → 2초
+ 🔐 JWT + Redis 인증 체계 구축
-
✅ CSRF 대응 JWT와 Client IP를 함께 검증하는 Filter를 개발했습니다.
-
✅ XSS 대응 JWT Cookie 발급 시 HttpOnly, Secure 옵션을 적용했습니다.
-
✅ Redis 기반 토큰 관리 In-Memory 특성을 활용하여 빠른 토큰 검증과 재발급 기능을 구현했습니다.
-
✅ AOP 기반 사용자 메타데이터 제공 인증된 사용자 정보를 공통 VO로 제공했습니다.
+ ⚠️ JEUS Forward 무한 호출 장애 해결
|
ℹ️ Tomcat에서는 정상 동작하던 Forward 처리 로직이 JEUS 환경에서는 Filter Chain에 재진입하며 무한 호출되는 이슈를 분석했습니다. |
- ENVIRONMENT: JEUS WAS
- ISSUE: Forward 처리 시 Filter Chain 재진입
- CAUSE: Tomcat과 JEUS의 Forward 처리 방식 차이
- RESULT: 무한 호출 장애 원인 분석 및 해결
+ 📡 Kafka Consumer 전환
-
✅ Trigger 구조 개선 기존 Trigger 기반 연계 구조를 Kafka Consumer 기반으로 전환했습니다.
-
✅ Topic 무한 발행 방지 소스 DB와 타겟 DB가 동일한 상황에서 현재 시점 DB 재조회로 무한 발행 문제를 개선했습니다.
-
✅ 이력 관리 및 알림 로직 개발 문자열 보정 자동 이력 관리와 승인 상태 알림 로직을 개발했습니다.
+ 🏦 IBK기업은행: 인터넷뱅킹 운영 및 유지보수
|
ℹ️ 개인/기업 인터넷뱅킹 채널 운영과 장애 분석을 수행하며 금융 서비스 안정화 업무를 경험하고 있습니다. |
- DOMAIN: 인터넷뱅킹 채널계
- PERIOD: 2025.01 ~ Present
- ROLE: Backend / Operation
- 개인/기업 인터넷뱅킹 운영 및 유지보수
- 퇴직연금 업무 서비스 운영 지원
- 금융 서비스 개선 및 요구사항 반영
- 운영 정책 관리 및 서비스 안정화
- 장애 분석 및 운영 지원
Java 1.7 · JSP · Spring Framework · Oracle · SVN
+ 🏗️ 건설근로자공제회 차세대: 공통 Framework 개발
- DOMAIN: 공통 시스템
- PERIOD: 2024.11 ~ 2025.01
- ROLE: Common Framework / DevOps / Operation Support
- Spring Security + SSO 기반 Framework 개발
- UMS 연계를 위한 공통 모듈 개발
- ECM 기반 파일 이관 자동화 구축
- Shell Script 및 배치 스케줄러 연계
- GitLab 형상관리 체계 수립
- 개발/STG/운영 서버 배포 및 장애 대응
- JEUS Forward 무한 호출 장애 분석 및 해결
Java · Spring Framework · Spring Security · SSO · UMS · ECM · Shell Script · GitLab · JEUS
+ 🔐 CRM 고도화 프로젝트: 인증/인가와 DevOps 구축
- DOMAIN: CRM / Framework
- PERIOD: 2024.01 ~ 2024.07
- ROLE: Backend / Security / DevOps
- Spring Security 기반 인증/인가 체계 구축
- JWT + Redis 기반 토큰 관리 기능 개발
- Client IP 검증 Filter 개발
- AOP 기반 사용자 메타데이터 제공
- GitLab Runner 기반 무중단 배포 구축
Java · Spring Boot · Spring Security · JWT · Redis · Docker · GitLab · Vue.js
+ 🛒 현대홈쇼핑 차세대: 상품 BO 서비스 개발
- DOMAIN: 상품
- PERIOD: 2022.05 ~ 2023.12
- ROLE: Backend Developer
- 상품 기초/기준 관리 서비스 개발
- 비즈니스 API 50개 이상 개발
- Oracle 데이터 모델링 및 테이블 설계
- 대용량 조회 API 성능 개선
- Trigger 기반 구조를 Kafka Consumer로 전환
Java · Spring Boot · MyBatis · Oracle · Kafka · Nexacro · JavaScript · Bitbucket · Jira
- 정보처리기사
- SQLD
- OPIC IM3



