23.05.23
오늘 한 일
▲ 알고리즘 문제 풀이
- Nest.js 강의 듣기
- 카공실록 프로젝트 시작
- 소주콘 참가
Nest.js 강의
[모듈, 컨트롤러 생성하기]
nest cli로 모듈, 서비스, 컨트롤러 생성할 수 있다. 기존 모듈들도 업데이트해줘서 편리하다.
[Body, Query, Param]
DTO(Data tranfer object): 계층간 데이터 전달 객체
- export default 대신 export class 사용한다.
- interface 대신 class를 사용한다.
interface는 런타임에서는 날라가는데, class로 하면 런타임에도 남아있고 타입 검증 수행할 수 있다. - @Query()
@Query()
query → query.page 형식으로 사용가능@Query('page')
page → page로 사용가능
nest에서 파일명은 보통 점을 찍어서 작성한다.
[나머지 API 설계하기]
한번 api 만들면 바꾸기 쉽지 않다. 나비효과가 커서 첫 설계가 중요하다.
[API 문서 만들기(Swagger)]
스웨거를 사용해서 자동으로 문서화할 수 있다. 모든 것들을 자동으로 만들진 않고 설명해야하는 부분들은 수동으로 데코레이터를 통해 작성한다.
[커스텀 데코레이터 만들기]
req res 안쓰게 할 수 있다.
만약 controller에서 req, res를 사용하면 테스트하거나 다른 프레임워크로 이전할 때 수동으로 바꿔주어야하는 번거로움이 존재한다. 커스텀 데코레이터 만들어서 의존성 생기는 문제를 줄일 수 있다.
[인터셉터 사용하기]
컨트롤러 앞에서 실행되고, 끝에서도 실행된다. 여러 곳에서 중복으로 사용되는 로직을 분리하여 인터셉터로 만들 수 있다.
카공실록 프로젝트 개발 시작
원래 Next13의 app 디렉토리와 emotion을 같이 쓰려고 했는데, app directory는 'use client'
를 붙이지 않으면 서버 컴포넌트로 돌아간다. 그래서 emotion의 styled로 작성하면 에러가 발생한다. tailwindcss를 사용하면 해결되어서 tailwindcss를 사용하기로 했다.
이슈템플릿, PR템플릿 만들고 기본 레이아웃까지 잡았다.
소주콘 참가
오늘 오후 7시부터 9시까지 소주콘(소문난 주니어 콘퍼런스)에 참가했다.
개발진스 만드신 개발자분도 연사로 오시고, 나는솔로의 광수로 출연하셨던 이바로슬님도 오셨다. 30분 정도 네트워킹 시간을 가졌는데 다들 개발자이셨다. 이런 저런 얘기도 듣고 재밌었다.
끝나고 뒷풀이도 가서 더 얘기하기다가 집에 갔다.
이런 컨퍼런스 자주 참여해야겠다는 생각이 들었다. 이렇게 실무에서 일하시는 분들과 만나서 이야기를 나눌 수 있어서 좋았다.
내일 할 일
- 알고리즘 문제 풀이
- 카공실록 상세페이지 작업
- 함수형 프로그래밍 스터디
- 바닐라JS로 리액트 만들기 스터디 - SPA 구현하기