-
1. What
- 알고리즘 basic 및 코어타임 문제 풀이
- DP, 그리디, 트리 문제 풀이와 개념 정리
- 지난 주 프로젝트 중 React, VDOM, Diff 개념 학습
- useState, useEffect, useMemo, Component 구조 정리
- CSAPP 기초 개념 복습
- Obsidian Vault 구조와 학습 기준 정리
2. How
- 코어타임 문제 풀이 전, 비슷한 유형의 문제를 먼저 풀며 문제 감각을 끌어올리려 했다.
- 개인 알고리즘 학습에서는 DP, 그리디, 트리 문제를 중심으로 basic을 다졌다.
- useState의 상태 저장 방식, Hook 호출 순서 제약, JSX가 React.createElement(...)로 바뀌는 흐름을 직접 메모로 정리했다.
- useEffect, useMemo, Batching, Diffing을 각각 분리해 이해하려 했고, 발표 준비용 예제 코드까지 작성했다.
- 학습 내용을 바로 Vault에 기록하면서 개념을 자기 언어로 다시 정리했다.
3. Approach
- 이번 구간의 핵심 방향은 basic 개념을 확실하게 다지는 것이었다.
- 알고리즘은 빠르게 많이 푸는 것보다, DP와 그리디의 구조를 익히는 쪽에 초점을 두었다.
- DOM 업데이트는 단순히 다시 그리는 것이 아니라, 변경을 계산하고 최소화하는 문제라는 점을 이해하는 쪽으로 접근했다.
- 리스트 렌더링과 상태 변화에서 구조적 이해를 우선했고, 발표 준비를 통해 설명 가능한 수준까지 끌어올리려 했다.
4. Learned
- DP는 점화식을 먼저 세우고, 상태가 무엇을 의미하는지부터 정의해야 한다는 점이 더 분명해졌다.
- 그리디는 “지금 최선”을 고르는 문제처럼 보여도, 왜 그 선택이 전체 최적과 연결되는지 설명할 수 있어야 한다는 점을 느꼈다.
- React에서는 Hook이 이름이 아니라 호출 순서로 관리된다는 점이 핵심이라는 것을 배웠다.
- JSX, useState, useEffect, useMemo, Diffing을 개별 개념이 아니라 하나의 렌더링 흐름 안에서 보려는 감각이 생겼다.
5. Keep
- 학습한 개념을 바로 노트로 정리하며 이해를 남기려 한 점
- 알고리즘 풀이와 개념 복습을 같이 가져간 점
- 단순 결과보다 동작 원리를 이해하려고 한 태도
- 회의, 코어타임, 발표 준비 흔적을 문서로 남겨 다음 학습에 이어질 수 있게 한 점
6. Problem
- 기간 후반에는 커밋보다 노트 정리 비중이 높아서 코드 산출물이 상대적으로 적었다.
- 화살표 함수, DRAM/SRAM처럼 끝까지 확실히 마무리되지 않은 개념이 남아 있다.
- React 개념 이해는 진전됐지만, 실제 구현으로 더 많이 연결되지는 못했다.
- 학습 내용을 정리하는 데 시간은 썼지만, 일부는 문제풀이 속도 개선으로 바로 이어지지 못했다.
7. Try
- 알고리즘 basic은 개념 이해 후 바로 제한 시간 풀이로 연결하기
- DP, 그리디, 트리 문제를 풀 때 풀이 이유를 3~5줄로 함께 남기기
- React 개념 정리 후 작은 컴포넌트 예제를 직접 구현해 보기
- useState, useEffect, useMemo, Diffing을 실제 코드 흐름과 연결해서 다시 복습하기
- 남겨 둔 빈 항목은 다음 주 초반에 짧게라도 마무리해서 미루지 않기
8. Make Up For
- 알고리즘 basic에 들어가는 시간을 줄이기 위해 반복 학습 루틴을 더 정리할 필요가 있다.
- 개념 이해도에 투자하는 것은 유지하되, 문제풀이 시간 단축도 같이 가져가야 한다.
- 구현보다 이해를 우선한 흐름은 좋았지만, 이제는 이해한 내용을 코드 산출물로 더 자주 연결해야 한다.
- 노트 정리와 커밋이 따로 놀지 않도록 같은 날 작은 결과물 하나씩 남기는 습관이 필요하다.