전체 글

전체 글

    [Node JS] typescript + sequelize + passport로 유저 API 개발 - Passport로 Local 로그인하기

    전 게시글 확인! [Node JS] typescript + sequelize + passport로 유저 API 개발 - Local User 생성 전 게시글을 확인하고 읽어주시기 바랍니다:) [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅 해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescr.. pinomaker.com passport는 Node에서 로그인을 처리하기 위한 모듈이다. 간단하게 생각해서 여권이라고 생각하면 되는 데, 서비스를 개발하면 로컬 유저만 있는 경우도 있지만, 구글과 카카오 등 oauth를 이용한 다양한 종류의 유저를 처리해야할 때가 있는 데 이 때 pa..

    [Node JS] typescript + sequelize + passport로 유저 API 개발 - Local User 생성

    전 게시글을 확인하고 읽어주시기 바랍니다:) [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅 해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기. 1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. n.. pinomaker.com 전에 열심히 셋팅한 Sequelize를 이용하여 이제 Local User를 생성하는 즉 로컬 회원가입을 개발해보자. 폴더 구조는 src에 api 폴더를 만들고, user api를 수행할 user 폴더 안에 라우팅을 처리할 index.ts와 비즈니스 로직을 ..

    [Node JS] typescript + sequelize + passport로 유저 API 개발 - Sequelize 셋팅

    해당 포스트는 Typescript가 셋팅 되어있어야 합니다. [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기. 1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. npm init -y 2. Module 설치 프로젝트를 위한 모듈을 설치한다. 이제 배포 할 때 사용하지 않는 모듈은 --save pinomaker.com 해당 포스트 시리즈는 typescript, passport, sequelize를 이용하여, Local 로그인, Kakao 로그인, Naver Login과 JWT까지 다룰 예정 입니다. 1. 필요한 모듈 설치 먼저 sequelize와 유저 관련 API 개발을 위해 필요한 모듈을 아래와 같이 설치하자. d..

    [Node JS] Node.js를 Typescript 프로젝트로 셋팅하기.

    1. Node Project 초기화 작업할 폴더를 생성하고 아래의 명령어로 Node Project로 초기화를 해준다. npm init -y 2. Module 설치 프로젝트를 위한 모듈을 설치한다. 이제 배포 할 때 사용하지 않는 모듈은 --save-dev 옵션을 사용하여 설치하는 데, 주로 typescript의 모듈을 그렇게 설치한다. Typescript로 Node를 진행하기 위해서는 기존의 모듈을 설치하고, @types의 모듈도 배포용으로 설치를 해줘야한다. 따라서 아래와 같이 모듈을 설치한다. npm install typescript express ts-node npm install --save-dev @types/express nodemon 3. 폴더 구조 생성, index.ts 생성 위의 폴더 구..

    [TESLA SHOCK] 테슬라 이야기

    저자 : 최원석 [읽기 전] 책을 읽자는 습관을 들이자고 마음을 먹고, 넷플릭스의 조직 문화에 대한 이야기가 담긴 No Rules와 스파이파이의 성장 이야기 담긴 Spotify Play를 읽었다. No Rules는 넷플릭스의 이야기보다는 전세계의 인재가 모여있고, 인재들이 가고 싶어하는 회사인 넷플릭스가 어떻게 적은 인원으로 많은 성과를 내고 있는 지와 성과를 내기 위한 가장 큰 요인인 조직 문화에 대해서 설명하였고 나는 그 중에서 평범한 사람 10명을 데려온 자원으로 최고의 인재 2명을 데려와 그들만이 모여있는, 즉 인재 밀도가 높은 문화를 형성하는 것이 설득되어버렸다. 그 후에는 스포티파이의 성장 이야기를 보았는 데 역시 스포티파이도 넷플릭스 만큼은 아니지만, 최고의 인재를 모집하는 것에 많은 노력을..

    [React] Cookie + JWT + axios 이용하여 JWT 인증하기.

    오늘은 React로 axios와 cookie를 활용하여 JWT를 구현해보자. 순서는 아래의 이미지와 같다. 1. 로그인 요청 2. AccessToken 응답 3. AccessToken을 Cookie에 저장 4. API 요청 보낼 때 Header에 AccessToken을 담아서 보냄. 5. 서버는 Header의 AccessToken을 이용하여 인증 후 응답. 먼저 Cookie.tsx에서 Cookie 관련 기능을 만들어둔다. react-cookie 모듈을 이용하여 쿠키를 생성, 조회, 삭제 기능을 모듈화하여 타 컴포넌트에서 사용을 용이하게 작성한다. setCookie : 키와 값을 받아서 새로운 쿠키를 생성하고 저장한다. getCookie : 키를 받아서 값을 반환한다. removeCookie : 키를 받아..

    [Spotify Play] 스포티파이 이야기

    저자 : 스벤 칼손, 요나스 레이욘휘부드 [읽기 전] 책을 읽는 습관을 들이자라고 생각을 할 때 어떤 책을 읽을까 고민을 했다. 나는 기업에 대한 이야기를 좋아하기에 어떤 특정한 기법이나 에세이보다는 어떤 기업의 이야기가 담긴 책을 매우 좋아한다. 그래서 전에 음악 스트리밍 서비스를 만들고 싶다는 생각으로 기획을 하고 외주도 맡긴 경험이 떠올라, 해당 업계에서 1위를 달리고 있는 음악 스트리밍 서비스 Spotify에 대해서 알아보고 싶다는 생각을 하여, Spotity에 대해 적은 책이 있나 찾아 보았는 데, 아쉽게도 도서관에 없었기에, 신권 신청을 해서 빠르게 받아 읽어볼 수 있게 되었다. Spotity는 전세계에서 가장 많이 사용하는 음악 스트리밍 서비스다. 우리나라에서만 유독 인지도가 없는 편이 없잖..

    [JavaScript] Hoisting

    Hoisting Hoisting이란 변수의 선언만을 해당 스코프의 맨 위로 끌어올리는 것을 의미한다. 아래의 예시를 보고 이해해보자. 아래의 1번을 보면, x는 console.log아래에서 선언과 초기화가 이루어져있는 데도, Error가 아닌 undefiend가 나오고 있다. 이것이 Hoistring의 예시라고 생각하면 된다. 1번처럼 작성한 코드가 Hoistring으로 2번처럼 아래에서 선언된 변수가 선언만은 위에서 되어 undefined가 나오는 것이다. // 1번 console.log(x) // undefiend var x = 1 // 2번 var x console.log(x) x = 1 그렇다면 Hoisting이 안 된다면 어떻게 될까 아래의 예시를 보면 Hoisting이 되지 않는다면 Refer..

    [JavaScript] Event Loop

    JavaScript에는 동시성 모델인 Event Loop, Call Stack, Callback Queue가 있다. Event Loop EventLoop는 여러개의 스레드를 사용하고, 그 중 우리가 작성한 JavaScript가 실행되는 스레드를 메인 스레드라한다. 이 메인 스레드는 Node JS 프로세스에서는 하나만 존재하며, 한 순간에 한 줄씩 실행된다. 하지만 그 이외의 일을 하는 워커 스레드는 여러개가 존재할 수 있다. Call Stack Call Stack이란 지금 시점까지 호출된 함수들의 Stack이다. 여기서 Stack은 자료 구조 중 하나며, 아래에서 위로 차곡 차곡 쌓이지만, 위에서부터 빼내는 자료 구조다. 즉 함수가 호출 될 때 마다 하나 씩 쌓이고, 리턴 할 때 빠지게 된다. 이벤트 루..

    [No Rules Rules] 넷플릭스 이야기

    저자 : 리드 헤이스팅스, 에린 마이어 [읽기 전] 하루에 버스, 지하철 등 이동 시간이 평균 2시간 정도이며, 나는 부족한 잠을 보충하거나, 핸드폰을 하며 시간을 보낸다. 고등학생 때는 등하교 시간 때 책을 읽었는 데 다시 시작해보자라는 생각에 학교 도서관에 가서 책을 골랐다. 넷플릭스는 급성장한 공룡 스타트업 중 하나로, 개인적으로 전에 관심을 가지고 있던 기업이였고, 다시 책을 읽기에 어려움이 없어 보여 이 책을 선택 하였다. [읽는 중] 2022.08.26( ~ 83P) 중, 고등학생 때 여러 기업에 관한 책을 읽으면서 나는 플랫폼 사업에 있어서는 물론이고, 일반 사업에서도 신규 모집 고객이 아닌 충성 고객을 만드는 것에 집중 하라는 이야기를 많이 보았고, 그 이유에 대해서 책을 통해 알게 되면서..