본문 바로가기
반응형

Node js53

Node JS - nodemailer로 구글, 네이버, 다음 카카오 메일 보내기 (Send Emails using nodemailer to Google, Naver, Daum Kakao) Node JS 전체 링크 참고 - https://nodemailer.com/about/ - Toast UI Editor로 메일 보내기 with nodemailer nodemailer를 이용해 구글(지메일), 네이버, 다음 메일을 보내보자. npm install nodemailer nodemailer 사용 방법 예시는 아래와 같다. const nodemailer = require("nodemailer"); const sendEmail = async () => { const transporter = nodemailer.createTransport({ service: "daum", host: "smtp.daum.net", // 사용할 이메일 서비스의 호스트 주소 port: 465, // 이메일 서비스의 포트 .. 2023. 12. 9.
Node JS - log4js로 함수 이름과 줄 번호 로그 남기기 (log4js with Function Name, Line Number) Node JS 전체 링크 log4js를 이용하여 로그를 남겨보자. npm install log4js log4js.configure에서 아래의 옵션을 설정할 수 있다. 콘솔에도 출력하고 싶다면 out의 type을 stdout으로 설정한다. 그리고 로그를 출력할 파일, 로그 파일의 최대 사이즈, backup 파일 개수 등을 설정할 수 있다. appenders: { out: { type: "stdout" }, // 콘솔 출력 app: { type: "file", filename: "D:\\github\\node-server\\log\\logFiles\\application.log", maxLogSize: 512 /* byte */, backups: 3, }, exceptions: { type: "file", .. 2023. 8. 25.
리액트, Node JS - 인증 토큰 획득 서버 구현하기 (GitHub Access Token Server with Node JS) 리액트 전체 링크 Node JS 전체 링크 참고 - 깃허브 OAuth Access 토큰 발급 받기 - Toast UI 에디터로 깃허브 마크다운 저장하기 - 리덕스로 로그인 상태 관리하기 - GitHub OAuth Project Settings - Material UI로 깃허브 로그인 프로필 만들기 - 깃허브 OAuth 콜백 처리하기 - 인증 토큰 획득 서버 구현하기 - 인증 토큰으로 로그인 상태 관리하기 - 로그인 정보를 활용하여 Commit Message 남기기 - 새 창으로 로그인해서 현재 상태 유지하기 리액트에서 client secret은 더 이상 필요 없으므로, (보안상 들고 있어서도 안된다.) .env에서 삭제한다. .env REACT_APP_CLIENT_ID=af98b4a2c8aff18122d.. 2023. 8. 19.
리액트 - 깃허브 OAuth 콜백 처리하기 (GitHub OAuth Callback) 리액트 전체 링크 참고 - 깃허브 OAuth Access 토큰 발급 받기 - Toast UI 에디터로 깃허브 마크다운 저장하기 - URL query string 받아오기 - 리덕스로 로그인 상태 관리하기 - GitHub OAuth Project Settings - Material UI로 깃허브 로그인 프로필 만들기 - 깃허브 OAuth 콜백 처리하기 - 인증 토큰 획득 서버 구현하기 - 인증 토큰으로 로그인 상태 관리하기 - 로그인 정보를 활용하여 Commit Message 남기기 - 새 창으로 로그인해서 현재 상태 유지하기 깃허브 OAuth 토큰을 발급 받고 .env까지 설정해두자. (실제 환경에서 토큰은 서버를 통해 얻어야 한다.) 인증을 요청하게 되면 깃허브 OAuth Apps에서 설정한 callb.. 2023. 8. 19.
Node JS - 문자열로 된 조건식 판단하기 (Evaluate String into Conditions with Acorn) Node JS 전체 링크 아래와 같은 조건식이 있다고 가정하자. 이 경우, if문 내에서 true나 false가 반환되어 if문이 실행되거나 실행되지 않는다. if((((condition1) && (condition2 || condition3))) == condition4) { ... } 그런데 만약 위의 조건식이 문자열(string)로 주어진다면? if 문 내에서는 판단할 방법이 없다. const condition = "(((condition1) && (condition2 || condition3))) == condition4"; if(condition ???) { ... } // if문에서 사용 불가능 자바스크립트에서는 acorn을 이용해서 AST(Abstract Syntax Tree)를 생성하고 문.. 2023. 8. 6.
깃허브 - RESTful API로 파일 읽기 (Read GitHub Files with GET) Git / GitHub 전체 링크 Node JS 전체 링크 참고 - 개인 토큰 발급 받기 - RESTful API로 파일의 SHA 구하기 - RESTful API로 파일 읽기 - RESTful API로 파일 쓰기 - RESTful API로 1MB 이상 큰 파일 읽기 - 깃허브 RESTful API로 파일 편집기 만들기 - https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28 - https://github.com/octokit/octokit.js#constructor-options RESTful API를 이용해 GitHub에 존재하는 파일을 읽어보자. 개인 토큰 발급 받기를 참고하여 미리 토큰을 저장하자. Node JS에서 파일 읽기 이.. 2023. 6. 23.
Node JS - 요청한 원래 URL로 리다이렉션하기 (Redirect Back to Original URL) 리액트 전체 링크 Node JS 전체 링크 참고 - 리액트 라우터 react router - POST 방식으로 서버에 폼 데이터 전송하기 - POST로 데이터 전송 받기 React에서 POST 방식으로 서버에 폼을 전송한 후, 다시 원래의 URL로 리다이렉션이 되도록 해보자. 위의 링크의 리액트 코드를 리액트 라우터가 있는 곳에 추가하였다. import { Route, Link, Routes } from "react-router-dom"; import "./App.css"; import ButtonTest from "./page/ButtonTest"; import MaterialTable from "./page/MaterialTable"; import TreeViewExample from "./page/.. 2023. 6. 21.
Node JS - POST로 데이터 전송 받기 (Process POST Data) Node JS 전체 링크 참고 - POST 방식으로 서버에 폼 데이터 전송하기 - body-parser를 이용해 데이터 전송 받기 Node JS에서 post 방식으로 데이터를 받는 예제는 다음과 같다. const express = require("express"); const app = express(); const qs = require("querystring"); const cors = require("cors"); app.use(cors()); app.get("/", (req, res) => { console.log("get!"); }); app.post("/", (req, res) => { console.log("post!"); let body = ""; req.on("data", function.. 2023. 6. 19.
React Material - 파일 브라우저에서 파일 다운로드하기 (React File Download with Node JS) 리액트 전체 링크 Node JS 전체 링크 참고 - glob으로 파일, 폴더 목록 찾기 - Mui Tree View로 파일, 폴더 뷰 만들기 - Mui Tree View로 파일, 폴더 뷰 만들기 (with Node JS) - Mui로 파일 브라우저 만들기 - 파일 브라우저 만들기 (with Node JS) - 파일 브라우저에서 파일 다운로드하기 - 파일 브라우저 정렬하기 - 파일 브라우저에서 폴더 이벤트 추가하기 리액트에서 노드 서버를 통해 파일을 다운로드 해보자. 여기서는 파일 브라우저에서 파일을 클릭하면 클릭한 파일이 다운로드 되도록 한다. Node JS에서 stream으로 파일 다운로드 구현하기 먼저 node에서 mime을 설치한다. $ npm install mime Node에서 downloadFi.. 2023. 6. 2.
반응형