Judaeng
210322_TIL(Chatterbox Server) 본문
✅Toy 문제 _treeDFS
TreeDFS 탐색하여 탐색 순으로 값을 반환하는 문제였다.
재귀를 활용해서 풀어버렸다.
✅Chatterbox-server
오늘은 저번에 했었던 채팅앱에 서버를 떼어내고 Node.js를 사용해 로컬과 연결시켰다.
클라이언트 부분은 그냥 긁어와서 사용했고, 나머지 서버 부분은 저번 스프린트와 비슷하게 연결시켰다.
이번 스프린트는 AWS서버에 연결하는 것이 아닌 나의 로컬 주소에 연결하는 것이기 때문에 조금 달랐던 것 같다.
환경설정은 Nodemon을 사용해서 서버가 자동으로 재시작되게 만들었고, POSTMAN을 사용해서 GET의 내용까지 확인했다.
POSTMAN을 사용해서 눈으로 보고 코드를 고치고 사용해보고 너무 이해가 잘되었다.
추가적으로 fs 모듈도 사용해보았다.
fs 모듈을 사용해서 서버가 메시지들의 목록을 파일로 저장(?)할 수 있었다.
에러가 너무 많이 떠서 당황했지만 생각보다 코드를 고쳐가는 재미가 쏠쏠했던 것 같다.
socket.io는 install만 해보고 정확히 사용은 못해봤다.😅
Achievement Goals
http 서버 만들기
각 요청 분기하기
분기에 따른 API 제공하기
API 문서 작성하기
🍒Remember
실시간으로 상호작용하는 웹 서비스를 만드는 기술인 웹소켓을 쉽게 사용할 수 있게 해주는 모듈이다.
Install
npm install --save socket.io
이 정도만 알고 있고 나머지는 직접 만들어보면서 이해하는 것이 제일 좋은 방법인 것 같다. (ex 클론 코딩)
✅라우팅(Routing)?
라우팅은 URI(또는 경로) 및 특정한 HTTP 요청 메서드(GET, POST 등)인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말합니다.
🍒More Study
express란 'Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크'라고 한다.
Node.js 환경에서 웹애플리케이션 혹은 API를 제작하기 위해 사용되는 인기있는 프레임 워크이다.
1. express 라이브러리가 어떤 작업을 단순하게 만드는지 이해할 수 있다.
어떠한 라이브러리를 사용하지 않고, 순수 node.js 코드를 작성하면 복잡하고 Web 응용프로그램을 만들려는 의욕조차 사라질 것이다.
하지만 express에는 자체 라우터 기능을 제공하므로 코드를 매우 직관적으로 처리할 수 있다.
그리고 Web 응용 프로그램이 사용하는 기능을 미리 모두 구현하여 기본 시스템을 준비해둔 것이 프레임워크라고 불린다.
2. 미들웨어의 개념을 이해할 수 있다.
미들웨어란? 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이라고 한다.
미들웨어 함수는 req(요청) 객체, res(응답) 객체, 어플리케이션 요청-응답 사이클 도중 그다음의 미들웨어 함수에 대한 액세스 권한을 갖는 함수
✅Simple request?
✏️
JSON.parse() : string 객체를 json 객체로 변환
JSON.stringify : json 객체를 String 객체로 변환
✏️
buffer : 데이터의 조각 => chunk와 같다.
request.on('data', (chunk) => buffer의 조각
('end') => 버퍼가 다 도착했을 경우를 뜻한다.
Preflight? 나 이렇게 보낼 건데 이거 가능해? (Y/N)
CORS란? 다른 출처의 리소스에 접근 가능한 권한을 부여하는 정책
'Daily > TIL(Today I Leared)' 카테고리의 다른 글
210324_TIL(Twittler React) (0) | 2021.03.25 |
---|---|
210323_TIL(Express, Refactor Express) (0) | 2021.03.24 |
210319_TIL(Mini node server) (0) | 2021.03.21 |
210318_TIL(Chatterbox Client 마무리, Browser Security) (0) | 2021.03.19 |
210317_TIL(Client Server Architecture, Chatterbox) (0) | 2021.03.18 |