본문 바로가기
728x90
반응형

CS36

금융 보안 ✅ API 보안 (OAuth2, JWT) ✔️ OAuth 2.0 (권한 위임)목적인증(Authentication) + 인가(Authorization)방식토큰 기반으로 권한 위임흐름사용자 → 인증 서버에서 Access Token 발급 → API 서버에 접근실무 예시카카오, 네이버 로그인 / 금융 Open API ✔️ OAuth2 핵심 요소Authorization Server → 인증 서버Resource Server → API 서버Client → 서비스 제공자 (앱, 웹)Resource Owner → 사용자 ✔️ 동작 흐름 예시1. 사용자 → 인증 서버 로그인 2. 인증 서버 → Access Token 발급 3. 클라이언트 → API 호출 시 토큰 첨부 4. API 서버 → 토큰 검증 후 응답 ✔️ JWT .. 2025. 7. 2.
React ✅ React 경험 React 기반의 프론트엔드 화면 개발 경험이 있습니다. 단순한 UI 구성뿐만 아니라, 백엔드와의 API 연동, 상태 관리, 화면 렌더링 최적화 등을 수행했습니다. 주로 금융 시스템의 관리자 화면, 배치 데이터 조회 화면, 데이터 입력 및 검증 기능 등을 개발하면서, 사용자 편의성과 데이터 정확성을 중시한 화면을 구현했습니다. React를 사용하면서 컴포넌트 단위 설계, Props와 State 관리, React Hook 활용에 대한 실무 경험을 쌓았고, Axios를 통한 API 연동, Redux 또는 Context를 이용한 상태 관리도 경험했습니다. 또한, 반응형 디자인, 재사용 가능한 UI 컴포넌트 설계, 성능 최적화에도 집중했습니다. ✅ React의 역할✔️ 대면 채널 (창구 시.. 2025. 7. 1.
SQLP ✅ SQLP🔹 정규화 vs 비정규화정규화중복을 줄이고, 데이터 무결성을 유지하기 위한 DB 설계 기법. (1NF, 2NF, 3NF 등)비정규화성능 개선을 위해 일부러 중복 데이터를 허용하거나 테이블을 합치는 것 예시:정규화된 테이블에서 JOIN이 많아 성능이 떨어지면, 일부 컬럼을 포함시켜 비정규화하여 쿼리 단순화 가능.🔹 조인 방식Nested Loop Join작은 테이블 루프 돌면서 큰 테이블을 조건 검색 (인덱스 있으면 효율적)Hash Join조인 키를 해시로 매핑해 연결 (대용량 처리에 적합)Merge Join두 테이블 모두 정렬된 상태에서 병합 (정렬된 데이터에 유리) 👉 실행 계획(Explain Plan)을 보면 어떤 조인 방식이 사용되었는지 확인 가능.🔹 서브쿼리 vs 인라인 뷰 vs .. 2025. 7. 1.
퇴직연금 1. 퇴직연금 자산 업무 🧩 업무 개요자산 운용: 고객(개인 혹은 단체)의 퇴직연금 자산을 다양한 금융상품(예: 예·적금, 보험, 펀드 등)에 배분·운용수익률 최적화: 금융시장 데이터를 기반으로 자산 비중 조정, 리밸런싱, 리스크 관리🔧 개발 & 운영 프로세스데이터 수집실시간/일일 시세, 펀드 NAV, 금리, 계좌 정보 등 입력모델링 및 분석 시스템리스크(변동성, VaR 등), 수익률 계산AI 기반 생애 주기 맞춤 자산 운용 지원 플랫폼 개발 리밸런싱 엔진목표 포트폴리오와 실제 운용비중 비교 → 자동·반자동으로 비중 조정UI/UX 구성자산 현황, 수익률 추이, 추천 포트폴리오 그래프 제공운영 모니터링 / 알림 / 리스크 대응성능 체크, 장애 대응, 이상 징후 탐지KB금융은 AI 기반 플랫폼을 통해 비.. 2025. 6. 30.
코드 관리 ✅ 업무 코드 vs 공통 코드 (NXL 코드) 🔹 업무 코드 (Business Code)특정 업무 도메인 전용 코드 목록예: “퇴직연금”, “외환거래”, “신용평가” 등 업무 영역에 따라 독립 관리일반적으로 코드명 + 값 + 설명 등으로 구성시스템 간 인터페이스 시 업무 문맥 해석 필요🔹 공통 코드 (Common Code / NXL 코드)전체 시스템에서 공통으로 사용하는 코드 그룹예: “국가 코드”, “통화 코드”, “계좌 유형 코드” 등N: Namespace, X: eXtended, L: List – 쉽게 확장 가능하도록 정의된 코드 집합코드 변경 시 변동이 잦아 코드 테이블 외부화 → 미들웨어적 로딩 구조로 관리됨시스템 전반에서 동일한 의미를 가지므로 재사용성이 높고 유지보수 용이업무 코드특정 .. 2025. 6. 27.
배치 개발 ✅ 배치 개발 🔸 1. 실행 방식과 스케줄링배치: 주기적으로 실행되는 백그라운드 작업 (예: “매일 새벽 2시에 트랜잭션 집계”)서비스: 클라이언트 요청에 따라 즉시 실행되는 상호작용형 또는 실시간 처리 시스템배치는 스케줄러(cron, Airflow) 로 관리하며, 실행 타이밍과 리소스를 사전에 정해야 합니다. 🔸 2. 내결함성(Idempotence)과 오류 복구배치는 실패 시 중복 작업이나 데이터 무결성 훼손 없이 반복 실행 가능해야 합니다실시간 서비스는 요청 실패 시 재시도 메커니즘이 상대적으로 간단할 수 있음배치는 실패 시 중단 위치에서 재시작 가능한 구조(Job restart, checkpoint) 이어야 하며, 중복 방지를 위한 키 기반 처리가 필수입니다. 🔸 3. 리소스 관리 및 분리배치.. 2025. 6. 27.
프로젝트 진행 절차 ✅ SI 프로젝트 단계 🔸 1. 프로젝트 착수 (Initiation)주요 업무프로젝트 범위 정의이해관계자 파악 및 역할 배분예산, 일정, 인력 계획 수립산출물프로젝트 계획서 (Scope, 일정, 인력, 예산 포함)요구사항 초안 및 이해관계자 리스트리스크 관리 계획서산출물 도출 시 중요점 및 방법명확한 목표 수립: 모호한 범위는 나중에 변경 및 갈등 발생이해관계자와 협의: 누락 없이 모든 관계자 의견 수렴현실적 일정·자원 배분: 무리한 계획 금지방법: 킥오프 미팅, 워크숍 진행 후 문서화🔸 2. 요구사항 분석 (Requirement Analysis)주요 업무상세 요구사항 수집 및 분석요구사항 검증 및 확정요구사항 우선순위 설정산출물요구사항 명세서 (Business & Functional Require.. 2025. 6. 27.
빅데이터 & 인공지능 1. 빅데이터 & 인공지능 개념빅데이터: 기존 DB 시스템으로 처리하기 어려운 대용량, 다양한 종류의 데이터를 빠르게 수집·분석하는 기술인공지능(AI): 머신러닝, 딥러닝 등 데이터를 학습해 사람처럼 판단·예측하는 기술2. 빅데이터와 AI가 중요한 이유금융 거래량과 데이터가 방대해져 전통적인 방식으론 한계고객 행동 분석, 위험 관리, 이상 거래 탐지 등 정밀한 예측과 자동화 필요업무 효율성 향상과 새로운 서비스 창출을 위한 필수 기술3. 빅데이터와 AI 적용 방안(1) 빅데이터 적용실시간 거래 데이터 분석→ 거래 이상 탐지(Fraud Detection) 및 리스크 관리고객 행동 및 패턴 분석→ 맞춤형 상품 추천, 고객 이탈 예측운영 데이터 모니터링→ 시스템 성능 및 장애 예측, 사전 대응(2) 인공지능 .. 2025. 6. 27.
클린 코딩, 시큐어 코딩 1. 클린 코딩의 개념클린 코딩(Clean Coding)은 ‘읽기 쉽고 유지보수하기 쉬운 코드’를 의미합니다.기능 구현뿐 아니라, 누군가가 코드를 쉽게 이해하고 수정할 수 있도록 작성하는 것에 초점을 둡니다.2. 금융권에서 클린 코딩이 중요한 이유안정성과 신뢰성 확보금융 시스템은 오류가 치명적이며, 작은 실수도 큰 손실이나 법적 문제로 이어질 수 있습니다.유지보수 및 기능 개선 용이금융권 시스템은 장기간 운영되므로, 명확하고 일관된 코딩이 유지보수를 빠르고 정확하게 합니다.협업 효율성 증대여러 개발자가 공동으로 작업할 때, 클린 코드는 의사소통 비용을 줄여줍니다.테스트 및 배포 안정성 향상클린 코드는 테스트 자동화 및 CI/CD 파이프라인 구축 시 오류를 줄여 줍니다.3. 클린 코딩 하는 방법명확한 변수.. 2025. 6. 27.
인터페이스 통신, 대외/대행 ✅ 레거시 시스템과 인터페이스 통신 개발 방법 🔸 개념레거시 시스템(Legacy System)기존에 오래 운영되던 시스템, 주로 오래된 기술 스택이나 프로토콜 사용→ 금융권에서는 COBOL 기반 메인프레임, 오래된 DB, SOAP API 등 많음인터페이스 통신(Interface Communication)서로 다른 시스템 간 데이터 교환 및 명령 전달하는 방법→ REST API, SOAP, MQ, 파일 전송(FTP), DB 링크 등 다양 🔸 레거시와 인터페이스 통신 개발 방법① 시스템 분석 및 이해레거시 시스템 기술, 프로토콜, 데이터 구조, 메시지 포맷 파악예) COBOL, CICS, SOAP 기반 웹서비스, MQ 메시징 등② 인터페이스 설계데이터 교환 포맷 정의 (JSON, XML, FIX 등)통신.. 2025. 6. 27.
금융 IT 기술 스택 — DB, 웹, 인프라 비교 ✅ MySQL vs MariaDB vs Oracle DB개념오픈소스 관계형 DBMySQL에서 갈라진 오픈소스 DB상용 엔터프라이즈급 DB라이선스부분 상용 (오라클 소유)완전 오픈소스상용 (유료)기업 사용중소규모 서비스, 스타트업오픈소스 선호 기업, 클라우드 환경금융, 공공, 대기업 미션크리티컬 시스템성능일반적인 CRUD 성능은 우수MySQL 대비 복제 성능 개선, 더 빠름대규모 트랜잭션, 병렬처리, 안정성 최강장점접근 쉬움, 커뮤니티 많음속도 빠름, 클러스터링 강함장애 복구, 데이터 일관성, 안정성 최고단점대용량 처리 및 동시성 약함대형 트랜잭션에는 상대적 약세비용 높음, 설정 복잡금융권 채택 이유잘 안씀 (비용 이슈 X)일부 내부 시스템법적 요구, 고가용성, 안정성 → 표준주의사항장애 복구 어렵고, 복.. 2025. 6. 27.
도메인 ✅ 도메인 🔸 개념소프트웨어가 해결해야 할 현실 세계의 문제 영역.단순 데이터 구조가 아니라, 그 업무의 규칙, 상태, 행동까지 모두 포함.🔸 중요한 이유금융은 데이터의 정확성 + 업무 규칙의 정합성이 매우 중요.세금 계산, 수익률 산정, 법적 요건 같은 복잡한 규칙이 도메인에 녹아야 함.모델이 잘못되면 금전적 사고로 직결 → 법적 리스크.정확성 확보돈이 잘못 계산되면 안 되기 때문에 업무 로직을 명확하게 코드화업무 복잡도 대응세금, 이자, 상품 규칙 등 복잡한 업무를 모델로 관리변화 대응력 향상법, 정책 변경이 있어도 모델 중심으로 안정적으로 대응 가능개발자 간 커뮤니케이션 도구코드 자체가 업무를 설명하는 설계도 역할을 함🔸 개발 방법업무 분석 – 운영자, 기획자와 용어 정리.도메인 모델 설계 .. 2025. 6. 27.
트랜잭션 처리 ✅ 트랜잭션 처리 방식 🔸 개념트랜잭션이란 데이터베이스 내에서 하나의 작업 단위로 수행되는 연산들의 집합입니다.트랜잭션 처리 방식은 이 작업 단위가 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability) 즉, ACID 특성을 보장하도록 관리하는 방식을 말합니다.대표적으로 직접 DB 트랜잭션 제어 (예: JDBC 트랜잭션) 방식이 있습니다.🔸 사용일반적으로 DB 커넥션 단위에서 트랜잭션 시작(begin), 커밋(commit), 롤백(rollback)을 직접 제어합니다.JDBC, JPA, MyBatis 등에서 트랜잭션 경계를 수동 또는 자동으로 관리함.🔸 주의할 점트랜잭션 범위 최소화: 너무 넓은 범위를 트랜잭션으로 처리하면 DB 락 경합.. 2025. 6. 27.
CI/CD, DevOps ✅ CI/CD 🔸 개념CI(Continuous Integration, 지속적 통합)개발자가 여러 명일 때 각자의 코드를 자주(예: 하루에도 여러 번) 메인 브랜치에 병합하여 통합하는 과정입니다.코드 병합 시 자동으로 빌드, 테스트가 진행되어 코드 품질과 충돌 문제를 조기에 발견할 수 있습니다.CD(Continuous Deployment, 지속적 배포)CI 이후에 빌드된 결과물을 실제 서비스 환경(또는 스테이징 환경)에 자동으로 배포하는 과정입니다.Continuous Delivery: 수동 승인 후 배포 (자동화된 배포 준비 상태)Continuous Deployment: 승인 없이 자동으로 바로 배포 🔸 CI/CD 도구 및 사용 방법대표 도구GitLab CI/CD (GitLab 내장)JenkinsGit.. 2025. 6. 27.
WAS 튜닝, 쿼리 성능 튜닝 ✅ WAS 튜닝 🔸 튜닝 목적처리 속도 향상, 동시 사용자 처리, 장애 방지🔸 튜닝 종류JVM 튜닝- Heap Size 설정- GC 방식 선택 (G1, ZGC)- 메모리 Leak 방지Thread Pool- 최대/최소 Thread 설정- 동시 요청 처리 최적화Connection Pool (DB)- 최소/최대 커넥션 수 설정- Idle 커넥션 관리Timeout 설정- 세션 타임아웃- DB 커넥션 타임아웃- Socket Timeout 설정GC 튜닝- Full GC 발생 최소화- Old/Young 영역 비율 조정로깅 최적화- 필요 없는 Debug 로그 OFF- 로그 레벨 최적화WAS 자체 설정- Tomcat: maxThreads, acceptCount- WebLogic, JBoss 유사 🔸 주요 툴What.. 2025. 6. 27.
트러블슈팅, 장애 대응 ✅ 트러블 슈팅 🔸 단계문제 인지: 장애 발생, 로그 에러, 성능 저하 탐지원인 분석: 로그, 모니터링 툴, 코드 분석해결 시도: 코드 수정, 설정 변경, 서버 튜닝 등재발 방지: 문서화, 자동화, 테스트 강화 🔸 장애 대응 프로세스1. 장애 감지- APM 알람 (Whatap, Pinpoint)- 모니터링 대시보드 CPU, Memory, Response Time 이상치 감지- 사용자의 장애 신고 (예: 화면 멈춤, 거래 오류)2. 즉시 조치- 서비스 재기동 (임시 복구)- 임시 서비스 우회 (장애 회피)- 배치 중지, 트래픽 차단 등3. 로그 및 상태 확인- WAS 로그- Thread Dump- GC 로그- API 요청/응답 로그- DB Slow Query 로그4. 원인 분석- DB 병목인지, AP.. 2025. 6. 27.
Spring 🎯 Spring Framework vs. Spring Boot 차이개념자바 기반의 엔터프라이즈 애플리케이션 프레임워크Spring 기반 애플리케이션을 쉽게 만들 수 있게 도와주는 도구 (Spring의 확장판)설정 방식XML 또는 Java Config로 수동 설정자동 설정(Auto Configuration) 제공구동 방식외부 WAS 필요 (예: Tomcat, WAS에 배포)내장 Tomcat 포함, JAR 파일로 바로 실행 가능 (java -jar)설정 복잡도설정 파일 매우 복잡, 초기 설정 어려움최소 설정만으로 구동 가능 (application.yml, application.properties)의존성 관리의존성 직접 관리 (버전 충돌 주의)Spring Boot Starter로 관련 라이브러리 일괄 관리목적.. 2025. 6. 27.
REST API ✅ REST API 설계 방법 🔸 개념REST (Representational State Transfer) 는 웹의 자원을 URI로 표현하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 이용해 자원에 대한 CRUD(생성, 조회, 수정, 삭제) 작업을 수행하는 아키텍처 스타일입니다.REST API는 클라이언트와 서버 간의 통신을 표준화하고, 간결하고 확장성 있는 인터페이스를 제공합니다. 🔸 설계 방법리소스 중심 설계URL은 명사 형태로 자원을 표현 (/accounts, /transactions)행위는 HTTP 메서드로 표현 (GET=조회, POST=생성, PUT=전체수정, PATCH=부분수정, DELETE=삭제)표준 HTTP 상태 코드 사용200 OK, 201 Created, 2.. 2025. 6. 27.
MSA ✅ MSA (Microservice Architecture)🔹 MSA 개념하나의 거대한 시스템을 → 작은 단위의 서비스들로 쪼개서 운영하는 아키텍처각 서비스는 독립적으로 배포, 운영, 확장 가능서비스 간은 API (주로 REST, gRPC, 메시지큐)로 통신즉, '작게 나눠서 빠르게, 독립적으로 움직이는 시스템 구조'🔹 Monolithic, 모놀리식🔸 Monolithic 구조모든 기능이 하나의 덩어리(어플리케이션)로 통합한 번에 배포, 한 번에 실행🔸 단점확장성 부족→ 결제만 트래픽이 많아도 전체 서버를 늘려야 함배포 리스크 큼→ 작은 수정도 전체 서비스 재배포 (중단 가능성)개발 속도 저하→ 팀 간 충돌 많음 (같은 코드베이스)장애 전파→ 하나가 죽으면 전체 영향🔹 MSA 장점서비스별 독립 배.. 2025. 6. 27.
데이터 ETL 📂 ETL 개념 📌 ETL이란?기업이 다양한 소스의 구조화된 데이터 + 구조화 되지 않은 데이터를 실질적으로 유용한 상태로 변환하는 과정데이터 분석을 위한 데이터 처리 접근 방식📌 추출 (Extract) - 변환 (Transform) - 적재 (Load)다양한 소스에서 데이터를 가져옴 (추출)데이터를 사용할 수 있는 형식으로 바꿈 (변환)데이터 베이스 또는 데이터 웨이하우스에 저장 (적재)📌 ETL vs ELTETL비즈니스 규칙을 사용하여 여러 소스의 데이터를 처리한 후 중앙 집중식 통합 진행데이터 유형, 구조 및 관계를 정의하려는 분석을 요구하므로 초반에 더 많은 정의와 프로세스 필요함ELT데이터를 먼저 그대로 적재하고 사용 사례 및 분석 요구 사항에 따라 전환모든 데이터를 저장하고 관리하는 .. 2025. 4. 18.
728x90
반응형