목차 [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로 게시판 만들기(6) - OAuth 2.0(구글/네이버/카카오) [Node.js]TS, Express, Mon..
지난 글에선 Node.js의 용어 정리와 db.ts, User.ts, Archive.ts 세 모듈에 대해서 알아봤다. 이번 글에선 남은 모듈을 최대한 정리하고, 이어지는 구현은 손으로 따라가면서 익힐 예정이다. 참고로 지난 글보다 모듈이 하나 늘어서, 패키지 구조는 아래와 같다. 우선 utils 폴더를 보고, 그다음으로 routes, middleware, controller 순으로 올라갈 예정이다. 시작! /src/utils 지난 글에 적은 대로, utils는 재사용 가능한 유틸리티 모듈이 모여있는 폴더이다. 모듈 이름만 봐도 여러 곳에서 많이 쓰일 것 같은데, 하나씩 알아보자. generateToken.ts import jwt from 'jsonwebtoken'; const generateToken =..
이전 글에서 MVC 아키텍처를 적용하고, Express 프레임워크를 사용한 Node.js 프로젝트의 기본 패키지 구성과 그 안에 속한 파일을 알아봤다. 오늘부터는 해당 패키지 안에 존재하는 모듈에 대해서 한 줄씩 파보려고 한다. 그러다 보면 내 JS 이해도가 따라오겠지. Terminology 시작하기 전에 먼저 단어를 정리하고 넘어가자. 물론 아래의 설명은 초심자가 어깨너머로 정리한 것이라 틀릴 확률이 높다. Node.js에서 각 .ts 파일들은 '모듈'이라고 불린다. 이 모듈은 자바의 클래스와 비슷하게 느껴지지만 서로 다른 목적과 개념을 가지고 있으며, (예를 들자면 모듈은 코드의 모듈화가, 클래스는 객체 지향 프로그래밍이 주된 목적이다) 공통점으로는 모두 코드의 재사용성과 가독성을 향상시키고, 구조를..
목차 _id 몽고디비는 컬렉션에 도큐먼트가 생성될 때마다 자동으로 생성되는 고유한 필드로, ObjectId라는 특수한 데이터 타입을 가진다. 이 타입은 12바이트의 숫자, 정확하게는 24글자의 16진수로 표현된다. 이 숫자는 다시 네 개의 요소로 나뉘는데, 각 요소에 대한 설명은 다음과 같다. Timestamp: ObjectId가 생성된 시간. 이를 이용한 시간순 정렬도 가능 Machine ID: 디비가 돌아가는 머신(컴퓨터)의 식별자이다. 이를 이용해 같은 머신에서 생성된 객체를 구별할 수 있다. Process ID: 몽고디비 프로세스의 ID. 동일한 머신에서 돌아가는 다른 몽고디비 프로세스가 생성한 객체와 구별할 수 있다. Counter: 랜덤값으로 시작하는 카운터 값이다. 동일한 시간, 머신, 프로..
Criteria는 직역하면 '기준'정도 되는 뜻으로, 리액티브 몽고 디비에서 쿼리 작성에 사용하는 클래스이다. 굉장히 다양한 메서드를 제공하며, 이를 이용하고 조합해 복잡한 Query, 혹은 Update 객체를 만들 수 있다. 이 글에서는 자주 쓰이는 메서드에 대해 짧게 정리하고 넘어가자. is(): '=='를 사용하여 해당 필드와 일치하는 값을 조회 ne(): '!='를 사용하여 일치하지 않는 값을 조회 lt(): ''사용 gte(): '>=' 사용 in(): 해당 필드 값이 리스트, 배열 중 하나와 일치하는 값 조회 nin(): 주어진 값 중 어떤 것도 포함하지 않는 값 조회 regex(): 정규표현식을 사용해 일치하는 값 조회 elemMatch(): 배열이나 리스트의 요소 중 하나가 해당 조건에 일..
목차 개인 프로젝트를 진행하면서 이름만 많이 듣던 Reactive mongo DB를 사용하고 있다. 잘 모르는 채로 더듬더듬 쓰면서 경험치가 쌓이다 보니, 이제야 전반적인 개념이 궁금해져서 정리 시작. MongoDB 몽고 디비는 HUMONGOUS DB를 줄인 표현이다. 그 이름대로 대용량 환경에 대응하기 위해 개발되었다. 또한 몽고디비는 대표적인 NoSQL DB 중 하나이며, 문서 지향(Document-Oriented) 데이터 모델을 사용하고 JSON과 비슷한 동적 스키마형 도큐먼트(몽고DB에서는 이를 BSON이라 부른다)로 데이터를 저장 및 조회한다. 이베이, 뉴욕 타임스, 구글, 페이스북 등이 이 몽고디비를 주력으로 사용하고 있으며, 메모리 내에서 작업하도록 설계되어 있기 때문에 같은 조건에서 RDB..
- Total
- Today
- Yesterday
- 파이썬
- BOJ
- 기술면접
- 유럽여행
- 세모
- 지지
- Backjoon
- 면접 준비
- 리스트
- 세계여행
- java
- Algorithm
- spring
- 야경
- 칼이사
- Python
- 남미
- 스트림
- 백준
- 맛집
- 중남미
- 자바
- 스프링
- 알고리즘
- 유럽
- 동적계획법
- 세계일주
- a6000
- RX100M5
- 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |