mysql(17)
-
NestJS cache-manager 사용하기
캐싱을 통한 성능 개선 1. cache?캐싱은 데이터의 복사본을 임시 저장소에 저장하여, 동일한 데이터에 대한 요청이 있을 때 더 빠르게 응답할 수 있도록 하는 기술입니다. 이를 통해 데이터베이스의 부하를 줄이고, 응답 속도를 개선할 수 있습니다. 2. 캐싱의 필요성 성능 향상: 데이터베이스 쿼리의 수를 줄여 응답 속도를 개선합니다. 비용 절감: 데이터베이스의 부하를 줄여 서버 비용을 절감할 수 있습니다. 사용자 경험 개선: 빠른 응답 속도로 사용자 만족도를 높입니다. 3. 캐싱 구현 방법NestJS를 사용하여 캐싱을 구현하는 방법을 소개합니다. 3.1. 캐시 모듈 설치npm install @nestjs/cache-manager cache-manager 3.2. 캐시 모듈 설정app.modul..
2024.10.03 -
[Node.js, MySQL] 조회 에러
postsRouter.get('/posts', requireAccessToken, async (req, res, next) => { try { let { sort } = req.query; sort = sort?.toLowerCase(); if (sort !== 'desc' && sort !== 'asc') { sort = 'desc'; } let data = await prisma.post.findMany({ orderBy: { createdAt: sort, }, include: { user: true, }, }); data = data.map((post) => { return { ..
2024.06.05 -
[Node.js] passport naver 로그인
이번 글에서는 네이버 애플리케이션 등록과 설정에 대한 내용은 생략하겠습니다. passport를 활용한 네이버 소셜 로그인에 초점을 맞추고 있습니다. 이를 위해 Inpa Dev님의 글을 참고하여 기본적인 방법을 소개하겠습니다. npm install passport-naver-v2 먼저 라이브러리를 설치합니다 여기서 v2말고 passport-naver 라이브러리도 있습니다 하지만 네이버에서 구현한 passport-naver 가 있지만, 5~6년 전에 개발 이후로 더 이상 진전이 없고, 프로필 데이터도 한정적으로 제공하고 있어 passport-naver-v2가 나왔습니다. // .envNAVER_CLIENT_ID=your_client_idNAVER_SECRET=your_client_secretNAVER_CA..
2024.06.03 -
[백엔드 면접 질문] Node.js, 데이터베이스 관련
Node.js란 무엇인가요?Node.js는 자바스크립트의 런타임 환경이며 Node.js는 비동기 이벤트 기반 프로그래밍 모델을 사용하여 높은 처리량 확장성을 제공합니다. Node.js의 주요 특징은 무엇인가요?비동기 I/O : Node.js는 비동기 이벤트 기반 프로그래밍 모델을 사용하므로 I/O 작업을 동기적으로 처리하지 않고 비동기적으로 처리할 수 있습니다. 이것은 Node.js가 대규모 애플리케이션에서 높은 처리량과 확장성을 제공하는 이유 중 하나입니다.빠른 속도 : Node.js는 V8 자바스크립트 엔진을 사용하여 빠른 속도로 코드를 실행합니다. 또한 이벤트 루프와 함께 자동하여 더 빠른 속도를 제공합니다.싱글 스레드 : Node.js는 단일 스레드 모델을 사용하므로 스레드 간 동기화 문제를 피할..
2024.05.30 -
[Node.js] prisma 이력서 수정 where Error
/** 이력서 수정 API **/resumesRouter.patch('/:resumeId', authMiddleware, resumerUpdateSchema, catchAsync(async(req, res)=>{ const data = req.body; const { id } = req.user; const { resumeId } = req.params; // 이력서 존재 여부 확인 const existingResume = await prisma.resume.findFirst({ where: { id: parseInt(resumeId), userId: id } }); if (!existingResume) { return res.status(404)..
2024.05.28 -
Prisma 시작하기
Prisma란? Node.js에서 쓰는 ORM이다.DB는 PostgreSQL, MySQL, SQLite, SQL Server, MongoDB를 지원한다 공식 문서에 따르면 Prisma는 아래의 구성 요소로 이루어져 있다.Prisma Client: Auto-generated and type-safe query builder for Node.js & TypeScriptPrisma Migrate: Migration systemPrisma Studio: GUI to view and edit data in your database 이번 글에서 우리는 Node.js, MySQL, Prisma를 적용해 보자 1️⃣ Prisma 설치npm i prisma @prisma/client prisma를 설치 후, npx pr..
2024.05.20