WIL 5주차(TIL 35일차) - 주특기 node.js 숙련주차 회고

박찬웅·2023년 3월 12일
0

항해99

목록 보기
40/105

23년 3월 12일

  • 이번 주간 회고록은 숙련 주차 였던 3월 3일부터 3월 9일까지의 내용입니다.

이번 주 키워드

이번주 키워드는 NOSQL과 RDBMS의 차이점이였다.
RDBMS는 관계형 데이터베이스 관리 시스템을 의미하며, 이름과 같이 RDBMS는 RDB를 관리하는 시스템이며 RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스이다

NoSQL이란(Not Only SQL)의 약자로 말 그대도 위에서 설명한 RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하고 있고 RDBMS와는 달리 테이블 간 관계를 정의하지 않으며, 데이터 테이블은 그냥 하나의 테이블이며 테이블 간의 관계를 정의하지 않아 일반적으로 테이블 간 Join도 불가능하다.

배운 것

숙련 주차때에는 본격적으로 회원가입과 로그인 API를 구현하는 것을 배웠으면 그 중에서 JWT와 cookie-parser를 이용해서 쿠키와 토큰을 생성해서 로그인을 할때 해당 토큰이 가진 사람이 게시글이나 댓글을 작성 및 수정, 삭제를 할 수 있게 기능을 배웠다. 그리고 입문주차때와는 다르게 mongoose로 NoSQL로 데이터베이스를 관리를 했다면 이번에는 sequelize와 MySQL을 관계형 데이터배이스를 이용해서 스키마랑 테이블 관계를 배웠었다.

금토에는 이론적인 강의를 들었다면 월요일부터 LV2 과제를 시작하였다. 기존에 mongoose를 이용하는건 여전했지만 LV1과는 다르게 로그인, 회원가입 API를 추가해서 JWT 토큰을 가지고 로그인 된 사람들 한정에서만 게시글과 댓글을 작성, 수정, 삭제를 할 수 있게 구현을 하였다. API 반복 연습을 하다보니까 어느정도 익숙해져서 생각외로 빠르게 화요일에 구현을 마무리 하였다.

수요일과 목요일에는 LV3 과제를 진행하였다. 이번에는 sequelize과 RDBMS인 MySQL로 이용해서 유저와 게시글 관계를 맺고 그런다음에 회원 가입과 로그인, 게시글 관련 API만 구현을 하는 것이였다. mongoose와는 다르게 API도 코드 작성하는 방법이 미묘하게 달라서 상당히 애를 먹었었다. 그래도 목요일까지 구현을 거의다 마무리 하긴 했지만 마지막에 토큰 받은 회원이 다른 사람의 회원 게시글을 수정, 삭제가 가능한 치명적인 오류가 있어서 그 부분만 해결하지 못한 상태로 마무리 하게 되었다.

숙련주차 퀴즈는 상당히 어려웠었다. 이미 완성된 코드에서 오류가 나는것을 바르게 고치는 시험이였다. 5문제에서 3문제만 맞췄는데 남은 2문제도 사실 좀만 잘 찾아봤으면 풀 수 있었던 문제였고, 특히 마지막문제는 2~3주차때 언어학습때 배웠던 호이스팅 개념을 알았다면 풀 수 있던 문제였다.

해결

LV2는 완벽하게 개인과제를 마무리 하였고, LV3도 마지막 그 수정, 삭제 오류만 빼고는 나머지는 모두 구현을 하였다. 완성한 과제는 각각 내 TIL 30일차와 32일차에 가면 있다.
(현재 LV3 개인과제는 바로 어제 34일차였던 토요일에 기술매니저님한테 도움을 받아서 해결되었습니다.)

알게 된 점

입문주차때는 개인과제를 다 못할까 걱정이 많았지만, 숙련주차때는 새로운 개념들이 추가되었지만 개인과제는 계속 RESTful한 API을 반복해서 연습하는 과정이였다고 보면 되었다. 각각 NOSQL과 RDBMS로 한번씩 API를 구현하는 것이기에 반복적인 학습으로 전보다는 코드를 이해하고 구현하는 실력이 조금 더 늘었다고 생각을 하였다. 그래도 여전히 개념적으로 부족한 것들은 있었고, 모르는 것들은 팀원들에게 도움을 요청해서 해결을 하였고, 그래도 모르는 것들은 기술매니저님한테 도움을 받아서 해결을 하였다. 두번째 주차까지 갔는데 아직 여전히 부족한 부분은 있지만 이제 항해의 전반부를 지나 중반부에 오기 시작했고 여기까지 잘 버틸 수 있었던것은 팀원들과 함께 같이 공부하면서 버틸 수 있었던게 아닌가 생각한다.

앞으로 할 일

현재는 심화주차 강의까지는 모두 다 들은 상태고 내일부터는 개인과제 LV4를 진행하겠지만, LV3에서 이어서 하는 작업이라 계속해서 sequelize로 구현 연습을 계속 해서 할것 같다. 그리고 또한 처음으로 그동안 함께 같이 했던 동기들과 선상파티 기념으로 오프라인으로 만난다. 아마 공부는 이날 많이 못할 것 같지만 그래도 열심히 해 보겠다.

profile
향해 13기 node.js 백앤드

0개의 댓글