본문 바로가기

node8

[passport] 이해하기 node.js 교과서와 passport.js Doc를 참고 해 작성된 글입니다. Passport 인증을 사용하기 위해 필요한 3가지 Authentication strategies (인증전략) Application middleware (미들웨어) Sessions (optional) (세션) Strategy 전략 use( )를 통해 사용할 수 있다. verify callback이 꼭 필요하다. 미들웨어 미들웨어를 사용해야한다. app.use(passport.initialize()); passport를 초기화 하기 위해서 passport.initialize 미들웨어를 사용 app.use(passport.session()); 세션 사용을 원한다면, passport.session 미들웨어를 사용 세션 세션은 유저.. 2021. 7. 7.
[express] req.body가 undefined인 경우 ✋ 에러코드 req.body 가 undefined인 경우 🤦‍♂️ 상황 form에서 데이터를 전송해 post 라우터에서 req.body.프로퍼티 명으로 데이터를 받으려 했지만 undefined가 뜬다. 👍 해결 // 내장 기능 json 제공 기능을 추가 app.use(express.json()); // url인코딩 기능을 추가한다. extended:false면 내장 쿼리 스트링 모듈을 사용한다. app.use(express.urlencoded({ extended: false })); 위 두가지를 사용하지 않아서 데이터를 파싱하지 못했던 것 같다. 쓰니까 바로 해결됨. 2021. 7. 4.
[express] - 미들웨어 뽀개기 미들웨어를 사용하는데, 미들웨어 자체에 대한 이해도가 떨어져어려움을 겪고 있어서 쓰는 글 참고자료 Writing middleware for use in Express apps 🍳 미들웨어 미들웨어는 req, res, next를 가진 함수입니다. req 클라이언트에서 오는 요청 정보가 담긴 객체 res 서버가 응답해주는 응답 정보가 담긴 객체 next next 함수를 호출하면 현재 미들웨어에 이어서 다음 미들웨어를 실행합니다. 미들웨어의 종류 app에서 사용하는 미들웨어 내 어플리케이션 전반에서 사용하는 미들웨어다. router에 사용하는 미들웨어 app에서 사용하는 미들웨어와 같지만 사용 범위가 라우터로 정해진다. 에러 처리 미들웨어 다른 미들웨어와 다르게 4개의 매개변수를 가진다. 에러를 처리하는 목적.. 2021. 7. 3.
[passport-kakao] 카카오 로그인 API Node.js 교과서 9장을 진행하며 이해가 가지않거나, 중요하다고 생각하는 개념을 정리 kakaoStrategy passport는 strategy(전략)을 통해서, 여러 인증 방법을 사용할 수 있게한다. passport-kakao는 여러 인증 방법 중, 카카오 인증 방법을 사용할 수 있게해주는 패키지다. 따라서 카카오 인증 API를 사용하기 위해서 먼저 전략을 설립해야한다. 아래 코드는 kakao API와 passport를 이용하는 로그인 Starategy의 기본 코드이다. // KakaoStrategy.js const passport = require('passport'); // passport const KakaoStrategy = require('passport-kakao').Strategy; /.. 2021. 7. 1.
[error] Uncaught TypeError: Illegal invocation ✋ 에러코드 Uncaught TypeError: Illegal invocation 🤦‍♂️ 상황 multer을 사용해서 단일 데이터를 서버에 올리는 상황 html코드 포토 제이쿼리 제이쿼리를 이용해서, 입력되는 파일이 변경될 때마다, 서버에 파일을 저장한다. 보내는 데이터는 FormData를 이용해서 전송한다. const data = new FormData(); // input의 이름이 photo인 파일데이터 중에 첫번째 것 data.append('photo', $('input[name=photo]')[0].files[0]); append 메서드로 데이터를 키-값으로 저장 $.ajax으로 전송하는데 Uncaught TypeError: Illegal invocation가 발생.. 👍 해결 $.ajax으로 .. 2021. 6. 30.
ORM이란? 🎶 ORM (Object Relational Mapping) ORM은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 쉽게 말하면, SQL구문을 직접 사용하지 않고 개발자에게 익숙한 프로그래밍 언어로 데이터 베이스를 만들고, 사용할 수 있도록 데이터베이스와 프로그래밍 언어를 매핑 시켜주는 프로그래밍 기법을 말한다. 매핑 - 하나의 값을 다른 값에 대응시키는 과정 ORM의 장점 SQL언어를 직접 사용하는 것이 아닌 프로그래밍 언어를 사용해 작업이 가능하다. RDBMS마다 다른 SQL 문법을 별도로 알아야할 필요없이 ORM이 프로그래밍 언어를 다양한 RDBMS에 맞는 SQL문으로 변경시켜준다. 따라서 ORM을 사용하면 RDBMS 종속적인 어플리케이션이 아닌.. 2021. 6. 27.