분류 전체보기

·Programming/Nest
미니프로젝트를 시작하기 위해 정말 기본적인 "쇼핑몰"이란 주제로 개발을 시작하려고 한다.쇼핑몰은 보통 백엔드를 공부할 때 기초적인 api들과 서비스를 확장함에 따라 점점 심화되는 api를 개발할 수 있다는 장ㅇ점이 있어 해당 미니프로젝트 주제로 "쇼핑몰"을 선택하였다. 1. 요구사항 명세서역할은 이 서비스를 이용할 사용자와 관리자로 나눴다.사용자의 경우 비회원일 경우 상품에 대한 조회나 장바구니가 가능하나 구매와 찜을 할 수 없다.관리자의 경우 모든 상품을 조회, 추가, 수정, 삭제할 수 있고, 모든 사용자에 대한 정보를 조회할 수 있다.     2. Github repo 생성github와 연결하기 위해 사전에 repository를 만든다.만든 뒤 code를 눌러 해당 repository의 경로를 복사한..
·Dev
Entity?실제 DB와 매핑되는 클래스간단하게 말하면 실체, 객체이를 기준으로 테이블이 생성되고 스키마가 변경된다.따라서 Entity를 요청이나 응답값으로 전달하는 클래스로 사용해서는 안된다. DTO?Data Transfer Object로 데이터 전송 객체라는 의미를 갖고 있다.계층 간 데이터 교환을 하기위한 객체로 데이터를 담아 전달하는 객체이다.Ex) (View Controller Service) DTO Features백엔드의 효율성효율적인 백엔드 설계를 하려면 요청의 횟수를 최소화해야 한다.-> 최소화 하기 위해서 한 번의 많은 요청에 최대한 많은 데이터를 전송해야 한다.이 때 사용하는 것이 DTO이다. 유지보수Entity를 가져와 하나하나 매핑을 해서 로직을 짰는데 새로운 필드가 추가 될 경..
·Programming/NodeJS
NPMNPM이란 Node Package Manager의 약자로 node.js의 패키지를 개발하고 배포, 공유하기 위한 관리 툴 Difference between Package and ModuleModule: 작은 단위로 독립된 하나의 기능을 수행한다.Package: Module들이 조합되어 Module보다 복합적인 기능을 수행한다.     What is package.json?현재 프로젝트에 관한 정보와 npm을 통해 설치한 모듈의 의존성을 관리하는 파일.  Why use package.jsopn?프로젝트에서 사용하는 외부 모듈들이 많아지게 되면 관리하기가 어려움.새로운 프로젝트를 진행할 경우 필요한 모듈들이 많다면 매번 npm 명령으로 설치해야되는 효율적인 문제.=> package.json은 필요한 패..
·Programming/Nest
NestJS?Node.js 환경에서 동작하는 프레임워크이다.Express 위에서 구축된 프레임워크로, Express의 기능을 확장하여 보다 체계적이고 모듈화된 구조를 제공한다.TypeScript 언어 기반으로 이루어져 있다.모듈 구조가 정의되어 있으며 데코레이터 기반으로 제공되어 있어 쉽게 사용이 가능하다.필수적인 라이브러리 및 편의 기능을 기본으로 포함하고 있다.(예외 필터, 웹 소켓, 가드 등) Why use NestJs FrameWork?Node.js는 사용자가 많아 커뮤니티가 활성화되고 다양한 라이브러리가 제공되나,정해진 아키텍처가 없기에 개발자마다 다른 구조로 코드를 작성하게 된다. 즉, 코드 작성자 이외의 사람이 코드를 분석할 때 아키텍처부터 파악하기에 코드의 가독성이 좋지 않다. 그래서 협업..
·Trouble Shooting
문제개발을 하던 도중 "Validation filed (numeric string is expected)" 오류 메세지가 떴다.이 오류는 숫자로 파싱하려고 시도했으나 실제로는 숫자가 아닌 문자열을 받았기 때문에 발생한다.그래서 평소와 같이 ParseIntPipe를 통해 숫자로 변환 시켰다. @Get('byApplication') @UseGuards(JwtAuthGuard, RolesGuard) @ClubRoles('CLUBADMIN') async getAppResponseByApplicationId(@Query('applicationId', ParseIntPipe) applicationId: number) { console.log('Query parameters:', a..
·Algorithm/Concept
시간 복잡도란?알고리즘의 성능을 나타내는 지표로, 입력 크기에 대한 연산 횟수의 상한을 의미한다.시간 복잡도는 낮으면 낮을수록 좋다. 예시만약 1차원 배열에 값이 들어가 있고, 특정 값을 배열의 맨 앞에서 순서대로 검색한다면 연산 횟수가 가장 적을 때와 가장 많을 때는? 연산 횟수가 가장 적은 경우다음 그림과 같이 찾는 값이 검색 시작 위치에 바로 있는 경우이다. 연산 횟수가 가장 많은 경우찾으려는 값이 아에 없거나 가장 마지막에 위치한 경우이다.이러한 경우 시간 복잡도는 연산 횟수가 가장 적은 경우 시간 복잡도가 낮다라고 표현할 수 있다.   빅오 표기법점근적 표기법인 상한선을 활용하여 시간 복잡도를 표기하는 방법이다.어떤 프로그램 연산 횟수가 f(x)라고 할 때 함수의 최고차항을 남기고 계수를 지워 ..
·Git
원격 저장소원격 저장소는 디렉토리와 github repo와 연결해주는 역할을 한다.원격저장소는 여러 개 설정할 수 있으며 원하는 repo로 push할 수 있다. 연결된 원격 저장소 확인remote -v 옵션을 통해 현재 디렉토리와 연결된 원격 저장소를 확인할 수 있다.현재 origin이라는 이름의 원격 저장소로 설정된 gitea url를 확인할 수 있다.git remote -v   원격 저장소 추가remote add 옵션을 통해 원격 저장소의 이름과 연결할 git repo를 설정하여 원격 저장소를 추가할 수 있다.현재 test라는 이름의 원격 저장소가 추가 된것을 확인할 수 있다.git remote add [원격 저장소 이름] [git repo]  원격 저장소 삭제remove 옵션을 통해 설정한 원격 저..
최하호
'분류 전체보기' 카테고리의 글 목록