1) map()이란 무엇인가
모든 배열의 아이템에 function을 실행하는 메서드다.
그리고 함수의 결과 값으로 새로운 배열을 만든다.
const days = ["Mon", "Tue", "Wed", "Thurs", "Fri"];
//함수 자체를 변수에 할당하여 쓰거나
const addNumber = (day, index) => `#${index+1} 😍${day}`;
const smilingDays = days.map(addNumber);
// 또는 함수를 직접 넣어 사용
// const smilingDays = days.map((day, index) => `#${index+1} 😍${day}`);
console.log(smilingDays)
2) 콜백함수란 무엇인가
정의 : 함수에 파라미터로 들어가는 함수
용도 : 순차적으로 실행하고 싶을 때 씀
참고 : 콜백함수가 필요한 함수들에만 콜백함수 사용가능
잘만들어진 함수를 협업하는 팀원이 가져다 쓰고 싶을 때 사용
콜백함수로 함수를 디자인하지 말고, Promise도 있고 async, await도 있음.
document.querySelector("button").addEventListener("click", 콜백함수)
// 버튼을 클릭했을 때, 이 함수가 실행되게 해주세요.
function first(파라미터){
console.log(1)
파라미터()
}
function seconde(){
console.log(2)
}
// 순차적으로 실행하기 위해 함수의 파라미터에 다른 함수를 넣음(콜백함수)
first(second)
3) jwt이란 무엇인가? (+ 세션,토큰 차이점)
로그인 기능을 구현할때
1. session : 정보가 간단하게 담김 => db확인하느라 처리시간이 김
2. token(jwt방식) : 정보가 많이 담김 => 정보 보고 바로 통과
둘 중 하나 이용하여 구현함
단점 : 디코딩이 쉬움, 시크릿키를 쉽게하면 털림, 남의 jwt 탈취 => 리프레쉬토크
별일 없으면 역사와 전통의 session 방식이 좋다.
그러나 많은 데이터를 처리해야한다면 jwt를 써야하는데 보안에 신경써야 한다.
쿠키: 서버와 사용자간에 주고 받는 데이터(웹에는 있지만, 앱에는 없음)
세션: 중요한 정보는 모두 서버->DB에 담겨 있음. 유저가 가진 것은 세션ID뿐
토큰: 서버가 기억하는 이상하게 생긴 문자열(ID카드)
JWT: 정보를 갖고 있는 토큰(DB없이 검증가능)
토큰형식. DB를 생성하지 않음. 토큰을 받으면 '사인된 정보'를 유저에게 보냄
토큰이 유효한지만 검사하고, 암호화하진 않음(비밀번호를 담으면 안됨)
세션장점 : 모든 정보를 저장. 해당 정보를 이용해 새로운 기능을 추가가능.
예를 들어 세션을 삭제하고 쫓아낼 수 있음(ex.넷플리스)
JWT장점 : 토큰을 추적하지 않음. 토큰 유효성만 검사함. 하지만 강제로그아웃 등 하지 못함.
=> 규모가 작을때는 JWT를 추천하지만, 규모가 커진다면 세션을 쓰는게 좋은 편
4) 미들웨어란 무엇인가
미들웨어의 정의: 양쪽을 연결해서 데이터를 주고 받을 수 있도록 중간에서 매개 역활을 하는 소프트웨어
[어플리케이션 레벨] app.use(+get post put 등)의 메서드로 미들웨어를 등록할 수 있음.
[라우터 레벨] router.use는 인스턴스에 바인딩된다는 점을 제외하면 어플리케이션의 레벨과 동일하게 작동한다.
[오류처리 미들웨어] (err, req, res, next) 꼭 4개의 인수를 사용해야 한다. 하나라도 생략되면 일반 미들웨어로 인식한다.
[타사 미들웨어] 제 3자가 만든 미들웨어 (body-parser, morgan 등)
[내장 미들웨어] Express가 내장한 미들웨어들을 뜻한다
내장 미들웨어
5) 라우팅이란? (+app.use란 무엇인가)
라우팅은 응용 프로그램이 URI(또는 경로) 및 특정 HTTP 요청 메서드(GET, POST 등)인 특정 끝점에 대한
클라이언트 요청에 응답하는 방법을 결정하는 것을 말합니다.
appHTTP 메서드에 해당하는 Express 개체의 메서드를 사용하여 라우팅을 정의합니다 .
예를 들어 app.get()GET 요청을 처리하고 app.postPOST 요청을 처리합니다.
app.use()를 사용하여 미들웨어를 콜백 함수로 지정할 수 있습니다
=> 콜백함수 정의 : 함수에 파라미터로 들어가는 함수 / 용도 : 순차적으로 실행하고 싶을 때 씀
응답 방법
'일기 > TIL' 카테고리의 다른 글
TIL: Today I Learned 66일차 [ 약수 구하기 ] (0) | 2023.02.20 |
---|---|
TIL: Today I Learned 65일차 [ Table [테이블명] doesn't exist ] (0) | 2023.02.17 |
TIL: Today I Learned 63일차 [ 가장 큰 수 찾기 ] (0) | 2023.02.15 |
TIL: Today I Learned 62일차 [ 인덱스 바꾸기 ] (0) | 2023.02.14 |
TIL: Today I Learned 61일차 [ 배열 회전시키기 ] (0) | 2023.02.13 |