전체보기

· NestJS
처음 시작은 nestjs 서버 시작하는 로그를 DB에 남기기 위해서였다. 어떻게 할까 궁리하며 이것저것 찾아보다 보니, main.ts에서 모듈을 불러와 처리하는 방법이 가장 간단하고 깔끔한 것 같아 정리한다. 단지 모듈을 어떻게 들고오는지 궁금하다면, 바로 구현방법 파트로 넘어가자 목표 목표는 아래 사진에 나오는 것처럼 NestJS Application이 정상 동작했다는 로그(Nest application successfully started)가 나온 뒤, database에 서버가 시작됐다는 로그를 남기는 것이다. 구현 방법 구현 방법은 매우 간단한다. //... await app.listen(9091); const logService = app.get('homemadeClass'); logService..
· NestJS
미들웨어를 이용하여, 요청이 들어오는 모든 api에 대해 log를 남길 수 있도록 해보자. Before begin 사실, 서버로 들어오는 모든 요청에 대해 로그를 만들어 DB에 저장하기 위해 이 작업은 시작되었다. 아래 그림은 NestJS에서 제공하는 Middleware flow와 NestJS의 LifeCycle이다. Middleware??? 위 그림에서 볼 수 있듯이 Middleware는 route handler 함수에 들어가기 전에 실행되는 함수이다. 그리고 이 Middleware Function에서는 request 객체, response 객체, next 함수에 접근이 가능하다. 기본 아이디어 처음에는 인터셉터에서 Log를 남겨보려고 하였으나, 이렇게 되면 가드에 막히는 요청들은 로그를 남길 수 없게..
· TypeORM
TypeORM이 무엇이고, 왜 필요한지, 그리고 어떻게 사용할 수 있는지에 대해 알아보자. ORM??? ORM(Object Relational Mapping)은 말 그대로 Object와 관계형 데이터베이스의 데이터를 맵핑해주는 것을 의미한다. 일반적으로 OOP는 Object를 사용하고, RDB는 table을 사용한다. 이렇게 OOP의 모델과 RDB의 모델간에 불일치가 존재하고, ORM은 객체간의 관계를 바탕으로 SQL을 생성하여 불일치를 해결한다. 즉, 객체를 통해 간접적으로 데이터베이스의 데이터를 다룰 수 있게 된다. Why People use ORM? ORM을 사용함으로써 얻을 수 있는 이득은 아래와 같다. 객체지향적인 코드로 인해 더 직관적이고 비지니스 로직에 집중 할 수 있게 된다. SQL Que..
· TypeScript
프로젝트를 진행 중에 갑자기 아래와 같은 오류가 발생하기 시작했다. 어떻게 해결 할 수 있는지 알아보자. Error 메시지 Solution 구글링을 해보니, 2가지 방법으로 할 수 있었다. 1. 컴파일러옵션에서 allowJs 옵션을 제거한다. 2. exclude 항목에 outDir(JS로 컴파일된 파일들이 모이는 장소)에 등록한 폴더를 추가하기 나의 경우, 애초에 allowJS옵션을 적용하지 않고 있었기에, 2번째 방법으로 해결하였다. { "compilerOptions": { "module": "commonjs", "declaration": true, "removeComments": true, "emitDecoratorMetadata": true, "experimentalDecorators": true,..
· CSS
flexbox에서 item을 우측정렬 할 수 있는 여러 방법에 대해 정리하고자 한다. float를 사용하는 방식도 있지만, 더 이상 잘 사용하지 않음으로 여기에서는 flex를 이용한 방법에 대해 정리한다. 이 글은 daleseo님의블로그를 참고하였다.(너무 잘 정리가 되어있다!) 목표 이 글에서는, 구체적으로 아래 사진에 있는 close 버튼만 우측 정렬하는 방법에 대해 소개하고자 한다. 결론적으로 아래 사진과 같은 모습이 될 것이다. margin-left: auto 첫 번째 방법으로는 margin-left를 이용하는 것이다. 아래 표는 mdn에 정리된 표를 참고했다. 즉, display값이 flex || inline-flex 인 경우, margin-left:auto를 하게 되면, 해당 엘리먼트가 속한 ..
· NestJS
이 생각의 시작은 migraition 설정을 위해 ormconfig.ts를 만들면서였다. ormconfig.ts에서 @nestjs/config가 제공하는 ConfigService를 사용하고 싶었지만, 그러기 위해서는 결국 nestjs app이 필요했다. 어떻게 이 문제를 해결 할 수 있을 까 고민하다 standalone application이라는 것을 알게 되어 정리하고자 한다. How To? 해당 내용은 공식문서를 참조하였다. //main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { AppService } from './app.service'; async function b..
moyanglee
'분류 전체보기' 카테고리의 글 목록 (25 Page)