프로세스/리소스/로그/네트워크를 ps/top/journalctl/ss/curl/dig로 확인하며 장애 범위를 좁히는 방법
Linux
CLI
Debugging
SOLID 5가지 원칙(SRP/OCP/LSP/ISP/DIP)을 실전 코드 예제로 이해하고, 좋은 설계와 나쁜 설계를 구분하는 감각 기르기
OOP
SOLID
Design Principles
좋은 커밋 단위, rebase/merge 선택, revert/reset 차이까지: 팀 개발에서 사고를 줄이는 Git 루틴
Git
Commit
Rebase
백엔드 개발에서 가장 많이 쓰이는 3가지 패턴을 실전 예제로 마스터
Design Patterns
Factory
Strategy
RESTful API 설계 원칙과 HTTP 메서드, 상태코드, URL 설계 패턴을 실전 예제로 마스터
REST
API
HTTP
의존성 해석/버전 충돌, 빌드·테스트 파이프라인, 멀티모듈 분리의 기준을 잡는 글
Gradle
Maven
Dependencies
메서드/상태코드/헤더/캐시/HTTPS 기본을 빠르게 복습
HTTP
REST
TLS
TCP 3-way, 흐름/혼잡 제어, HTTP/2 멀티플렉싱·HPACK·헤더 압축 핵심
TCP
HTTP2
Handshake
메서드/상태코드 복습 후 캐시 제어, ETag 조건부 요청, TLS 핸드셰이크를 실무 관점에서 정리
HTTP
Caching
TLS
동기/비동기 vs 블로킹/논블로킹을 명확히 구분하고, 스레드풀·이벤트 루프·MVC/WebFlux 선택 기준까지 연결
IO
Blocking
NonBlocking
주요 자료구조의 삽입/삭제/탐색 시간복잡도와 사용 시 주의점 정리
자료구조
시간복잡도
공간복잡도
레드-그린-리팩터 사이클, 단위/슬라이스 테스트 작성과 Mock 활용 패턴
TDD
JUnit 5
Mockito
체크예외 vs 런타임예외, Optional/Stream에서 흔한 함정과 안전한 사용 패턴 정리
Java
Exception
Optional
ArrayList/LinkedList/HashMap/ConcurrentHashMap 등 주요 컬렉션의 성능 특성과 튜닝 포인트
Java
Collections
Performance
프로세스/스레드 차이, 컨텍스트 스위칭, 스케줄링 알고리즘, 동기화 기본
OS
Process
Thread
JVM 메모리 영역과 GC Root, OOM/Metaspace/StackOverflow 같은 장애를 빠르게 진단하는 기본기
Java
JVM
Memory
메모리 누수를 진단하고 힙 덤프를 분석하여 원인을 찾는 실전 가이드
JVM
Memory Leak
Heap Dump
Race condition부터 JMM, 스레드풀/락 선택, 디버깅까지: 백엔드에서 필요한 자바 동시성 기본기
Java
Concurrency
Executor
Stream API로 컬렉션 처리를 선언적으로 작성하고, Optional로 null 안전성을 확보하는 실전 기법
Java
Stream
Optional
할당/생존/승격 관점으로 GC를 이해하고, STW/메모리 문제를 로그로 진단하는 기본기
Java
GC
JVM
ArrayList vs LinkedList, HashMap vs TreeMap, 언제 어떤 컬렉션을 선택할지 성능과 특성 기준으로 정리
Java
Collection
ArrayList
이 글에서 얻는 것 동기화 컬렉션 vs 동시성 컬렉션의 차이를 이해합니다 ConcurrentHashMap의 내부 동작과 성능 특성을 알아봅니다 BlockingQueue로 생산자-소비자 패턴을 구현합니다 왜 동시성 컬 …
Java
Concurrency
Collections
이 글에서 얻는 것 좋은 네이밍으로 코드의 의도를 명확히 전달합니다 함수 설계 원칙으로 단일 책임을 지키는 함수를 작성합니다 코드 스멜을 인식하고 리팩토링합니다 네이밍 의도를 드러내는 이름 // ❌ …
Clean Code
Refactoring
Best Practices
이 글에서 얻는 것 ThreadPoolExecutor의 핵심 파라미터를 이해합니다 적정 스레드 수를 계산하는 방법을 알아봅니다 거부 정책과 큐 전략을 선택합니다 ThreadPoolExecutor …
Java
Thread Pool
Concurrency