THE DEVLOG

scribbly.

CS공부: 디자인 패턴

2023.01.19 23:31:15

"면접을 위한 CS 전공지식 노트"에서 간단하게 디자인 패턴을 공부했고 많은 도움이 되었다.

하지만 실제 코드를 보면서 이해하고, 활용하지는 않았다. 그냥 모듈화된 파일을 이해할 때에, 혹은 네트워크와 운영체제 공부를 할 때에 '옵저버 패턴 비슷한 거구나'하면서 이해도가 높아지는 정도?

해당 책에 나와있는 내용이 간소화되어 있어서였을 것이다.

얼마 전부터 사실 타입스크립트 디자인 패턴 책을 통해서 타입스크립트와 디자인 패턴을 모두 공부하려고 했는데, 오늘보니 '타입스크립트를 매우 잘 알고 있는 사람이 기교로 쓰는' 디자인 패턴에 관한 책들이었다. 타입스크립트를 능숙하게 다루기 위해서는 400페이지 이상의 책을 공부해야 하는 상황이라(그리고 실제로 그렇게까지 타입스크립트로 협업을 할 일이 없는 상황이라) 지나치게 부담스러워 책이라 차마 엄두를 내지 못했다.

그러다 "Node.js 디자인 패턴 바이블"이라는 책을 발견했다. 평가가 좋은 책인 것은 알고 있었으나, Node.js라고 하면 사뭇 백엔드가 떠올라 배제하고 있었는데, 내용을 보니 '코어 자바스크립트'에 대한 내용이었다. 즉 Node.js를 '자바스크립트 런타임 환경'으로서 다루는 책이었다. 여기에 더해 자바스크립트가 작동하는 과정을 브라우저의 작동 원리에 근간을 두어(실제로는 크롬V8의 비동기 처리방식에 근간을 두어) 긴밀하게 설명하고 있어 브라우저의 작동 원리에도 이해를 높여주는 것 같다.

해당 책과 코드를 바탕으로, '브라우저의 동작 원리', 운영체제 수업 내용, 온라인에 있는 디자인 패턴에 대한 내용들을 정리하여 이 시리즈를 이어나가고자 한다.

디자인 패턴에 대한 이해가 높아져서 코드를 보다 잘 이해하고, 풍부하게 아키텍처를 만들 수 있게 되기를 기대한다.