[백엔드] 보안 및 암호화 관련 필수 지식

job-interview-logo
2026. 02. 12.·Job Interview

백엔드 개발 취업 준비생을 위해 필수적인 보안 및 암호화 개념을 심도 있게 정리함. 복호화가 불가능한 단방향 암호화(해시, 솔팅, BCrypt)의 원리와 복호화가 가능한 양방향 암호화(대칭키 AES, 비대칭키 RSA)의 차이점을 상세히 비교 분석함. 또한 데이터 무결성을 보장하는 HMAC의 동작 방식과 활용 사례를 다루며, Spring Boot 환경에서 외부 라이브러리 없이 표준 패키지만으로 구현 가능한 고품질의 Java 실전 예제 코드를 수록하여 실무 적용력을 높임.

CQRS 실습 – 주문/결제 도메인 만들기 (4편)

cqrs-icon
2026. 02. 12.·CQRS & Eventing

4편에서는 payment-command가 결제 성공 이벤트(PaymentCapturedEvent)를 Kafka(payment-events)로 발행하고, order-command가 이를 구독해 MySQL 주문 상태를 PAID로 갱신한 뒤 OrderPaidEvent를 order-events로 재발행합니다. order-query는 이벤트 타입을 분기 소비해 Redis Read Model을 PAID로 업데이트하며 “결제→주문반영→조회갱신” 체인을 완성합니다.

CQRS 실습 – 주문/결제 도메인 만들기 (2편)

cqrs-icon
2026. 02. 12.·CQRS & Eventing

CQRS 실습 시리즈 2편에서는 1편에서 만든 멀티모듈/서비스 분리 구조를 로컬에서 실행 가능한 상태로 완성합니다. Docker로 MySQL/Redis를 띄우고, 3개 Spring Boot 앱을 8081/8082/8083 포트로 동시에 실행한 뒤 curl로 스모크 테스트를 수행해 다음 편(이벤트/프로젝션) 준비를 끝냅니다.

CQRS 실습 – 주문/결제 도메인 만들기 (1편)

cqrs-icon
2026. 02. 12.·CQRS & Eventing

CQRS 실습 시리즈 1편에서는 주문/결제/주문내역 도메인을 대규모 트래픽 관점에서 바라보며, 쓰기(Command)와 읽기(Query)를 분리하는 목표와 기본 가정을 정리합니다. 이어서 order-command, payment-command, order-query로 서비스 경계를 확정하고, 멀티모듈로 “한 레포, 여러 Spring Boot 앱” 구조를 설계합니다.

CQRS 패턴 – 읽기/쓰기 분리하기

cqrs-icon
2026. 02. 12.·CQRS & Eventing

CRUD 아키텍처의 성능 한계와 복잡성을 해결하기 위한 CQRS(명령 및 조회 책임 분리) 패턴을 Microsoft Azure 가이드를 기반으로 심층 분석합니다. 비즈니스 로직을 처리하는 ‘명령(Command)’ 모델과 화면 반환에 최적화된 ‘조회(Query)’ 모델을 분리하는 원리부터, 폴리글랏 저장소를 활용한 물리적 분리 전략, 그리고 이벤트 기반의 데이터 동기화와 최종 일관성(Eventual Consistency) 문제까지 실제 Java 코드 예제와 함께 다룹니다.

[백엔드] I/O 병목 처리 관련 필수 지식

job-interview-logo
2026. 02. 10.·Job Interview

서버 성능의 핵심 병목인 네트워크 I/O 문제의 원인과 해결책을 심도 있게 다룸. 기존 ‘요청당 스레드(Thread per Request)’ 모델의 한계와 스레드 자체가 시스템 리소스를 많이 점유하는 이유(고정 스택, TCB)를 분석함. 이를 극복하기 위해 등장한 Java의 ‘가상 스레드(Virtual Thread)’의 작동 원리(Mount/Unmount)와 OS/JVM의 비동기 I/O 이벤트 처리 매커니즘을 상세히 설명함. CPU 집약적 작업과의 차이를 이해하고, 상황에 맞춰 가상 스레드를 도입하는 실무적인 판단 기준을 제시함.

MySQL INSERT의 모든 것

2026. 02. 09.·MySQL

데이터베이스의 가장 기본적인 연산인 데이터 삽입(INSERT)을 MySQL 환경에서 실습 위주로 완벽하게 정리했습니다. 스키마 생성부터 단일 행 삽입, 성능 효율을 극대화하는 다중 행 삽입(Bulk Insert)까지 상세한 코드로 학습합니다. 특히 실무에서 빈번한 중복 데이터 처리를 위한 INSERT IGNORE, ON DUPLICATE KEY UPDATE 전략과 REPLACE INTO의 차이점을 명확히 비교합니다. 또한, INSERT INTO … SELECT 구문을 활용한 테이블 간 고속 데이터 복사 방법까지, MySQL 입문자가 반드시 알아야 할 핵심 내용을 빠짐없이 담았습니다.

[백엔드] 비동기 처리 관련 필수 지식

job-interview-logo
2026. 02. 09.·Job Interview

대규모 트래픽 처리와 시스템 확장성을 위한 핵심 기술인 ‘비동기 시스템’의 설계부터 구현까지 실무 관점에서 완벽하게 정리했습니다. 메시징 시스템(Kafka, RabbitMQ)을 활용한 비동기 아키텍처 설계와 메시지 유실 방지 전략, 그리고 데이터 정합성을 위한 트랜잭션 아웃박스 패턴 및 CDC(Change Data Capture) 기술을 깊이 있게 다룹니다. 더불어 Java 21+ 환경에서의 가상 스레드(Virtual Thread) 활용법과 주의사항까지, 백엔드 면접에서 차별화된 답변을 준비할 수 있는 핵심 지식을 담았습니다.

[백엔드] 외부 서비스 연동 관련 필수 지식

job-interview-logo
2026. 02. 08.·Job Interview

​MSA 등 분산 환경에서 외부 서비스 연동은 필수적이지만, 타임아웃이나 트랜잭션 관리 미숙으로 인해 전체 시스템 장애로 이어지기 쉽습니다. 본 글에서는 외부 연동 시 반드시 고려해야 할 타임아웃(연결/읽기) 설정과 재시도 전략부터, 동시 요청 제한(Bulkhead) 및 서킷 브레이커 패턴의 적용 방법을 다룹니다. 또한, 분산 트랜잭션의 한계를 극복하기 위한 데이터 정합성 보장 프로세스와 커넥션 풀 고갈을 막는 실무적인 아키텍처 설계 팁까지, 백엔드 면접에서 당락을 가르는 핵심 질문들을 완벽하게 대비할 수 있도록 정리했습니다.