본문 바로가기
  • 포르쉐타고싶다

인포테인먼트 - development/node.js7

[node.js] nodemailer 구현 방법 1. nodemailer 라이브러리 설치 npm i nodemailer 2. env파일에 메일 정보추가 NODEMAILER_USER = "[이메일]" NODEMAILER_PASS = "[비밀번호]" ** 이 때 저 비밀번호는 계정의 비밀번호가 아니다! @ google에서 1) 내 계정 2) 보안 -> 내 비밀번호 3) 앱 비밀번호 추가: 이름 설정 이 비밀번호를 사용해야 한다. 3. nodemailer 객체 초기화 let transporter = nodemailer.createTransport({ service: 'gmail', host: 'smtp.gmail.com', port: 587, secure: false, auth: { user: process.env.NODEMAILER_USER, pass: .. 2021. 8. 9.
[npm] npm install 중 ../../nan/nan_object_wrap.h:24:25: error: no member named 'IsNearDeath' 에러 해결 문제 블록체인 프로젝트를 진행하던 중 특정 모듈을 다운 받기 위해 터미널에 $ npm install 를 입력했는데 ../../nan/nan_object_wrap.h:124:26: error: no member named 'IsNearDeath' in 'Nan::Persistent' assert(wrap->handle_.IsNearDeath()); 같은 에러가 발생하였다 . 해결 node의 버전을 downgrade 해줬더니 해결되었다. $ npm install -g n $ n 10.15.1 사용하려고 하는 package는 npm버전과 관련이 있을 뿐만 아니라 node의 버전도 맞춰줘야 한다. 2021. 4. 13.
[node.js] g suite 계정에 nodeMailer 적용 1. 배경 어플리케이션에 은근 안쓰이는 곳이 없는 기능 중에 하나가 유저에게 메일을 보내는 것이다. 이는 사용자를 인증하기 위한 곳, 예를 들어 임시비밀번호 발급 비밀번호 변경, 이벤트 결과 발표 등등 계정이 요구되는 어플리케이션에 필수로 들어가있다. Node.js에서는 이 기능을 NodeMailer를 사용해 구현할 수 있는데 송신하는 업체메일의 도메인이 어디냐에따라 설정을 달리 해줘야 한다. 그리고 메일을 송신하는 계정은 일반적인 gmail, naver 등 보편적인 웹메일이 아닌 업체마다 갖고있는 대표 도메인으로 만든 이메일을 그 송신자로 한다. 그리고 그 도메인의 메일을 관리하게 도와주는 툴 중 구글에서 만든 것이 g suite이고 이것을 사용하면 회사의 도메인의 메일을 관리할 수 있다. 그리고 g .. 2020. 4. 27.
[node.js] 이해가 어려웠던 카카오 로그인 박살내기 연동로그인은 앱과 사용자간의 거리를 좁혀주는 확실히 필요한 툴이다. 그 중 한국에서는 카카오를 사용하지 않으면 간첩(?)일 정도니 카카오 연동로그인 구현이 필수적이라고 생각한다. 하지만 연동로그인은 계정, 사용자 정보를 공유하는 것이니 그 절차가 복잡하고 까다로울 수 밖에 없다. 그래서 여러 지원 툴이 나와있는데 그 중 가장 유명한 것이 passport이다 하지만 passport는 페이스북, 구글 등 해외 소셜앱에 대해서는 체계적으로 그 방법이 나와있고 스택 오버플로우 등에서 그 절차 또한 여럿 공유되고 있다. 거의 모든 앱이 카카오 연동로그인을 갖추고 있는 만큼 그 레퍼런스도 충분히 많았지만 어떤 아이디어로 구현하고자 하느냐에 따라 프론트엔드와 백엔드가 어떻게 역할을 나누냐에 따라 등등 그 안에서 또 .. 2020. 4. 23.
[Node.js] pm2 무중단 서비스 구현 https://engineering.linecorp.com/ko/blog/pm2-nodejs/ PM2를 활용한 Node.js 무중단 서비스하기 - LINE ENGINEERING 자바스크립트는 가장 널리 사용되는 클라이언트 측 프로그래밍 언어이자 프론트엔드 웹 개발 언어 중 하나입니다. 그리고 Node.js는 Chrome의 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타�� engineering.linecorp.com 2020. 4. 20.
[node.js] dotenv 사용법 및 적용 및 에러 해결 1. dotenv 실행 순서 1) dotenv를 설치한다. npm i dotenv —save 2) 보안이 담긴 값들을 담은 .env파일을 만든다 3) 서버 실행 시 가장 먼저 실행되는 파일(index.js나 app.js)에 env를 가져오는 명령어를 입력(두가지 상황) (1) 단일 상황에 대한 보안값을 담은 단일 파일 .env이면 require('dotenv').config(); (2) 몇가지의 상황(개발 or 배포)에 대한 보안값을 담은 몇개의 파일로 나뉘어 있다면(prod.env, dev.env)ㅋ if(process.env.NODE_ENV === 'production') { require('dotenv').config({ path: path.join(__dirname, '/env/server.env.. 2020. 4. 10.
[node.js] MYSQL 쿼리문 여러개(다중쿼리) 전송방법 node.js와 MYSQL을 연결하는 가장 기본적인 방법은 데이터베이스 config파일을 만든 뒤 const mysql = require("promise-mysql"); const dbConfig = { host : '[호스트 이름]', port : 3306, user : '[유저명]', password : '[비밀번호]', database : '[스키마 명]' } module.exports = mysql.createPool(dbConfig); 이렇게 작성을 해놓고 이 파일을 가져다 connection파일을 만드는 것이다. 이 connection파일을 사용하면서 db와 데이터를 주고받을 때 여러번 주고받는것은 효율성면에서 떨어진다. 이를 반대로 말하면 한 번 주고받을 때 많은 정보를 주고받는것이 효율적이.. 2020. 3. 30.