패스트캠퍼스 챌린지 4일차 - API 서버 만들기
0. 공부기록 인증샷
오늘은 회사 미팅이 늦게 끝나서 공부 시작이 좀 늦었다...
ch05의 경우에도 마찬가지로 이미 한번이상 봤기 때문에
그냥 눈으로 보면서, 그리고 이미 알고 있는 내용은 기록하지 않을 예정이다!
혹은 알고 있지만 그래도 기록이 필요하다 생각하면 정리할 것이다😀
공부 시간 : 2200 ~ 23:40
1. API 세팅과 테스트 - 프로젝트 목표는 블로그 만들기
HTTPie 로 테스트를 진행할 수 있음.
근데 그냥 POST man 사용하는게 편할듯.
또한 Express 과 같은 라이브러리를 사용하는 것이 아니라서,
url -> req.url (url 값 읽기) 분기처리시에 스위치를 사용하거나 해야함.
분기처리시 URL에 따라서 분기처리를 할 수도 있음.
자바스크립트에서는 정규식을 사용하는 것이 하나의 방법임.
정규식 사용법
-> // 안에 입력
-> ^ : 시작하는 부분, $ : 끝나는 부분
정규식 예시 post/:postid
req.url && /^\posts\/[a-zA-Z0-9-_]+$/.test(req.url)
2. 정규식을 이용해서 URL path 가져오기
정규식 캡처그룹 활용 ()
exec를 통해서 정규식의 자세한 결과 가져오기
// 아래는 그냥 정규식을 활용하는 것.
const POSTS_ID_REGEX = /^\posts\/[a-zA-Z0-9-_]+$/
// 아래는 정규식의 캡쳐그룹:괄호 까지 활용하는 것
const POSTS_ID_REGEX = /^\posts\/([a-zA-Z0-9-_]+)$/
~~~
POSTS_ID_REGEX.test(req.url) // 불리언 값을 리턴함
POSTS_ID_REGEX.exec(req.url) // 어떤식으로 맞았는지도 자세하게 알려줌
// 캡쳐그룹을 활용하면 그 부분의 데이터만 가져올 수 있음.
3. JSDoc 를 활용해서 타입 세이프티 활용하기
주석을 활용한 타입 검사
@ts-check 를 활용해서 JSDoc 를 자동으로 불러와서 사용가능
// @ts-check
/**
* @typedef Post
* @property {string} id
* @property {string} title
* @property {string} content
*/
/** @type {Post} */
const examplePost = {
id : 'abc',
title : 'abc',
content : 'abc',
}
--->>>> 이런식으로 데이터 타입을 확인할 수 있음.
4. API완성하기
find 메소드 활용하여 원하는 값 찾기
const post = _posts.find(_post => _post.id === postId)
서버 -> 클라이언트 :
header를 통해서 데이터에 대한 정보를 포함해서 보낼 수 있음 (컨텐츠 타입이나, 인코딩 정보 등)
5. 함수의 @ts-check 참고
오늘 들었던 수업의 경우에는 이미 알고 있거나 아직은 필요없다고 생각하는 내용들은 제외 했다.
그래서 좀 널널하다.
여튼 Node의 기본 기능을 활용해서 포스트를 작성하고 조회하는 것을 배울 수 있는 과정이었다.
환급 챌린지 (4/30)
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지