Passport 세션을 내부적으로 처리하여 로그인 기능을 대신 해줍니다. 그냥 로그인도 가능하지만, 카카오·구글·페이스북·애플 등 SNS 계정을 통해 로그인 하고자 할 때, 유용하게 사용할 수 있습니다. 먼저 passport 모듈과 서버 자체적으로 로그인할 때 사용하기 위해 로컬 전략을 사용해야 하므로 passport-local 을 설치해줍니다. npm i passport passport-local 이제 passport를 사용하기 위해 루트 디렉터리에서 passport 폴더를 생성합니다. 그리고 메인 파일인 index.js 파일과 로컬 전략을 작성하기 위해 localStrategy.js 를 생성합니다. 먼저 로컬 전략을 세우기 위해 localStrategy.js 파일에 내용을 작성하겠습니다. 이때의 전략..
ROOT

📌 문제 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 📌 입력 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는 -231보다 크고, 231보다 작다. 📌 출력 입력에서 0이 ..

컨트롤러 각 라우트의 경로와 메서드에 따라서 서버가 실행할 서비스가 다릅니다. 그래서 라우트에 따라서 분류해준 후에 다시 그 라우트에서 사용할 함수들을 정리해줍니다. 이때, 지정된 메서드와 경로에서 실행되는 역할을 해주는 것이 컨트롤러입니다. 유저 인증 라우터에서 컨트롤러 파일을 별로도 두어 연결해보겠습니다. 기존에는 각 메서드와 경로에 따라서 매번 함수를 적어주면서 코드의 가독성이 조금 떨어지는 문제가 있었습니다. 이때 콜백 함수를 따로 저장하기 위해서 루트 디렉터리 하위에 controllers 폴더를 생성하고 user.controller.js 파일을 만들어줍니다. 그 이후, 각 콜백함수를 컨트롤러 파일로 잘라내기 합니다. 잘라낸 후에 기존의 문제점을 보완하면서 함수를 정리했습니다. import Use..

연결 수정 각 path마다 다른 모델의 쿼리를 실행하고자 모델을 새롭게 정의하겠습니다. 그렇기 때문에 기존 pool 말고 모델 생성하는 것을 목표로 코드를 수정했습니다. Sequelize config.json 파일을 작성하여 설정할 것을 저장해주었습니다. 위치는 루트 디렉터리 하위에 config 폴더를 만들어 저장했습니다. . │📄 기타 환경 파일들 ├── .env ├── package.json ├── package-lock.json ├── node_modules │ │💻메인 파일들 ├── app.js ├── config │ └── config.json ├── lib │ └── handler.js ├── models │ └── index.js ├── public │ ├── images │ │└── log..