어느덧 시간이 지나고 나의 학습 전략이 어느정도 안정화되었다.
개별적으로 진행하는 추가적인 학습이 팀프로젝트만큼 몰입도가 높아졌으면 좋겠다.
여러가지 기술을 접하는 것보다 하나의 기술에 대한 깊은 탐구를 가지고, 사용 이유와 목적성에 대해 고찰해보는 시간을 가져서 뿌듯한 한 주였다.
앞으로도 꾸준히 학습하여 여러 성과를 얻고자 한다.
성과와 성취
🎯 완료한 작업
-
단어 추천 서비스 기획
- 설명: keyword 추천과 idiom 추천 두 개의 검색 가능
-
node.js
-
개발환경 구축 완료
🌱 개인적인 발전
-
동기/비동기 학습 완료
- node.js에서 관리되는 이벤트 루프에 대한 이해
- 멀티스레드와 같이 동작하는 싱글스레드 작업에 대한 이해
-
디자인
- 초기 디자인이기에, MUI와 styled-component를 활용한 React 사용
🔥 TILs
어려웠던 점
💻 기술적 난관
- View: 2-Tier Architecture
- 원인:
- 기본적인 웹뷰만으로는 사용자 니즈를 충족시키기 어려움
- 글 창작자를 대상으로 하기에, 웹뷰와 앱뷰가 모두 필요
- 시도:
- 우선 react를 통해 webapp을 구성하고, 이후, native app이 필요시 도입 예정
📖 개념
- ORM: object relational mapping 도입
- 주제:
- schema를 생생해주는 orm의 패러다임과 db를 먼저 구성하고 native query를 작성하는 패러다임에 대한 충돌
- 결과:
- DDD 설계에 대한 이해 필요
- 기본적으로 native query를 이용한 서버구성 이후 필요시 ORM 도입
- Pool
- 주제: 서버와 DB가 연결된 pool에 대한 이해
- 여러 요청이 동시다발적으로 이뤄졌을 때, 해당 요청들을 비동기적으로 nodejs 내부에서 이벤트 루프를 통해 비동기적으로 처리하여 마치 멀티스레드를 통한 작업이 이뤄지는 것처럼 보이게 처리
- nodejs에서는 기본적으로 쿼드코어(4-cpu)를 활용해 비동기적 작업이 가능하다.
- web server
- 주제: 여러 요청이 동시다발적으로 발생
- 웹서버도 기본적으로 비동기처리가 가능하기에, 이벤트루프상의 이벤트 큐와 콜백 큐를 통해서 싱글스레드로 올라가도 여러 요청을 동시에 처리하는 것처럼 관리할 수 있다.
🤝 팀 협업
- Project Subejct: DDD 기반 설계를 위한 프로젝트 주제 선정
- 이슈 설명:
- 해결 방법:
- 프로젝트 진행 목적과 DDD 설계를 기반으로 한 주제 선정의 목적과 의의 전달
- 기본적으로 프로젝트의 핵심 기능 선정이 필요.
개선의 여지
📓 학습 내용 정리
새로운 목표 설정
🎯 단기 목표(8월 1주차)
- React 학습
GPT prompt를 통한 단어 추천 프로그램
- Service Distribution
GPT prompt를 통한 단어 추천 프로그램
- Network study
- CI workflow 확립: 전략 수립 및 구현 - Private project
🏆 장기 목표
- JavaScript to TypeScript
- 유지보수를 위한 언어 전환 필요(타입안정성 등)
📚 추가 학습 계획
- 1: 코딩테스트 개념 정리
- 2: 코딩테스트 학습 패턴 구축
- 3: 테크 블로그 읽기
피드백