๐คทโ๏ธ ๋ณธ๋ก ์ ์์
๋ณธ๋ก ์ ์์ ๋ฆฌ์กํธ(react) ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ ์ฟผ๋ฆฌ ์คํธ๋ง ๋ค๋ฃจ๊ธฐ ์ํด์ URLSearchParams API๋ฅผ ํ์ฉํด ์ฟผ๋ฆฌ ์คํธ๋ง์ ๋ค๋ฃจ๋ฉด์ ๊ฒช์ ์ ์ ๊ฒฝํ์ ๊ณต์ ํด ๋๋ฆฝ๋๋ค.
๐คทโ๏ธ URLSearchParams ๊ฐ๋
URLSearchParams๋ JavaScript ์น API์ค ํ๋๋ก URL ์ฃผ์์์ ๊ฐ์ฅ ๋ค๋ฃจ๊ธฐ ๊น๋ค๋ก์ด ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ฝ๊ฒ ๋ค๋ฃฐ์ ์๋๋ก ๋๋ ๊ฐ์ฒด์ ๋๋ค.
URLSearchParams MDN
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
URLSearchParams - Web APIs | MDN
The URLSearchParams interface defines utility methods to work with the query string of a URL.
developer.mozilla.org
๐คทโ๏ธ ์ฟผ๋ฆฌ ์คํธ๋ง์ด๋?
URL ์ฃผ์๋ฅผ ๋ณด๋ฉด ๋๋ฉ์ธ ๋ค์ ? ์์ํ๋ ๊ธฐํธ๋ฅผ ํํ ๋ณผ ์ ์์ต๋๋ค.
? ๊ธฐํธ ๋ค์ ๋ถ๋ ๊ฐ๋ค์ ์ฟผ๋ฆฌ ์คํธ๋ง(Query String) ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ key-value ํํ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ฟผ๋ฆฌ ์คํธ๋ง์ ํํฐ๋ง, ํ์ด์ง๋ค์ด์ , ์ ๋ ฌ, ๋ ์ง ๋ฑ ๋ค์ํ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ๋ ํํฐ๋ง, ์ ๋ ฌ, ๋ ์ง์ ๋ํ ๊ฐ๋ค์ ์ฟผ๋ฆฌ์คํธ๋ง์ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด
https://example.com/?name=John&age=30
? ๊ธฐํธ ๋ค์ name=john๋ key-value ํํ์ด๊ณ & ๊ธฐํธ๋ก ๊ตฌ๋ถํ์ฌ ์๋ก์ด key-value ํํ์ ์ฟผ๋ฆฌ์คํธ๋ง์ ๋ช ์ํ ์ ์์ต๋๋ค.
์ด ๋ถ๋ถ์ด ์ฟผ๋ฆฌ ์คํธ๋ง์ ๋๋ค.
?name=John&age=30
๐คทโ๏ธ URLSearchParams ์ฌ์ฉ๋ฐฉ๋ฒ
URLSearchParams ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
const searchParams = new URLSearchParams(location.search);
or
const params = new URLSearchParams(window.location.search);
์ด ์ฝ๋๋ URLSearchParams ๊ฐ์ฒด๋ฅผ ํ ๋ฒ์ ์์ฑํฉ๋๋ค.
๊ทธ๋์ ์ฌ๋ฌ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
URLSearchParams get ์ฌ์ฉ์์
https://example.com/?name=John&age=30
const searchParams = new URLSearchParams(location.search);
const name = searchParams.get('name');
//๊ฒฐ๊ณผ๊ฐ์ name์ value ๊ฐ์ธ John ์
๋๋ค.
์ฌ๋ฌ ๊ฐ ์ฟผ๋ฆฌ ์คํธ๋ง์ ๊ฐ๋ค์ ์ฌ์ฉํ ๋ ์ฑ๋ฅ์ด๋ ์ฝ๋ ๊ฐ๋ ์ฑ ๋ฉด์์ ์ข์ต๋๋ค.
URLSearchParams set ์ฌ์ฉ์์
const searchParams = new URLSearchParams('name=John&age=30');
searchParams.set("name", "yoo");
searchParams.set("age", 1);
๊ฒฐ๊ณผ๊ฐ: ?name=yoo&age=1
set ๋ฉ์๋๋ ์ด๋ฏธ ์กด์ฌํ๋ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ค๋ฒ๋ผ์ด๋ ํฉ๋๋ค.
URLSearchParams append ์ฌ์ฉ์์
const searchParams = new URLSearchParams('name=John&age=30');
searchParams.append("name", "yoo");
๊ฒฐ๊ณผ๊ฐ: name=John&age=30&name=yoo
append ๋ฉ์๋๋ ๊ธฐ๋ณธ ํ๋ผ๋ฏธํฐ ๊ฐ์ด ์์ด๋ ์๋ก์ด ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
URLSearchParams delete ์ฌ์ฉ์์
const searchParams = new URLSearchParams('name=John&age=30');
searchParams.delete("name");
๊ฒฐ๊ณผ๊ฐ: ?age=30
delete ๋ฉ์๋๋ ํน์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ญ์ ํฉ๋๋ค.
๐คทโ๏ธ URLSearchParams ๋ง์ง๋ง์ผ๋ก
URLSearchParams ์ฌ์ฉ๋ฒ์ ๋ํด์ ์ ๋ฆฌ๋ฅผ ํด๋ดค์ต๋๋ค.
๋ ๋ค์ํ URLSearchParams ๊ฐ์ฒด์ ๋ฉ์๋๋ค์ด ์กด์ฌํ์ง๋ง ์ ๋ ์์ 4๊ฐ ๋ฉ์๋๋ฅผ ๊ฐ๋ ์ ์ดํดํ๊ณ ์ฌ์ฉ์ ํ์ ๋ ์ค๋ฌด์์ ๋ฌธ์ ์์ด ์ฌ์ฉํ์ค ์ ์๋ค๊ณ ์๊ฐํด์ URLSearchParams ๊ฐ์ฒด์ get, set, append, delete ๋ฉ์๋๋ฅผ ์ ๋ฆฌํด ๋ดค์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
[React] Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผ className ์ปค์คํ
๐คทโ๏ธ Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผํ๋ก์ ํธ ์งํ์ค ๋ฐฐ๋ ๋งํฌ์ URL ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ 3์ค ํจ๊ณผ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ์ต๋๋ค. React + Tailwind CSS ์ ํ ๋ ํ๋ก์ ํธ ์ฌ์ CSS ํ์ผ & style ํ๊ทธ๋ฅผ ์ฌ์ฉํ
cometruedream.tistory.com
https://cometruedream.tistory.com/243
NestJS Lifecycle (์๋ช ์ฃผ๊ธฐ) ๊ฐ๋
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ Nest JS ๊ฐ๋ ?Nest JS๋ Node JS ๊ธฐ๋ฐ์ผ๋ก ํ ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋นํ ์ค๋ซ๋์ Express ๊ธฐ๋ฐ์ผ๋ก ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ์๋์ ์ธ ์
cometruedream.tistory.com
https://cometruedream.tistory.com/242
๋ฆฌ์กํธ Vite Proxy ํ์ฉํ CORS ์ค๋ฅ ํด๊ฒฐ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก ํธ์๋ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ต์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๊ณ ๊ธ์ ๋ณด์๋ฉด ๋ ๋ง์ ๋์์ด ๋ฉ๋๋ค^^ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ํ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ตhttps://comet
cometruedream.tistory.com
https://cometruedream.tistory.com/241
React ํด๋๊ตฌ์กฐ FSD ๊ธฐ๋ฅ ๋ถํ ์ค๊ณ ์ํคํ ์ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ์ ์์ ํด๋ ๊ตฌ์กฐ, ์ค๊ณ์ ๋ํ ์ํคํ ์ฒ๋ฅผ ๋ง๋๋ ๊ฒ์ ์๋นํ ์ด๋ ต๋ค. ์ด๋ฒ ํ๋ก์ ํธ์ React FSD ํด๋๊ตฌ์กฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ ์์ ์ด๋ผ์ FSD ์ํคํ
cometruedream.tistory.com
https://cometruedream.tistory.com/244
์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ Prisma ๋ช ๋ น์ด ์ ๋ฆฌ
๐คทโ๏ธ Prisma ๋ช ๋ น์ด ๋ณธ๋ก ์ ์์ Prisma๋?Nest JS ํ๋ ์์ํฌ์ Prisma ORM์ ํ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ Prisma๋ Node JS ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํธ์์ฉ์ด ์๋๋ฉฐ Prisma + DB ์ฐ๋์ผ
cometruedream.tistory.com
[์๋ฐ์คํฌ๋ฆฝํธ 2ํ] ์๋ฐ์คํฌ๋ฆฝํธ ์ซ์ ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ ๊ณผ ๋ด์ฅํจ์
์ธ์์ ํฅํด ๋ฌ๋ ค - ์๋ฐ์คํฌ๋ฆฝํธ(javascript) ์ซ์ํ ๋ฐ์ดํฐ ์๋ฃ๊ตฌ์กฐ๋ ๋ชจ๋ ์ข ๋ฅ์ ์ํ์ ์ฐ์ฐ์ ์ํํ ์ ์๋ ์ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค. [์๋ฐ์คํฌ๋ฆฝํธ 2ํ] ์๋ฐ์คํฌ๋ฆฝํธ ์ซ์ ์๋ฃ๊ตฌ์กฐ์
fnfentermagazine.com