반응형

전체 글 381

[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

[Git] 추적파일 목록 갱신하기, 추적내용 초기화

간혹 추적하는 파일을 갱신해야할때가 있다. 바로 프로젝트 초창기에 진행되는데, 이걸 모르고 있었다.그래서 항상 프로젝트 밀고 진행. 내용은 gitignore를 생성이 늦었을 때, 발생하는데npm init, yarn init 등 해당 파일을 추적시 같이 node_modules가 추적 되는 경우가 있다. .gitignore를 최신화한다.shell 명령어를 친다.git rm -r --cached .git add .git commit -m "Refresh .gitignore tracking"적용 내용을 확인한다.

코딩/Git 2024.12.07

[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

[AWS] AWS는 중지하였습니다.

5일켜놨는데, 로드밸런스, 스토리지 이용비용이 엄청쎄서 결국 중지하였습니다.5일만에 비용이 $9.2....정지당시 9.2였는데 이것저것 청구당해서 9.89로 종료되었습니다..너무 비싸서 aws설정을 모두 걷어냈습니다.인스턴스 중지, 삭제를 진행하였습니다.결국 7시간동안 삽질하면서 시놀로지 개인서버로 이전했습니다.포트 문제때문에 시놀로지쪽만 계속 만지다가 공유기 고치니까 한방에 고쳐졌네요. 허미~이력서에 포함해서 배포중인 서버인데, 해당 서버 죽어있으면;;;;결국 정상 작동 잘되고 있습니다. 호스팅케이알을 사용중인데,cname으로는 루트도메인을 사용하지 못하네요. 원인은 공유기쪽에서 포트포워딩하다가 80이랑 443을 5000, 5001로 호출해서 발생한 문제였습니다.5000, 5001은 시놀로지 관리자 포..

코딩/AWS 2024.10.28

[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
728x90