반응형

코딩/Node.js 18

[Node] 서버를 항상 꼬박꼬박 끄자.

ps aux | grep node • ps: 현재 실행 중인 프로세스를 출력 (process status) • a: 모든 사용자(user)의 프로세스 보기 • u: 사용자 이름 포함해서 보기 • x: 터미널에 연결되지 않은 프로세스도 보기 (백그라운드 포함)터미널에서 쉽게 사용하는 명령어다.이번에 알게된 사실인데, 윈도우의 경우 매번 끄니까 상관없지만, 맥의 경우 상시부팅해놓는다.pm2로 db안불려와서 뭔가 하고 찾아보다가 아주 예전에 개발하다가 켜놓은 서버가 살아있더라..;;;맥 최상급기종이라 스펙은 문제없어 상관없지만... 그래도 자원낭비는 하지말아야하니까...ctrl+c로 꺼야했는데... ide를 꺼버리거나 터미널을 꺼서 안꺼진 사례였다. 구동예시 USER PID ..

코딩/Node.js 2025.05.09

[Mongodb] 몽고디비 설정하기 및 기본 CRUD

설치 명령어brew tap mongodb/brewbrew install mongodb-community@7.0brew services start mongodb-community@7.0 기본설정import mongoose from 'mongoose';const { PORT, MONGO_URI } = process.env;mongoose .connect(MONGO_URI) .then(() => { console.log('Connected to MongoDB'); }) .catch((e) => { console.error(e); });// MONGO_URI 가 mongodb://localhost:27017/[테이블이름]  스키마 설정import mongoose from 'mongoose';..

코딩/Node.js 2024.12.09

[koa] Import / export syntax 적용하기

원래는 import, export를 무조건 esm 이라는 라이브러리를 이용해야했지만, 해당 문법이 이미 최신 node에서 사용이 가능하다. 즉 수정할 곳은 두곳인데, 한개도 생략이 가능하다. // package.json 파일 추가"type": "module" 아래가 생략이 가능한 부분.// .eslintrc.json { "env": { "node": true, "es2021": true }, "extends": ["eslint:recommended", "prettier"], "globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" }, "parserOptions": { "ecmaVersion": 2020..

코딩/Node.js 2024.12.09

[koa] koa 학습하기 - 2 - 컨트롤러 적용

yarn add koa-bodyparser // index.js// 내용 수정한다const Koa = require('koa');const Router = require('koa-router');const bodyParser = require('koa-bodpareser');const api = require('./api');const app = new Koa();const router = new Router();router.use('/api', api.routes());// 라우터 적용전에 적용app.use(bodyParser());// app 인스턴스에 라우터 적용app.use(router.routes()).use(router.allowedMethods());app.listen(4000, () => ..

코딩/Node.js 2024.12.08

[koa] 코아 프레임워크 학습 - 1 - 라우팅 기능적용

express 개발자들이 express의 단점을 고치고자 했으나 내부구조가 변경되어야 하므로React처럼 view 즉, 미들웨어 부분만 따로 빼서 만든 프레임워크입니다.express처럼 여러 기능이 내장되어 있는 게 아니라서 추가로 설치해야합니다. express를 사용할 줄 아나 원활히 사용한다고 생각되지 않아, 해당 코드를 학습합니다. index파일 하나에 넣고 코드를 적용할 수 없어, 해당 코드를 분할합니다. yarn add koa koa-routeryarn add koa koa-router/// index.jsconst Koa = require('koa');const Router = require('koa-router');const api = require('./api');const app = ne..

코딩/Node.js 2024.12.08

[yarn] yarn 설치 불가 이슈(다층구조 충돌이슈)

yarn으로 koa 프레임워크를 이용하여, 노드환경을 구성하려고 한다.그런데, 이러한 에러가 발생하길래 무엇인가해서 봤더니, 내용에 정답이 있다.  Usage Error: The nearest package directory (/Users/맥북/2024.12/techofReact/blog/blog-backend) doesn't seem to be part of the project declared in /Users/맥북.- If /Users/맥북 isn't intended to be a project, remove any yarn.lock and/or package.json file there.- If /Users/맥북 is intended to be a project, it might be that y..

코딩/Node.js 2024.12.07

[NODE] JWT 기능 구현.

기존에 일했던 곳은 세션으로 로그인을 구현했는데, 이력서에 하도 포폴 내 사용가능이라길래 JWT라고 하도 사람들이 그러길래 기능 구현을 해보았다.JWT 내 만료시간, 서명, 내용이 들어간다. 그런데, 이거 완전 stateless라고해서 찾아보니 어허~딱히 그러지도 않네...기존에 서버의 경우 uuid를 통해 session을 만들어왔다.그런데, 이건 뭐;;;로그아웃 기능을 구현해보니, 탈취점이 확실히 보인다.서버에서 cookie로 리프레쉬토큰만 저장해두는데, 로그아웃시 리프레쉬 토큰을 삭제한다.리프레쉬는 서버에 저장하고 상대적으로 유효시간이 짧은 accesstoken을 저장하지 않게 구현했다.로그인시 accessToken 내 만료시간 확인해서 로그인 시키는 구조인데, 이게 탈취되면 막을 방법이 없는 것. ..

코딩/Node.js 2024.11.01

[NODE.JS] 라이브러리 기능 설명

morgan - 파라미터에 따른 로그출력 다르게 하는 라이브러리('dev', 'combined', 'common', 'short', 'tiny')cookie-parser - req에 포함된 cookie를 해석해서 req.cookies를 객체로 만들어주는 미들웨어body-parser - req.body를 객체로 만들어주는 미들웨어(단, 멀티파트폼은 안된다. - 이미지/영상/파일)express-session - 세션 관리용 미들웨어(로그인 시 세션구현)dotenv - 의미 그대로 .(dot)ENV을 읽어 process.env로 만들어준다. -> 가끔 실제 서버 로그에 get(.env)로 공격하는 곳도 있다.실제로 응답해주는 서버들이 있기에...multer - 이미지, 동영상, 파일을 업로드할 때 사용되는 라..

코딩/Node.js 2024.10.25

[Nodejs] nodejs입문 코드 구성하기

https://javafa.gitbooks.io/nodejs_server_basic/content/ README · node.js 서버구축하기 javafa.gitbooks.io https://youtu.be/HeOh-go-fYY?t=253 제일 첫 링크는 get과 post 방식때문에 넣은건데 http모듈을 통해서 작성되어 있다. 두번째는 express 라이브러리를 통해서 작성하는건데, 그냥 현업에 가면 죄다 express 쓰니 하단으로 개념을 이해하자. 필자도 헤맸던 이유가 http는 뭐고 express는 뭔지 둘다 서버를 만드는데 이건 뭘까 했는데, 그냥 다른 이름의 내장 모듈이냐 아니면 외부 모듈이냐 차이다. 그리고 편의성은 외부가 낫고. 그냥 외부인 koa또는 express쓰는 게 좋다. expre..

코딩/Node.js 2021.09.22

[Nodejs]Node.js 교과서 라는 책이 있는데, 비추천한다.

코드 작동안되는 것도 있고 저자도 이걸 아는데, 깃허브 원본 소스도 안고친다. 아니 웹소켓 만지려고 산건데, 핵심코드가 작동이 안되는 게 말이되나? 진짜 비 엄청와서 책가방이 젖는바람에 책이 젖어서 팔지도 못하고 진짜 trash한 책. 왜 1판때 비추폭탄 맞은건지 이해했다. 쉬운걸 어렵게 설명하는 책이었다. 이걸 왜 파는거지...?

코딩/Node.js 2021.09.22
728x90