2์ฃผ ์ฐจ ์ง๋ ์ฃผ๋ณด๋ค ๋ฐฑ์๋ ์ค์ต์ด ํจ์ฌ ๋ง์๋ 2์ฃผ ์ฐจ! MongoDB์ ํ์ด์ฌ์ ์ฐ๋ํด๋ณด๊ณ , Flask๋ก ์น์๋ฒ๋ฅผ ๊ตฌํํด๋ณด์๋ค. ๊ฑฐ๊ธฐ์ AWS๋ก ๋ฐฐํฌ๊น์ง.. ๐ ์ด๋ฒ ์ฃผ๋ฅผ ๋ณด๋ด๋ฉฐ ๊ฒช์๋ ์ฐ์ฌ๊ณก์ ์ ์ ๋ฆฌํด๋ณธ๋ค. ๊ธ์ด ๊ธธ์ด์ง ๊ฒ ๊ฐ์ ๋ช๋ช ๋ถ๋ถ์ ๋ฐ๋ก ์์ฑํด์ผ๊ฒ ๋ค ์ถ๊ธฐ๋.. ํฌ๋ช ๋ก MongoDB NoSQL์ธ MongoDB๋ฅผ ์ฒ์ ์ฌ์ฉํด๋ณด์๋ค. ๊ฐ์ ๋ถํฐ ํ๋ก์ ํธ, ํด๋ฌ์คํฐ ์์ฑ๊น์ง.. ๐ ๊ทธ๋ฐ๋ฐ ๋ง์ DB์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ ค ํ๋ ์๋ฌ ๋ฐ์... ๐ซ m1 ๋งฅ๋ถ์์ mongoDB ์ฐ๊ฒฐ ์ ๋๋ ํ์ SSL CERTIFICATE_VERIFY_FAILED ์ค๋ฅ์ธ๋ฐ, pymongo๋ TLS/SSL์ ์ด์ฉํด์ ์๋ฒ์ ์ฐ๊ฒฐํ๋๋ฐ ํน์ ํ๊ฒฝ์์ ์ง์์ ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํ๋ค. ๊ทธ๋์ certifi๋ผ๋ ํจํค์ง๋ฅผ ์ถ๊ฐ..
์ด๋ค ์๋ฌ? Flask ์๋ฒ ํจํค์ง๋ฅผ ์ค์นํ๊ณ ์๋ฒ๋ฅผ ์คํํ๋ ์๋ฌ ๋ฉ์์ง ๋ฑ์ฅ~ ๐ Address already in use Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port. On macOS, try disabling the 'AirPlay Receiver' service from System Preferences -> Sharing. ์ฝ์ด๋ณด๋ฉด ๋๋ต ํฌํธ 5000๋ฒ์ด ์ด๋ฏธ ์ฌ์ฉ๋๊ณ ์์ด์ ์๋ฒ๋ฅผ ์คํ์ํฌ ์ ์๋ค๋ ๋ด์ฉ์ด๋ค. ๋๋ ๋งฅ๋ถ ์ ์ ์ธ๋ฐ OS๊ฐ ๋ชฌํ ๋ ์ด๋ก ์ ๊ทธ๋ ์ด๋๋ ์ดํ ํฌํธ 5000๋ฒ์ด ์ฐ์ด๊ณ ์๋ ๋ชจ์์ด๋ค. ์๋ฌ ๋ฉ์์ง์์ ..
์ฌ์ ์บ ํ ์์! ์ ๋ด์ผ๋ฐฐ์์บ ํ๋ฅผ ์๊ฐ์ ์ฒญ ํ๊ฒ ๋์๋๊ฐ, ์ด๋ค ์์ธ๋ก ์ํ๋ ์ง๋ ๋ฐ๋ก ํฌ์คํ ํ๊ธฐ๋ก ํ๊ณ .. 2์ฃผ๊ฐ ์ฌ์ ์บ ํ์์ ์๊ฐํ๋ ์น๊ฐ๋ฐ ์ข ํฉ๋ฐ์ ํ์คํ์ ๊ฐ๋ณ๊ฒ ๋ง๋ณผ ์ ์๋! ๊ทธ๋ฐ ๊ฐ์๋ค. ์ด๋ฏธ ์๊ณ ์์๋ ๋ถ๋ถ์ ์ ์ธํ๊ณ , ์๋กญ๊ฒ ์๊ฒ๋ ๋ถ๋ถ์ ์ ๋ฆฌํด๋ณธ๋ค. ์ด๋ฒ ๊ฐ์์์๋ ์น๊ฐ๋ฐ์ข ํฉ๋ฐ 1,2์ฃผ์ฐจ ๋ด์ฉ์ด ์ฃผ๋ฅผ ์ด๋ฃฌ๋ค. ๋ชจ๋ฐ์ผ์ ์ํ ์ค์ CSS์์ max-width๋ก ์ต๋์น๋ฅผ ์ค์ ํด๋๊ณ , width๋ฅผ ํผ์ผํธ ๊ฐ์ผ๋ก ์ฃผ๋ฉด ๋ชจ๋ฐ์ผ์์๋ ์ ๋์ ์ผ๋ก ๋ณด์ธ๋ค. ํฌ๋ช ๋ก ๋ง๋ค๊ธฐ ๋๊ตฌ๋ก ํ ๊น ๊ณ ๋ฏผํ๋ค๊ฐ ์ผ๋ง์ ์ ์จ๋ฒ์ด ๋์จ ์์ด๋ค ๋ ธ๋์ ๊ฝํ์.. ๐คญ ๋ถํธ์คํธ๋ฉ์ ์ด์ฉํด์ ๋๋ฑ๋๋ฑ ๋ง๋ค์๋ค. ๋ถํธ์คํธ๋ฉ ๋ถํธ์คํธ๋ฉ์ ์คํ์์ค CSS ํ๋ ์์ํฌ๋ค. ๋ฐ์ํ๊ณผ ๊น๋ํ UI๋ฅผ ์ง์ํ์ง๋ง ์ด๋ฏธ ์ ํด์ ธ์๋ ๋์์ธ..
์ฐ์ฌ๊ณก์ ๊ตฌ๊ตฌ์ ์ ์ฐ์ฌ๊ณก์ ๋์ ์์ฑํ๋ ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ, ์ค๋์ ๋ฐ๋ค.. ๐ฅน ํ๋ก์ ํธ ๋์ค์ ๊ฐ์ธ ์ฌ์ ์ผ๋ก ์ ์ ๋๊ธฐ๋ ํ๊ณ .. ์ด๋ฐ์ ๋ฐ ์ผ๋ค์ด ๋ง์์ด์ ์๊ฐ๋ณด๋ค ์์ฑ๊น์ง ์ค๋ ๊ฑธ๋ ธ๋ค. ์ฌ์ง์ด ํ๊ณ ์ฐ๋ ๊ฒ๋ ์ด์ ์ผ.. (..!) ๋ ๋ฆ๊ธฐ ์ ์ ์๋๋ฌ ์์ฑํด๋ณธ๋ค. ์ข์๋ ๊ฒฝํ 1. ๊ณต๊ณต๋ฐ์ดํฐ API๋ฅผ ์ฐ๋ฉด์ ๊ทธ๋๋ ์ ์ง ์์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ์ด ๋ณธ ๊ฒ ๊ฐ๋ค. (๋ฐ์ดํฐ ์์ ํ์ผ์๋ 420์ฌ ๊ฐ ์ ๋์ ์ ๊ตญ์ ํด์์์ฅ ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ์๋ค.) 2. ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋๋ฆ๋๋ก ๊ณ ๋ฏผํ๋ฉฐ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. ์ด๊ฑด ์ข์๋ ๊ฒ์ด๊ธฐ๋, ์์ฝ๊ธฐ๋ ํ๋ฐ ์ผ๋จ ์ข์๋ ๊ฒ. ์์ํ๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ๋ก๋ง ๋ง๋ ํ๋ก์ ํธ๋ฅผ ํ๋ฒ์ฏค ํด๋ณด๊ณ ์ถ์๊ธฐ์ ์์ํด์ ๊ตฌํํ๋ฉด์ ์ฐ์ต๋ ๋๊ณ - ์ค์ฒฉ๋ object ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊บผ๋ด์ฌ ๊ฒ..
์ง๊ธ๊น์ง ํ์ฌ๊น์ง ๋ฐ์ดํฐ๋ฅผ ํ์ด์ด๋ฒ ์ด์ค ๋ฐฑ์๋๋ก ๋ณด๋ด๊ณ ๋ฐ๊ณ ํ ์ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์๋ค. ๊ธํ ์ผ์ด ์๊ฒจ์ ๋ง๋ฐ์ง์ ๊ฒฝ์ฃผ๋ง์ฒ๋ผ ๋ฐฐํฌ๊น์ง ํด๋์ ์ํ ^^.. ์ด๋ฒ์๋ ๋์์ธ ๊ฐ๋จํ๊ฒ ๋๋ฑ๋๋ฑ.. ํ์ง๋ง ์ฌ๊ธฐ์ ๋๋ด๊ธฐ์ ๋๋ฌด.. ๐ค ๊ธฐ๋ฅ์ด ๊ฝค.. ๋ถ์กฑ.. ๐ค (๋จ์ํ ๊ธฐ๋ฅ์ธ๊ฒ ์ฌ์ค..) ์ธ์ฆ(๋ก๊ทธ์ธ)๊ธฐ๋ฅ์ ์ฐ์ ์ ์ผ๋ก ์ถ๊ฐํด๋ณผ ์๊ฐ. ๊ทธ๋ฆฌ๊ณ ๋ฆฌํฉํ ๋ง์ด ๋งค์ฐ ํ์ํ๊ธฐ๋ ํ๊ณ .. ์ผ๋จ ์ง๊ธ์ ๋ฌธ์ ์ ์ ํนํ ์ฃผ๋ฌธ ๊ด๋ จ๋ ํ์ด์ง ์ปดํฌ๋ํธ๋ค์ด ๋๋ฌด ๋ฌด๊ฑฐ์์ ๋ถ๋ฆฌ๋ ํ์์ฑ์ด ์๊ณ , ๋ญ๊ฐ ์ก์ ์ด ์ผ์ด๋ ๋๋ง๋ค ์ ์ฒด์ ์ธ ์์๋ค์ ๋ ๋๋ง์ด ๋ค์ ์ผ์ด๋๋ ๊ฒ์ ๋ณผ ์ ์์ด์ useMemo ํ ์ ์ด์ฉํ๋ค๋๊ฐ.. ์ต์ ํ๊ฐ ๊ผญ ํ์ํ ๊ฒ ๊ฐ๋ค. ๋ ๊ฐ์์์ ๋์ฒด๋ก css module์ ๋ง์ด ์ฌ์ฉํด์๊ณ , ๋๋ ๋ถ๋ฆฌ๋ c..
๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ์ด๋ ์๊ฐ ๋ฆฌ๋์ค์ ๋ํด์ ์์๋ณด์์ผ ํ๋ ์๊ธฐ๊ฐ ์จ๋ค. ๋์๊ฒ๋ ๋๋์ด ๊ทธ ์๊ธฐ๊ฐ ์๋ค!... ๐ง ๋ฆฌ๋์ค์ ๋ํด ๊น๊ณ ์ข์ ๊ธ๋ค์ ์ด๋ฏธ ์ถฉ๋ถํ ๋ง์ผ๋... ์์ง์ ์ด์ฌ์์ธ ๋์ ๊ด์ ์์ ๊ฐ๋ ์ ๊ฐ๋ณ๊ฒ ์ดํด๋ณด๊ธฐ๋ก~ (๊ณ ๋ก ์ด ๊ธ์ ์ด์ฌ์๋ค์๊ฒ ์ ํฉ) Redux and Context API ๋ฆฌ๋์ค๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ์ปดํฌ๋ํธ์ ์ํ ์ ๋ฐ์ดํธ ๋ก์ง์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ณ , ์ํ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ๋ ํจ์ฌ ํธํ๊ฒ ์ ๋ฌํ ์ ์๋ค. ์๋ง ๋ฆฌ๋์ค๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ด๋ผ๋ฉด ์ง๊ธ๊น์ง Context API๋ฅผ ์จ์์ ๊ฒ์ด๋ค. (๋ ๋ํ...) React.createContext ๋ฉ์๋๋ฅผ ํตํด์ ์ปจํ ์คํธ๋ฅผ ๋ง๋ค์ด์ ์ ๊ณต๋๋ Provider๋ฅผ ํตํด์ ๊ฐ์ ๊ณต์ ํ๋..
๋ฆฌ์กํธ๋ฅผ ์ข ๊ณต๋ถํ๋ค ๋ณด๋ ์ปดํฌ๋ํธ์ ์๋ช ์ฃผ๊ธฐ์ ๋ํด์๋ ์์๋ด์ผ ํ ๊ฒ ๊ฐ์์ ์ ๋ฆฌํด๋ณธ๋ค. ์ฐ์ ์ด ์๋ช ์ฃผ๊ธฐ๋ผ๋๊ฒ, ์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์ ๋ํ๋์ ์ ๋ฐ์ดํธ๋๊ณ ์ฌ๋ผ์ง ๋๊น์ง์ ์ฃผ๊ธฐ๋ฅผ ๋งํ๋ค. ์ด ์ฃผ๊ธฐ์ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ค ์ธ ๊ฐ์ง๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ด ๋ฉ์๋๋ค์ useEffect ํ ๊ณผ ๋น๊ตํด์ ์ดํด๋ณด๋ ค ํ๋ค. componentDidMount() componentDidUpdate() componentWillUnmount() mount ?? ๋จผ์ ๋ง์ดํธ(mount)๋ผ๋ ์ฉ์ด๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์์ผ๊ฒ ๋ค. ๋ง์ดํธ์ ์ธ๋ง์ดํธ๊ฐ ์๋๋ฐ, ๋ง์ดํธ๋ ์ฌ์ ์ ์ธ ์๋ฏธ๋ก๋ '์์ํ๋ค'๋ผ๋ ๋ป์ด์ง๋ง- ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์์์ ๋ง์ดํธ๋ DOM ํธ๋ฆฌ๊ฐ ์์ฑ๋๊ณ ์น๋ธ๋ผ์ฐ์ ์ ๋ํ๋ ๋๋ฅผ ๋งํ๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๊ฒ ๋งํ ์ ์๊ฒ ๋ค. ๋ง์ดํธ(moun..
์ง๋ ๊ธ (https://i-ten.tistory.com/186)์ ์ด์ ์๋ฌ ํด๊ฒฐ ๊ธฐ๋ก.. ์๋ง ์ด๋ฒ ๊ธ์ด ๋ง์ง๋ง์ผ ๋ฏํ๋ค. ๐ฅ ์๋ฌ ํ์ด์ง ์ด๋์ ๋ฌดํ ์๋ก๊ณ ์นจ ๋๋ ๋ฐ๊ฒฌํ์๊ณ ์น๊ตฌ๊ฐ ๋ฌด๋ ค ๋ นํํด์ ๋ณด๋ด์ค... ๊ฝค๋ ๋นํฉ์ค๋ฌ์ด ์๋ฌ ๐ ์๋ฌ ํ์ด์ง์ ๋ฌด์จ ์ผ์ด ์๋ ๊ฒ์ธ๊ฐ ์ด๊ฒ ๋์ฒด ๋ญ๊ฐ.. ํ๋ ํผ๋์ด ์ฐพ์์์์ง๋ง ํด๊ฒฐ์ ์์ธ๋ก ๊ฐ๋จํ๋ค. ์นํฉ์ผ๋ก ๋น๋ํ๋ฉด์ error.html ๋ฌธ์์ ํจํค์ง๋ก ๋ฌถ์ ์คํฌ๋ฆฝํธ ํ์ผ info๊ฐ ์ ์ธ๋์ด ์์๊ธฐ ๋๋ฌธ์ด์๋ค. ์คํฌ๋ฆฝํธ ํ๊ทธ๋ฅผ ์์ ๋ ์์ฐ์ค๋ฝ๊ฒ ํด๊ฒฐ~ ๐ฅ ๊ฒ์์ด ์ถ์ฒ ๊ฐ๋๋ค ์ ์ ๋ ฌ ์ด๊ฑด ์๋ฌ๋ ์๋๊ณ , ํ ์น๊ตฌ๊ฐ ๊ฐ๋๋ค์์ผ๋ก ๋ชฉ๋ก์ด ๋์ค๋ฉด ์ข๊ฒ ๋ค๊ณ ํด์ ์ถ๊ฐํ๋ค. API์ ์ฌ์ฉ๋๋ ํด์์์ฅ ๋ชฉ๋ก ์์ ๋ฐ์ดํฐ์ ๋ฒํธ ๋ถ์ด๋ ๊ธฐ์ค์ด ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ์ผ๋ (์..
์ง๋ ๊ธ(https://i-ten.tistory.com/185)์ ์ด์ด์ ๋ ๋ฒ์งธ ์๋ฌ ํด๊ฒฐ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค. ์ญ์๋ ๋ ์ข๊ณ ๊น๋ํ ์ฝ๋์ ํด๊ฒฐ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค! ๐ฅ ์๋ฌด๊ฑฐ๋ ์ ๋ ฅํ์ ๋ ๋ฌดํ ๋ก๋ฉ + ์ต์ ํ ๋ง ๊ทธ๋๋ก ์๋ฌด๋ ๊ฒ๋ ๋ง ์ณ์ ๊ฒ์ํ์ ๋ ๋ฌดํ ๋ก๋ฉ์ด ๊ฑธ๋ฆฌ๋ ํ์. ๊ฐ์ ์ ํจ์ฑ์ ํ์ธํ์ง ์๊ณ ๊ทธ๋ฅ ๋๊ฒจ๋ฒ๋ ธ๊ธฐ ๋๋ฌธ์ ๋ํ๋ ๋ฒ๊ทธ๋ค. ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ฉด์ ์ฌ์ฉ์๋ฅผ ์ํด ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์๋ค๋ ๊ฒ์ ์๋ดํ๋ ํ ์คํธ๋ ๊ฐ์ด ์ถ๊ฐํ๊ธฐ๋ก ํ๋ค. ์๋๋ ํํฐ๋ง๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํจ์ ์ฝ๋์ ์ผ๋ถ์ธ๋ฐ, ๊ฒ์ ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ์๋ฌด๊ฒ๋ ์์ ๋ ์๋ฌ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. ๋ฌผ๋ก ํ์ฑํ๋๊ฑธ ์์ ์ฃผ๋ ์ฝ๋๋ ์๋ ์ด๋๊ฐ์ ์์. ๊ทธ๋ฆฌ๊ณ ๊ฒ์๊ฒฐ๊ณผ๋ฅผ ๋๊ธฐ๋ ํจ์์์๋ try-catch๋ฌธ์ผ๋ก ํด..
Comment