MyBatis vs JPA: 세상에 나쁜 기술은 없다.
‘MyBatis vs JPA’의 갈등을 겪으며 깨달은 실무 경험담. JPA N+1 문제 해결과 두 기술의 장단점을 살린 효율적인 공존(하이브리드) 전략을 제시합니다.
‘MyBatis vs JPA’의 갈등을 겪으며 깨달은 실무 경험담. JPA N+1 문제 해결과 두 기술의 장단점을 살린 효율적인 공존(하이브리드) 전략을 제시합니다.
‘데이터베이스 정규화와 JPA’의 관계를 설명하고, 객체와 테이블의 패러다임 불일치 및 실무에서 발생하는 JPA N+1 문제의 원인과 해결책(Fetch Join)을 다룹니다.
‘웹 아키텍처와 CORS’의 개념을 PHP 시절의 SSR과 현대의 CSR 비교를 통해 설명하고, 프론트/백엔드 분리 시 발생하는 CORS 에러의 원인과 스프링 부트 해결책을 다룹니다.
스프링 부트와 프레임워크의 개념을 쉽게 설명하고, 제어의 역전(IoC)과 의존성 주입(DI)이 필요한 이유를 코드 예제와 함께 다룹니다.
브라우저 렌더링 원리를 건축 현장 비유로 설명하고, DOM/CSSOM 생성부터 Reflow/Repaint의 차이까지 성능 최적화 관점에서 다룹니다.
네트워크와 HTTP의 원리를 패킷과 물류 배송 비유로 설명하고, TCP와 UDP의 차이 및 Python 소켓 코드로 확인하는 HTTP의 실체를 다룹니다.
컨텍스트 스위칭의 개념과 멀티태스킹의 숨겨진 비용(오버헤드)을 스프링 부트 서버 튜닝 사례와 코드로 설명하고, 적정 스레드 개수의 중요성을 분석합니다.
‘프로세스와 스레드’의 차이를 디지털 물류 센터 비유와 자바 코드로 설명하고, 실무에서 발생하는 동시성 문제(Race Condition)와 멀티 프로세스/스레드의 장단점을 분석합니다.
‘스택과 힙’의 차이를 물류 센터 비유와 코드로 설명하고, StackOverflow와 OOM 에러의 원인 및 가비지 컬렉터(GC)의 역할을 다룹니다.
‘프로그래밍 언어와 프레임워크’의 관계를 이해하고, 자바에서 파이썬, HTML에서 안드로이드로 지식을 확장하는 학습 전이(Transfer of Learning) 경험과 학생들을 위한 선택 가이드를 공유합니다.