일반적으로 Local과 JWT를 사용하여 전략을 수립하고, 그에 따라 Guard를 만든다. JWT 자체는 쉽게 decode가 가능하기는 하지만, 그걸 대비해 내부의 식별 값을 하나 더 둔다. 임의로 값을 바꿀 경우, 이 식별 값도 함께 바뀌기 때문에, Token을 만들
서비스를 구현하다보면 당연히 여러 사용자가 존재하게 된다. 이 사용자라는 표현은, 그냥 내 임의로 부르는 호칭인데, 말하자면 유저의 성격이다. 예컨대 커머스라고 한다면 구매자와 판매자, 관리자가 있을 수 있고, 예약 서비스를 만든다면 식당 주인과 손님이라는 관계가 생길
공식문서 상에서 AuthModule은 다음과 같은 형태로 구현된다.보다시피, AuthModule에 UsersModule을 import한 형태로 작성된다.하지만 개인적인 소감으로는, 이 방식보다는 AuthModule이 직접 User를 다루는 게 맞다고 봤다.따라서 나라면
차근차근 Nest에 대해서 설명하고자 한다. 이 글에서는 Controller와 Service, Repository를 어떻게 구분하면 좋을지를 설명한다. 당연히 각 역할대로 구분하면 된다는, 간단한 소개가 되겠지만, 그 각 역할이 뭔지 이야기 해보자.Express 유저라
"30,000원 이상 구매 시 배송비는 무료가 된다고 해봅시다. 일반적인 경우 배송비는 5,000원, 이런 조건이 있을 때, 누가 3,000원 짜리 1개, 28,000원 짜리 1개를 사서 배송비 무료 기준을 넘겼어요. 그러면 배송비는 무료니깐 31,000원만 결제하면
원칙은 ‘레이 달리오’가 자신의 회사를 이끌면서 경험한 내용을 정리한 책입니다.이 문서는 제가 그 책을 읽고 정리한 글입니다.“의사소통에도 비용이 든다.” 저는 개인적으로 이런 사실이 의아했습니다.스타트업은 각자 개인의 성공을 위해 모인 조직인데, 이런 비효율이 용인할
상품의 Entity 정의해시태그의 Entity 정의hashtag도 index 번호와 text만 가지게끔 간단하게 정의가 됐습니다.이런 다대 다 관계에서, 우리는 중간에 1:n, m:1이 되도록 관계 테이블을 만들 수 있을 거에요.상품과 해시 테이블 간 관계 Entity
이 글은 발표한 내용을 정리한 것입니다.Node.js에서 기본적으로 사용되고 중요한 또 다른 패턴은 관찰자 패턴입니다. 리액터 ( Reactor )그리고 콜백 ( Callback ) 과 함께 관찰자 패턴은 비동기적인 Node.js 세계를 숙달하는 데 필수적인 조건입니다
저는 비동기에 대해서 이렇게 이해했어요. 지금 코드가 돌아가는 환경이 아니라, 외부 환경에서 특정 기능을 동작할 때, 외부 환경을 기다리는 대신 현 환경에서의 기능을 진행하는 것이라고요. 사실 이건 이해하고 말했다기보다, 그냥 그렇게 보였다고 말하는 게 더 정확한 것
서론 며칠 전 알게 된 사람으로부터 하나의 영상이 왔다. 영상의 내용은 한 스타트업이 기술을 어떻게 선택했고, 그 결과로 겪게 된 좌충우돌의 성장기였다. 내가 스타트업 개발자로 들어가게 된 탓에, 그리고 여기의 유일한 백엔드 개발자인 탓에 이 영상을 보내준 것으로 보였
너무 장황하게 설명하는 대신에 이걸 왜 해야 하고, 어떻게 해야 하는지, 그리고 하면 뭐가 좋은지만 설명하고자 합니다. 대신에 이와 관련된 내용들은 링크를 걸어놓겠습니다.🚧 이 글은 Node.js 16.9.1 version을 기준으로 작성되었습니다."이 글은 Node
이 글을 쓰기에 앞서 최근에 몇몇 스타트업을 방문하게 되었다. 아직 확정난 것은 아니지만, 나는 아무래도 신생 스타트업에 합류할 것 같다. 나는 모든 게 처음이라서 혼자 끙끙 앓은 시간이 참 길었다. 그래서 지금까지 있던 일들을 회고할 겸 기록으로 남긴다. 이 글을
이번 글은 짧은 내용을 다룬다. 아마 dotenv를 사용하다가 Nestjs와 ConfigModule을 사용하려던 사람들은 시행착오를 많이 겪을 것이다. 사실 TypeORM을 써서 발생하는 문제는 아닌데, 이런 상황을 주로 만나는 게 아무래도 ORM일 것 같아서 제목에도
Express에서는 다음과 같이 CRUD를 만든다. 사실 간편하고 빠르게 서버 어플리케이션을 확장할 수 있다는 게 장점이다. 하지만 Express는 구조적으로 짜임새가 있지는 않다. 그래서 결국에는 차세대 프레임워크에게 자리를 물려줄 것으로 보인다. 이제부터 직접 두
이 글은 웹페이지 HTML 구조 한눈에 보는 꼼수 - oneook 을 보고 작성하게 되었습니다.velog를 보다가 꼼수를 배웠다. 이 코드를 사용해서 모든 layout을 한 눈에 볼 수 있도록 해준다고 한다. 흥미롭지만 이 코드를 매번 복사하고 다니기 귀찮으니까 어딘가
이 글은 Node.js를 더 잘 다루기 위해 비동기 제어를 설명합니다.일부러 돌아가는 길을 선택함으로써 일반적으로 사용하지 않았을 법한 것을 설명합니다.즉시 실행 함수 형태로 구글의 메인 페이지 문서를 읽는 코드를 작성했습니다.간단합니다.다음으로는, 이를 10번 반복하
ESM의 단점은, 모듈 식별자를 실행 중에 생성할 수 없다는 점, 모든 파일의 최상위에 선언되어 제어 구문 내에 포함될 수 없다는 점이다. 이는 사용자에 따라 다른 모듈을 불러야 하는 경우에 지나친 제약이 될 수 있다. 따라서 이를 극복하기 위해 비동기 임포트 ( 동적
사실 CommonJS는 표준이 아니에요.조금 역사를 이야기할 필요가 있는데, 아시다시피 JavaScript는 프론트 언어였습니다. 그런데 프론트에서는 HTML 문서 상에 script 태그를 이용해서 JavaScript 코드를 전역 상태로 사용하곤 했죠. 그러다 보니 당
이 글은 Node.js 디자인 패턴 바이블이라는 책을 기반으로 하고 있어요.이 글은 CommonJS에 대해서 말하고 있어요.이 글은 원래 스터디 발표 용도로 작성된 거에요.해결 알고리즘은 크게 다음 세 가지로 나눌 수 있어요.파일 모듈 : 상대 경로로 작성되었는가?코어
여담입니다만, 어떻게 글을 써야 모두가 좋아할 글이 될 수 있을까요?저번 시간에는 Express의 구조를 보았습니다. 복습 겸 말씀을 드리자면 ( 제 복습이기도 합니다. ) Express는 Application을 내보내는 함수였습니다. Application은 route