/
https://42jerrykim.github.io/ _index.md
Flask/Django로 웹 앱과 API를 만드는 핵심 개념을 설명합니다. 라우팅, 요청/응답, 데이터베이스 연동, 인증/보안, 배포 관점까지 연결해 전체 흐름을 잡습니다.
테스트 피라미드와 TDD를 포함해 단위/통합 테스트 전략을 정리합니다. unittest/pytest, mocking, 디버깅(로깅/pdb)까지 실무 품질 확보 방법을 한 챕터로 연결합니다.
패키징과 배포를 도구 나열이 아니라 표준과 선택 기준으로 정리합니다. pyproject.toml, wheel/sdist, 의존성 범위/고정, CI 배포 흐름과 흔한 함정을 함께 다룹니다.
GoF 디자인 패턴을 파이썬 맥락에서 해석하고, 언제 패턴이 유용하고 과한지 판단 기준을 제공합니다. 결합도/확장성/가독성을 균형 있게 다루는 설계 감각을 키웁니다.
시간복잡도 관점에서 고급 자료구조와 알고리즘 설계 방법을 정리합니다. 문제를 모델링하고 최적화하는 사고 과정을 중심으로 실제 구현과 성능 판단 기준을 함께 다룹니다.
대규모 파이썬 프로젝트에서 경계와 의존성 방향을 설계하는 방법을 다룹니다. 레이어드/클린 아키텍처 선택 기준과 폴더 구조, 테스트 용이성 관점의 규칙을 정리합니다.
코드 품질을 변경 비용을 줄이는 시스템으로 정의하고, 포맷/린트/타입/테스트/보안을 역할별로 정리합니다. 자동화와 코드리뷰 체크리스트로 팀 품질을 유지하는 방법을 다룹니다.
파이썬 고급 주제를 학습 로드맵으로 정리합니다. 내부 동작, 타입 시스템, 성능/동시성, C 확장 등에서 무엇을 언제 배우고 적용할지 결정 기준과 위험 포인트를 제공합니다.
펜윅 트리(Fenwick Tree)로 각 임계값(j=0..N-1)에 대해 배열 최댓값을 j로 제한했을 때 역위(inversion) 개수를 효율적으로 계산한다. 값별 역위 기여를 한 번의 순회로 집계한 뒤 누적합으로 전체 답을 얻는 O(N log N) 풀이.
KMP(접두사 함수)로 패턴 W(최대 1만)와 텍스트 T(최대 100만)에서 겹치는 등장 횟수를 O(|W|+|T|)에 센다. 다중 테스트 처리, 실패함수 이동, 오프바이원 실수를 정리한다.