분류 전체보기

    NestJS 기초 (15) MVC 디자인 패턴 구현하기

    MVC(Model-View-Controller) 패턴은 사용자 인터페이스, 데이터 및 논리 구조를 구현하는 소프트웨어 디자인 패턴입니다. MVC 모델의 핵심은 비즈니스 로직과 화면 구현을 분리하여 관리하는 것입니다. 각 요소는 다음과 같은 특징을 갖고 있습니다. 보다 자세한 사항은 MDN의 MVC 설명 문서를 참고해보시기 바랍니다. 모델(Model): 앱에서 처리할 데이터를 관리합니다. 데이터 상태가 변경되면 뷰 또는 컨트롤러에게 이를 전달합니다. 뷰(View): 레이아웃과 화면을 처리합니다. 컨트롤러: 명령을 모델과 뷰 사이에서 사용자 입력에 대한 응답을 처리하는 로직을 포함하고 있습니다. NestJS에서 MVC 구현하기 이제 NestJS에서 MVC 패턴을 구현해보도록 하겠습니다. 먼저, 새로운 프로젝..


    [집무실 레터 ⑫] 비슷한 결의 커넥션 만들기

    안녕하세요. 휘입니다. 오늘은 지난 레터에서 말했던 ‘커넥션’에 대해 이야기해보려고 해요. 전에 저는 프리랜서의 고충과 단점이라는 글을 적었던 적이 있는데요. 여기에서 프리랜서의 큰 고충 중 하나는 ‘혼자’라고 적었던 적이 있어요. 이건 한편으로는 어쩔 수 없는 프리랜서와 1인 기업의 숙명이기도 한데요. 프리랜서나 1인 기업이 되기로 하는 것은 결국 혼자서 일하기로 결정하는 것이기도 하니까요. 문제는 처음에는 좋을 수는 있어도 시간이 지나면 힘들어지기 마련이라는 것이죠. 저도 그랬어요. 코로나 이전부터 재택 근무를 했던 저는 누구의 눈치도 보지 않고 거의 원하는 때에 출근하여 거의 원하는 때에 퇴근하는 자유를 만끽할 수 있었어요. 그러나 이러한 생활이 6개월 이상 이어지다보니 문득 시끌벅적한 조직의 소속..


    자바스크립트 클래스 설명

    클래스는 객체를 생성하는 템플릿입니다. 클래스를 설명하면서 붕어빵 이야기를 많이 하죠. 붕어빵을 만들려면 붕어빵을 찍어내는 틀이 있어야 합니다. 이 틀을 바로 클래스라고 하며, 클래스를 통해 찍어낸 실제 붕어빵을 객체의 인스턴스라고 합니다. 클래스 정의하기 자바스크립트에서는 두 가지 방식 1) 클래스 선언식과 2) 클래스 표현식으로 클래스를 정의할 수 있습니다. 클래스 선언식 (Class declarations) 클래스 선언식은 클래스를 정의하는 방법 중 하나이며, class 키워드와 함께 클래스 이름을 지정합니다. 이때 이름의 첫 문자는 대문자로 적어주는 것이 컨벤션입니다. class Rectangle { constructor(height, width) { this.height = height; thi..


    행복에 대하여 ⏐ 59 ⏐ 일상 에세이

    '행복해지고 싶다면 이렇게 사세요'하고 말하는 책들을 읽을 때면 혼란스러워진다. 나는 지금도 충분히 괜찮은데 저자가 제시하는 말들이 내가 살아가는 방식과 충돌할 때, 그것도 방대한 논리와 근거로 나를 설득해올 때, 어딘가 잘못된 착각 속에 살고 있는 건 아닌가 하는 회의가 들기도 한다. 그래서 나는 '-하라'는 식의 이야기를 담은 책들은 좀처럼 보지 않는다. 애초부터 우리는 다른 삶의 맥락에 놓여있고, 또한 행복에 대한 정의도 다른데 과연 그대의 말이 내게 얼마나 유효할 수 있을까? 인생은 수학이 아니라 문학에 더 가까울 것이라 믿는 나는 행복과 삶에 대한 명쾌한 성공 방정식보다는 황량한 삶의 한복판에서 써내려간 누군가의 진실한 고백 앞에 멈춰서서 더 많이 다짐하고 결심하고 싶어진다. 사실 행복은 내 삶..


    스벤 브링크만 ‹불안한 날들을 위한 철학›

    우리는 죽을 수밖에 없는 우리 자신의 운명을 생각해야 한다. 메멘토 모리. 네가 죽으리라는 걸 기억하라. 당신의 죽음을 매일 생각하라. 그렇다고 무기력해지거나 절망에 빠져서는 안 된다. 우리도 언젠가 죽는다는 생각에 차츰 익숙하지고 삶을 더 감사히 여길 수 있도록 죽음을 생각하라. 그래서 위대한 철학자 소크라테스는 철학을 잘 죽는 법을 배우는 학문이라고 정의했다. 그런데 요즘 우리 사회는 지나치게 긍정적인 면에만 집중하라고 부추긴다. 모두들 '좋은 삶에 대해서는 쉽게 말하면서도, 잘 죽는 법을 배우는 것에 대해서는 말하지 않는다. 우리는 잘 죽는 법을 배워야 할 것이다. 16세기 프랑스 철학자 몽테뉴가 쓴 것처럼 "죽는 법을 배운 사람은 노예가 되는 법 을 잊는다." 죽음을 생각하는 목적은 그 자체에 매..


    [집무실 레터 ⑪] 혼란 속에서 균형을 찾기

    사실 지난번 레터를 쓰고 조금 걱정이 됐어요. ‘정답이란 게 꼭 내 안에 있는 건 아닐 수 있다’고 했잖아요. 그런데 기존의 집무실 레터에서는 대부분 내 안의 목소리를 따라서 나만의 정체성을 갖고 루틴을 가지라고 뉘앙스로 말했던 거 같았거든요. 그런데도 ‘정말 내 안에 답이 있을까?’라는 조금 혼란스러울 수도 있는 메시지를 공유했던 건 지난날에 제가 겪었던 시간 낭비를 누군가는 경험하지 않았으면 좋겠다는 바람 때문이었어요. 저는 우리에게 무엇보다도 중요한 것이 바로 시간이라고 생각해요. 우리에게 주어진 시간은 분명 유한하고 또 언제 갑자기 없어질지 모르는 너무도 소중한 것이잖아요. 그래서 시간을 가장 현명하게 쓰는 것이 프리랜서나 1인 기업에 꼭 필요한 일 중 하나라고 생각해요. 그런데 제가 가장 많은 ..


    [집무실 레터 ⑩] 정말로 좋아하는 일을 찾고 있나요?

    오늘날 우리가 정말 많이 듣는 말 중 하나가 바로 ‘답은 내 안에 있다’는 말인 거 같아요. 철학적이기도 한 이 말은 거의 모든 젊은 사람들에게 시대의 정언처럼 작용하고 있죠. 무엇보다도 사람들은 이 말을 믿으며 ‘진짜 내가 좋아하는 일’을 찾아내기 위해 고군분투하는 거 같아요. 그런데 정말 우리 안에 답이 있을까요? 내면의 목소리에 귀기울이면 무언가를 들을 수 있을까요? 한 때는 모두가 지구가 평평하다고 믿었던 때가 있었죠. 지금 생각하면 한심하지만 당시의 사람들은 절대로 둥근 지구를 생각하지 못했고, 또 그러한 현상을 인식하지도 못했어요. 자기 안에 있는 너무도 확고한 신념에 갇혀 있었기 때문이죠. 그래서 사람들은 걱정했어요. 바다 멀리 나아가면 어느 순간 바다가 뚝 끊겨서 낭떠러지로 떨어지게 될 것..


    NestJS 기초 (14) 이미지 파일 업로드하기

    NestJS에서는 multer 미들웨어 패키지를 사용하여 이미지 파일을 업로드할 수 있습니다. multer는 multipart/form-data 형식을 통해 HTTP POST 요청으로 업로드 되는 파일을 처리할 수 있게 도와줍니다. multer 설치 및 기본 설정 다음 명령어를 통해 multer를 설치할 수 있습니다. $ npm i -D @types/multer multer를 설치했다면 컨트롤러 파일에 다음과 같이 이미지 업로드를 처리할 코드를 작성합니다. 이미지 업로드 직전에 인증 섹션에서 만들었던 가드를 추가해주도록 하겠습니다. 이렇게 하면 인증 토큰을 보유한 사용자만 이미지 업로드를 할 수 있습니다. //users.contoller.ts @ApiOperation( {summary: '이미지 업로드'..