IT/Express
IT 및 일상을 공유합니다.[Express] 카카오 로그인 서버 구현하기 (Rest API key) - 1
안녕하세요. 요즘 회사가 너무 바빠지다 보니 개발 관련 포스팅 올리는 게 쉽지가 않네요 ㅠ.. 점점 더워지는데 다들 몸 관리 잘하시고 열심히 같이 공부 한번 진행해 봅시다! 이번 포스팅 주제는 "FrontEnd에서 카카오 인가 코드 받아서 사용자 정보 받아보기"입니다. 이전에 React와 Nuxt로 카카오 로그인 과정과 방법에 대해서 설명을 해봤는데요. 카카오 Developers 내 애플리케이션에서 도메인과 redirect URI를 프런트 정보로 등록하여, 인가코드를 받고 여기까지 하면 프런트가 할 일은 다했다!라고 끝낸 포스팅이 있습니다. 만약에 이 과정을 못 보셨다면 아래 링크를 통해서 한번 읽어주시면 감사하겠습니다!! [React] 카카오(Kakao) 로그인 구현해 보기 React [React] 카..
[Express] Error(에러) Handler 구현해보자
이전 포스팅(링크) 에서 설정한 내용을 토대로 진행되니 한번 참고하시면 됩니다. 오류 처리 미들웨어 오류 처리 미들웨어에는 항상 4개의 인수가 필요합니다. 어떠한 함수를 오류 처리 미들웨어 함수로 식별하려면 4개의 인수를 제공해야 합니다. (err, req, res, next) 4개의 매개변수로 사용됩니다. app.use(function(err, req, res, next) { console.error(err.stack); res.status(500).send('500 에러'); }); 에러 핸들러 에러 핸들러는 일종의 미들웨어라고 볼 수 있는데요, app.use() 함수를 사용하여 인스턴스를 등록해 두면 모든 에러가 한 곳을 통해서 에러를 관리할 수 있습니다. 그래서 저는 Express로 프로젝트를 진..
TypeScript(타입스크립트) Express API 서버 - 기본 설정
이전 포스팅에서는 Express Server와 Typescript 설정에 관해 기본적인 환경설정하는 방법을 보여드렸습니다. 이번에는 전체적인 폴더 구조를 잡고, 서버에서 에러추적을 위한 로그설정에 관해서 잠깐 설정법과 구현된 내용을 해보려고 합니다. TypeScript(타입스크립트) Express API 서버 - 환경셋팅 Express API 서버 구현에 대해 타입스크립트로 개발해 보는 것이 추후에 좋을 거 같아. 공부하거나 구현했던 내용들을 정리해 보려고 합니다. 중복되는 거나 기본적인 패키지 설치에 대해서는 생략 stack94.tistory.com 1. 폴더 구조 구성 폴더구조에 대해서 간단히 설명해 보면. 전체적으로 데이터베이스 관련과, 타입, API, 컨트롤러 부분으로 분리한 구성내용입니다. 폴더..
TypeScript(타입스크립트) Express API 서버 - 환경셋팅
Express API 서버 구현에 대해 타입스크립트로 개발해 보는 것이 추후에 좋을 거 같아. 공부하거나 구현했던 내용들을 정리해 보려고 합니다. 중복되는 거나 기본적인 패키지 설치에 대해서는 생략할 부분은 생략할 예정이에요! 🔑 TypeScript + Express 환경설정 시작! 1. packages.json 파일 생성 npm init 2. 필수 구성 요소 설치 ● express, @types/express, typescript, ts-node, nodemon 가 가장 기본적인 필수 라이브러리입니다. ※ 추후 기능구현에 필요한 구성요소 이므로 전부 설치해봅니다. ( 위에 필수 구성요소 말고 필요 없는 라이브러리는 삭제하셔도 됩니다.) .... "dependencies": { "bcrypt": "^5...
[Node.js] Express 환경 설정 및 로그 설정하기(winston,morgan)
환경변수 config 설정 애플리케이션이 실행될 때 특정 값을 넘길수 있는 변수 설정을 하기 위해 ※env 폴더안에 개발, 배포 파일을 만들어줍니다. PORT = 5000 //서버 포트 LOG_LEVEL = silly //winston(로그기록) 레벨 단위 MYSQL_HOST = localhost // mysql DB HOST MYSQL_USER = root // mysql USER MYSQL_PASSWORD = admin // mysql password MYSQL_DATABASE = testDB // mysql dataBase 위 내용은 각자 설정에 따라 다릅니다 본인의 설정에 맞게 적어줍니다. env 환경변수 설정이 완료되었다면, config 폴더에 index.js 파일을 만들어줍니다. ES6 기준으..
[Node.js] Express 시작하기
1. Express 설치법 express-generator express --force --view pug npm install express -save 의 명령어로 express가 설치되어있다는 전제로 위의 명령어를 입력하면 express 프로젝트 기본 형식을 만들어줍니다. (폴더 만들고 셋팅하기 귀찮으니... 위에 명령어로 한 번에 만들어주자) 2. Express 폴더 구조 위에 이미지처럼 폴더 구성하여 진행할 예정입니다. ├─api /*Rest API 관련 폴더*/ │ └─routes /*라우터 폴더*/ │ └─middleware /*미들웨어 폴더*/ ├─config /*env 관련 및 설정 폴더*/ ├─controller /*DB모델에 대한 컨트롤러 폴더 (ex 회원가입..)*/ ├─env /*e..
Node.js 학습일지 - npm
npm 이란? 세상에는 정말 많은 자바스크립트 프로그래머가 있다. 그들은 지금 우리보다 먼저 앞서 나갔으며 정말 많은 코드를 작성해놓았다. 그리고 그 코드를 다른사람이 볼수 있게 공개하기도 했다. 이러한 공개되어 있는 서버인 npm 이라는 패키지 매니저를 알아보자. npm 대체자로 yarn이 있다. yarn은 페이스북이 내놓은 패키지 매니저이다. 1. package.Json으로 패키지 관리하기 서비스에 필요한 패키지를 하나씩 설치하다 보면 어느새 그 수가 엄청 많아질 때가 있다. 그리고 사용할 패키지는 각각의 고유한 버전이 있으므로 어딘가에 기록해야 한다. 같은 패키지라도 버전별로 기능이 다를수있다. 이에 설치한 패키지 버전을 관리하는 파일이 package.json 다. 노드 프로젝트 시작전 폴더 내부에..
Node.js 학습일지 - 환경설정(2)
1. 에디터 설치 https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. code.visualstudio.com node.js 학습할 에디터로 비주얼 스튜디오 코드를 설치하자. 공식 홈페이지에서 다운로드 합니다. 2. VS Code 확장 프..
Node.js 학습일지 - 환경설정(1)
본격적으로 학습하기에 앞서 사전 준비 작업을 진행하겠다. 환경은 Macbook pro 16 MacOS 으로 ITerm , homebrew는 이미 설치 완료한 상태이다. 설치 진행 nvm node.js npm / yarn 1. brew를 활용하여 nvm 설치 2. 환경변수 설정 ~/. 이 경로에 nvm 폴더를 생성한다. 3. brew 를 활용하여 nvm 설치 homebrew를 사용하면 밑에 같이 , bash 편집기는 vi ~/. bash_profile이다. 편집기 맨 하단에 밑에 내용을 추가해준다. 입력 후 esc + :wq 명령어를 입력하여 편집기를 나온다. 터미널 프로파일에 적용한다. 4. 설치 확인 버전을 확인한다. 만약 위와 같이 명령어를 찾을 수 없다고 나오면 아까 편집기에서 적어준 경로에 cd..