5월 1일부터 8월 28일까지 타입스크립트 스터디를 진행했었습니다. 그에 따라 이 스터디를 돌아볼 필요가 있을 것으로 보여 회고를 진행하게 되었습니다. 다사다난하기도 했지만 많이 성장할 수 있는 계기가 되어서 좋았습니다.
왜 스터디를 하게 되었는가?
일단 저는 node.js 기반 백엔드 개발자입니다. 아무래도 다른 백엔드 개발자들과 다르게 node.js로 개발을 진행하다보니 자연스럽게 TypeScript를 접하게 되었습니다. 물론 이 기술을 실무에서 사용하지만 저는 그냥 감으로 넘기다보니 TypeScript에 대한 이해도가 부족한 채 개발을 했었습니다. 그 부분에 있어서 좀 더 학습을 해서 TypeScript를 잘 알아야 하는 저의 니즈가 있었습니다.
또한 저는 개발 이야기를 같이 나누면서 이야기할 때 에너지를 얻는 스타일입니다. 물론 혹자는 스스로 공부하는게 더 좋지 않겠냐. 라고 말하기도 합니다. 하지만 커뮤니티에서 함께 공부를 하면서 성장한다면 개인의 힘으로는 극복할 수 없는 한계를 깰 수 있다고 생각하기도 하고 내가 개발자로서의 목표를 이루기 위해 좀 더 도움이 될 것으로 생각합니다. 그래서 스터디를 직접 열게 되었고 다행히 저와 비슷한 생각을 하게 된 8명이라는 인원이 모이게 되었습니다.
스터디는 어떤 방식으로 진행했는가?
우선 대상은 TypeScript를 스터디할 필요성을 느끼는 모두로 잡았습니다. 누구든 학습할 열정이 있다면 함께 할 수 있을 것이라고 생각했습니다. 평일 중 하루를 잡아서 저녁 시간에 다같이 모이는 방식을 생각했고 온라인으로 진행하되, 가끔은 오프라인으로 만나는 방식으로 진행했습니다. 가끔 오프라인으로 만나야 스터디장으로서 각자 어느정도 상태를 확인할 수 있고 그 안에서 편한 분위기가 형성되어 스터디 분위기가 더 좋아진다고 판단했기 때문입니다.
그리고 다같이 학습을 할 교보재가 어느정도 필요하다고 생각했습니다. 그 부분에 있어서는 이펙티브 타입스크립트를 보면서 학습을 해야한다고 생각했습니다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=273193135
이펙티브 타입스크립트 | 댄 밴더캄
타입스크립트는 타입 정보를 지닌 자바스크립트의 상위 집합으로, 자바스크립트의 골치 아픈 문제점들을 해결해 준다. 이 책은 《이펙티브 C++》와 《이펙티브 자바》의 형식을 차용해 타입스
www.aladin.co.kr
다른 좋은 책들도 많지만 이 책을 선정한 이유는 이 책에서 이야기하는 부분이 정말 TypeScript를 학습하면서 필요한 것들이 이 책에 녹아들었다고 생각합니다. 그리고 이 부분에 대한 해석을 도와주는 강의도 있었기 때문에 선택하게 되었습니다. 아래 링크는 정재남님께서 이 책을 읽고 해석해주신 무료 강의입니다.
[지금 무료]이펙티브 타입스크립트 스터디| 정재남 - 인프런 강의
현재 평점 4.7점 수강생 3,756명인 강의를 만나보세요. 《이펙티브 타입스크립트》 책 내용을 그대로 따라가는 스터디 영상입니다. 함께 공부하면 훨씬 쉬워질 거에요! 타입스크립트 기초 이론,
www.inflearn.com
각자 일주일동안 책을 읽어오고나서 학습하면서 배운 내용과 자기가 학습하기에 어려운 분, 다른 사람들에게 알려줄 인사이트를 공유 잘 공유할 수 있도록 노션에 해당 내용을 문서화 하였습니다.


노션에 문서화된 내용을 같이 보면서 학습을 할 수 있어서 다들 좀 더 서로 알아온 것을 이해할 수 있었고 이 안에서도 질문을 주고받으며 함께 성장할 수 있었습니다.
나는 이 안에서 무엇을 배웠는가?
1. 구조적 타이핑과 명목적 타이핑의 차이점
2. 값 공간과 타입 공간의 차이점
3. 잉여 속성 체크
4. 인터페이스와 타입의 차이점
5. 트랜스파일링시 타입 정보가 사라진다는 것
6. as와 satisfies의 차이점
7. JS/TS에서 가지는 언어 자체의 특징으로 인한 다른 언어와의 객체지향 패턴 구현의 차이점
8. JS/TS에서 가져가야하는 멀티프로그래밍 패러다임
9. Mapped Types && Conditional Types && Index Signature
10. JS의 설계 오류를 TS에서 어떻게 보완을 하고 있는가
11. const VS as const VS readonly
12. 타입 추론과 타입 가드
13. 타입 관점에서의 깊은 복사가 가능할까?
14. 타입 정제
15. 왜 콜백이 나올 수 밖에 없었나?
16. es-toolkit을 활용하여 함수형 기법과 타입 흐름 유지하기
17. enum은 과연 독일까?
18. 매개변수속성과 정보를 감추는 목적의 private
19. #의 내부 구현
20. NestJS에서 데코레이터는 어떻게 동작하고 있을까?
21. 일반적인 클래스와 js에서의 클래스의 차이점
22. node.js의 아키텍처
이번 스터디를 통해서 배우게 된 내용입니다. (와... 많이 배우긴 했다... 블로그에 글 작성 언제 다 하지... ㅎㅎㅎㅎㅎㅎㅎ)
앞으로는 무엇을 할 것인가?
1. 지금까지 배운 내용 정리해서 블로그에 업로드
2. node.js core에 대해서 학습
3. 디자인패턴에 대해서 학습
마치며
스터디를 하면서 지식적인 부분뿐만 아니라 좀 더 사람들과 잘 조화를 이루어 함께 성장하는 방법을 알아낸거 같아서 뿌듯합니다. 아까 시작했던 8명중 7명이 무사히 완주를 해서 스터디의 완주율은 87.5%입니다! 한 분은 JS/TS를 더 깊이 공부해서 이직에 성공하셨고 (물론 개인적인 노력도 엄청났죠!), 다른 두 분은 핀테크를 주력으로 하는 빅테크 기업에서 커피챗까지 하고 현재 채용 절차를 밟고 있어요!
다시 한번 저와 스터디를 함께 한 여러분들 진심으로 감사드리고 감사드립니다. 덕분에 많이 성장했습니다!
'나의 일상 > 생각정리' 카테고리의 다른 글
| [생각정리] 판교 퇴근길 밋업 with 인프런 #08 HTTP (3) | 2024.10.24 |
|---|---|
| [생각정리] 어떤 리더가 되어야 하는가? (프로젝트 회고록) (2) | 2024.04.02 |
| [생각정리] 생각보다 쉬웠던 오픈소스 기여하기 (0) | 2022.09.03 |
| [생각정리] 회사에서 절대 맡으면 안되는 업무 (0) | 2022.07.05 |
| [생각정리] 포트폴리오 특강 by. 김루비 멘토 (0) | 2022.05.19 |