Javascript Promise에 대하여
·
Server/Node
Promise의 탄생 배경초기 자바스크립트에서는 비동기 처리를 위해 콜백 패턴을 사용했는데, 심각한 문제들이 발생하며 이를 해결하기 위한 과정에서 Promise가 등장하게 되었다.1. 콜백 지옥 (Callback Hell)// 콜백 지옥의 예시getUserData(userId, function(user) { getPosts(user.id, function(posts) { getComments(posts[0].id, function(comments) { getAuthor(comments[0].authorId, function(author) { // 들여쓰기가 계속 깊어지고 코드가 복잡해짐 }); }); });});// Promise를 사용한 개선된 코드getUs..
tRPC에서의 쿠키 설정 및 안전한 클라이언트-서버 간 쿠키 관리 방법
·
Server/Node
tRPC에서 Cookie를 설정하게 된 배경최근 회사 서비스에서 국제화(i18n) 기능을 추가하게 되었다.서버 사이드에서 언어를 처리하기로 협의가 이뤄졌고, 이를 위해 서버 단에서 Redux를 사용하여 언어에 맞는 번역 데이터를 제공하는 방법을 선택하였다.이때, 서버는 사용자가 어떤 언어를 사용하고 있는지 알아야 하므로, 사용자의 언어를 판단하는 과정을 고민하게 되었다.사용자 언어 판단 방법먼저, 로그인한 유저인지 아닌지를 판단하기로 했다.로그인한 유저라면, 유저 DB에 존재하는 locale 정보를 가져와 언어를 판단하기로 했다.로그인하지 않은 유저를 위해서는 다양한 방법을 준비했다.이미 우리 서비스를 사용한 유저일 수 있으므로, 저장된 쿠키를 확인하기로 했다.쿠키가 존재하지 않는다면, HTTP 헤더에 ..
RPC의 이해와 tRPC 예제 소개
·
Server/Node
RPCRPC에 관심을 갖게 된 이유?RPC에 관심을 갖게 된 이유로는 두 가지가 존재합니다.             먼저, 회사에서 새롭게 진행하는 서비스에서 tRPC를 사용하기로 했습니다. 별도의 외부 서버를 둬서 API를 호출하는 것이 아닌, Next.js를 사용하여 백엔드 서버까지 구현하려 하고 있어요. 해당 프로젝트에 기여하려면 tRPC, 즉 RPC에 대해 어느 정도 이해가 필요하다고 생각했습니다. 또 하나는, 많은 공고에서 RPC가 많이 보이고 있기 때문이에요. 흔히 이야기하는 테크 기업들에서 필수 사항은 아니지만, 해당 기술을 사용하고 있거나 우대사항에 RPC 경험을 서술하고 있거든요.회사의 프로젝트 기술에 이해도를 높이기 위해, 많은 회사에서 사용하고 있는 기술이라는 호기심을 충족해 보기 위해..
[Nest.js] TypeOrm, Postgresql 적용
·
Server/Node
PostgreSql 설치 Brew 명령어 brew install postgresql TypeOrm 명령어 npm install @nestjs/typeorm typeorm pg DB Driver 설치 명령어 npm install ts-node -g Nest.js 세팅 문서 import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: 'root', database: 'test', entities: [..
코드플리
'Server/Node' 카테고리의 글 목록