June 01, 2019
Node.js를 이용하는 회사들이나 서비스가 엄청 많아지고 있다. 그래서 이를 잘 운영하는 것도 굉장히 중요한데, Process Management를 할 수 있도록 지원해주는 Tool들이 많이 있다. 그 중에서도 PM2가 최근에는 가장 핫하다고 볼 수 있는데, 이를 이용해 운영 하면서 무중단 서비스를 위해 알아야 할 점을 소개하고 있다. 특히, pm2 reload app을 통해 어플리케이션을 새로 동작 하는 방식은 처음 봐서 그런지 신기했다.lint-staged라는 툴을 쓰고 있는데, 쓰고 있지 않다면, 한 번 적용 해봐도 좋을 것 같다는 생각이 들었다. 특히, 코드의 수정 사항에 대해서만 검사를 하기 때문에 훨씬 안전한 방지책이라고 생각이 들었다.[PinPoint](https://github.com/naver/pinpoint)을 통해 분석하고, 왜 발생했는지 찾고, 먼저 GC의 정책을 바꿔서 해결 해보려고 하셨다. 그럼에도 불구하고, 동일한 문제가 발생하자 Heap Memory Dump 파일을 분석해 원인을 찾는 모습을 진솔하게 써 주셨다. 어떤 문제가 생겼을 때, 어떻게 진단하고 어떻게 접근 해야 하는지 상세하게 흐름을 기술 해주셨다. 이런 일련의 흐름을 기술 해주는 것은 상당히 소중하다고 생각하는 편이다. 주니어 개발자들이 원인을 어떻게 찾아야 하는가? 에 대한 길잡이를 해줄 수 있으니 말이다.Http client binder라고 하는 feign을 적용한 후기를 남겨주었는데, 사실 처음 보았다. Spring Cloud에서 Netflix가 개발했던, zuul, ribbon, eureka 등은 많이 들어보고 어떻게 사용을 다들 하는지는 봤는데, feign을 처음 봤는데, 진짜 신기할정도로 간소화 되어 쉽게 Rest API를 사용할 수 있도록 해준다. 고로, 설정의 간소화가 있다면 비즈니스 로직에 정말 집중 할 수 있겠구나 생각이 들었다."과연 나는 내가 모르는 분야에서도 논문과 지식을 잘 쌓아서 바로 바로 구현을 할 수 있을까?" 그럴려면, 아무래도 미리미리 기초를 잘 공부 해 둬야 할 것 같다.Slack Bot을 정말 잘 활용한 부분은 근무 봇들이 아침마다 공지로 누가 리모트 근무를 하는지 알려준다는 점이다. 그리고 Zapier를 잘 쓰고 있는 것 같다. 나는 IFTTT를 쓰고 있었는데, 훨씬 더 좋은지 경험을 하기 위해 한 번 써보고 싶다는 생각을 했다.useState를 어떻게 사용하는지 설명하고 있습니다. 그런데, 사실 저도 어떻게 Hooks를 가능케 했는지 원리에 대해서는 궁금해하지 않았습니다. 생각해보니 16.x 에서 React는 정말 많은 발전을 했다고 생각이 듭니다. React에서 Hook을 어떻게 처리 하는지 한 번 찾아 봐야겠습니다.preventDefault()가 무엇인지?에 대해서 설명하며, Form Element에서의 예시를 통해 preventDefault 가 어떤 동작을 의미 하고, 과거에는 왜 그렇게 사용 했는지? 현재는 어떻게 사용 하는지? 에 대해서 설명을 하고 있습니다.