클론코더

용어 사전

노드Node

한 가지 일을 맡은 작업 단위. 코드에서는 모듈(Module), 컴포넌트(Component)라고도 부른다

프로그램이 하는 일을 작게 나눴을 때, 그 한 칸을 노드라고 부릅니다. 노드는 언제나 세 가지로 설명할 수 있습니다. 무엇을 받는지(입력), 무슨 일을 하는지, 무엇을 넘기는지(출력)입니다.

블로그 요약 자동화를 네 노드로 나눈 그림. 블로그 주소가 새 글 확인 노드로 들어가 글 주소가 나오고, 글 주소가 본문 가져오기 노드로 들어가 본문 글자가 나온다. 본문 글자는 요약 요청 노드에서 요약 3줄이 되고, 슬랙 전송 노드가 슬랙 메시지로 내보낸다.
블로그 요약 자동화의 네 노드와, 노드 사이를 오가는 데이터

그림에서 본문 가져오기 노드는 글 주소를 받아 본문 글자를 넘깁니다. 이 노드는 요약이 어떻게 쓰이는지, 슬랙에 어떻게 올라가는지 몰라도 됩니다. 받기로 한 것을 받아 넘기기로 한 것을 넘기면 제 할 일을 다 한 것입니다. 노드로 나눈다는 건 이렇게 맡은 일의 경계를 긋는 일입니다.

노드의 크기는 정해져 있지 않습니다

코드에서는 함수 하나가 노드일 수도 있고, 파일 하나나 서버 하나가 노드일 수도 있습니다. 크기보다 중요한 기준은 한 가지 일만 맡았는가입니다. 본문을 가져와서 요약까지 하는 노드는 두 가지 일을 하고 있으니, 둘로 나누는 편이 다루기 쉽습니다.

노드로 나눠 보면 원인을 찾기 쉽습니다

슬랙에 올라온 요약이 이상하다고 해서 원인이 요약 요청에 있다는 보장은 없습니다. 본문 가져오기가 본문 대신 광고 문구를 넘겼을 수도 있습니다. 노드마다 입력과 출력을 확인해 보면, 값이 처음 틀어진 노드가 원인이 있는 곳입니다. 문제가 보이는 노드와 원인이 있는 노드는 다를 때가 많습니다.

아래에서 값 하나를 네 노드에 차례로 통과시켜 보세요. 위에서 '본문 가져오기 고장'을 고르면, 어느 노드에서 값이 처음 틀어지는지 표로 볼 수 있습니다.

직접 해 보기값이 노드를 지나며 바뀌는 모습
노드넘긴 값
새 글 확인…
본문 가져오기…
요약 요청…
슬랙 전송…
블로그 주소(blog.example.com)가 첫 노드로 들어갑니다. 다음을 눌러 값이 노드를 하나씩 지나가게 해 보세요.
0 / 4

AI에게 맡길 때

노드 단위로 말하면 AI가 고칠 범위가 좁아집니다.

"요약이 이상해. 본문 가져오기 노드만 확인해 줘. 입력은 글 주소, 출력은 본문 글자야. 다른 노드는 건드리지 마."

"요약이 이상해, 고쳐 줘"라고만 하면 AI는 문제가 보이는 요약 요청부터 고치기 쉽습니다. 원인이 다른 노드에 있다면 그 수정은 증상만 가립니다.

이 용어가 나오는 Lesson

함께 보면 좋은 용어