๋ฆฌ์กํธ ํด๋๊ตฌ์กฐ์ ์ ์์ด ์์๊น ์ฐ๋ฆฌ๊ฐ ์ฝ๋ฉํ src ํด๋ ์ฌ์ค ๋ ธ๋ง๋์ฝ๋๋ฅผ ๋ฐ๋ผํ๊ธฐ ๋๋ฌธ์.. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒ ํ๋ก์ ํธ๋ ๊ทธ ์์์ ์ถฉ๋ถํ ์ปค๋ฒ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํด๋๊ตฌ์กฐ์ ๋ํ ๊ณ ๋ฏผ์ ํ ํ์๊ฐ ์์์ง๋ง ๊ทธ๋๋ ํด๋ ์คํธ๋ญ์ณ์ ๊ด์ฌ์ด ๋ง์ ๋๋ ์ฐพ์๋ณด์๋ค! ํ๋ฌํฐ์ ๋ค๋ฅด๊ฒ, ๋๋ถ๋ถ ๊ฑฐ์ ํต์ผ๋ ํด๋ ์คํธ๋ญ์ณ๋ฅผ ๊ฐ์ถ์ด ์์ ์ ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์์๋ค. ๊ทธ๋์ ์์ผ๋ก ๋ด๊ฐ ๋ณด๊ณ ๊ณ์ํด์ ์ฐธ๊ณ ํ ๋งํ ๋ด์ฉ์ ๊ฐ์ ธ์๋ดค๋ค ..! CRA์ ์ด๊ธฐ ํด๋๊ตฌ์กฐ my-app โโโ node_modules โโโ public โโโ src โโโ .gitignore โโโ package.json โโโ README.md node_modules ํ์ฌ ํ๋ก์ ํธ์ ํฌํจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ค์น๋์ด ์๋ ํด๋๋ก ๋ณดํต ๊น๊ณผ ๊ฐ์ ์ ์ฅ์์ ์ฌ๋ฆด ๋๋ ์ด ํด๋๋ฅผ ํจ๊ป ์ฌ๋ฆฌ.. ๊ฐ๋ฐ์๋๊ตฌ ์ผ๋ฌด์ฅ๊ฒ ์ฐ๊ธฐ โจ ๊ฐ๋ฐ์๋๊ตฌ ์คํํ๊ธฐ F12 Ctrl + Shift + i Elements : html/CSS ์ํ ํ์ธ Console : ์ฝ์ (๋ณ์ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ์ค๋ฅ ๋ฉ์์ง ํ์) Sources : ์คํฌ๋ฆฝํธ ๋๋ฒ๊น (break point ์ง์ ๋ฐ ๋ณ์ ๋ชจ๋ํฐ๋ง ๋ฑ) Network : ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ํ๋ ํต์ ์ํ Performance(์์ Timelineํจ๋) : ์ฑ๋ฅ ์ธก์ Memory(์์ Profiles ํจ๋) : ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ํํ๋ฅผ ์์ฑํ๊ณ ๋์ ํ์. Application(์์ Resources ํจ๋) : ์ฟ ํค ๋ฐ ์คํ ๋ฆฌ์ง ๋ฑ์ ๋ด์ฉ ์์ง Audits : ํ์ด์ง๋ฅผ ๋ถ์ํ๊ณ ์ต์ ํ๋ฅผ ์ํ ํ ๋์ด Security : Mixed content ์ด์, ์ธ์ฆ์ ๋ฌธ์ ๋ฑ์ ๋๋ฒ๊น ๐ ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ ๋จ์ถํค ๋ชจ.. ๋ฐ์ํ ์น์์์ ์ปจํ ์ด๋ ํฌ๊ธฐ ๋ฐ์ํ ์น์ด๋ ๋ธ๋ผ์ฐ์ ๋์ด์ ๋ฐ๋ผ ์ต์ ํ๋ ์ฌ์ดํธ๋ฅผ ๋งํฉ๋๋ค. ์ถ๋ ฅ๋ฌผ๊ณผ๋ ๋ฌ๋ฆฌ ์น ํผ๋ธ๋ฆฌ์ฑ ์์ ์ด ๋ค์ด๊ฐ๋ฉฐ, ์ฝ๋๋ก ๊ตฌํ๋๊ธฐ ๋๋ฌธ์ ๊ณ ์ ๊ฐ์ธ ๋์์ธ์ ์ก์์ค ๋ PC / Tablet / Mobile ์ด๋ฐ ์์ผ๋ก ์ต์ ํ๋ ์์์ผ๋ก ์ก์์ค์ผ ๋ฉ๋๋ค. PC const ProjectComponent=styled.div` .contentsbox{ width: 1140px; height: 100%; margin: 0px auto; display: flex; flex-direction: column; } ... ` ์ฐ์ ์ ํฌ๊ฐ ์ฌ์ฉํ ๋ฐฉ๋ฒ!! (์ค์ ์ฝ๋ ๊ฐ์ ธ์์ต๋๋ค) ์ ํฌ๋ ์ปจํ ์ด๋๋ฅผ 1140px๋ก ์ก์๊ณ , ์์ชฝ์ margin์ auto๋ก ์ฃผ์ด ์ผํฐ์ ๋์์ต๋๋ค! ๊ทธ๋ฆฌ๊ณ ์ ์ฒด width๋ฅผ 1280px ์ด์์ด๋ผ๊ณ .. Firebase ๋ณด์๊ท์น ์์ : ํ์ด์ด๋ฒ ์ด์ค์ ์์ ํ์ง ์์ ๊ท์น์ด ์์ต๋๋ค ๋ฉ์ผ ์ฌ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ ํ๋ฒ ๋ณด์๊ท์น ๋ณด์ ๊ท์น ์์ํ๊ธฐ | Firestore | Google Cloud ๋ณด์ ๊ท์น ์์ํ๊ธฐ | Firestore | Google Cloud ์๊ฒฌ ๋ณด๋ด๊ธฐ ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. ๋ณด์ ๊ท์น ์์ํ๊ธฐ Firestore ๋ณด์ ๊ท์น์ ์ฌ์ฉํ๋ฉด ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ์๋ฒ ์ธก ์ธ์ฆ ๋ฐ ์น์ธ cloud.google.com ์ ๋ง ์ง๊ธ์ง๊ธํ๊ฒ ์ด๋ฉ์ผ์ ๋ณด๋ด ๊ดด๋กญํ๋ firebase ๋ณด์๊ท์น์ ์์ ํ์ต๋๋ค (๊ณ์ ๊ฒฝ๊ณ ํ๋๊น ๋ถ์ํ์ด ๐ฅฒ ๊ฒฝ๊ณ ๊ฐ์ฌํฉ๋๋ค ๊ตฌ๊ธ์จ) 1. ๋ณด์๊ท์น ๋ฒ์ ์์ฑ rules_version = '2'; ๊ธฐ์กด์ rules_version = '1' ์ ์์ผ๋ ์นด๋๋ฅผ ์ฌ์ฉํ ๋ ํ ๊ฐ ํน์ ๋ ๊ฐ ์ด์์ path๋ฅผ ํฌํจํ๊ณ ์์ด์ผํ๊ธฐ ๋๋ฌธ์ ์์ .. React validation ๋ฆฌ์กํธ ์ ํจ์ฑ ๊ฒ์ฌ Formik VS REACT Hook form https://nyeongnyeong.tistory.com/299 [React] Form Validation (Formik VS React Hook Form) Validation ์ด๋? ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๊ธฐ ์ ์ ์์์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ๋ ๊ณผ์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ง๋ก ๋ณด๋ด๊ธฐ ์ ์, ์ฌ๋ฐ๋ฅผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋์ง ์ ํจ์ฑ์ ์ฒดํฌํด์ฃผ๋ ๊ฒ. Client Validation rea nyeongnyeong.tistory.com react iframe์ ์ํด ํด๋ฆญ ์๋๋ ๋ฌธ์ ํด๊ฒฐ https://www.inflearn.com/questions/404668/react-%EC%A0%80%EC%9E%A5-%EC%8B%9C-iframe-%EA%B0%95%EC%A0%9C-%EC%9E%AC%EC%83%9D%EC%84%B1-%EB%AC%B8%EC%A0%9C react ์ ์ฅ ์ iframe ๊ฐ์ ์ฌ์์ฑ ๋ฌธ์ - ์ธํ๋ฐ | ์ง๋ฌธ & ๋ต๋ณ create react app์ ํตํด ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ ๋๋ค. ์๋ ์ปดํจํฐ์์๋ ํ๋ก์ ํธ๊ฐ ์ ์์ ์ผ๋ก ์๋ ๋์๋๋ฐ, ๋ค๋ฅธ ์ปดํจํฐ์์ git clone์ ๋ฐ์ npm install ํ npm start ์งํํ๋, 1. Cannot read pro... www.inflearn.com ๋ฆฌ์กํธ ํ์ ์ฐฝ/๋ชจ๋ฌ/๋ค์ด์ผ๋ก๊ทธ ๊ตฌํํ๊ธฐ, ์ญ์ ๋ฒํผ ๊ตฌํ, ๊ตฌ์กฐ๋ถํดํ ๋น https://jaeseokim.dev/React/React-Portal_Render%EC%9D%98_%EC%B0%A8%EC%9D%B4%EC%A0%90_%ED%99%9C%EC%9A%A9%EB%B0%A9%EC%95%88_%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0/ [React] Portal, Render์ ์ฐจ์ด์ , ํ์ฉ๋ฐฉ์ ์์๋ณด๊ธฐ! ์ต๊ทผ Kakao Map Api๋ฅผ React Component ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋ ReactDom์ Portal ๊ธฐ๋ฅ์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๋ฉด์ Render์ ์ด๋ ํ ์ฐจ์ด์ ์ด ์๋์ง ๊ทธ๋ฆฌ๊ณ ํ์ฉ๋ฐฉ์์ ๋ํด์ ์ ๋ฆฌ ํด jaeseokim.dev Portalcreate๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ ๋๋ navbar ์์ ์๋ login button์.. styled-component ๋ก ์ฝ๋ ๋ฆฌํฉํ ๋งํ๊ธฐ 0. ์ ๊ณต๋ถํ๋ ํด์ปคํค ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๋ฉฐ ํ์์ ์ฝ๋ ๊ฐ์ css ๊ฐ์ญ์ด ์ผ์ด๋ ๋ช๋ฒ์ ์์ ์ ๊ฑฐ์ณค๋ค. ๋ฆฌ์กํธ์ css๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ์ด ๋ค์ํ์ง๋ง, styled-component๋ ์๊ณ ๋ง ์์์ง ์ฌ์ฉํด๋ณธ ์ ์ ํ๋ฒ๋ฐ์ ์๋ ๊ธฐ์ ์ด๋ค. (๋๋ ๋ฆฌ์กํธ ๋ฒ ์ด๋น๋๊น) ์ํ์ฐฉ์ค์ ํด๊ฒฐ์ฑ ์ผ๋ก styled-component๋ก ๋ฐฉ์์ ๋ฐ๊พธ๊ธฐ๋ก ํ์๊ณ , ์์ฝ ๊ต์๋ ๊ฐ์๋ฅผ ๋ค์ด๋ณด๋ ค ํ๋ค. ๊ฐ์ ์๊ฐ์ด 14๋ถ๋ฐ์ ์๋๋๊น ์ ๋ฆฌ๊ฒธ ํ์๊ฐ์์ ๋๋ด๋ ๊ฑธ ๋ชฉํ๋ก ํ๋ฉฐ ๋ธ๋ก๊ทธ๋ฅผ ์ผฐ๋ค. 1. ๊ธฐ์กด์ ์ธ๋ผ์ธ css ์ ์ธ๊ณผ styled-component์ ๋น๊ต ์ญ์ ์ฐ๋ฆฌ์ ์์ฝ ๊ต์๋์ ํน์ ๊ธฐ์ ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ผญ ๋น๊ต๋ก ์์ํ์ ๋ค. ๋ ์ด ๊ณผ์ ์ด ์ฐธ ์ข๋ค - โจ - ์ผ์ชฝ์ ํจ์๋ฅผ ์ ์ํ๊ณ ๋ฆฌํด๊ฐ์ผ๋ก ๋ฒํผํ๊ทธ๋ฅผ ๋์ด ๋ฒํผ ํ๊ทธ๋ฅผ ์ต.. Three.js ๋ก ์์ง์ด๋ ์ง๊ตฌ๋ณธ ๋ง๋ค๊ธฐ https://velog.io/@whdnjsdyd111/Three.js-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0 [Three.js] ๊ธฐ๋ณธ ๊ตฌ์กฐ ์์ ๋ชจ๋ธ Three.js ์ ์์ ๋ชจ๋ธ์ด๋, ๋ฐํ์์ ๋ค์ํ ์ธ์๋ค๋ก ์ ์ํ 3D ๋ชจ์์ ์๋ฏธํ๋ค. ์ฃผ๋ก ๊ณต, ์ก๋ฉด์ฒด ๋ฑ์ผ๋ก 3D ๊ทธ๋ํ๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋ค. BoxGeomtry ์ก๋ฉด์ฒด CircleGeometry ์ ![](https://images.v velog.io ์์ ์ด๋ฏธ์ง ์์ฐ๊ณ ๋ชจ์ ์ฃผ๊ธฐ .. ์ฌ๋ฐ๋ค ์์ ์ ์ฌ๋ three.js ๊ฐ์ ์ฒ์ฒํ ๋ค์ด๋ด์ผ๊ฒ ๋ค ใ ใ ์ด์ 1 2 3 ๋ค์