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

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

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

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

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

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

ObjectMapper 개념 및 사용

spring-framework-icon
2026. 01. 31.·Spring Boot

Spring Boot 개발의 필수품, Jackson ObjectMapper의 핵심 기능과 실무 사용법을 총정리했습니다. 직렬화(Serialization)와 역직렬화(Deserialization)의 기본 개념부터 writeValueAsString, readValue, convertValue 등 필수 메서드 5가지의 활용법을 예제 코드로 상세히 설명합니다. 또한, TypeReference를 이용한 리스트 파싱 주의사항과 JavaTimeModule 등 실무 환경에 최적화된 설정 방법까지 함께 다룹니다.

스레드의 생명주기와 제어 (Lifecycle, join, interrupt)

java-icon
2026. 01. 27.·Java

자바 스레드는 New, Runnable, Terminated 외에도 Lock 획득을 대기하는 Blocked, 신호를 기다리는 Waiting 등 다양한 상태를 가집니다. 개발자는 join()으로 작업 순서를 맞추거나, interrupt()로 안전하게 중단 요청을 보낼 수 있습니다. 스레드의 상태 흐름과 제어 기법을 이해하는 것은 동시성 프로그래밍의 기초입니다.

프로세스와 스레드, 자바 메모리 구조

java-icon
2026. 01. 27.·Java

멀티태스킹은 CPU 시간을 쪼개어 동시성을 흉내 내는 기술이며, 실제 병렬 처리는 멀티프로세싱입니다. 프로세스는 독립된 메모리를 갖는 ‘공장’, 스레드는 스택만 독립적으로 갖고 힙을 공유하는 ‘일꾼’입니다. JVM 메모리 중 스레드끼리 공유하는 Heap 영역은 동시성 문제의 원인이 되기도 합니다. 유연한 확장을 위해 스레드 구현 시 Runnable 인터페이스 사용을 권장합니다.