[D+7] 오늘의 발자국

1. 오늘의 몰입

주요 목표

  • 기술 면접: 대규모 트래픽 환경에서의 동시성 제어와 I/O 처리 전략
    • 동시성(Concurrency): Lock, AtomicType, Concurrent Collections (기존 티스토리 정리본 복습 및 이전 계획 수립)
    • I/O 병목 해결: Blocking vs Non-Blocking, 그리고 자바 가상 스레드(Virtual Threads) 도입의 필요성
  • 코딩 테스트: 백준 골드 티어 DP 문제 풀이
    • 동전 바꿔주기 (2624)

달성률: 80% (이론 학습의 깊이는 만족스러우나, 문제 풀이 절대량 부족)

2. 오늘의 난관 (반성)

  • 절대량의 부족: I/O 병목 처리 전략을 깊게 파고드느라 알고리즘 문제 풀이 시간을 충분히 확보하지 못했다. 딱 한 문제(2624번)만 풀고 하루를 마감하는 것이 아쉽다. 이론 무장도 중요하지만, 손이 기억하는 감각이 무뎌지지 않도록 경계해야 한다.
  • 백준 2624번 ‘동전 바꿔주기’: 전형적인 배낭 문제(Knapsack) 변형이었지만, 2차원 배열을 1차원으로 최적화하는 과정에서 인덱스 순서(뒤에서부터 탐색)를 헷갈려 잠시 헤맸다. 기본기의 중요성을 다시 느꼈다.

3. 배움과 기록

  • I/O 병목과 가상 스레드: 전통적인 ‘Thread per Request’ 모델의 한계를 이해하고, I/O 작업이 많은 환경에서 처리량을 획기적으로 늘릴 수 있는 가상 스레드(Virtual Threads)의 개념을 정리했다.
    👉 I/O 병목 해결 전략과 가상 스레드(Virtual Threads) 완벽 이해
  • 지식의 이관: 과거 티스토리에 정리해두었던 동시성 제어(Lock, Synchronized) 관련 글들을 다시 읽어보며 부족한 점을 점검했다. 조만간 ilways.com 톤에 맞춰 다듬고 이관할 계획이다.

4. 내일의 다짐

  • 실전 모드 돌입: 내일부터는 유형별 학습을 넘어, ‘기업 기출 문제’ 풀이를 시작한다. 실제 코딩 테스트 환경과 유사한 호흡으로 문제를 대하는 훈련을 시작하겠다.
  • 밸런스 찾기: 오전에는 기출 문제 풀이로 머리를 깨우고, 오후에는 CS 지식 정리를 진행하여 입력과 출력의 밸런스를 맞춘다.

댓글 남기기