실용주의 프로그래머 Topic 36

Topic 36 칠판

데이비드 토머스, 앤드류 헌트

Alt text

느낌표 ! (인상 깊은 문장 | 문맥)

누군가는 칠판에 수집한 사실을 붙이고, 누군가는 떼어 낸다. 사실을 조합하거나 처리할 수도 있고 더 많은 정보를 덧붙일 수도 있다. 철판은 사람들이 서서히 결혼에 도달하도록 돕는다.

p.268

여러 작업을 요청해야할 때 하나씩 응답을 기다리기보다 끝나는 순서대로 하나씩 하나씩 정보들을 완성해 나가는 것이 칠판이다.

컴퓨터 기반의 칠판 시스템은 원래 음성 인식, 지식 기반 추론 시스템 등 해결해야 할 문제의 규모가 크고 복잡한 인공 지능 애플리케이션에서 사용되었다.

p.268

현재 음성 인식 서비스도 보면 Voice To Text 할 때 단어들이 막 적히다가 문장에 맞추어 더 적절한 단어로 변경되는 것을 볼 수 있다. 이는 인공지능 모델이 하나가 아니라 여러개로 볼 수 있다.

아키텍처에서 액터와 칠판, 마이크로서비스를 활용하면 애플리케이션에서 생길 수 있는 모든 종류의 동시성 문제를 예방할 수 있을 것이다. 하지만 거기에는 비용이 따른다. 이런 접근 방식을 사용하면 많은 동작이 간접적으로 일어나므로 분석이 더 힘들다.

p.270

모든 것이 트레이드 오프가 있듯 칠판도 만능은 아니라고 설명한다. 분산할 경우 관리와 추적에 어려움이 있다. 생각만해도 아찔하다. 특정 버그가 발생헀을 때 어디서 무엇을 찾아야할지.. 베이스가 잘 만들어져있어야 안정적인 시스템이 될 것이다.

시스템에서 처리하는 메시지나 정보를 추적할 수 있는 좋은 도구도 필요할 것이다. 유용한 기법을 하나 소개하겠다. 특정한 비즈니스 작업 처리를 할 때 고유한 ‘추적 아이디’를 만들어서 붙이는 것이다. 그리고 해당 작업에 관여하는 모든 액터로 아이디를 전파하면, 나중에 로그 파일을 뒤져서 어떤 일이 일어났는지 재구성해 볼 수 있을 것이다.

p.271

분산 시스템에서 관리 및 추적에 너무 좋은 방법인 것 같다. 추적 아이디를 부여하고 추적 아이디로 작업을 기록해두면 필요시 손쉽게 작업을 분석할 수 있을 것이다.

Topic 36 느낌

Topic 36 에서는 작업을 쪼개고 각 작업들이 칠판에 하나씩 완성시켜가는 시스템을 소개하고 있다.


실용주의 프로그래머 Topic 35

Topic 35 액터와 프로세스

실용주의 프로그래머 7장 코딩하는 동안 서론

7장 코딩하는 동안 서론

NCloud LB & SourcePipeline 구축하기
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지