본문 바로가기

분류 전체보기

(50)
DTO란 무엇이고 왜 사용해야 할까? 밑의 예제 코드는 전부 NestJS + TypeOrm 환경에서 작성되었습니다. 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 📢 DTO란 무엇인가요? DTO(Data Transfer Object, 데이터 전송 객체)란 프로세스 간에 데이터를 전달하는 객체를 의미합니다. 말 그대로 데이터를 전송하기 위해 사용하는 객체라서 그 안에 비즈니스 로직 같은 복잡한 코드는 없고 순수하게 전달하고 싶은 데이터만 담겨있습니다. 아래의 그림을 통해 DTO는 주로 클라이언트와 서버가 데이터를 주고받을 때 사용하는 객체임을 알 수 있습니다. 글로만 보면 잘 모르겠으니 코드 예제를 통해 한번 알아보겠습니다. 여기 User 엔티티에서 userId로 특정 사용자를 찾는 코드가 있습니..
[Type-Challenges] easy - Pick 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 👾 Type-Challenges 타입 챌린지 프로젝트는 타입 시스템이 어떻게 작동하는지 이해하고, 문제의 유틸리티를 작성해보며 타입 스크립트의 빅-꿀잼 경험을 목표로 하고 있습니다. 한국어로도 제공하고 있으니 타입 스크립트를 공부한다면 열심히 풀어봅시다!!! GitHub - type-challenges/type-challenges: Collection of TypeScript type challenges with online judge Collection of TypeScript type challenges with online judge - GitHub - type-challenges/type-challenge..
[Nest Js] Nest Js 공식 문서 파헤치기 - Exception Filter(예외 필터) 트리스티가 JavaScript를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 시간에는 Middleware에 대해 알아보았습니다. 이번 시간에는 Nest Js의 예외 처리에 대해서 알아보도록 하겠습니다. 📣 Nest Js의 예외처리 예외 처리란 프로그램이 처리되는 동안 어떤 문제가 발생했을 경우, 처리를 중지하고 해당 예외를 처리하는 것을 말합니다. 훌륭한 개발자라면 멋지게 예외를 처리해서 나중에 프로그램에서 문제가 생겨도 금방 처리할 수 있게 끔 만들어 놔야 합니다. 하지만 예외를 처리하기 위해 예외가 발생할 것 같은 모든 곳에 예외 처리 코드를 작성하는 것은 너무 불합리합니다. 그래서 Nest Js에서는 쉽게 예외를 처리할 수 있도록 Exception Filters 기능을 지..
[JavaScript] JavaScript 파헤치기 - 동작 원리 트리스티가 JavaScript를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 자바스크립트를 사용하다 보면 이 언어가 도대체 어떻게 동작하는지 궁금할 때가 있습니다. 도대체가 싱글 스레드인지 멀티 스레드인지 헷갈리게 동작하는 이상한 언어입니다. 그래서 이번에는 한번 자바스크립트의 동작 원리를 알아보려고 합니다. 📣 자바스크립트 동작 구조 자바스크립트의 동작 원리를 보기 전에 먼저 전체적인 동작 구조를 살펴보도록 하겠습니다. 자바스크립트를 실행하기 위해서는 자바스크립트 엔진이 필요합니다. 자바스크립트는 엔진은 V8, Rhino, SpiderMonkey 등 다양하게 있지만 이 중에서도 가장 대표적인 예는 Google에서 만든 V8 엔진일 것입니다. 아래는 자바스크립트를 실행할 수 있게 해..
[Assignment 7] Cardoc(카닥) TIL 진행 날짜 - 2021.11.22 pm 16:00 ~ 2021.11.29 pm 14:00 과제 필수 포함 사항 [필수 포함 사항] READ.ME 작성 프로젝트 빌드, 자세한 실행 방법 명시 구현 방법과 이유에 대한 간략한 설명 완료된 시스템이 배포된 서버의 주소 해당 과제를 진행하면서 회고 내용 블로그 포스팅 Swagger나 Postman을 이용하여 API 테스트 가능하도록 구현 [배경 및 공통 요구사항] 데이터베이스 환경은 별도로 제공하지 않습니다. RDB중 원하는 방식을 선택하면 되며, sqlite3 같은 별도의 설치없이 이용 가능한 in-memory DB도 좋으며, 가능하다면 Docker로 준비하셔도 됩니다. 단, 결과 제출 시 README.md 파일에 실행 방법을 완벽히 서술하여 DB를 포함하여 ..
[Assignment 6] Deer(디어) TIL 진행 날짜 - 2021.11.18 pm 17:00 ~ 2021.11.22 pm 14:00 과제 필수 포함 사항 주요 평가 사항 주어진 정보를 기술적으로 설계하고 구현할 수 있는 역량 확장성을 고려한 시스템 설계 및 구현 과제 안내 디어는 사용자의 요금을 계산하기 위해 다양한 상황을 고려합니다. 우선 지역별로 다양한 요금제를 적용하고 있습니다. 예를 들어 건대에서 이용하는 유저는 기본요금 790원에 분당요금 150원, 여수에서 이용하는 유저는 기본요금 300원에 분당요금 70원으로 적용됩니다. 할인 조건도 있습니다. 사용자가 파킹존에서 반납하는 경우 요금의 30%를 할인해주며, 사용자가 마지막 이용으로부터 30분 이내에 다시 이용하면 기본요금을 면제해줍니다. 벌금 조건도 있습니다. 사용자가 지역 바깥에 반..
[Assignment 5] Humanscape(휴먼스케이프) TIL 진행 날짜 - 2021.11.15 pm 16:00 ~ 2021.11.17 am 10:00 과제 필수 포함 사항 ✔️ 확인 사항 ORM 사용 필수 데이터베이스는 SQLite로 구현 secret key, api key 등을 레포지토리에 올리지 않도록 유의 README.md 에 관련 설명 명시 필요 ✔️ 도전 과제: 스스로에게도 도움이 되는 내용 + 추가 가산점 배포하여 웹에서 사용 할 수 있도록 제공 임상정보 검색 API 제공 ✔️ 과제 안내 다음 사항들을 충족하는 서비스를 구현해주세요. 임상정보를 수집하는 batch task 참고: https://www.data.go.kr/data/3074271/fileData.do#/API 목록/GETuddi%3Acfc19dda-6f75-4c57-86a8-bb9c8b10..
[Nest Js] Nest Js 공식 문서 파헤치기 - Middleware(미들웨어) 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 포스팅에서는 Modules가 무엇인지를 알아보았습니다. 이번 포스팅에서는 Middleware가 뭔지 알아보도록 하겠습니다. 📣 Middleware란 무엇인가? 미들웨어(Middleware)는 Nest Js가 아니라 express를 사용하셨던 분들이라면 한 번쯤은 써보셨을 기능으로, 라우트 핸들러 이전에 호출되는 함수입니다. 라우트 핸들러는 쉽게 말하면 클라이언트에서 url을 통해 서버의 엔드포인트에 접근할 때 올바른 엔드포인트를 호출할 수 있게끔 해주는 핸들러라고 생각하시면 됩니다. 미들웨어는 요청(request) 및 응답(response) 객체 및 어플리케이션 요청 - 응답 주기 중간에서 그다음의 미들웨어..