ํ๋ก์ ํธ ํด๋๊ตฌ์กฐ ๐ฆpublic โฃ ๐policy โ โ ๐service.html ๐ฆsrc โฃ ๐App.tsx โฃ ๐assets โ โฃ ๐fonts โฃ ๐components โฃ ๐containers โ ... ์๋ํ ๋ฐฉ๋ฒ 1. vite.config.ts ํ์ผ์ html ๊ฒฝ๋ก ์ง์ โ https://ko.vitejs.dev/guide/build.html#multi-page-app build: { rollupOptions: { input: { main: resolve(__dirname, 'index.html'), public: resolve(__dirname, 'public/policy/service.html'), }, }, }, 2. iframe ์์ src ๋ก ๋์ฐ๊ธฐ https://ko.vitejs.de..
JavaScript const string = 'dcba' console.log(string.split('').sort().join('')) //'abcd' ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๋ ฌ์ ํ๊ณ ์ถ์ผ๋ฉด `sort()`๋ฅผ ํ์ฉํ๋ค. ํ์ง๋ง, `sort()` ๋ฉ์๋๋ `๋ฐฐ์ด ์๋ฃํ๋ง ์ ๋ ฌ์ด ๊ฐ๋ฅ`ํ๋ค. ๋ฐ๋ผ์, ๋ฌธ์์ด์ ์ ๋ ฌํ๊ณ ์ถ์ผ๋ฉด ์ฐ์ ๊ทธ ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํด์ค์ผ ํ๋ค. 1. `split()` ๋ฉ์๋๋ก ๋จผ์ ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ค๋ค. split์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ `split(separator)`์ผ๋ก, separator ๊ธฐ์ค์ผ๋ก ์ด๋ป๊ฒ ๋ฐฐ์ด์ ๋๋๊ฑด์ง ์ ํด์ค ์ ์๋๋ฐ, `string.split('')`์ผ๋ก ์ ์ด์ค๋ค๋ฉด string์ธ 'dcba'๋ฅผ ' ํ ์ ํ ์ ๋ถ๋ฆฌํ๋ค, ์ชผ๊ฐ ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค. 2. ์ด์ ๋ฐฐ์ด..
python์์ ์ ๋ ฌํ๊ณ ์ถ์ ๋ ํ์ด์ฌ ๋ด์ฅ ๋ฉ์๋์ `sort()`์ `sorted()`๋ฅผ ํ์ฉํ ์ ์๋ค. ํ์ด์ฌ ์ ๋ ฌ ๋ฉ์๋`sort()`๋ listํ ์๋ฃ๊ตฌ์กฐ์๋ง ์ฌ์ฉ๊ฐ๋ฅํ๋ค๋ฉด, `sorted()`๋ ์๋์ ๊ฐ์ด ๋ฆฌ์คํธํ, ๋ฌธ์ํ, ํํํ๊ณผ ๊ฐ์ ์ดํฐ๋ฌ๋ธํ ์๋ฃ๊ตฌ์กฐ์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ๋ฆฌ์คํธ sort() ๋ฉ์๋my_numbers = [2,5,6,1,8,3]my_numbers.sort()print(my_numbers) #[1, 2, 3, 5, 6, 8] sorted() ํจ์์ ๋ ฌํ๊ณ ์ํ๋ iterable์ ์ฒซ๋ฒ์งธ ์ธ์๋ก ์ ์ด์ค๋คlist = [5, 4, 3, 2, 1]print(sorted(list)) #[1, 2, 3, 4, 5]string = 'abcd'print(sorted(string)) ..
Form์ ์ ์ฅํ ๋ ํ์ํ input ์ํ๊ฐ์ object ํ์
์ผ๋ก ํ๋ฒ์ ๊ด๋ฆฌํ๊ณ , ๊ฐ input ๊ฐ์ด ๋ณ๋๋ ๋๋ง๋ค ์์ ๋ถ๋ชจ์์ handleChange ํจ์๋ฅผ ํธ์ถํ์ฌ form ์ํ๊ฐ์ ์ผ๊ด์ ์ผ๋ก ๊ด๋ฆฌํ๋ค. ์์ ๋ถ๋ชจ๋ ์ํ๊ฐ ๊ด๋ฆฌ ๋ฐ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํ๊ณ , ํ์ ์ปดํฌ๋ํธ๋ ์์์์ ์ํ๊ฐ์ ๋ฐ์ ui ๋ง ๊ทธ๋ฆด ์ ์๋๋ก ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ์๋ค. ๊ธฐ๋ณธ์ ์ธ ์ค๊ณ๋ ์์ ์ค๋ช
๊ณผ ๊ฐ์ด ์ปดํฌ๋ํธ๋ฅผ ๊ตฌํํ๋ ค๊ณ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ๋๋ฐ ์ด์ ์ ๋ง์ถ์๋๋ฐ, ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์์๋ค. ์์ ๋ถ๋ชจ ์ปดํฌ๋ํธ export const Form = () => { const initialFormValue: Info = { name: '', location: { address: '', detailAddress: '', zipCode..
์ค์๊ฐ ๊ฒ์์ด ์๋์์ฑ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌํํ๋๋ฐ, ๊ธฐ์กด์ ์ฝ๋๋ ๊ฒ์์ด input ๊ฐ์ด ๋ฐ๋๋๋ง๋ค ์๋ฒ์ api๋ฅผ ํธ์ถํ๋ค. ์ฑ๋ฅ ๊ฐ์ ์ ์ํด debounce๋ผ๋ ๊ฐ๋
์ ์ฝ๋์ ์๋ก ์ ์ฉํด๋ณด์๋ค. debounce๊ฐ ์ด๋ค ๊ฐ๋
์ด๋ฉฐ ์ด๊ฑธ react ์ฝ๋๋ก ์ด๋ป๊ฒ ์ ์ฉํ ์ ์๋์ง ์์๋ณธ๋ค. ๊ธฐ์กด ๊ฒ์ ์ปดํฌ๋ํธ useEffect(() => { getLazySearchList(); //api ํธ์ถ }, [searchInputValue]); setSearchInputValue(e.target.value) } /> ์ ์ฝ๋์์๋ useState hook์ผ๋ก ๊ด๋ฆฌํ๊ณ ์๋ searchInputValue๊ฐ ๋ฐ๋๋๋ง๋ค ์๋ฒ์ ์์ฒญ์ ๋ณด๋ธ๋ค. ์ง๊ธ ์์ ์ฌ์ง์์ ๋ณด๋ฏ์ด ๊ฒ์์ฐฝ์ ์ ์ ๊ฐ ์๋ ์ฒ๋ผ ์
๋ ฅํ๋ฉด ใฑ > ๊ทธ > ๊ธ >..
์๋ก ๊ธฐ๋ณธ์ ์ธ Form ์ปดํฌ๋ํธ๊ฐ ์๋๋ฐ, ์ด๋ฆ, ์ฃผ์, ํธ๋ํฐ ๋ฒํธ๋ฅผ input์ผ๋ก ๋ฐ์ ์ ์๊ณ , ์ ์ฅ๋ฒํผ์ ๋๋ฅด๋ฉด input ์ ๋ณด๊ฐ ์ ์ฅ๋๋ค. ์ด Form ์ปดํฌ๋ํธ๋ ์์ฑ์, ์์ ์ ์ฌ์ฌ์ฉํ ์ ์๋ ์ปดํฌ๋ํธ์ด๋ค. ์์ฑ์๊ธฐ๋ณธ input ์ด๊ธฐ ์ํ๊ฐ์ด ๋น string์ ๊ฐ์ง๋ค.์ ์ฅ ์ด๋ฒคํธ ๋ฐ์์ input ๋ฐ์ดํฐ ๊ฐ์ ๋ชจ์์ ์์ฑ์์ฒญ์ ๋ณด๋ด๋ ํจ์์ธ onCreateInfo๋ผ๋ ํจ์๋ฅผ ํธ์ถํ๋ค. ์์ ์์์ ์ปดํฌ๋ํธ์์ ์ ๋ฌ ๋ฐ์ ๋ฐ์ดํฐ value๊ฐ์ ์ด๊ธฐ๊ฐ์ผ๋ก ๊ฐ์ง๋ค. ์ ์ฅ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด input ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์์ ์์ฒญ์ ๋ณด๋ด๋ onEditInfo๋ผ๋ ํจ์๋ฅผ ํธ์ถํ๋ค. interface Props { data?: Data; //์์ ์์๋ง ์กด์ฌ onCreateInfo?: (inputs: ..
๋ชจ๋
ธ๋ ํฌ ๋์
์ง๊ธ ํ์ฌ ํ๋ฐํธ ํ์ ํ๋ก์ ํธ๋ ์๋๋ ๋๋ฉ์ธ ๋ฉ๋ด๋ณ๋ก ๋๋์ด์ ๋ฉํฐ๋ ํฌ Multi repo ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐ์ ํ์๋ค. ์ฆ ๊ฐ๋ฐ์๋ง๋ค ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํ๋ํ๋ ๋ฐ๋ก ๊ด๋ฆฌํด์ ๊ฐ๋ฐํ์๊ณ , ํ์๋ผ๋ฆฌ ๋๊ฐ์ ui๋ฅผ ๊ฐ๋ฐํ๋ค๊ณ ํ์ฌ๋ ์ ์ฅ์๊ฐ์ ์ปจํ
์คํธ ๊ณต์ ๊ฐ ์ด๋ ค์์ ๊ฐ๊ฐ์ธ ๊ฐ์๊ฐ ๊ด๋ฆฌํ๋ ๋ ํฌ์งํ ๋ฆฌ ๋ด๋ถ์์ ๋๊ฐ์ ui๋ฅผ ์ค๋ณตํด์ ๊ฐ๋ฐํ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ์ฌ๋ฌ๊ณณ์์ ์ค๋ณต์ผ๋ก ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ๊ณต์ ํด์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ํ๋์ ์ฝ๋๋ฒ ์ด์ค์์ ๋ชจ๋ ํ๋ก์ ํธ์ ์ฝ๋์ ์์์ ๊ด๋ฆฌํ์ฌ ์๋ก์ ๊ด๊ณ์ ์์กด์ฑ์ ์ฝ๊ฒ ํ์
ํ ์ ์๋๋ก ๋ชจ๋
ธ๋ ํฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค. ๋ชจ๋
ธ๋ ํฌ ํ๊ฒฝ์์ ์ฒ์ ๊ฐ๋ฐํ๋ฉด์ ํ๋ก์ ํธ ์คํ์ด ์๋ ๋๊ฐ ์์๋๋ฐ ์ด๋ ๋ง์ฃผํ ์๋ฌ๋ฅผ ์ ๋ฆฌํ๋ค. Monorepo ๋น๋ ๋๊ตฌ Turborepo ..
๋ฌธ์ ํธ๋ฆฌ๊ตฌ์กฐ ๋ฐ์ดํฐ interface Data { id: string; children: Data[]; } export const data: Data = { id: "์์1", children: [ { id: "ํ์1", children: [ { id: "ํ์1-1", children: [{ id: "ํ์1-1-1", children: [] }] }, { id: "ํ์1-2", children: [] }, ], }, { id: "ํ์2", children: [] }, ], }; ํ์ฌ ํด๋ฆญํ๋ ์์ดํ
์ id๋ ์ํ๊ฐ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์๋ค. ํด๋น ์์ดํ
์ ๋๋ฅด๋ฉด id ์ํ๊ฐ์ด ๋ฐ๋ก ๋ณ๊ฒฝ๋๋ค. const [currentId, setCurrentId] = useState(data.id); ๊ทธ ๋ณ๊ฒฝ๋ id๋ฅผ ๊ฐ์ง๊ณ ..