목차 며칠 전에 동기들과 이야기를 하다, NestJS라는 것이 굉장히 편하다는 소식을 전해 들었다. 기존의 Express.js에 비해 많은 기능을 제공한다는 것 외에는 정보가 없어서 계속 궁금해만 하다 주말이 된 김에 정리하고 넘어가기로 했다. 이 글에선 먼저 NestJS의 역사를 먼저 알아보고, 특징과 장단점을 알아본 뒤 글을 마치도록 하겠다. NestJS NestJS는 2017년 폴란드의 개발자 Kamil Myśliwiec에 의해 소개된 오픈소스 프레임워크이다. 좀 더 구체적으로는 Node.js 런타임 위에서 동작하는 타입스크립트용 오픈소스 백엔드 프레임워크이며, 지속적인 성장세를 보이며 현재는 Express.js 다음으로 널리 사용되고 있다고 한다. NestJS는 모듈을 기반으로 한 아키텍처를 사용..
목차 [Node.js]기본 패키지 구조 모듈 파헤치기(1) [Node.js]기본 패키지 구조 모듈 파헤치기(2) [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(1) - 기본 설정 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(2) - 기본 구조 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(3) - JWT, 회원 가입과 로그인 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(4) - 컨트롤러에 검증로직 추가 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(5) - 1:N, N:M 관계 [Node.js]TS, Express, MongoDB, MVC로 ..
목차 [Node.js]기본 패키지 구조 모듈 파헤치기(1) [Node.js]기본 패키지 구조 모듈 파헤치기(2) [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(1) - 기본 설정 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(2) - 기본 구조 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(3) - JWT, 회원 가입과 로그인 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(4) - 컨트롤러에 검증로직 추가 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(5) - 1:N, N:M 관계 [Node.js]TS, Express, MongoDB, MVC로 ..
목차 [Node.js]기본 패키지 구조 모듈 파헤치기(1) [Node.js]기본 패키지 구조 모듈 파헤치기(2) [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(1) - 기본 설정 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(2) - 기본 구조 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(3) - JWT, 회원 가입과 로그인 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(5) - 1:N, N:M 관계 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(6) - OAuth 2.0(구글/네이버/카카오) [Node.js]TS, Express, Mongo..
목차 [Node.js]기본 패키지 구조 모듈 파헤치기(1) [Node.js]기본 패키지 구조 모듈 파헤치기(2) [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(2) - 기본 구조 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(3) - JWT, 회원 가입과 로그인 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(4) - 컨트롤러에 검증로직 추가 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(5) - 1:N, N:M 관계 [Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(6) - OAuth 2.0(구글/네이버/카카오) [Node.js]TS, Expres..
프로젝트 진행 시 타입스크립트로 구성된 프론트엔드 코드를 작동시킬 때면 변경 및 저장된 사항이 앱에 바로 반영되는 것이 부럽고 신기했다. 물론 자바에도 비슷한 기능이 있기는 하지만 애초에 인텔리제이 환경에서 자바는 자동저장을 지원하는데다 서버를 키는 시간이 오래 걸리기 때문에 굳이 필요가 없었다. 어쨌거나 타입스크립트와 노드JS를 사용할 때도 저장하면 자동으로 앱을 재실행시켜주는 기능이 필요해서 여기에 정리한다. 추가로, VSCode에서도 코드를 자동 저장 해주는 기능을 지원하지만, 지금 소개할 nodemon과 함께 사용하면 완성도 되지 않은 코드가 배포되는 상황이 발생할 수 있다. 따라서 자동 저장 기능을 사용하려면 nodemon은 사용하지 않는 것이 좋다. nodemon의 설치 방법은 아래와 같다. ..
목차 타입스크립트를 이용해 개발할 때 코드 분석 및 스타일 관리 + 포맷팅 용으로 ESLint와 Prettier를 많이 사용한다. 굳이 두 확장 프로그램의 용도를 적고, TS에 적용하는 방법에 대해 알아보자. ESLint ESLint는 말하자면 TS의 맞춤법/문법 검사기이다. TS 코드의 문제를 찾아내고 코드 스타일과 관련된 규칙을 적용해 코드를 검사한다. 여기서 검사란 코드의 구조, 변수 및 함수의 정의와 사용, 네이밍 컨벤션 및 잠재적인 오류, 안티패턴, 일관성 등을 준수할 수 있도록 코드의 품질을 검사하는 것을 가리킨다. 미리 정해진 규칙(ex.airbnb)에 따라 코드를 검사하며, 문제를 강조해 수정에 도움을 준다. 물론 규칙이란 사람이나 팀에 따라 커스텀이 가능하며, 경고 또는 에러메시지를 통해..
목차 _id 몽고디비는 컬렉션에 도큐먼트가 생성될 때마다 자동으로 생성되는 고유한 필드로, ObjectId라는 특수한 데이터 타입을 가진다. 이 타입은 12바이트의 숫자, 정확하게는 24글자의 16진수로 표현된다. 이 숫자는 다시 네 개의 요소로 나뉘는데, 각 요소에 대한 설명은 다음과 같다. Timestamp: ObjectId가 생성된 시간. 이를 이용한 시간순 정렬도 가능 Machine ID: 디비가 돌아가는 머신(컴퓨터)의 식별자이다. 이를 이용해 같은 머신에서 생성된 객체를 구별할 수 있다. Process ID: 몽고디비 프로세스의 ID. 동일한 머신에서 돌아가는 다른 몽고디비 프로세스가 생성한 객체와 구별할 수 있다. Counter: 랜덤값으로 시작하는 카운터 값이다. 동일한 시간, 머신, 프로..
목차 MVC 구조는 스프링을 처음 배울 때부터 지금까지 유용하게 써먹고 있는 구조이다. 사실 기대와는 달리 레거시코드의 웹플럭스가 함수형 인터페이스가 아닌 기존 MVC를 사용하고 있기도 하고. 어쨌거나 TypeScript를 이용한 Node.js를 배우기 위해, 알고리즘을 풀며 언어에 익숙해지는 동시에 아키텍처 및 라이브러리 공부도 미리 해놓는 게 좋을 것 같다는 판단이 들어서, 짬짬이 공부를 하고 있다. 정리 시작! MVC Pattern MVC(Model-View-Controller)는 소프트웨어 설계 패턴 중 하나로, 애플리케이션을 모델, 뷰, 컨트롤러의 세 부분으로 분리하여 설계하는 패턴을 가리킨다. 분리의 목적은 당연히 관심사를 분리해 한 곳에 모아 가독성과 유지보수성을 높이기 위함이다. Node...
- Total
- Today
- Yesterday
- 스프링
- a6000
- 유럽
- java
- 남미
- 지지
- 야경
- RX100M5
- 세계일주
- BOJ
- 알고리즘
- 유럽여행
- 중남미
- 스트림
- Algorithm
- 파이썬
- spring
- 동적계획법
- 칼이사
- 면접 준비
- 세모
- Backjoon
- 리스트
- 세계여행
- 백준
- 여행
- 기술면접
- 맛집
- Python
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |