nest.js4 Node.js와 Express 그리고 Nest.js Node.js 란? Node.js는 서버 사이드 도구들과 어플리케이션을 JavaScript로 만들 수 있도록 해주는 런타임 환경 런타임 환경이란 컴퓨터가 실행되는 동안 프로세스나 프로그램을 위한 소프트웨어 서비스를 제공하는 가상 머신의 상태 Node.js 의 장단점 장점 싱글 스레드 기반 Non Blocking, 비동기 IO처리로 매우 빠른 고성능 서버 CPU 파워를 많이 필요로 하지 않는, 연결을 동시에 처리해야 하는 상황에서 좋음 프론트엔드와 벡엔드 기술의 통합으로 언어들 사이의 context shift를 다루는 시간을 줄일 수 있음 단점 싱글 스레드 모델이기에 하나의 작업이 오래 걸리면 전체 시스템 성능에 영향 많이 줌 ⇒ CPU 파워를 많이 필요로 하는 작업에 부적절 스크립트 언어의 특성 상 런타.. TIL/TIL 2022. 10. 3. [Nest.js] Passport-KaKao Strategy 관련 삽질 Kakao 로그인 / 로그아웃 (velog.io) 우선 처음 구현할 때 위의 블로그 글을 참조하여 구현하였다. 이후 내 입맛에 맞게 만들기 위해 수정을 해보려고 했는데 오픈된 자료는 적고 passport-kakao 공식 문서는 불친절하고 아주 죽을 맛이였다. (그냥 내가 멍청할수도??...) 문제 위의 블로그의 글처럼 controller 로 login, redirect,... 그리고 몇 개의 라우터로 카카오 공식 문서가 알려주는 대로 api 콜을 날려서 토큰과 유저 정보를 받아오는데 나는 여기에 kakao Strategy 를 만들어 @UseGuard() 데코레이터로 유효성 검사 등등의 작업을 시켜주고 싶었다. 나는 이제 구현하면서 몇가지 의문이 들었는데 사고의 흐름을 적자면 1. redirect 라우터에.. TIL/삽질 기록소 2022. 7. 13. [typeORM, Nest.js] OneToOne 관계 관련 삽질 기록 문제 원래 기존의 User 테이블이 유저의 모든 정보를 들고 있는 방식 보안 및 소셜 로그인 방식들을 확장하기 위해 기존 유저 Entity가 공통적이고 좀 덜 중요한 정보만 들고 있고 localUser, kakaoUser 등의 Entity 들과 OneToOne 관계를 맺는 DB를 수정하고자 하였음 One-to-One | TypeORM TypeORM 공식 홈페이지의 One-To-One 페이지의 예시는 유저와 프로필이였지만 찾는 본질적인 관계 자체는 똑같았기에 좋은 참고자료가 되었고, 추가적인 구글링을 통해 얻은 정보로 구현하였을 때 해결 과정 Service에서 콘솔 로그를 찍어보면 이미 저장한 user 와 localuser가 잘 검색되고 localuser 객체를 user의 local_user 필드에 할당해.. TIL/삽질 기록소 2022. 7. 10. Nest JS 공식문서 핥기(1) $ npm i -g @nestjs/cli $ nest new project-name 첫줄은 i(install) -g(전역으로) nestjs 설치 2번째 줄은 nest로 project-name 을 가진 새 프로젝트 생성 하면 이렇게 기본 세팅을 해준다 (저기서 내가 작성한 것은 README.md 뿐, 자동생성 된 것을 2로 돌려놨다) src 폴더를 보면 app.controller.ts : 하나의 라우터가 있는 기본 컨트롤러 app.controller.spec.ts : 컨트롤러를 위한 유닛 테스트 app.module.ts : 애플리케이션의 루트 모듈 app.service.ts : 단일 메서드를 사용하는 기본 서비스 main.ts : 핵심 기능 NestFactory를 사용하여 Nest 애플리케이션 인스턴스를 .. 미가공 필기(JS) 2022. 5. 19. 이전 1 다음 반응형