본문 바로가기
Web/Node.JS

[패스트캠퍼스 챌린지 23일차] NodeJS - 백엔드 Part 1 마무리

by Dev_Mook 2021. 9. 28.

Fast campus Logo

 

Fastcampus_Node.js 수강 목록

 

패스트캠퍼스 작심 30일 챌린지 23일차.

 


 

백엔드 Part 1 마무리 - 리팩토링 프로젝트

 

오늘은 백엔드 Part 1 마무리 강의, 리팩토링 프로젝트 강의를 수강하였다.

이번 강의에서는 API를 통해 '왕좌의 게임 가문의 캐릭터에서 긍정적인 가문과 부정적인 가문을 조회'하는 기능을 리팩토링하였다.

 

먼저 여기서 사용한 API는 두 가지가 있다.

하나는 말그대로 '왕좌의 게임' 데이터를 가져오는 Game of thrones Quotes API.

그리고 다른 하나는 문잘 별로 긍정적인지 부정적인지를 분석해주는 Sentim-API.

이 두가지를 통해 구현된 소스코드를 '백엔드 Part 1' 강의에서 배운 내용을 바탕으로 리팩토링을 진행하였다.

 

오늘은 일부 기능에 대해서만 Clone Coding을 진행하고 강의를 수강만 했기 때문에

학습 내용에 대한 요약은 간략히 작성하고, 나머지는 백엔드 Part 1을 마무리 하며 느낀 점에 대해 작성해보도록 하겠다.

 


 

먼저 오늘 배운 내용에 대한 간략한 요약.

앞서 설명한 두 API를 통해 기능을 구현한 소스코드를 각 기능단위 별로 구분하여 함수를 분리하였다.

예를 들어 가문을 가져오는 기능, 등장인물 정보를 가져오는 기능, 긍정적인지 부정적인지 분석하는 API 등

각 기능에 맞게 함수를 분리하였다.

 

함수를 분리하게 되면 Function 하나에 모든 기능을 작성한 것보다 훨씬 가독성을 높일 수 있고,

나중에 유지보수를 하기에 효과적이다.

 

그리고 API의 경우 비동기 방식으로 처리할 수 있으므로

그동안 배운 내용 중 Promise와 async, await을 통해 호출하도록 개선하였다.

(물론 Map, reduce 등 그간 사용했던 내장함수들도 사용하였다.)

 


 

오늘 강의는 소스코드 일부만 리팩토링을 진행하고, 나머지는 영상 시청을 통해 강사님이 어떻게 수정하는지 봤다.

그 이유는 강의를 모두 따라하며 리팩토링하면 '강사님이 어떻게 리팩토링 했구나'라고 생각만 하고

스스로 습득하지 못할것 같아 영상을 시청하기만 했다.

 

그동안 Promise와 async, await뿐만 아니라 다양한 기능에 대해 배웠다.

이 내용 바탕으로 내가 얼마나 소스코드를 리팩토링 할 수 있을까 궁굼해졌다.

그래서 먼저 강사님은 어떤 방식으로 리팩토링을 진행했는지 보고,

나중에 내가 리팩토링한 소스코드랑 비교해보는 것이 더 도움이 될것 같다는 생각이 들었다.

 

그동안 배운 개념들을 다시 정리해보고,

얼마나 잘 이해했는지 점검해보며, 리팩토링을 통해 부족한 부분이 어떤 부분인지 파악하는 시간을 가져야겠다.

 


 

약 3주 매일 강의 한두개 정도씩 수강하면서 NodeJS에 대해 조금씩 학습하였다.

어느덧 백엔드 Part 1 학습이 종료되었는데 단순히 강의를 듣고 따라하는 것만으로는 부족함을 많이 느꼈다.

강의에서 알려준 개념에 대해 검색하여 조금 더 깊게 이해하고 학습해야할 필요성을 느꼈다.

(강의 수강 후 조금이라도 시간이 있는 사람들은 꼭 깊게 공부해보길 바란다.)

 

그래서 백엔드 Part 2를 학습할 때에는 백엔드 Part 1에서 아직 부족한 부분이 무엇인지 분석하여

복습을 병행해야겠다.

(아마 백엔드 Part 2의 진도는 그만큼 더 천천히 진행될 것 같다.

 


 

[오늘의 학습통계]

패스트캠퍼스 작심 30일 챌린지 23일차 학습통계

 


- 패스트캠퍼스 URL : https://bit.ly/37BpXiC

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.