19차시. Node 이해
먼저 큰 그림부터
자동차 정비소를 떠올려 보세요. 엔진, 변속기, 브레이크가 한 덩어리로 붙어 있으면 브레이크 패드 하나를 갈려고 엔진까지 내려야 합니다. 부품이 나뉘어 있으면 브레이크만 열어서 갈면 됩니다. 15차시의 ask() 함수가 바로 한 덩어리 상태입니다. 오늘은 이 함수를 검색, 생성, 안내의 세 부품으로 나눕니다. 노드는 거창한 것이 아니라 State를 받아 바뀐 부분을 돌려주는 평범한 함수입니다.
오늘 챙겨 갈 것은 세 가지입니다. 좋은 노드의 네 가지 조건, 곧 한 가지 일만 하고, State에서만 읽고, 변경분만 돌려주고, 혼자서도 실행된다는 것. ask() 안의 if문은 노드가 아니라 다음 차시의 조건부 Edge가 된다는 것. 노드마다 읽는 키와 쓰는 키를 표로 남겨 두는 습관입니다. 20차시에서는 오늘 만든 노드들 사이에 길을 놓습니다.