예전에 개발하면서 맞닥들였던 문제중에 하나가 type alias를 사용하여 union type을 입혀 enum 대신 사용하려 한적이있었다. 자동차 연료 타입을 지정하는 것이었는데 별 문제없이 진행될줄알았다. 당시 코드를 기억해보자면 아래와 같았다.fuelType이라는
nestjs를 해보기전에 express로 개발해 보신 분들은 error handling시에 throw new Error()라는 키워드가 매우 친숙할것이다. 내가 컨트롤 할 수 있는 범위 내에서 일어나는 에러를 가공할때 쓰여진다. nestjs에서도 비슷한 기능이 있을까?
프로그래밍을 하다보면 반복적으로 설정해 줘야하는것들이 있다. 그런것들은 손가락만 아프게하고 시간만 낭비하게 한다. 그러한 반복작업의 대표적인 예시는 dto 작성이었다. 그냥 dto쓰는것도 귀찮은데 swagger라도 붙여주려면 또 entity에서 했던것 그대로 반복해야한
드디어... 말로만 들었던 interceptor에 대해 공부해보는 시간을 가졌다. 컨셉은 이미 알고있었다. 뭐 중간중간 데이터를 가공하는데 쓰는거겠지 라고 대충만 알고있었는데 이 대충만 아는것이 또 문제를 일으킬것같아 조금 자세히 알아보는 시간을 가졌다.인터셉터는 중간
예전에 부트캠프에서 nestjs 관련 공부했을때 custom decorator를 만들어 본적이있다. 사실 그때 무작정 따라 치기 바빠서 이게 커스텀 데코레이터를 만드는건지도 몰랐는데 이번에 공부하면서 "응? 나이거 옛날에 해봤던거 같은데? 그때 했던 그게 커스텀 데코레
나는 신입 서버개발자로 일하며 내가 이렇게 이렇게 프론트로 부터 데이터를 받을수 있을까? 라고 생각해 주변 프론트개발자 분들에게 물어본적이 많다. "나 이렇게 이렇게 데이터 받고 싶은데 이런형식으로 줄수있어?" 라고 물어보며 로직을 생각한적이 많았던것 같다. 근데 서버
사용자가 서버에 데이터를 전달해주는 방식은 몇가지가 있다. 대표적으로는 body로 전달할수있으며 url을 이용한 param 그리고 query로 전달하는 방식이 있다. 이외에도 multipart/form-data라던가 form url encoded방식이라던가 있지만 일단
nestjs는 참 많은 기능을 제공해준다. 자체 제공해주는 기능이 많은것은 좋으나 아무래도 어떻게 그 기능이 동작하는지 알지 못한체로 개발하는것은 조금 불안할수 있다. 처음 nestjs를 배울때는 그냥 기능 하나하나 익히느라 그런것들을 신경쓰지 않았었는데 기능이 손에
nestJs는 모듈로 기능을 조립한다고 이전 포스팅에서 언급했었다. 그렇다면 nestJs는 middleware를 사용하지 않는다는 것인가?? 답은 전혀 그렇지 않다 이다. nestJs도 middleware를 사용할수있고 또 많이 사용한다. express에서는 morga
개발을 처음 배웠을때 nestjs로 개발을 시작했었다. 지금 생각해보면 참으로 의아할수도 누군가는 근본없다고 할수도 있을것같다. 아니 express도 모르면서 nest로 시작했다고...? 그래서 일까? 나 스스로도 뭔가 자신이 없었다. 기본을 모르고 무언가를 시작했다는
이전번 포스팅까지는 사실 어느정도 가벼운 마음으로 했다면 오늘할 포스팅은 살짝 긴장이 되는 마음으로 공부했다. 사실 충돌과 충돌해결 이야 말로 깃헙을 이용하여 협업하는 목적이자 깃헙의 꽃이라고 생각된다. 그럼 시작해 보겠다. 충돌 충돌은 왜 나는것일까? 충돌이 왜 나
저번 포스팅까지 소스트리로 어떻게 브랜치를 나누고 작업할수있는지 알아보았다. 그럼 이번 포스팅은 브랜치를 나누어서 작업했던 작업물을 어떻게 base 브랜치에 합칠수있는지 알아보도록 하겠다. merge 설명전 간단하게 용어만 언급하고 가자면 나누어진 분기로 작업한 최신
이전 소스트리1에서는 CLI튜토리얼에서 다루었던 기본적인 내용인 add, commit, push에 대해 소스트리로는 어떻게 할수있는지 알아보았다. 그렇다면 이제 조금 더 나아가 하나의 브랜치를 사용하는것이 아닌 여러개의 브랜치를 사용해보고 또 병합하는 과정과 충돌이 났
이번 포스팅으로는 소스트리에 대해서 얘기 해보려고 한다. 소스트리란 git을 가시적으로 보기 쉽게 GUI 도구로서 활용할수 있다. 그럼 다운받고 들어가고 하는 과정은 좀 생략하고 바로 로컬저장소 연결 부터 시작해보도록 하겠다. 아참 중간에 bitbucket쓸거나 bit
재미없는 제목으로 시작했지만, 재미있는 서론으로 시작해보려 한다. 누구나 그러하듯 매년 초에는 그럴사한 계획을 갖게된다. 다이어트를 하고 책을 읽고 운동을 하고 여러가지 계획을 세우고 의지를 불태운다. 하지만 마이크 타이슨 형님이 말씀하셨듯, "누구나 그럴사한 계획을
정말 오래간만에 블로그를 작성해보는것 같다. 오늘의 글을 쓰기전에 지금까지 써왔던 글들을 간단하게 읽어 보며 어떤 마음으로 글을 썼었는지, 2022년은 나에게 어떤 해였는지에 대해 상기하며 회고 하는 시간을 갖었다. 오늘 부터는 주기적으로 블로그를 작성할거 같다. 아니
우선 SQL은 기본적으로 관계형 데이터베이스의 쿼리문을 담당한다. 그렇다면 관계형 데이터베이스란 무엇일까??관계형 데이터 베이스는 형태가 정해져 있는 데이터 베이스를 뜻한다. 형태가 정해져 있으므로 데이터를 저장할때도 정해진 형태에 맞춰서 저장해야 한다. 예를 들어
오늘은 sql에서 지원하는 날짜, 시간 등에 대한 함수를 알아보고자 한다.우선 현재의 시간/날짜로는 current_date(), curdate()는 현재의 날짜를 리턴한다. 그리고 current_time, curtime()은 현재의 시간을 리턴한다. 마지막으로는 cur