๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(61)
-
์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ฉด์ ์ค๋น - DB
ํด๋น ํฌ์คํ ์ ๋ฉด์ ์ค๋น๋ฅผ ํ๋ฉด์ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ๊ธฐ๋กํ๊ณ ํ์ ๋ค์ ๋ณด๊ธฐ ์ํด ์์ฑํ์ต๋๋ค! ๋ง์ฝ ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ์ ๊ทน์ ์ผ๋ก ํผ๋๋ฐฑํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง ์ค์๊ฐ ์ ๊ทผ์ฑ(Real-Time Accessibility) ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์๊ตฌ์ ์ค์๊ฐ์ผ๋ก ์๋ต ๊ฐ๋ฅ ์ง์์ ์ธ ๋ณํ(Continuous Evolution) ์ง์์ ์ผ๋ก ๋ณํํ๋ ํ์ค ์ธ๊ณ๋ฅผ ์ ํํ ๋ฐ์ํ๊ธฐ ์ํด DB ๋ํ ์ง์์ ์ผ๋ก ๋ณํ ๊ฐ๋ฅ ๋์ ๊ณต์ ๊ฐ๋ฅ(Concurrent Sharing) ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋ฌธ์ ์์ด ๋์์ ์ด์ฉ ๊ฐ๋ฅ ๋ด์ฉ์ ์ํ ์ฐธ์กฐ(Content Reference) ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋์คํฌ์ ์์น, ์ฃผ์๊ฐ ์๋ ๋ฐ์ดํฐ์ ๊ฐ์ ํตํด ์ฐธ์กฐ ๊ฐ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด DDL(์ ์์ด: Data Definition La..
2023.01.10 -
NestJS Request Lifecycle (4) - Pipe
์ด์ ๊ธ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐ์ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (1) - Middleware 2022.12.23 - [Backend/NestJS] - NestJS Request Lifecycle (2) - Guard 2022.12.26 - [Backend/NestJS] - NestJS Request Lifecycle (3) - Interceptor ํ์ดํ NestJS์์ ํ์ดํ๋ ์ปจํธ๋กค๋ฌ์ ์๋จ์์ ์ฌ์ฉ์์ ์์ฒญ์ ๋ํด ๋ค์์ ์ญํ ์ ์ํํ๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ๋ณํ: ์ฌ์ฉ์์ ์์ฒญ ์ ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ํํ๋ก ๋ณ๊ฒฝ ํ ์ปจํธ๋กค๋ฌ์ ๋๊ฒจ์ค๋ค...
2022.12.29 -
NestJS Request Lifecycle (3) - Interceptor
์ด์ ๊ธ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐ์ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (1) - Middleware 2022.12.23 - [Backend/NestJS] - NestJS Request Lifecycle (2) - Guard ์ธํฐ์ ํฐ NestJS ๋ด์์ ์ธํฐ์ ํฐ๋ ์ปจํธ๋กค๋ฌ ์ , ํ์์ ๋ค์ํ ์ญํ ์ ํด์ฃผ๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ๊ณต์๋ฌธ์์์ ์ค๋ช ํ๋ ์ธํฐ์ ํฐ๊ฐ ๊ตฌ์ฒด์ ์ผ๋ก ํ๋ ์ผ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ฉ์๋(์ปจํธ๋กค๋ฌ) ์คํ ์ , ํ์ ์ถ๊ฐ์ ์ธ ๋ก์ง ์ํ ํจ์์์ ๋ฐํ๋ ๊ฒฐ๊ณผ ๋ฐ ์์ธ์ ๋ํ ๋ณํ ๊ธฐ๋ณธ ํจ์ ๋์์ ํ์ฅ ํน์ ์กฐ๊ฑด ํ์์ ์์ ํ ํจ์์ ์ฌ์ ์..
2022.12.26 -
DB ์คํฐ๋(4์ฃผ์ฐจ)
1. ํ์ต ์ ๋ฆฌ MySql ์กฐ๊ฑด๋ฌธ (IF, CASE) ์ด๋ฒ ์ฃผ์ฐจ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์ฌ์ฉ๋ ํจ์๋ค ์ค '์ด๋ ๊ฒ ํ๋ฉด ๋๊ฒ ์ง..?' ๋ผ๊ณ ์๊ฐํ๊ณ ์จ๋ดค๋๋ฐ ์ค์ ๋ก ์๋์ ์ํด์ ์ ๊ธฐํ๋ ํจ์๊ฐ ๋ฐ๋ก IF() ํจ์์ด๋ค. ๋ฐ๋ผ์ ์ด์ ๋ํด ํ์คํ๊ฒ ์๊ธฐ ์ํด ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ คํ๋ค. IF() IF ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋ค. SELECT IF(์กฐ๊ฑด, ์ฐธ์ผ ๋, ๊ฑฐ์ง์ผ ๋) FROM TABLE ๋ณด๋ฉด ์๊ฒ ์ง๋ง ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค์์ ์ฌ์ฉ๋๋ ์ผํญ์ฐ์ฐ์์ ๋น์ทํ๋ค. ๋ํ IF ํจ์๋ฅผ ์ค์ฒฉํ์ฌ ์ฌ๋ฌ ๋ถ๊ธฐ์ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค. ๋ค๋ง ๊ทธ์ ๊ฐ์ด ์ฌ์ฉํ ์ ๊ฐ๋ ์ฑ์ด ์ฌ๊ฐํ๊ฒ ์์ข์์ง๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ ์๋์ CASE ๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค. CASE CASE ๋ฌธ์ ์๋์ ๊ฐ์ด ์ฌ์ฉ๋๋ค. SELECT CASE WHEN ..
2022.12.24 -
NestJS Request Lifecycle (2) - Guard
์ด์ ๊ธ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐ์ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (1) - Middleware ๊ฐ๋ NestJS ๋ด์์ ๊ฐ๋๋ ์์ฒญ ์๋ช ์ฃผ๊ธฐ์์ ๋ฏธ๋ค์จ์ด์ ๋ค์ชฝ, ์ธํฐ์ ํฐ์ ์์ชฝ์ ์์นํ์ฌ ํน์ ๊ฒฝ๋ก๋ก์ ์์ฒญ์ ์น์ธํ ์ง ๋ง์ง์ ๋ํ ํ๋จ์ ๋ด๋ฆฌ๋ ์ญํ ์ ํ๋ค. Express๋ก ๋ก์ง์ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ์ฌ์ฉ์์ ๊ถํ์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ๋ฏธ๋ค์จ์ด์์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์ฆ์๋ฐ, NestJS์์๋ ์ด๋ฅผ ๊ฐ๋๋ผ๋ ์๋ช ์ฃผ๊ธฐ์์ ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค. ๋ฏธ๋ค์จ์ด ๋์ ๊ฐ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ? ๊ทธ๋ ๋ค๋ฉด NestJS์์๋ ์ ๊ตณ์ด ๊ฐ๋๋ฅผ ๋ฐ๋ก ๋๋ ๊ฒ์ผ๊น? NestJS ๊ณต..
2022.12.23 -
NestJS Request Lifecycle (1) - Middleware
์ด์ ๊ธ 2022.12.22 - [Backend/NestJS] - NestJS Request Lifecycle (0) - ๊ฐ์ ๋ฏธ๋ค์จ์ด ( in NestJS ) ๋ฏธ๋ค์จ์ด๋ NestJS ์์ฒญ ์๋ช ์ฃผ๊ธฐ์์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ค์ด์ค๋ request๊ฐ ๊ฐ์ฅ ๋จผ์ ์ฒ๋ฆฌ๋๋ ํธ๋ค๋ฌ์ด๋ค. Node.js์ Express๋ฅผ ๋ค๋ค๋ณด์๋ค๋ฉด ์ด๋ฏธ ์ต์ํ ๊ฐ๋ ์ธ๋ฐ, Express ๋ฏธ๋ค์จ์ด์์๋ request, response ๊ฐ์ฒด์ ๋๋ถ์ด ๋ค์ ๋ฏธ๋ค์จ์ด๋ ๋ผ์ฐํฐ๋ฅผ ํธ์ถํ๋ next() ํจ์๋ฅผ ๋ค๋ฃฐ ์ ์๋ค. app.use((req,res,next)=>{ console.log('Request is received...') next() // ์คํ ์์ ๋ค์ ๋ฏธ๋ค์จ์ด๋ก req,res ์ ๋ฌ }) ๋ฏธ๋ค์จ์ด ์์ฑ NestJS๋ ๊ธฐ๋ณธ์ ์ผ๋ก ..
2022.12.22