Back-End ์์ ์ค(103)
-
[MonggoDB] Monggo DB ๋ง๋ค๊ธฐ
๐ Site ๊ด๋ จ ๐ฝ ํ์ ๊ฐ์ ๐ฆ Cloud Service ์ด์ฉํ๊ธฐ URL : https://www.mongodb.com/ko-kr/cloud `MongoDB Cloud ์ง๊ธ ์ฒดํํ๊ธฐ`๋ฅผ ํด๋ฆญ ํด ์ฃผ์ธ์! ์ด์ ํ์๊ฐ์ ์ ์งํ ํฉ๋๋ค. ์ฃผ๋ํ๋์ Google๋ก ํ์๊ฐ์ ์ ์งํ ํ ๊ฒ์ด์์! ๐ฝ Project ๋ง๋ค๊ธฐ ๐ฆ DataBase ์์ฑ `Projects` Tab์์ Project๋ฅผ ๋ง๋ค์ด ์ค ๊ฒ์ด์์. `New Projects`๋ฅผ ๋๋ฌ์ฃผ์ธ์. Project ์ด๋ฆ์ ์ ๋ ฅ ํด ์ฃผ์ธ์! ์ด ๊ณณ์์๋ ๋ฐ๋ก ๋ง์ง ๊ฒ ์์ด ๋ฐ๋ก `Create Project`๋ฅผ ๋๋ฌ ๋์ด๊ฐ๋ฉด ๋ฉ๋๋ค. `Build a Database`๋ฅผ ๋๋ฌ DB๋ฅผ ์์ฑํ๋๋ก ํ ๊ฒ์ด์์. ์ฌ๊ธฐ์๋ ๊ณ ๋ฏผ ์์ด `Shared`๋ฅผ ๋๋ฌ์ผ ๊ฒ ์ด์! ..
2022.05.15 -
[Node.js] NVM(Node Version Manager)
๐ NVM ๐ฝ ์ค์น nvm์ Node.js๋ฅผ ์ด์ฉํ์ฌ Project๋ฅผ ํ ๋, ๊ฐ ํ๊ฒฝ๋ง๋ค ๋ค๋ฅธ Vesion์ ์ฌ์ฉํ๊ฒ ๋ ํ ๋ฐ, ์ด๋ ํธ๋ฆฌํ๊ฒ Version์ ๋ฐ๊ฟ ์ ์๋๋ก ๋์์ฃผ๋ ์น๊ตฌ์ ๋๋ค. Git Hub ์ฃผ์ ๋ช ๋ น์ด curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash ์์ ๋ช ๋ น์ด ์ค ํธํ๊ฒ์ ์ด์ฉํ์ฌ ์ค์นํด ์ฃผ๋ฉด ๋๊ฒ ์ต๋๋ค. ์ค์น๊ฐ ์๋ฃ๋ ๋ค ํ๊ฒฝ ๋ณ์ ์ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. vim ~/.bashrc export NVM_DIR="$HOME/.nvm" [ -s "$..
2022.04.15 -
[Nest.js] Middle Ware(๋ฏธ๋ค์จ์ด)
๐ Nest.js์ Middle Ware ๐ฝ ๊ฐ์ `Pipes`, `Filters`, `Guards`, `Interceptors` ๋ฑ์ด `Nest.js`์์๋ ๋ฏธ๋ค์จ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ด์์. ๐ฝ ๋ํ Middle Ware ์ด ๋ฆ ๋ด ์ฉ Pipes Pipe๋ Client ์์ฒญ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ Payload ๋ณํ์ ์ํด ์ฌ์ฉ. Data๋ฅผ ์์ํ ๋๋ก ์ง๋ ฌํ. ์์ธํ ์ค๋ช Filters ์ค๋ฅ ์ฒ๋ฆฌ ๋ฏธ๋ค์จ์ด. ํน์ ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํ ๊ฒฝ๋ก์ ๊ฐ ๊ฒฝ๋ก ์ฃผ๋ณ์ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ ์ ๊ณต. Guards ์ธ์ฆ ๋ฏธ๋ค์จ์ด. ์ง์ ๋ ๊ฒฝ๋ก๋ก ํต๊ณผํ ์ ์๋ Client์ ๊ทธ๋ ์ง ์๋ Client์ ๋ํด Server์๊ฒ ๋ด์ฉ ์ ๊ณต. Interceptors ์๋ต Mapping ๋ฐ ์บ์ ๊ด๋ฆฌ์ ์์ฒญ Logging๊ณผ ๊ฐ์ ์ ํ ..
2022.04.11 -
[Nest.js] API ์ค๊ณ - ์์ฒญ, ์๋ต ๊ฐ์ฒด (Request, Response Object)
๐ ์์ฒญ, ์๋ต ๊ฐ์ฒด ๐ฝ ์์ฒญ ๊ฐ์ฒด(Request Object) `Client`๊ฐ ๋ณด๋ธ `Request(์์ฒญ)`์๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ํ์๋ก ํ ๋๊ฐ ์์ ์ ์๋ ๊ฒ์ด์์. ์๋ฅผ ๋ค๋ฉด `Session ์ ๋ณด`, `Request Header ์ ๋ณด` ๋ฑ์ด์์. `Nest.js`์์๋ `Express.js`๋ `Fastify`์ ์์ฒญ ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์๋๋ก ํด ์ฃผ๋ ๊ฒ์ด์์. `@Res()` ์ฒ๋ผ Handler์ ์๊ทธ๋์ณ์ Decorator๋ฅผ ์ถ๊ฐํ์ฌ `Nest.js`์ ์ฃผ์ ํ๋๋ก ์ ์ธํ์ฌ ์์ฒญ ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์๋ ๊ฒ์ด์์. ๋ง์ฝ `TypeScript`๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ ์์ ์์ ์ฒ๋ผ `Express.js`์ `Request`๋ฅผ ์ด์ฉํ๊ธฐ ์ํด `@types/express` Package๋ฅผ ์ค์น ํด์ผ ๋๋ ๊ฒ์ด์์..
2022.04.10 -
Swagger๋?
๐ Swagger์ ๋ํ์ฌ ๐ฝ ๊ฐ์ Swagger(์ค์จ๊ฑฐ)๋ ๊ฐ๋ฐ์๊ฐ `REST` Web Service๋ฅผ ์ค๊ณ, Build, ๋ฌธ์ํ, ์๋นํ๋ ์ผ์ ๋์์ฃผ๋ ๋ํ ๋๊ตฌ ์ํ๊ณ์ ์ง์์ ๋ฐ๋ Open Source Framework์ธ ๊ฒ์ด์์. ๋๋ถ๋ถ์ ์ด์ฉ์๋ค์ Swagger UI ๋๊ตฌ๋ฅผ ํตํด Sagger๋ฅผ ์๋ณํ๋ฉฐ, Sagger Tool Set์๋ ์๋ํ๋ ๋ฌธ์ํ, Code ์์ฑ, Test Case ์์ฑ ์ง์์ด ํฌํจ๋๋ ๊ฒ์ด์์. Swagger๋ฅผ ์ด์ฉํ๊ฒ ๋๋ฉด API ๋ฌธ์๋ฅผ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ก ์์ฑํ ํ์์์ด Code๋ง ์์ฑํด ์ฃผ๋ฉด ์์์ Web Page๋ฅผ ๋ง๋ค์ด ๋ฌธ์๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋๊ตฌ์ธ ๊ฒ์ด์์. ๐ฝ Swagger(API ๋ฌธ์) ํ์ฉ๋ฒ Swagger๋ฅผ ์ด์ฉํด์ API ๋ฌธ์๋ฅผ ๋ง๋ค๋ฉด ์์ ๊ฐ์ด ๋ด๊ฐ ์ค์ ํ ๋ด์ฉ..
2022.04.09 -
[Node.js][Nest.js] Logger ๊ธฐ๋ฅ
๐ Nest.js์ Logger ๐ฝ ๊ฐ์ Application์ ์ด์ํ ๋, ๋ง์ `Exception`๊ณผ ๊ฐ๋ฐ์๋ ์ธ์ฐ๋ ๊ฒ์ด์์. `Exception`์ด ํฐ์ก์ ๋, ์ด๋ค ๋ถ๋ถ์ด ๋ฌธ์ ์ธ์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ `Debug`๋ผ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง, `Logger`๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ ๊ฒ์ด์์. ๐ฝ Log ์ข ๋ฅ ์ข ๋ฅ ๋ด ์ฉ Log ์ค์ ์ ๋ณด ๋ฒ์ฉ Logging Warnning ์น๋ช ์ ์ด๊ฑฐ๋, ํ๊ดด์ ์ด์ง๋ ์์ ์ฒ๋ฆฌ๋์ง ์์ ๋ฌธ์ Error ์น๋ช ์ ์ด๊ฑฐ๋, ํ๊ดด์ ์ธ ์ฒ๋ฆฌ๋์ง ์์ ๋ฌธ์ Debug ์ค๋ฅ ๋ฐ์ ์ Logic์ Debugํ๋๋ฐ, ๋์์ด ๋๋ ์ ์ฉํ ์ ๋ณด (๊ฐ๋ฐ์ ์ฉ) Verbose Application ๋์์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ ์ ๋ณด (์ด์์ ์ฉ) ๐ฆ Log Level ์ํ๋ ๋๋ก ๊ตฌ๋ ํ๊ฒฝ์ ๋ฐ๋ผ ..
2022.04.09