분류 전체보기

    [Nest.js] Exceptionfilter, DTO, Entity, DTO와 Entity의 차이점

    Exceptionfilter 문서링크 Nest에는 애플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 예외 레이어가 내장되어 있습니다 Throwing standard exceptions Nest는 @nestjs/common 패키지에서 노출된 내장 HttpException 클래스를 제공합니다 일반적인 HTTP REST/GraphQL API 기반 애플리케이션의 경우 특정 오류 조건이 발생할 때 표준 HTTP 응답객체를 보내는 것이 가장 좋습니다. Built-in HTTP exceptions Nest는 기본 HttpException에서 상속되는 표준 예외 집합을 제공합니다. 이들은 @nestjs/common 패키지에서 노출되며 가장 일반적인 HTTP 예외중 대부분을 나타냅니다. 자세한 내용은 상단의 ne..

    SOLID원칙 - 2. SOLID란? LSP(리스코프 치환원칙),ISP(인터페이스 분리 원칙), DIP(의존성 역전 원칙)

    참고 링크 원문링크 Liskov Substitution Principle (리스코프 치환원칙:LSP) 하위 클래스는 반드시 상위클래스와 대체 가능 해야 한다. 이 원칙이 지향하는 것은 하위클래스가 상위 클래스의 자리를 에러 없이 맡을 수 있는지 확인하는 것 입니다. 만약, 코드가 스스로 자신의 클래스 타입을 확인한다면, 그건 정말로 원칙을 위반 한 것입니다. 우리의 예제를 살펴보도록 합시다. function AnimalLegCount(a: Array) { for(int i = 0; i

    SOLID원칙 - 1. SOLID란? SRP(단일책임원칙), OCP(열림-닫힘원칙)

    SOLID 참고 링크 원문링크 객체지향 프로그래밍에서 유지보수가 어렵고 코드가 혼란스러워 지는것을 방지하기 위햐어 SOLID라는 다섯가지 원칙을 만들었습니다 S: Single Responsibility Principle (단일책임원칙) O: Open-Closed Principle (열린-닫힌 원칙) L: Liskov Substitution Principle (리스코프 치환 원칙) I: Interface Segregation Principle (인터페이스 분리 원칙) D: Dependency Inversion Principle (의존성 역전 원칙) SOLID원칙은 모듈화, 캡슐화, 확장용이성, 구성용이한 컴포넌트등을 고려한 소프트웨어의 구축을 위한 설계입니다. Single-responsibility pri..

    [Nest.js] 데코레이터(Decorator),Module,Controller,Provider란?

    데코레이터 데코레이터 개념 데코레이터 개념 2 데코레이터는 함수를 명시적으로 수정하지 않고도 확장하거나 기능확장을 시킬수 있는 방법이다. 함수를 일급 시민으로서의 기능을 지원하는 모든 언어는 데코레이터를 구현할 수 있다(예를 들어, 자바스크립트는 함수를 변수에 할당하거나 다른 함수에 인자로 전달할 수 있다). //자바스크립트의 객체는 속성이 있고, 각 속성은 값을 가지고 있다. const oatmeal = { viscosity: 20, flavor: 'Brown Sugar Cinnamon', }; //그러나 각 속성은 값 외에도 화면 밖에 숨겨진 정보들이 있는데, 이런 정보들이 각 속성이 //어떻게 작동할지를 정의한다. 이것을 속성 설명자라고 한다. console.log(Object.getOwnPrope..

    프로그래머스[lv.3] [DFS/BFS] - 여행경로

    문제설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예 tickets return [["ICN",..

    프로그래머스[큐/스택][lv.2] - 기능개발

    문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자..

    👨‍💻 소통하는 개발자, 김민준

    김 민 준 Backend developer. Contact. Email : minjun.kim.mj@gmail.com Channel. GitHub LinkedIn Resume click👆🏻 Introduce. 3년차 개발자로서 백앤드 개발 및 devops를 함게 겸하였습니다. 주로 웹 서비스의 백앤드 개발을 담당하였으며 AWS, K8S등 devops도 겸업하였습니다. 작은 규모의 팀에서 주도적으로 팀장같은 역할을 맡기도 하며 디자인과 고객 관리팀과의 협업을 주도적으로 진행하여 CAPA 서비스의 오픈을 책임졌던 경험이 있습니다. 비지니스의 이해를 바탕으로 개발하는것을 좋아합니다. 이를 위해 작은 단위로 빠르게 개발하고 배포하여 유저의 니즈를 빠르게 반영하며 서비스의 품질과 만족도를 높여서 실질적인 비지니스..

    [K8S, Grafana, Loki] 쿠버네티스 log monitoring tool Loki 설치법

    이전글에서 kong Ingress controller plugin으로 Prometheus를 설치했고, 이후에 Grafana와 연동해서 대시보드에서 Metrics를 확인할수 있게 되었다. 이전글 보러가기 그라파나 대시보드에 domain으로 접속하는법 burning-camp.tistory.com/71?category=959180 하지만 Prometheus는 CPU, Memory와 같은 Metrics수집이기에 각 pod에서 찍히는 log들을 볼수는 없다. 그렇기에 Log monitoring을 위하여 Loki를 선택하였다. 마지막까지 2가지 스택중에 고민을 하였는데 ELK vs Grafana + loki + promtail 스택이었습니다. 이중에서 loki를 선택을한 이유는 다음과 같습니다 ElasticSear..