JavaScript

    [NestJS] NestJS 시작하기 (Express 와의 비교)

    >> 아래 글과 코드가 보이지 않는다면 우측 하단의 달 모양을 클릭해주시기 바랍니다. { // 서비스 코드 }) //NestJS import { Injectable } from '@nestjs/common'; import { Cat } from './interfaces/cat.interface'; @Injectable() export class CatsService { private readonly cats: Cat[] = []; create(cat: Cat) { this.cats.push(cat); } findAll(): Cat[] { return this.cats; } } Exrpess 쪽은 거의 주석처리한곳에 대부분 코드를 작성하거나 다른 함수에서 작업을 하기도 합니다. 하지만, Nest 의 경우는..

    [NodeJS] Mysql 연결하기 [Mysql createPool]

    Mysql 모듈 설치 아래 명령어를 통해 mysql 을 설치해줍니다. yarn add mysql Mysql 모듈 사용하기 설치를 하셨다면, 새로운 js 파일을 만들어 require 시켜줍니다. // pool.js const mysql = require('mysql') 이 후 각자에 맞는 연결을 해주도록 합니다. // pool.js const mysql = require('mysql') const dbConfig = { host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'authtest' } 여기서 createConnection 과 createPool 이 나오게 됩니다. Mysql Pool Connection 과 Pool 의 ..

    [Nodejs] 로그인 / 회원가입 [JWT Token]

    글이 잘 보이지 않는다면 우측 하단의 달 모양을 눌러 라이트모드로 변경해주시기 바랍니다. 해당 글은 MacOS 를 기준으로 작성이 되었음을 미리 알려드립니다. WindowOS 를 이용하시는 분은 추후 업로드될 게시글을 기다려주시거나 다른 작성자의 게시글을 확인해주시기 바랍니다. JWT를 이용하는 나만의 이유 예전에는 Session 을 이용해 자동로그인, 인증등을 하고 있었습니다. 하지만 이 기능은 구현하기가 복잡하기도 하고 DB 혹은 서버에 많은양의 데이터를 보관/처리를 하기때문에 성능상 이슈가 발생하고 있었습니다. 이러한 이슈를 해결하기 위해서어떤 방법이 있을까 하다가 찾게 된것이 JWT 였습니다. JWT 는 AccessToken과 RefreshToken 을 클라이언트에서 가지고 있다가 필요할때만 서버..

    [Nodejs] 로그인 / 회원가입 [ 로그인 ]

    글이 잘 보이지 않는다면 우측 하단의 달 모양을 눌러 라이트모드로 변경해주시기 바랍니다. 해당 글은 MacOS 를 기준으로 작성이 되었음을 미리 알려드립니다. WindowOS 를 이용하시는 분은 추후 업로드될 게시글을 기다려주시거나 다른 작성자의 게시글을 확인해주시기 바랍니다. 로그인 라우터 만들기 로그인을 하기 위해 nodejs 에서 코드 작성을 해보도록 하겠습니다. router.post('/login',(req, res) => { console.log(req.body); res.end(); } 해당 라우터는 /user 이후의 경로입니다. post 형식으로 http://localhost:3000/user/login 에 요청을 줄 수 있습니다. 이처럼 해주면 우선, 해당 라우터로 데이터가 들어오게 될텐데..

    [Nodejs] 로그인 / 회원가입 [ Mysql 세팅 및 연동 / express-mysql-session ]

    글이 잘 보이지 않는다면 우측 하단의 달 모양을 눌러 라이트모드로 변경해주시기 바랍니다. 해당 글은 MacOS 를 기준으로 작성이 되었음을 미리 알려드립니다. WindowOS 를 이용하시는 분은 추후 업로드될 게시글을 기다려주시거나 다른 작성자의 게시글을 확인해주시기 바랍니다. MySQL 설치하기 - Homebrew 설치 우선, Homebrew 를 설치해야 합니다. 위 링크에서 안내를 해 주는대로 homebrew 를 설치해주시기 바랍니다. MySQL 설치하기 - MySQL 설치 터미널을 열어줍니다. 터미널에 이와같이 brew update 를 입력하여 homebrew를 업데이트 해주시기 바랍니다. 이 때 시간이 조금 걸리게 되는데 기달려주시면 아래와같이 나타나게 됩니다. 이와같이 나타나게 된다면 업데이트가..

    알고리즘 스터디 - queue / 큐

    지난시간 Stack 에대해 알아보았는데 Stack 은 LIFO 였으나, Queue는 FIFO 다. FIFO First in First Out 의 약자로, 들어온 순서대로 나간다고할 수 있다. 이 때 우리가 흔히 커피를 주문하거나 맛집에 대기를할 때 Queue 와 비슷한 원리라고할 수 있다. 이 부분을 유의하며 오늘 공부를 잘 해보자. Queue 우선, Queue의 기본 원리는 알았으니 이미지를 보며 어떤 기능을 구현해야 하는지 보자. 이 이미지를 보면 그나마 좀 편히 알 수 있을것 같다. 숫자는 들어온 순서를 의미하며, Enqueue 는 큐에 추가를 하는것이고, Dequeue 는 들어온 순서대로 빼주는 기능이다. rear는 배열의 시작부분, front 는 배열의 끝부분이다. 간단히 보면 rear ~ fr..

    [ReactJS] 상태관리 라이브러리 Redux / store 와 connect()()

    2021.05.25 - [내가 공부하는것/JavaScript] - [ReactJS] 상태관리 라이브러리 Redux / 설치와 적용법 [ReactJS] 상태관리 라이브러리 Redux / 설치와 적용법 React 를 다뤄보신 사람들은 Mobx 나 Redux 에 대한 이야기를 많이 들어보았을 것이다. 필자는 Mobx 보다 Redux를 더 많이 들어보았고, 이 때문에 레퍼런스가 더 많을것 이라는 생각에 Redux 를 다루기로 webaura.tistory.com 위 글에서 reducer 와 action, type 설정을 했었다. 이에 이어서 store 를 설정하고 실제 프로젝트에 적용시켜보며 chorme 에서 Redux 의 상태를 볼 수 있는 방법을 알아보자. store redux/store import { cr..

    [ReactJS] 리액트 경고 : Assign object to a variable before exporting as module default

    react 를 하다보면 잦은 오류가 발생한다. redux 를 할 때 자주 발생했었는데 여러개를 export할 때 문제가 되는 부분이었다. 큰 문제는 아니지만 이렇게 뜨니까 너무 거슬려서 어떻게 수정을 해야하나 고민을 하였다. Assign object to a variable before exporting as module default 무슨 문제인가 구글링을 해본 결과 export default { store, persistor }; 이렇게 export 를 하면 경고가 발생한다고 한다. 그래서 아래와같은 코드로 변경을 해주는게 좋다. const stores = { store, persistor } export default stores; 이런식으로 export 하고자 하는 내용들을 묶어서 export 해..