| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- 라이브커머스
- n과m
- c언어
- SQLCA
- 이진트리
- 이커머스
- 금융개발
- JVM
- jwt
- 재귀
- Git
- 힙
- Java
- 커머스기사
- 개발일지
- proc
- 인사관리사이트
- Pro*C
- 백트래킹
- 프로그래머스
- 병합정렬
- 유니온 파인드
- 알고리즘
- 이진탐색트리
- 데드락
- Union Find
- 기술면접
- 메모리구조
- 시간복잡도
- 코딩테스트
- Today
- Total
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- 라이브커머스
- n과m
- c언어
- SQLCA
- 이진트리
- 이커머스
- 금융개발
- JVM
- jwt
- 재귀
- Git
- 힙
- Java
- 커머스기사
- 개발일지
- proc
- 인사관리사이트
- Pro*C
- 백트래킹
- 프로그래머스
- 병합정렬
- 유니온 파인드
- 알고리즘
- 이진탐색트리
- 데드락
- Union Find
- 기술면접
- 메모리구조
- 시간복잡도
- 코딩테스트
- Today
- Total
목록전체 글 (83)
JumpUp
최단 경로 문제는 "간선에 음수가 있는가", "출발점이 하나인가 모든 쌍인가"에 따라 쓰는 알고리즘이 달라진다. 세 가지 대표 알고리즘을 비교해서 정리했다.1. 어떤 알고리즘을 고를까가중치가 없거나 모두 같다: BFS출발점 하나, 음수 간선 없음: 다익스트라출발점 하나, 음수 간선 있음(음수 사이클 감지 필요): 벨만-포드모든 정점 쌍의 최단 거리: 플로이드-워셜(정점 수가 작을 때)2. 다익스트라(Dijkstra)출발점에서 가장 가까운 정점부터 확정해 나가면서 거리를 갱신하는 그리디 방식의 알고리즘이다. 우선순위 큐를 쓰면 O(E log V)에 동작한다. 음수 간선이 있으면 이미 확정한 거리가 나중에 더 줄어들 수 있어서 쓸 수 없다.import java.util.*;static final int IN..
프로젝트 협업에서 필수인 Git은 명령어 자체보다 "어떤 상황에서 어떤 명령을 쓰는지"를 묻는 면접 질문이 많다. 자주 나오는 개념을 정리했다.1. Git이란?소스 코드의 변경 이력을 관리하는 분산 버전 관리 시스템이다. 각 개발자가 저장소 전체 이력을 로컬에 가지고 있어서 네트워크 없이도 커밋과 브랜치 작업이 가능하고, 원격 저장소(GitHub, GitLab 등)로 변경 사항을 공유한다.2. 작업 영역 세 곳작업 디렉터리(Working Directory): 실제 파일을 수정하는 곳스테이징 영역(Staging Area, Index): 다음 커밋에 포함할 변경 사항을 올려 두는 곳 (git add)로컬 저장소(Repository): 커밋된 이력이 저장되는 곳 (git commit)원격 저장소(Remote)..
금융권 시스템은 여러 개의 시스템이 역할을 나눠 맡는 구조다. 처음 접하면 용어부터 낯설어서, 대표적인 구분을 정리하고 직접 일하면서 느낀 문제점도 함께 적어 본다.1. 금융권 시스템의 큰 구분채널계: 고객과 만나는 창구. 영업점 단말, 인터넷·모바일 뱅킹, HTS/MTS 같은 화면과 입력을 담당한다.계정계: 돈과 계좌를 다루는 핵심 시스템. 계좌, 잔고, 거래 원장을 관리하고 입출금·이체·결제 같은 확정 처리를 한다. 흔히 코어 시스템이라고 부른다.대외계: 금융결제원, 거래소, 타 금융기관 같은 외부 기관과 전문(메시지)을 주고받는 연계 시스템.정보계: 분석과 보고를 위한 시스템. 계정계 데이터를 가져와 통계, 리스크 관리, 리포트에 사용한다.보통 채널계에서 요청이 들어오면 계정계가 처리하고, 필요한 ..
그리디는 구현은 짧은데 "왜 이 기준으로 정렬하면 되지?"를 확신하기 어려운 유형이다. 개념과 적용 조건, 대표 문제를 정리했다.1. 그리디란?각 단계에서 그 순간 가장 좋아 보이는 선택을 하면서 답을 만들어 가는 방법이다. 한 번 한 선택은 되돌리지 않는다. 빠르고 단순하지만, 모든 문제에서 최적해를 보장하지는 않는다.2. 그리디가 통하는 조건탐욕 선택 속성: 지금의 최선 선택이 전체 최적해로 이어진다.최적 부분 구조: 선택 이후에 남은 문제도 같은 형태의 작은 문제가 된다.실전에서는 "정렬 기준을 정하고, 그 기준이 틀리는 반례가 있는지" 확인하는 방식으로 접근한다.3. 그리디가 안 통하는 예: 거스름돈동전 단위가 500, 100, 50, 10처럼 큰 단위가 작은 단위의 배수라면 큰 동전부터 쓰는 그..
백엔드 면접에서 로그인 방식을 물을 때 세션과 JWT의 차이, 그리고 웹 보안 용어(XSS, CSRF, CORS)가 단골로 나온다. 헷갈리기 쉬운 개념을 한 번에 정리했다.1. 인증(Authentication)과 인가(Authorization)인증: 사용자가 누구인지 확인하는 과정 (로그인)인가: 인증된 사용자가 해당 자원에 접근할 권한이 있는지 확인하는 과정 (관리자만 접근 가능한 페이지 등)순서는 항상 인증이 먼저, 그다음이 인가다.2. 쿠키와 세션쿠키: 서버가 브라우저에 저장하게 하는 작은 데이터. 이후 요청마다 브라우저가 자동으로 함께 보낸다.세션: 사용자 상태를 서버에 저장하고, 브라우저에는 세션 ID만 쿠키로 주는 방식이다.세션 방식의 흐름: 로그인 성공 → 서버가 세션 생성 후 세션 ID 발..
금융 시스템에서 가장 중요한 것은 빠르기보다 '틀리지 않는 것'이다. 계좌이체 하나를 예로 들어, 트랜잭션과 정합성, 중복 처리를 막는 멱등성 개념을 정리했다.1. 이체 한 건에 어떤 일이 일어날까A 계좌에서 B 계좌로 10,000원을 보내려면 최소한 아래 작업이 모두 성공해야 한다.A 계좌 잔액 확인 및 출금B 계좌 입금거래 내역 기록출금만 되고 입금이 안 되면 돈이 사라진다. 입금만 되고 출금이 안 되면 돈이 생긴다. 그래서 이 작업들은 전부 성공하거나 전부 취소되어야 하고, 이것을 보장하는 단위가 트랜잭션이다.2. 트랜잭션과 ACID원자성(Atomicity): 전부 반영되거나 전부 취소된다.일관성(Consistency): 트랜잭션 전후로 데이터가 규칙(잔액 합계, 제약조건 등)을 지킨다.격리성(Is..
