๐ช Programming
[TS] ํ์
์คํฌ๋ฆฝํธ์์ CSS Module ์ฌ์ฉํ๊ธฐ
[TS] ํ์ ์คํฌ๋ฆฝํธ์์ CSS Module ์ฌ์ฉํ๊ธฐ
2024.05.11ํ์
์คํฌ๋ฆฝํธ CSS Module ์ค๋ฅ ํด๊ฒฐํ์
์คํฌ๋ฆฝํธ์์ CSS Module์ ์ฌ์ฉํ๋ฉด ๋ชจ๋/์ ์ธ์ ์ฐพ์ ์ ์๋ค๋ ํ์
์๋ฌ๊ฐ ๋์จ๋ค. src ํน์ ์ปดํฌ๋ํธ ํด๋์ ์๋ ๋ด์ฉ์ด ๋ด๊ธด typings.d.ts ํ์ผ์ ์ถ๊ฐํ๋ฉด ํด๊ฒฐํ ์ ์๋ค. via StackOverFlow// Toggle/typings.d.tsdeclare module '*.module.css' { const classes: { [key: string]: string }; export default classes;} CSS Module ์ฌ์ฉ๋ฒโถ [name].module.css ํํ๋ก CSS ๋ชจ๋ ํ์ผ์ ์์ฑํ๊ณ /* Toggle/Toggle.module.css */.toggle-bg:after { /* ... */} โท ์ปดํฌ๋ํธ์์ ..
[React] falsy ๊ฐ์ ์ฌ์ฉํ ๋ฆฌ์กํธ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ์ฃผ์ํ ์
[React] falsy ๊ฐ์ ์ฌ์ฉํ ๋ฆฌ์กํธ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ์ฃผ์ํ ์
2024.05.11๋ฆฌ์กํธ์์ null, undefined, boolean ์ด๋ ๊ฒ 3๊ฐ์ง ํ์
๋ง ๋ ๋๋ง์ ๊ฑด๋๋ฐ๋ ์ ๊ธฐ์ต ์๋ฐ์คํฌ๋ฆฝํธ์์ 0(ํน์ -0, 0n)์ 6๊ฐ์ง falsy ๊ฐ ์ค ํ๋๋ค. && AND ๋
ผ๋ฆฌ ์ฐ์ฐ์๋ ์ฒซ๋ฒ์งธ falsy ๊ฐ์ ์ฐพ์์ ๋ฐํํ๊ณ , falsy ๊ฐ์ด ์์ผ๋ฉด(ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ true์ด๋ฉด) ๋ง์ง๋ง ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํ๋ค(๋ฐ๋๋ก || OR ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ truthy ๊ฐ์ ์ฐพ์ ๋ฐํํ๊ณ , truthy ๊ฐ์ด ์์ผ๋ฉด && ์ฐ์ฐ์์ฒ๋ผ ๋ง์ง๋ง ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํ๋ค).0 && 'bit'; // 0-0 && 'bit'; // -00n && 'bit'; // 0n React์์ ์กฐ๊ฑด๋ถ ๋ ๋๋ง ์ฝ๋๋ฅผ ์์ฑํ ๋ && ์ฐ์ฐ์๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ค. ์๋ ์์์์ count ๋ณ์์ ๋ด๊ธด 0์ falsy ๊ฐ์ด๋ฏ๋ก ํ๋ฉด์ ์๋ฌด..
[JS] ํน์ ์์ ์์น๋ก ์คํฌ๋กค ์ด๋ํ๊ธฐ - scrollIntoView
[JS] ํน์ ์์ ์์น๋ก ์คํฌ๋กค ์ด๋ํ๊ธฐ - scrollIntoView
2024.05.11๋ฌธ๋ฒํน์ ์์๊ฐ ์์นํ ๊ณณ๊น์ง ์คํฌ๋กค์ ์ด๋ํ๊ณ ์ถ์ ๋ element.scrollIntoView ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด ๊ฐํธํ๊ฒ ๊ตฌํํ ์ ์๋ค. scrollIntoView ๋ฉ์๋๋ ์ด 3๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. (MDN)element.scrollIntoView(align) โถ ํ๋ผ๋ฏธํฐ ์์ — element๊ฐ ๋ธ๋ผ์ฐ์ ํ๋ฉด ๊ฐ์ฅ ์๋ก ์ค๋๋ก ์คํฌ๋กค(์ ๋ ฌ)element.scrollIntoView(); // element.scrollIntoView(true)์ ๋์ผ โท boolean ํ๋ผ๋ฏธํฐ// { block: "start", inline: "nearest" } ์ต์
๊ณผ ๋์ผelement.scrollIntoView(true); // { block: "end", inline: "nearest" } ์ต์
๊ณผ ..
[React] ๋ฆฌ์กํธ Render Props ํจํด 2๊ฐ์ง ์ฌ์ฉ ๋ฐฉ๋ฒ
[React] ๋ฆฌ์กํธ Render Props ํจํด 2๊ฐ์ง ์ฌ์ฉ ๋ฐฉ๋ฒ
2024.05.11children Prop์ ์ด์ฉํด ์ปดํฌ๋ํธ ํฉ์ฑ(component composition) ํํ๋ก ์์ฑํ๋ฉด ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ฅผ ์์ ํ์ง ์๊ณ ๋ ์์ ์ปดํฌ๋ํธ๋ฅผ ์์ ๋กญ๊ฒ ์ถ๊ฐํด์ ์ฌ์ฉํ ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ(์ํ) ๊ณต์ ๋ ์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๊ฐ๋จํ์ง๋ง ์ต์์ ์ปดํฌ๋ํธ๊ฐ ๋ฐ์ดํฐ(์ํ)์ ๋ชจ๋ ํ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉด ํด๋น ์ํ์ ๊ด๋ จ ์๋ ๋ชจ๋ ํ์ ์ปดํฌ๋ํธ๋ ๋ ๋๋ง์ ์ํฅ์ ์ฃผ๋ ๋จ์ ์ด ์๋ค(์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ๋ก ๋ถ๋ชจ ์ปดํฌ๋ํธ ์ํ๊ฐ ๋ณ๊ฒฝ๋ผ์ ์
๋ฐ์ดํธํ๋ฉด ํ์ ์ปดํฌ๋ํธ๋ ๋ค์ ๋ ๋๋ง ํ๋ฏ๋ก). ์ด๋ Render Props ํจํด์ ํ์ฉํ ์ ์๋ค. ์ด๋ค ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ ์ง์ ๋ํ ๋ก์ง์ ์์ ์ปดํฌ๋ํธ๊ฐ ๊ฒฐ์ ํ๊ณ , ํ์ ์ปดํฌ๋ํธ๋ ์์ ์ด ๊ด๋ฆฌํ๋ ์ํ๋ฅผ ์ธ์๋ก ๋ฐ์ render(ํน์ childre..
[TS] ํ์
์คํฌ๋ฆฝํธ ํ์
๊ฐ๋ is / asserts ํค์๋ ์ฐจ์ด์
[TS] ํ์ ์คํฌ๋ฆฝํธ ํ์ ๊ฐ๋ is / asserts ํค์๋ ์ฐจ์ด์
2024.05.10TL;DRparameterName is Type : ์กฐ๊ฑด๋ฌธ์์ ์ฌ์ฉ (if๋ฌธ์ผ๋ก ํ์
์ ๋ถ๊ธฐ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ)asserts parameterName is Type : ์์ธ๋ฅผ ๋ฐ์์ํด (์ค์ฝํ ๋ด์์ ์ ํจํ ํ์
์ธ์ง ํ๋จํ ๋ ์ฌ์ฉ) is ํค์๋ํ์
์คํฌ๋ฆฝํธ์์ ํ์
๋ฒ์๋ฅผ ์ขํ๋๊ฐ๋ ์์
(๊ธฐ๋ฅ)์ ํ์
๊ฐ๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ๋จํ ํ์
์ in, typeof ํค์๋ ๋ฑ์ ์ฌ์ฉํ ์ ์์ง๋ง โํ์
์ด ๋ณต์กํ๊ฑฐ๋ โํ์
์ฒดํฌ ๋ก์ง์ ์ฌ์ฌ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉ์ ์ ์ ํ์
๊ฐ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ค. ํ์
๊ฐ๋ ํจ์๋ ๋ฆฌํด๋ฌธ์ is ํค์๋๋ฅผ ์ด์ฉํด์ “์ด๋ค ์ธ์๋ ์ด๋ค ํ์
์ด๋ค” ๋ผ๋ ๊ฐ(ํ์
๋ช
์ /์ ๋ถ; Predicate)์ ๋ฆฌํดํ๋ ํจ์๋ผ๊ณ ๋ณผ ์ ์๋ค. ๐ก ์ ๋ถ(Predicate; ่ฐ่ฏ)๋? ์ฃผ์ด์ ์ํ, ์ฑ์ง..
[DevTools] ๊ฐ๋ฐ์ ์นํ์ ์ธ ํฐ๋ฏธ๋ LS — PLS
[DevTools] ๊ฐ๋ฐ์ ์นํ์ ์ธ ํฐ๋ฏธ๋ LS — PLS
2024.05.10pls๋ ๊ฐ๋ฐ์ ์นํ์ ์ธ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ด์๊ณ ๊ฐ๋ ฅํ ํฐ๋ฏธ๋ ls ํด์ด๋ค. pls์์ p๋ ์๋ ์๋ฏธ๋ฅผ ํฌํจํ๋ค.Pretty (the output from pls surely looks better)Powerful (pls has lots of features and endless customisation)Programmer (pls is geared towards developers)Professional (pls can be extensively tweaked by the pros)Python (pls is written in Python!) ์ฌ์ด ์ฌ์ฉ๋ฒ, ํด๋/ํ์ผ ์์ด์ฝ ํ์, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณ ํ์ผ๋ช
์์ ๊ตฌ๋ถ(*.js ํ์ผ ๋
ธ๋ฝ์์ผ๋ก ํ์ ๋ฑ), ์ค์ ํ์ผ์ ๊ตต๊ฒ ํน์ ๋ฐ์ค๋ก ํ์, ์ค์ํ์ง ์..
[HTML/CSS] ํผ์นจ/์ ํ Transition ํจ๊ณผ์ ์์ ์จ๊น ๋ฐฉ์ ์ฐจ์ด์
[HTML/CSS] ํผ์นจ/์ ํ Transition ํจ๊ณผ์ ์์ ์จ๊น ๋ฐฉ์ ์ฐจ์ด์
2024.05.10์ํฉ ์ค๋ช
๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒCSS์ transition ์์ฑ์ ์์์ ์ํ ๋ณํ์ ๋ฐ๋ฅธ ์๊ฐ์ ์ธ ๋ณํ๋ฅผ ์ ์ง์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ display ์์ฑ์ด none์์ block ์ผ๋ก ๋ณ๊ฒฝ๋ ๋๋ transition ์์ฑ์ ์ฌ์ฉํด์ ์ด ๋ณํ๋ฅผ ํํํ ์ ์๋ค.display: none ์์ฑ์ ๋ ๋ ํธ๋ฆฌ์์ ์์๋ฅผ ์์ ํ ์ ๊ฑฐํ์ฌ ํ๋ฉด์์ ์ฌ๋ผ์ง๊ฒ ๋ง๋ค๊ณ , ์ด๋ก ์ธํด ์ด๋ ํ CSS ์์ฑ๋ ์ ์ฉ๋์ง ์๋๋ค. ๋ ๋ ํธ๋ฆฌ์์ ์ฌ๋ผ์ง๋ฉด ์์์ ์ํ ๋ณํ๋ฅผ ์ถ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ transition ๋ณํ๊ฐ ์์๋๋ ์ง์ ์ญ์ ์ฐพ์ ์ ์๋ค.์ด ๋ฌธ์ ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์๋ค.animation + display ์ฌ์ฉ : animation ์์ฑ์ ์์์ ์ํ ๋ณํ์ ์๊ด์์ด ์ ๋๋ฉ์ด์
์คํtransiti..
[HTML/CSS] ๊ตฌ๊ธ ํฐํธ ์ฌ์ฉ ๋ฐฉ๋ฒ / CSS์์ ์นํฐํธ ์ฌ์ฉํ๊ธฐ
[HTML/CSS] ๊ตฌ๊ธ ํฐํธ ์ฌ์ฉ ๋ฐฉ๋ฒ / CSS์์ ์นํฐํธ ์ฌ์ฉํ๊ธฐ
2024.05.10CSS ํ์ผ ์ต์๋จ์ @import ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ ํฐํธ๋ฅผ ๋ถ๋ฌ์ค๋ฉด CSS ํ์ผ์ด ์์ ํ ๋ก๋๋๊ณ ํ์ฑ๋ ๋๊น์ง ๋ฆฌ์์ค ๋ก๋๊ฐ ์ง์ฐ๋ผ์ ์ฑ๋ฅ ์ ํ๋ฅผ ์ด๋ํ ์ ์๋ค. ๋ฐ๋ฉด, HTML ์์์ ํ๊ทธ๋ฅผ ํตํด ํฐํธ๋ฅผ ๋ถ๋ฌ์ค๋ฉด ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ๋ณ๋ ฌ๋ก ๋ก๋ํ ์ ์์ด ๋ ํจ๊ณผ์ ์ด๋ค. ์ค์ ๋ก ๋ฐฉ์์ด @import ๋ณด๋ค 1.3~1.6์ด ์ ๋ ๋ ๋น ๋ฅด๊ฒ ํฐํธ๋ฅผ ๋ก๋ํ๋ค๊ณ ํ๋ค. ๊ตฌ๊ธ ํฐํธ CSS ํ์ผ ๊ฐ์ ธ์ค๊ธฐ ํ์ฌ์ฉํ๊ณ ์ถ์ ๊ตฌ๊ธ ํฐํธ ์ด๋ฆ์ ์ฃผ์์ family ๊ฐ์ ์
๋ ฅํ๋ฉด Font Family CSS ํ์ผ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์ฐธ๊ณ ๋ก display=swap ํ๋ผ๋ฏธํฐ๋ ํฐํธ ํ์ผ ๋ก๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ํ
์คํธ๊ฐ ๋ณด์ด์ง ์๋ ํ์์ ๋ฐฉ์ง ํ๊ธฐ ์ํด ๋์ฒด ํฐํธ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ต์
์ด๋ค. ๊ทธ ์ธ์ wght, italic ๋ฑ ์ฌ..
[DevTools] ๊ตฌ๊ธ ํฌ๋กฌ ๋์์ธ ๋ชจ๋ (Design Mode)
[DevTools] ๊ตฌ๊ธ ํฌ๋กฌ ๋์์ธ ๋ชจ๋ (Design Mode)
2024.05.10ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์ฃ์ง ๋ฑ ๋๋ถ๋ถ ๋ธ๋ผ์ฐ์ ์์ ๋์์ธ ๋ชจ๋๋ฅผ ์ง์ํ๋ค. ํฌ๋กฌ ์ฝ์์์ ๋์์ธ ๋ชจ๋๋ฅผ ํ์ฑํํ๋ฉด ์ฝ๋๋ฅผ ์ง์ ์์ ํ์ง ์๊ณ ๋ ์์ง์
์๋ํฐ์ฒ๋ผ ์์ ์ฝํ
์ธ ๋ฅผ ์์ ํ ์ ์๋ค. ์ด๋ฏธ์ง ์๋ผ๋ด๊ธฐ / ๋ถ์ฌ ๋ฃ๊ธฐ ๋ฑ์ ์์
๋ ๊ฐ๋ฅํ๋ค. ๋ฌผ๋ก ์์ ํ๋ ๋ด์ฉ์ ์๋ก๊ณ ์นจํ๋ฉด ์์๋ณต๊ท ๋๋ค. ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ(F12)๋ฅผ ์ด๊ณ document.designMode ๊ฐ์ 'on'์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋์์ธ ๋ชจ๋๊ฐ ํ์ฑํ ๋๋ค. document.designMode = 'on'; // ๋์์ธ ๋ชจ๋ ์ผํคdocument.designMode = 'off'; // ๋์์ธ ๋ชจ๋ ๋๊ธฐ ๊ธ ์์ ์ฌํญ์ ๋
ธ์
ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
[JS] Lodash Import ์ฉ๋ ์ค์ด๊ธฐ ํ
[JS] Lodash Import ์ฉ๋ ์ค์ด๊ธฐ ํ
2024.05.10Lodash ๋ชจ๋์ importํ ๋ import { cloneDeep } from 'lodash' ์ด๋ ๊ฒ ์์ฑ ํ๋ฉด ํ๋ฒ์ ๋ชจ๋์ ๊ฐ์ ธ์จ๋ค. ๋ช๋ช ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ถํ์ํ import๋ฅผ ํ๋ ์
์ด ๋๋ค. ์ฐธ๊ณ ๋ก Lodash๋ ์นํฉ์ ํ๋ก๋์
๋น๋๋ก ๋ฒ๋ค๋งํ๋ฉด 25kb ์ ๋ ์ฐจ์งํ๋ค๊ณ ํ๋ค. 30kb ์ ๋์ React DOM, Vue.js์ ๋น๊ตํด๋ ๊ฝค ๋ฌด๊ฑฐ์ดํธ์ด๋ค.import { cloneDeep } from 'lodash' // 73.15 kB (gzip: 25.42 kB) import ๊ตฌ๋ฌธ์ ์๋์ฒ๋ผ ์์ฑํ๋ฉด ํ์ํ ํจ์๋ง ๋ถ๋ฌ์ฌ ์ ์๋ค. ํ์ง๋ง ์ฌ๋ฌ Lodash ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๋ chaining ํ ์ ์๋ ๋จ์ ์ด ์๋ค. ๋ฐ๋ผ์ ์๋ ๋ฐฉ๋ฒ์ ๋จ์ผ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ ํฉํ๋ค.impo..
[React] background-image์ svg ์ฌ์ฉํ๊ธฐ (inline SVG)
[React] background-image์ svg ์ฌ์ฉํ๊ธฐ (inline SVG)
2024.05.10์์น๋ณ ํ์ผ ๊ฒฝ๋ก ๊ธฐ์คJSX ์๋ฆฌ๋จผํธ ์์ฑ์ ๋ฃจํธ ํด๋ ๊ธฐ์ค : publicCSS ํ์ผ ๋ฃจํธ ํด๋ ๊ธฐ์ค : srcํ์ผ ์ต์๋จ import ๊ตฌ๋ฌธ : src ํด๋๋ง ์ฒ๋ฆฌ ๊ฐ๋ฅ(public ํด๋์ ์๋ ํ์ผ์ ๋ถ๊ฐ) ํ๊ทธ src ์์ฑ(JSX ํ๊ทธ ์์ฑ)์ src ํด๋์ ์๋ ์ด๋ฏธ์ง ํ์ผ์ ์ง์ ํ๋ ค๋ฉด…ํ์ผ ์ต์๋จ์์ ๋ถ๋ฌ์จ ์ด๋ฏธ์ง ํ์ผ์ src ์์ฑ์ ํ ๋นํ๊ฑฐ๋,src ์์ฑ ์์์ require() ์ฌ์ฉ e.g. ๋ฌธ์ ์ํฉ JSX ์๋ฆฌ๋จผํธ ์์ฑ์ ๋ฃจํธ ํด๋ ๊ธฐ์ค์ public ํด๋๋ฏ๋ก ์ด๋ฏธ์ง ํ์ผ์ด src ํด๋์ ์๋ค๋ฉด ํ์ผ ์ต์๋จ์์ ์ด๋ฏธ์ง ํ์ผ์ import ํ ํ ์ธ๋ผ์ธ ์คํ์ผ url() ํจ์์ ์ฌ์ฉํ ์ ์๋ค. *.png, *.webp ๊ฐ์ ์ด๋ฏธ์ง ํ์ผ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ์๋ํ๋ค.// src/asse..
[JS] toISOString() ๋ฉ์๋ ์คํ์
๊ต์ ํ๊ธฐ (UTC ์๊ฐ๋ ๋ณ๊ฒฝ)
[JS] toISOString() ๋ฉ์๋ ์คํ์ ๊ต์ ํ๊ธฐ (UTC ์๊ฐ๋ ๋ณ๊ฒฝ)
2024.05.09Date.toISOString() ๋ฉ์๋๋ Date ๊ฐ์ฒด๋ฅผ ISO 8601 ํ์์ UTC ์๊ฐ์ผ๋ก ๋ณํํ๋ค. ์ฆ, ์ด๋ค ๊ฐ์ด ๋ค์ด์ค๋ ํญ์ UTC+0 ์๊ฐ์ผ๋ก ๋ณํํ ๊ฐ์ ๋ฐํํ๋ค๋ ์๋ฏธ๋ค. ํ๊ตญ์ UTC ๊ธฐ์ค์๋ณด๋ค 9์๊ฐ(540๋ถ) ๋น ๋ฅด๊ธฐ ๋๋ฌธ์(+9์๊ฐ) toISOString() ๋ฉ์๋๊ฐ ๋ฐํํ๋ ์๊ฐ๊ณผ "ํ๋ฉด์ ์ธ" ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค. ์๋ฅผ๋ค์ด ํ์ฌ ํ๊ตญ ์๊ฐ์ด 2022๋
7์ 8์ผ 01์ 56๋ถ์ด๋ผ๋ฉด toISOString ๋ฉ์๋๋ ์ด๋ณด๋ค 9์๊ฐ ๋ฆ์ 2022-07-07T16:56... ๋ฅผ ๋ฐํํ๋ค.// +09:00์ UTC ๊ธฐ์ค์ ๋ณด๋ค 9์๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ ๋ช
์ํ ๊ฒconst localDate = new Date('2022-07-08T01:56:00+09:00');// ์ถ๋ ฅ๊ฐ: 2022-07-07T1..