Featured image of post [Clean Code] 15. 경계 — 외부 라이브러리 사용법

[Clean Code] 15. 경계 — 외부 라이브러리 사용법

외부 라이브러리 제공자와 사용자의 상반된 요구가 만드는 긴장을 짚고, 학습 테스트로 경계를 검증하는 방법과 어댑터 패턴으로 서드파티 API를 감싸 변경에 대비하는 전략을 판단 기준과 과잉 설계 비판까지 함께 다룬다.

Featured image of post [Clean Code] 16. TDD 법칙과 F.I.R.S.T 원칙

[Clean Code] 16. TDD 법칙과 F.I.R.S.T 원칙

테스트 코드를 먼저 작성하도록 강제하는 TDD 세 가지 법칙과 Red-Green-Refactor 사이클을 설명하고, 좋은 테스트가 갖춰야 할 F.I.R.S.T 원칙을 예제로 다룬다. 2014년 TDD 논쟁도 함께 짚는다.

Featured image of post [Clean Code] 17. 단위 테스트 리팩토링 실습

[Clean Code] 17. 단위 테스트 리팩토링 실습

간단한 계산기를 Red-Green-Refactor 사이클로 직접 구현하고, 실제 DB에 의존하는 F.I.R.S.T 원칙 위반 테스트 코드를 정리하며 16장에서 배운 테스트 설계 원칙을 실제 코드로 손에 익히는 실습이다.

Featured image of post [Clean Code] 18. 클래스는 작아야 한다

[Clean Code] 18. 클래스는 작아야 한다

클래스 크기를 책임의 개수로 측정하는 이유를 설명하고, 단일 책임 원칙과 응집도를 중심으로 SOLID 5원칙 전체를 개괄한다. God Class를 작은 클래스들로 분해하는 실전 예제와 과잉 설계 판단 기준을 포함한다.

Featured image of post [Clean Code] 19. SOLID 원칙 리팩토링 실습

[Clean Code] 19. SOLID 원칙 리팩토링 실습

DB 연결, 검증, 이메일 발송, 캐시 관리를 모두 떠맡은 God Class UserManager를 SRP와 DIP에 따라 네 개의 협력 클래스로 분해하는 실습을 통해 18장의 SOLID 원칙을 실제 코드와 조립 지점 설계에 적용한다.

Featured image of post [Clean Code] 20. 시스템과 의존성 주입

[Clean Code] 20. 시스템과 의존성 주입

객체를 만드는 과정(제작)과 그 객체를 사용하는 로직(사용)을 분리해야 하는 이유를 설명하고, Composition Root와 의존성 주입 컨테이너를 이용한 시스템 조립 전략을 서비스 로케이터 안티패턴 비판과 함께 다룬다.

Featured image of post [Clean Code] 21. 창발적 설계 네 가지 규칙

[Clean Code] 21. 창발적 설계 네 가지 규칙

켄트 벡이 제시한 단순한 설계 네 규칙(테스트 통과, 중복 제거, 의도 표현, 클래스·메서드 최소화)을 우선순위 순서로 설명하고, 사전 설계(BDUF)와 창발적 설계 사이의 오래된 논쟁을 규칙 충돌 판단 기준과 함께 다룬다.

Featured image of post [Clean Code] 22. 동시성 결함과 방어 원칙

[Clean Code] 22. 동시성 결함과 방어 원칙

동시성이 무엇(what)과 언제(when)를 분리하는 전략임을 설명하고, 자료 범위 제한·자료 사본 사용 같은 동시성 방어 원칙을 경쟁 조건 예제와 jcstress 검증 절차, 암달의 법칙 기반 판단 기준으로 함께 다룬다.

Featured image of post [Clean Code] 23. 리팩토링과 레거시 코드 개선

[Clean Code] 23. 리팩토링과 레거시 코드 개선

테스트 없는 코드를 레거시로 정의하고, 특성화 테스트로 안전망을 세운 뒤 보이스카우트 규칙에 따라 점진적으로 개선하는 전략을 시리즈 전체를 통합하는 관점에서 다룬다. 전면 재작성의 위험과 스트랭글러 무화과 패턴도 함께 살펴본다.

Featured image of post [LLM] 00. Introduction: LLM 밑바닥부터 이해하기

[LLM] 00. Introduction: LLM 밑바닥부터 이해하기

Transformer/GPT 아키텍처를 밑바닥부터 이해하는 시리즈의 도입 챕터입니다. RNN에서 Attention으로 이어지는 언어모델의 진화, 12개 챕터로 구성된 커리큘럼, 학습 목표와 실습 환경 연계 방법을 자세히 정리합니다.