카테고리 없음
15주차 정리
jjon-jonny
2024. 7. 16. 20:21
api 명세서 추가 하기
상태코드별로 다 있어야 함
내정보 보기 와 수정은 세션을 추가시켜야한다
내정보 수정 보기 information 삭제하기
카테고리이름에 뭘 써야 되는지 알려줘야함
category idx 는 바뀌지 않고 name 은 바뀌기 때문에 idx 를 사용해야 한다!!
댓글에서의 articleidx 는 body 로 받아줘야한다!!!!!
:idx {idx} 통일해오기
코드 파일에 선언할 때 만약에 게시글 보기가 먼저 있다면
게시글 목록 보기posts/list
게시글 보기 /post/:postidx
params 는 없는거로 하고 보기
버그가 유발될 수 있다!!!!!
사용자/ 권리자 / 없음 이 3가지 경우가 있다 auth 에
connection 호출했을때 db 연결하고
pool 웹서버가 켜질때 미리 커넥션을 다하고 api 요청이 올때 connection 을 빌려줌
명세서가 항상 기준이 되어야 한다 명세서 -> 코드 수정!!!!
Db 연결시 api 시작하고 끝날때 끊어준다…
근데 안끊어주려고 maria.connect 를 index.js 에서 할 수 있다
그래서 결론은 커넥션 풀 ㄱㄱㄱ
함수형 프로그래밍 custumEroor 만들기
파일분할은 기본이다 다른 파일에서도 쓸꺼니까
추상화 ==>
** 심화 4주차
** 비동기 함수
정의
ㄴ 반대 개념으론 동기 함수(우리가 사용하는 대부분의 함수는 동기 함수임)
ㄴ 코드가 작성된 순서대로 순차적으로 실행되는 함수가 동기 함수
ㄴ 비동기 함수는, 종료를 기다리지 않고 바로 다음 함수를 실행시킴.
-존재 이유
ㄴ 오래 걸리는 작업을, 기다리지 않고 다음 작업을 하기 위해서 존재
-종류
- 이미 js 에 만들어져 있는 비동기 함수
ㄴ 시간을 이용하는 함수 ( setTimeout,setInterval)
ㄴ 이벤트 등록함수(addEventListener)
ㄴ 데이터베이스 통신 함수(mariadb 의 query 함수)
ㄴ 이것들의 공통점은 하나같이 시간이 오래 걸리는 함수들
ㄴ 그리고 매개변수로 함수를 받는 함수들임(콜백함수)
- 직접 비동기함수를 만들 수도 있음.
** 비동기 처리
-소개
ㄴ 비동기 함수는 종료를 기다리지 않고 다음 줄의 코드를 실행시킨다 했음.
ㄴ 그래서 비동기 함수의 결과를 처리하는 기법을 비동기 처리라고 부름
ㄴ 이 비동기 처리의 가장 기본적인 기법이 콜백함수
-처리 방법 종류
- 콜백함수(callback)
ㄴ js 초창기부터 있던 기법
ㄴ 치명적인 단점 : callback hell
ㄴ 비동기 함수의 결과를 가지고 비동기 함수를 돌려야 할때, 코드의 모양이 이쁘지 않음
- Then(ES7)
ㄴ 비동기 함수를 만드는 문법(Promise)
ㄴ 서로 바꿀 수 가 없다 callback vs Promise
ㄴ 그래서 과거 비동기 함수는 callback 사용 최신 비동기 함수는 promise 를 사용함
- async-await
** Middleware
-정의
ㄴ Express 에서는 요청과 응답 사이에 존재하는 함수
( 거쳐가는 함수 )
ㄴ Express 는 Middleware의 집합
App.use 는 미들웨어를 등록하는 개념이다.
현재는 요청 미들웨어 응답 구조이다.
- express 의 통신 모습
- ㄴ 여러개의 코드 로직을 미리 만들어 두고 이를 조합해서 쓰는 것을 추구함
- ㄴ 이때 미리 만들어 둔 코드 로직을 middleware 라고 부른다.
- 현재는 요청 -> Router(Middleware) -> 응답
요청 -> 로그인 체크 -> 권한 체크 -> query 실행 -> 응답
과제 목표
여러 종류의 middleware 기법을 찾아보고 적용해오기
Async away 익숙해지기
mariadb 연결하기!!!!
express 에서 필수적으로 만들기를 원하는거
error handler middleware
Not found middleware
왜? 왜 필요한데 적용해오기
이외에 필요한 미들웨어가 있다면 고민해서 만들어오기
로그인체크 권한체크 입력값 예외처리(이거는 난이도 있다)
Mariadb 연결
mariadb 연결을 콜백에서 어싱크어웨이로 바꿔서 오기
공식문서에는 어싱크로 되어있음 이거 참고하자
express 완벽하게 마무리 해오기