์๋
ํ์ธ์, ์๋์ด ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ ์ฌ๋จ ์
๋๋ค.
์๋ก ๋๊ณ  ํจ๊ป ๋ฐ์ ํ๋ ๊ฑด์ ํ ๊ณต์ ๋ฌธํ๋ฅผ ์งํฅํ์ฌ ๋ค์ํ ํ๋์ ํ๊ณ  ์์ต๋๋ค.
์ ์: ์ฝ์ด ์๋ฐ์คํฌ๋ฆฝํธ
์ ํ๋ธ ์ฑ๋: FE์ฌ๋จ
์ํฐํด ๋ฐ ์ธํฐ๋ทฐ ์์:
- ์ํฐ๋) ์ ์ ๊ฐ๋ฐ์, ๋ญ ๊ณต๋ถํด์ผ ํ์ฃ ? https://www.wanted.co.kr/events/22_02_s01_b01 
- ์ธํ๋ฐ) To. ์ฃผ๋์ด ๊ฐ๋ฐ์ https://www.inflearn.com/pages/for-junior-developers-20211207 
- ๋ฒค์ฒ์ด๋ชฝ) ๋ฒค์ฒ/์คํํธ์ ์๋์ด ๊ฐ๋ฐ์์ ์ฃผ๋์ด ๊ฐ๋ฐ์์ ์์ง๋ด๋ฐฑ ํ ํฌ์ผ https://youtu.be/6D7I4NNFHsU?si=nD6-F7EU_ZtYqDLI 
- ๋ฐ๋๋ผ์ฝ๋ฉ) ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ทจ์ ๋ง์ธ๋์  https://youtu.be/zX68pyoLctI 
Courses
Reviews
- Learn Javascript ES6+ properly - Beginner
- [React / VanillaJS] Creating UI elements directly Part 1
- Full Stack React Toy Project - REST, GraphQL (for FE Developers)
- Full Stack React Toy Project - REST, GraphQL (for FE Developers)
- Studying React's official documentation together
Posts
- Q&A - ๊ฐ์ ๋์ด๋์๋ํด์ - ์ด๋ ค์ด ๋ถ๋ถ์ด๋ ์ฌ์ด ๋ถ๋ถ์ด ์์ฌ์์ด์. ์ด๋ ค์ด๊ฑด ๋ค๋ค ์ด๋ ค์ด๊ฐ๋ณด๋ค- ํ๋ฉด์ ๊ฐ๋ณ๊ฒ ๋ฃ๊ณ ๋๊ธฐ๋ฉด์ ํ์ตํ์ธ์. ๋์ค์ ๋ค์ ๋ค์ด๋ณด์๋ฉด ์ฑ์ฅ์ ๊ธฐ์จ์ ๋๋ผ๊ฒ ๋์ค์ง๋! :) - 0
- 1
- 31
 
- Q&A - ๊ฐ์์๋ฃ ๊ด๋ จ ์ง๋ฌธ - ์๋ ํ์ธ์๊นํ ์ฝ๋๋ ๊ณต๊ฐํ์ง ์๊ณ ์์ต๋๋ค.์์ฑ๋ณธ, ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ค ํ๋์ ํ์ผ์ ๋ค์ด๋ก๋๋ฐ์ ์ค์นํ์๋ฉด ๋ฉ๋๋ค. - 0
- 2
- 25
 
- Q&A - ๊ฒ์ํ ๋ฆฌ์คํธ ๋ง๋ค๋ ์ด๋๋ถํฐ use client๋ฅผ ์ ์ฉํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ - ์ด๋ป๊ฒ ๋ต๋ณ์ ๋๋ ค์ผ ์ข์์ง๋ฅผ ๊ณ ๋ฏผํ๋๋ผ ๋ต์ด ๋ฆ์์ต๋๋ค. ์ฐ์ ๋จผ์  ๋ง์๋๋ฆฌ๊ณ ์ถ์ ๊ฒ์, ๋๋ถ๋ถ์ ๊ณ ๋ฏผ ๋๋ ๋ฌธ์ ์๋ ์ ๋ต์ด ์๋ค๋ ๊ฒ์ ๋๋ค.๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ๋ค์ํ ๊ด์ ์์ ๋ฌธ์ ๋ฅผ ๋ฐ๋ผ๋ณด๊ณ , ์ฌ๋ฌ ๊ฐ์ง ํด๊ฒฐ์ฑ ์ ๋ชจ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ง๋ฌธ ๋ด์ฉ์ ๋ณด๋ฉด, ์ง์  ๋ง์ํ์ ๋ ์์ ๋ฐ๋ผ ์์ฑํด ๋ณด์ ๋ค์ ๋น๊ตํด๋ณด๋ ๋ฐ์ ํฐ ๋ ธ๋ ฅ์ด ํ์ํ ๊ฒ์ ์๋ ๋ฏ ํฉ๋๋ค.๋ง์ฝ ํ๋ก์ ํธ์ ๊ท๋ชจ๊ฐ ํฌ๊ณ ๋ณต์กํด์ ๋ ์์ ํ ์คํธ ํ๊ธฐ๊ฐ ์ด๋ ต๋ค๋ฉด, ์์ ํ๋กํ ํ์ ์ ๋ง๋ค์ด์ ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ์๋ํด ๋ณด๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.์ด๋ฅผ ํตํด ์ง๋ฌธ์๋์ '์๊ฐ', ์ฆ '์ถ์ '์ด ์ฐธ์ธ์ง ์๋์ง๋ฅผ ๊ฒ์ฆํด๋ณผ ์ ์์ ๊ฒ์ ๋๋ค. ์  ์๊ฐ์๋ 1์์ ๋ฐ๋ผ zustand์์ 'ํต์ผ๋ก' ๊ด๋ฆฌํ๋ค๊ณ ํด์ ๋ฐ๋์ 'ํ๋๊ฐ ๋ฐ๋๋ฉด ์ ๋ถ ๋ ๋๋ง๋๋ค'๋ ๊ฒฐ๋ก ์ด ๋์ฌ ๊ฒ ๊ฐ์ง ์์ต๋๋ค.๋ฐ๋ฉด 2์์ ๋ฐ๋ฅด๋๋ผ๋ zustand์ ํต์ผ๋ก ๋ฃ์ง ๋ชปํ๋ค๋ ๊ฒ๋, ์ง๋ฌธ ์ฃผ์ ํ๋ก์ ํธ์ ๊ตฌ์ฒด์ ์ธ ์ฝ๋ ์ํฉ์ ๋ณด์ง ์์ ์ ๋ก์๋ ๋ฐ๋์ ๊ทธ๋ฐ์ง ์ ์๊ฐ ์๋ค์.๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ ์๋ํด ๋ณด๊ณ , ์ค์ ๋ก ์ด๋ค ๋ฐฉ์์ด ๋ ํจ์จ์ ์ธ์ง ํ์ธํด ๋ณด์๋ ๊ฒ์ด ์ข๊ฒ ๋ค๋, ๋ค์ ์๋ก ์ ์ธ ๋ต๋ณ๋ฐ์ ๋๋ฆด ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋ ์ ๋ฒ ์ค๋ ๊ธฐ๊ฐ ๊ฐ๋ฐ ์ผ์ ํ๊ณ ์๋ ์ผ๊ฐ ๊ฐ๋ฐ์์ผ ๋ฟ์ด์ด์, "์ผ๋ฐ์ ์ธ ๊ตฌํ ๋ฐฉ์์ ์ด๋ ๋ค"๋ผ๊ณ ๋จ์ ํ ๋งํผ ๊ฐ๋ฐ ์ ๊ณ ์ ๋ฐ์ ๊ฐ๋ฐ ๋ฐฉ์์ ๋๋ฃจ ํ์ ํ๊ณ ์์ง ์์ผ๋ฉฐ, ์ธ์ ์ด๋ ๋๊ตฌ๋ ๊ทธ๋ ๊ฒ ํ ์๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ์ง๋ฌธ์๋๊ป์๋ ๋ณธ์ธ์ ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ ํฉํ ๋ฐฉ๋ฒ์ ์ฐพ์๊ฐ๋ ๊ณผ์ ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ง ๋ง์ํ์ '์ผ๋ฐ์ ์ธ ๊ตฌํ๋ฐฉ์'์ด ๋ณดํธ์ ์ธ ๊ฐ๋ฐ ํจํด์ด๋ ํธ๋ ๋๋ฅผ ์๋ฏธํ๋ค๋ฉด,์ ๊ฐ ์๊ฐํ๋ ์ผ๋ฐ์ ์ธ ๋ชฉ๋ก ๊ตฌํ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์๋ฒ์์ ๋ชฉ๋ก ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ๋ก ๊ฐ์ ธ์์ ์ฌ์ฉํฉ๋๋ค. zustand๋ก ์ํ๋ฅผ ๊ด๋ฆฌํ ์๋ ์๊ณ , ์๋ฒ ์ํ ๊ด๋ฆฌ(์: react-query, SWR ๋ฑ)๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.๋ชฉ๋ก์ ๊ฐ ํญ๋ชฉ ๋ด์ฉ์ด ์ค์๊ฐ์ผ๋ก ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ, ๊ฐ ํญ๋ชฉ์ ๋ํ ๋คํธ์ํฌ ์์ฒญ์ ๋ณ๋๋ก ๊ด๋ฆฌํ์ฌ, ๋ณ๊ฒฝ์ด ํ์ํ ํญ๋ชฉ๋ง ์ ๋ฐ์ดํธํฉ๋๋ค.SEO๋ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง, ์ด๊ธฐ ๋ ๋๋ง ์๋ ๋ฐ ๋ ๋๋ง ๋์์ ์ต์ ํ๋ ์ ๋ด์ฉ๊ณผ๋ ๋ณ๋์ ์ด์์ ๋๋ค. - 0
- 1
- 72
 
- Q&A - Tooltip-useSyncExternalStore()์ ํจ์ ๋๊ธฐ๋ ๋ฐฉ์์ ๋ํด... - useSyncExternalStore์ ๋๋ฒ์งธ ์ธ์(getViewportRect)๋ฅผ ์ฐธ์กฐ๋ก ๋ฐ๊พธ๊ณ ์ ํ๋ ์ฌ์ ๋ํจ์์ ์คํ๊ฐ์ผ๋ก ์ธ์๋ฅผ ๋๊ธฐ๊ฒ ๋๋ฉด ๋ฆฌ๋ ๋์ ๋งค๋ฒ ์๋ก์ด ํด๋ก์  ํจ์๊ฐ ์์ฑ๋ ํ ๋(=stored ๋ณ์๊ฐ ๊ณ์ ์ด๊ธฐํ ๋ ํ ๋) ์๊ฐํ์ง ๋ชปํ sideeffect๊ฐ ์์ง ์์๊น? ํด์ ์์ต๋๋ค.์๋จ, ์ฒ์ ์ปดํฌ๋ํธ ๋ ๋๋ง ์์ ํ ๋ฒ๋ง ์คํ๋ฉ๋๋ค. ์ด๋ useState์ ์ ๋ฌํ๋ initialState์ 'ํจ์'๋ฅผ ์ ๋ฌํ๋ ๊ฒฝ์ฐ์ ๋น์ทํ ๋งฅ๋ฝ์ผ๋ก ์ดํดํ์๋ฉด ๋ฉ๋๋ค.https://ko.react.dev/reference/react/useState#parameters(์ฌ์ง) - 0
- 3
- 136
 
- Q&A - ๊ฐ์ ์ฐ์ฅ๊ด๋ จ - https://inf.run/69VLs๋งํฌ ์ฐธ์กฐํด์ ๋ฉ์ผ ์ฃผ์ธ์~! - 0
- 2
- 102
 
- Q&A - Tooltip-useSyncExternalStore()์ ํจ์ ๋๊ธฐ๋ ๋ฐฉ์์ ๋ํด... - 1. ๋์ ์ฌ์ค์ ๊ฑฐ์ ๋น์ทํฉ๋๋ค.1) getViewportRect๋ฅผ ํด๋ก์ ๊ฐ ์๋ ํจ์๋ก๋ง ์์ฑ / useSyncExternalStore ๋ด๋ถ์์ ํจ์ ํธ์ถ: ์ด๋ ๊ฒ ํ๋ฉด ViewportContextProvider ์ปดํฌ๋ํธ๋ฅผ ์ฒ์ ๋ ๋๋งํ ๋ ํ ๋ฒ getViewportRect ํจ์๋ฅผ ์คํํ๊ณ , ์ดํ๋ก๋ ๋ค์ ์คํํ์ง ์์ต๋๋ค. ์๋ฒ์์ ํ ๋ฒ, ํด๋ผ์ด์ธํธ์์ ํ ๋ฒ ์คํ๋ฉ๋๋ค. 2) getViewportRect๋ฅผ ์ฆ์์คํํจ์๋ก ์์ฑ / useSyncExternalStore ๋ด๋ถ์์๋ ๊ฒฐ๊ณผํจ์ ์ ๋ฌ: ์ด๋ ๊ฒ ํ๋ฉด ์ ํ์ผ์ importํ ๋ ์ฆ์์คํํจ์๊ฐ ์คํ๋ฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฒ์์ ํ ๋ฒ, ํด๋ผ์ด์ธํธ์์ ํ ๋ฒ ์คํ๋ฉ๋๋ค. ์ฆ, '์ต์ด ํ ๋ฒ ์คํ๋๋ ์์ '์์๋ ์ฐจ์ด๊ฐ ์์ง๋ง, ์ดํ๋ก๋ ์์ ํ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.์ ๋ ์๋ง ๊ฐ์ ์ค ์ด๋์ ๊ฐ ์ฆ์์คํํจ์๋ก ๊ณ ์ณค๋ ๊ฒ์ผ๋ก ๊ธฐ์ตํด์ ใ ใ  2. ์์กด์ฑ ๋ฐฐ์ด์ ์ธ์ ๋ ์ฐธ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ง์ํด์ผ ํ๋ ๊ฒ์ ์๋๋๋ค.useViewportRect ๋ ๋ด๋ถ ํ๋กํผํฐ ์ค ํ๋๋ผ๋ ๋ณํ๋ฉด ๋ฌด์กฐ๊ฑด ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ก ํ๊ณ ์์ต๋๋ค. ์ฆ ๋ด๋ถ ํ๋กํผํฐ๋ง ๋ฌ๋ผ์ง๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ฒด ์์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ๋ฐ๋๋๋ค. ๋ฐ๋ผ์ ๋ด๋ถ ๋ณ์๋ฅผ ํ๋์ฉ ํ์ด์ ์์กด์ฑ ๋ฐฐ์ด์ ๋ฃ์ง ์๋๋ผ๋, ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ํ ๋๋ง๋ค useEffect๊ฐ ์ ์คํ๋ ๊ฒ์ ๋๋ค. ๋ด๋ถ ํ๋กํผํฐ๊ฐ ๋ฌ๋ผ์ง๋๋ผ๋ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ , ๊ธฐ์กด ๊ฐ์ฒด์ ๋ด๋ถ ํ๋กํผํฐ๋ง ๋ณ๊ฒฝํ๋๋ก ์์ฑํ ๊ฒฝ์ฐ๋ผ๋ฉด, ๋ง์ํ์ ๋๋ก ๊ฐ์ฒด๋ฅผ ์์กด์ฑ ๋ฐฐ์ด์ ๋ฃ์์ ๋ ๋ณ๊ฒฝ์ฌํญ์ ์ ๋๋ก ๊ฐ์งํ์ง ๋ชปํ ๊ฒ์ ๋๋ค. ๊ฐ์์๋ฃ๋ ๊ฐ์ ์ปค๋ฆฌํ๋ผ ๋งจ์์ ์์ด์ :) - 0
- 3
- 136
 
- Q&A - textarea ์์ body ๋ฌดํ๊น๋นกํ์ฑ ์ง๋ฌธ ๋๋ฆฝ๋๋ค. - ๊ฐ์์๋ฃ๋ถํฐ ๋ฌธ์ ๊ฐ ์๋ ์ถ์ด ๋ด๋ ค๋ฐ์ ์คํํด๋ณด์๋๋ฐ, ๊ฐ์์๋ฃ์ ์ฝ๋๋ฅผ ์คํํ์ ๋๋ ๊ฐ์ ํ์์ด ๋ฐ์ํ์ง ์๊ณ ์๋ค์.๋ง์ํ์ ํ์๋ง ๋ณด๋ฉด ์ด๋์ ๊ฐ ๊ณ์ ์ ๋ฐ์ดํธ ๋๊ณ ์๋ค๋ ์ถ์ธก์ ์ฐธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ณด์ด์ง๋ง, ๊ทธ๊ฒ ์ด๋์ ๋ฐ์ํ๋์ง๋ฅผ ์ง๋ฌธ ๋ด์ฉ๋ง์ผ๋ก ์ ์ถํ๊ธฐ๊ฐ ์ด๋ ค์ ๋ณด์ ๋๋ค.์ ๋ฐ์ดํธ ๋ฐ์ ์์ธ์ด ๋ฆฌ์กํธ ๋๋ฌธ์ธ์ง๋ฅผ ์ข ๋ ์ง๊ด์ ์ผ๋ก ์์๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.๋ฆฌ์กํธ ๊ฐ๋ฐ์๋๊ตฌ์์ ๋ค์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฒดํฌํ์๋ฉด, ํ๋ฉด์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ค๋ก ํ์๋์ด์.(์ฌ์ง)์ด๊ฑธ๋ก ํ ๋ฒ ๋ ํ ์คํธํด ๋ณด์๊ณ , ๊ทธ๋๋ ์๋๋ฉด ์ง๋ฌธ์๋์ ์ฝ๋๋ฅผ ๊ณต์ ํด ์ฃผ์ธ์.ํจ๊ป ์ดํด๋ณด์์ฃ . - 0
- 2
- 90
 
- Q&A - ๋ซํ ์ํ์์ ๋ฌธ์์ด์ ์ฐพ์์ง๋๋ฐ ์ด๋ฆฌ์ง ์์์ - ๊ฒ์๊ธฐ๋ฅ์HTML details๋ก ์์ฑํ ์ฝ๋์ด๊ฑฐ๋hidden="until-found" ์์ฑ์ ๋ถ์ฌํ ์ํ์์ "beforematch" ์ด๋ฒคํธํธ๋ค๋ฌ๋ก toggle ํจ์๋ฅผ ์คํ์ํค๋๋ก ํ ์ฝ๋๋๊ฐ์ง ๋ฐฉ๋ฒ์์๋ง ๋์ํฉ๋๋ค.๋๋จธ์ง ๋ค๋ฅธ ์์ฝ๋์ธ ์ปดํผ๋ํธ์์๋ ์์ฝ๋์ธ์ด ์ด๋ฆฌ์ง ์๋ ๊ฒ์ด ์ ์์ด์์.์ ๋๋ก ๋์ํ์ง ์๋๋ค๋ฉด ๋๋ฒ๊น ์ ํด๋ด์ผ๊ฒ ์ฃ .useEffect ์์์ descRef๊ฐ ์์ ๋ ์ด๋ฒคํธ๋ฆฌ์ค๋๋ฅผ ๋ฑ๋กํด์ฃผ๋๋ก ํ๋๋ฐ,descRef๊ฐ ์๋์ง๋ถํฐ ์ถ๋ ฅ์ ํด๋ณด์ธ์.๋ง์ฝ DOM ์์๊ฐ ์ถ๋ ฅ๋์ง ์๋๋ค๋ฉด ์ด๋์ ๊ฐ ์คํ๊ฐ ์์์ ํ๋ฅ ์ด ์์ ๊ฒ์ ๋๋ค. - 0
- 2
- 103
 
- Q&A - ์ง๋ฌธ์์ต๋๋ค ! - ์ด๋๋ฅผ ๋ง์ํ์๋๊ฑด๊ฐ์? ์ ๋ ๋ง์ํ์ ๋ด์ฉ์ด ์ด๋์๋์ง ๋ชป์ฐพ๊ฒ ์ด์https://github.com/roy-jung/api-practice/blob/ts-ch3/package.jsonhttps://github.com/roy-jung/api-practice/blob/ts-ch3/server/package.jsonhttps://github.com/roy-jung/api-practice/blob/ts-ch3/client/package.jsonhttps://github.com/roy-jung/api-practice/blob/ts-ch6/package.jsonhttps://github.com/roy-jung/api-practice/blob/ts-ch6/client/package.jsonhttps://github.com/roy-jung/api-practice/blob/ts-ch6/server/package.json - 0
- 2
- 84
 
- Q&A - scrollSpy ๋ฐ๋๋ผ๋ฒ์ ์์ data-index๋ฅผ ์ฐพ๋ ์ฝ๋ ์ง๋ฌธ - closest๋ก ์ถฉ๋ถํฉ๋๋ค!๋ค๋ฅธ ๋ฉ์๋๋ ์๊ฐํ๊ณ ์ถ์ด์ ์ต์ง๋ก ๋ผ์๋ฃ์ด ๋ดค์ด์ ใ ใ ์ฐจ์ด๋ผ๋ฉด e.composedPath๋ ๋ฐ์ํ ์ด๋ฒคํธ์์ ๋ฐ๋ก ๋ฉ์๋๋ฅผ ์ ์ฉํ๋ ๊ฒ์ด๊ณ ,e.target.closest๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์์์ ์ฐพ๋ ๊ฒ์ด์ฃ .closest๋ ๋ด๋ถ์ ์ง์ ํ ์ ํ์์ ํด๋นํ๋ ์์ ์์๋ฅผ ํ์ํ๋ ๋ช ๋ น์ด๋ ๋งค ๋ฒ ์๋ก ํ์์ ํ ์๋ฐ์ ์์ฃ .๋ฐ๋ฉด e.composedPath๋ ์ด๋ฒคํธ ๊ฐ์ฒด์ ์ฒ์๋ถํฐ ๋ด๊ฒจ ์๋ '๋ฒ๋ธ๋งํ ๋์๋ค'์ ๋ฐฐ์ด๋ก ๋ฐํํด์ฃผ๋ ๋ฉ์๋๋ผ์ ๋ ธ๋๋ฅผ ๋ค์ ํ์ํ์ง ์์ ๊ฒ์ด๋ผ ์ถ์ธกํฉ๋๋ค. ์  ์ถ์ธก์ด ๋ง๋ค๋ฉด, e.composedPath๊ฐ ์ฑ๋ฅ์ ์์ฃผ ์ฝ๊ฐ์ด๋๋ง ์ด์ ์ด ์์ ๊ฒ ๊ฐ๋ค์. - 0
- 2
- 95
 






![Thumbnail image of the [React / VanillaJS] Creating UI elements directly Part 1](https://cdn.inflearn.com/public/courses/333258/cover/1b33bae1-68fa-4b4d-b089-199eab988c84/333258.png?w=148)

