node.js(26)
-
[ TIL ] [ ์ค์ ํ๋ก์ ํธ์ฃผ์ฐจ] '๋ด์ผ์ ์ต์ ๊ฐ' ํ๋ก์ ํธ ํ๊ณ
6์ฃผ๊ฐ์ ์ต์ข ํ๋ก์ ํธ(2023.10.04~9.2023.11.15) '๋ด์ผ์ ์ต์ ๊ฐ'์ ๋ํ ํ๋ก์ ํธ๊ฐ ๋๋ฌ๋ค. ๋ธ๋ก๊ทธ์๋ ํ๋ก์ ํธ์ ๋ํ 'ํ๊ณ '๋ฅผ ์ ๋ฆฌํ ์์ ์ด๋ผ ์์ธํ ์ ๋ณด๋ ๊ฐ์ฅ ํ๋จ ๋ ธ์ (*๊ทธ ์ธ URL์ฒจ๋ถ) ์ฃผ์๋ก ๋ฐ๋ก ๊ธฐ์ฌํ๊ณ๋ค. ๊ฐ๋จํ๊ฒ ์ฐ๋ฆฌ๊ฐ ๊ธฐํํ๊ณ ๋ง๋ '๋ด์ผ์ ์ต์ ๊ฐ'์ ๋ํด ์๊ฐํ์๋ฉด '๋ค์ด๋๋ฏน ํ๋ผ์ด์ฑ'์ ํ์ฉํ์ฌ ์ฟ ํก์์ ์ ํ์ ํ์ ๋ํด ๋งค์ผ 2ํ ๊ฐ๊ฒฉ ๋ณ๋ ์ฐจํธ๋ฅผ ์ ๋ฐ์ดํธ -> ๊ฐ๊ฒฉ ํ๋ฝ, ํ์ ์ ๋ฐ์ดํธ ์ ์ค์ ํ ์ํ์ ๋ํด ์ด๋ฉ์ผ ์๋ฆผ ์ ๊ณต (์นด์นด์ค๋น์ฆํก ์น์ธ์ค)์ด ๊ฐ๋ฅํ๋ค. ์ด๋ฅผ ํตํด, ๊ณ ๊ฐ์ ๊ตฌ๋งค ์ ํ์จ ์ ๊ณ ํ๊ณ ํ์ ๋น์ฉ์ ์ค์ฌ์ค ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค์๋ค. (* ๋ค์ด๋๋ฏน ํ๋ผ์ด์ฑ์ด ๋ญ์ผ?) ๋ค์ด๋๋ฏน ํ๋ผ์ด์ฑ์ ๊ฐ๊ฒฉ์ ์ค์ ํ๋ ์ ๋ต์ผ๋ก, ์์ฅ ์์, ์ฌ๊ณ ์ํ, ๊ณ ๊ฐ ..
2023.11.23 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ค์ ํ๋ก์ ํธ์ฃผ์ฐจ ] Docker
YOUTUBE [์ํํ ์ฝ๋ฉ ] - ๋์ปค๊ฐ ๋ญ๊ณ ์ ์ฐ๋๊ฑด๊ฐ์? ์๋ฒ๋ฅผ ์ด์ํ๋ค ๋ณด๋ฉด, ๋ ์ฑ๋ฅ ์ข์ ์๋ฒ๋ก ์ฎ๊ฒจ๊ฐ๊ฑฐ๋,๋์ด๋ ์๋ฒ ์ฒ๋ฆฌ๋ฅผ ์ํด ์๋ฒ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ ์ผ์ด ์๊ธธ ์ ์๋ค. ๊ทธ๋ผ ๊ทธ๊ณณ์์๋ ๋๊ฐ์ด ์ค์น๋ฅผ ํด์ผํ๋ ์ผ์ด ๋ฐ์๋๋ค. ๊ทธ๋๋ง ๊ฐ์ ์ฌ๋์ด ํ๋๊ฑฐ๋ฉด ์ข ๋ฒ๊ฑฐ๋กญ๊ณ ๋ง๋๋ฐ ์ง๊ธ์ ํด์งํ๊ณ ์๋ ๊ฐ๋ฐ์๊ฐ ๊ตฌ์ถํ๊ฒ ๋๋ค๋ฉด? ๊ฑฐ๊ธฐ๋ค ๊ตฌ์์ด๋ผ ๋งค๋ด์ผ๋ ์ ์๋ ํ๊ฒฝ์ด๋ผ๋ฉด? ์์ค์ ์ด๋๋ฅผ ๊ณ ์ณ์ผ ํ ์ง ์๋ฌด๋ ๋ชจ๋ฅด๋ ์ํฉ์ด ๋ฐ์๋๋ค๋ฉด? ๊ฐ์ ์๋ฒ์ ์ฌ๋ฌ ์๋น์ค๋ฅผ ๋๋ฆฌ๋ ๊ฒฝ์ฐ, ๊ฐ๊ฐ์ด ๋ค๋ฅธ ์คํํ๊ฒฝ์์ ๋์ํด์ผ ํ ๋ ์ผ์ด ๊น๋ค๋ก์์ง ์๋ ์๋ค. ex) ๊ธฐ์กด์ฌ์ดํธ๋ ์๋ฐ 7์์ ๋์ ์ ์๋น์ค๋ ์๋ฐ 8์์ ๋์๋๋ฉด ์ด๊ฒ์ ๊ฒ ๋ง์ถ๊ณ ์ ๊ฒฝ ์จ์ผ ํ ๊ฒ์ด ๋ง์์ง๋ค. Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌ..
2023.10.05 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐํ๋ก์ ํธ์ฃผ์ฐจ ] HTTPS / HTTP
* ์ด๋ฒ ์ฃผํน๊ธฐํ๋ก์ ํธ์์ https๋ก ๋ฐฐํฌํด์ผ ํ๋ ๋ถ๋ถ์ด ์์๋ค. ๋ฐฐํฌํ๊ฒฝ์ ๋ง์ถฐ ์ค์ ์ ํ๋ฉด์ ์๊ฒ ๋ ๊ฒ๊ณผ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๊ฒ๋ค์ ์ค๋์ til์ ๊ธฐ์ฌํด์ผ๊ฒ ๋ค. Https๋ฅผ ์ ์จ์ผํ ๊น? HTTPS๋ TLS ์ํธํ๋ฅผ ๊ฐ์ถ HTTP. HTTPS๋ TLS(SSL)๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ฐ HTTP ์์ฒญ๊ณผ ์๋ต์ ์ํธํํ๋ฏ๋ก ๋ ์์ ํ๊ณ ๋ณด์์ด ๊ฐํ๋ฉ๋๋ค. HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น ์ฌ์ดํธ์ URL ์์๋ http:// ๋์ https://(์: https://www.cloudflare.com)๊ฐ ์๋ค. ์น ์ฌ์ดํธ์์๋ ์ HTTPS๋ฅผ ์ฌ์ฉํด์ผ ํ ๊น? 1) HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น ์ฌ์ดํธ๋ ์ฌ์ฉ์๊ฐ ๋ ์ ๋ขฐํ ์ ์์ต๋๋ค. HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น ์ฌ์ดํธ๋ ์ง์ญ ์ํ ์์ ๊ฒ์ฌ๊ด์ผ๋ก๋ถํฐ "ํฉ๊ฒฉ"์ ๋ฐ์์์ ๊ฒ์ํ๋..
2023.09.21 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐํ๋ก์ ํธ์ฃผ์ฐจ ] PRISMA schema 1:1๊ด๊ณ / 1:N๊ด๊ณ
์ฃผํน๊ธฐ์์ ๋ฐฐ์ด API์์ฑ, ๊ทธ๋ฆฌ๊ณ ERD๋ฅผ ์ ์ํ๋ค. ๊ต์ก๋ฐ์ ๋๋ณด๋ค ํ๋ก์ ํธ์ ์ค์ฝํ๊ฐ ์กฐ๊ธ ์ปค์ก๋ค๊ณ ๊ทธ๋งํผ ์์ฑ์๋ ์ด๋ ค์์ ๋๊ผ๋ค. ERD๋ ์ปฌ๋ผ์ด ๋ช ๊ฐ ๋ ์๊ธฐ๋, ์ ๋ฆฌ๊ฐ ๋์ง ์๊ณ ์ฐ๊ฒฐ์ด ์ด๋๋ก ๋์ด์ผ ํ ์ง ๋ณต์กํด์ง๊ธฐ ์์ํ๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋, API์์ฑ๊ณผ, schema๋ฅผ ์์ฑํ๋๋ฐ๋ ๊ณ์ ๋น ๊ณณ์ด ๋ฐ๊ฒฌ๋์๋ค. ํ์ ์ ๊ฐ๋ฉด ์ด๊ฒ๋ณด๋ค ๋ช ๋ฐฐ๋ ๋ ํฐ ํ๋ก์ ํธ๋ฅผ ํ๊ฒ ๋ ๊ฑด๋ฐ, ๊พธ์คํ ๊ณต๋ถํด์ผ๊ฒ ๋ค! ERD๋ง๋ค๊ธฐ : https://drawsql.app/teams/no-55/diagrams/prisma-community-hub Prisma-Community-Hub | DrawSQL Database schema diagram for Prisma-Community-Hub. drawsql.app [ ๋ผ์ด๋ธ..
2023.09.16 -
[ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] ORM๊ณผ Prisma
โธ ORM์ด๋? ๊ฐ์ฒด ๊ด๊ณ ๋งคํ(Object-relational mapping; ORM)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ์ ํธํ๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ด๋ค. ๊ฐ์ฒด ์งํฅ ์ธ์ด์์ ์ฌ์ฉํ ์ ์๋ "๊ฐ์" ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ฐ์ฒด ๊ด๊ณ ๋งคํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์์ฉ ๋๋ ๋ฌด๋ฃ ์ํํธ์จ์ด ํจํค์ง๋ค์ด ์๊ณ , ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ๋ ์์ ์ผ๋ก ๊ฐ๋ฐํ๊ธฐ๋ ํ๋ค. ์ฐธ์กฐURL : ๊ฐ์ฒด ๊ด๊ณ ๋งคํ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ (wikipedia.org) ๊ฐ์ฒด ๊ด๊ณ ๋งคํ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ๊ฐ์ฒด ๊ด๊ณ ๋งคํ(Object-relational mapping; ORM)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ์ ํธํ๋์ง ์๋..
2023.09.10 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐ์ฃผ์ฐจ ] ์ ๊ท ํํ์ ๋ง๋ค๊ธฐ
์ด๋ฒ LV ๊ฒ์ํ ๋ง๋ค๊ธฐ๋ฅผ ํ๋ฉด์ , ๋ก๊ทธ์ธ์ ๊ตฌํํ ๋์ ์๋์ ์กฐ๊ฑด๊ฐ์ ํ์ฉ ํ์ฌ์ผ ํ๋ค๋ ์กฐ๊ฑด๊ฐ์ด ์์๋ค. api ๋ช ์ธ์๋ง ์ ๊ฒฝ์จ์ ๋ง๋ค๋ค๊ฐ ์กฐ๊ฑด๊ฐ์ด ์๋ค๋๊ฑธ ๋ชจ๋ฅด๊ณ ์๋ค๊ฐ ๋ค๋ฆ๊ฒ ํ์ธํด์ ์ ๊ท์์ผ๋ก ์์ด๋/๋น๋ฐ๋ฒํธ๋ฅผ ๋ฃ์ด ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ธํด์ ์ฝ๋๋ฅผ ์์ ํ๋ค. ๋๋ค์์ ์ต์ 3์ ์ด์, ์ํ๋ฒณ ๋์๋ฌธ์(a~z, A~Z), ์ซ์(0~9)๋ก ๊ตฌ์ฑํ๊ธฐ ๋น๋ฐ๋ฒํธ๋ ์ต์ 4์ ์ด์์ด๋ฉฐ, ๋๋ค์๊ณผ ๊ฐ์ ๊ฐ์ด ํฌํจ๋ ๊ฒฝ์ฐ ํ์๊ฐ์ ์ ์คํจ๋ก ๋ง๋ค๊ธฐ ๋จผ์ , ์ ๊ทํํ์((Regular Expression)์ ๋ํด ์์๋ดค๋ค. ์ ๊ทํํ์์ ๋ฌธ์์ด์์ ํน์ ๋ด์ฉ์ ์ฐพ๊ฑฐ๋ ๋์ฒด ๋๋ ๋ฐ์ทํ๋๋ฐ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด ํ์๊ฐ์ ํ๋ฉด์์ ์ฌ์ฉ์๋ก ๋ถํฐ ์ ๋ ฅ ๋ฐ๋ ์ ํ๋ฒํธ๊ฐ ์ ํจํ์ง ์ฒดํฌํ ํ์๊ฐ ์๋ค. ์ด๋ ์ ๊ทํํ์์ ์ฌ..
2023.09.10