React/2022-ไธ
React Currying Currying(์ปค๋ง) ๊ธฐ๋ฒ์ ์ธ์๊ฐ ์ฌ๋ฌ๊ฐ์ธ ํจ์์ ์ผ๋ถ ์ธ์๋ฅผ ๊ณ ์ ์ํค๋ ์๋ก์ด ํจ์๋ฅผ ๋ง๋๋ ๊ธฐ๋ฒ ์ธ์๊ฐ n๊ฐ์ธ ํจ์๋ฅผ n๊ฐ๋ก ๋ถ๋ฆฌํ์ฌ ์ฌ์ฉํ๊ฒ๋ ๋ง๋๋ ๊ธฐ๋ฒ โ word์ name์ด๋ผ๋ ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ์์ ์ถ๋ ฅํด์ฃผ๋ ๋จ์ํ ํํ์ ํจ์ โ ์์ ํจ์์ ์ปค๋ง์ ์ ์ฉํจ โ n(2)๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋ ํจ์๊ฐ n(2)๊ฐ๋ก ์ชผ๊ฐ์ง ๊ฒ์ ๋ณผ ์ ์์ โ ๋ํ, ์ฒซ ๋ฒ์งธ๋ก ๋ฐ๋ ์ธ์์ธ word๋ฅผ hello๋ผ๋ ๊ฐ์ผ๋ก ๊ณ ์ ํ๊ณ name๋ง ๋ณ๊ฒฝํ๋ฉด์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ ๋ํ ๋ณผ ์ ์์ โ ์ฆ, ์ปค๋ง ๊ธฐ๋ฒ์ ์ผ๋ถ ์ธ์์ ๊ฐ์ ๊ฐ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ ๋ โ ๊ทธ ๋ฐ๋ณต๋๋ ์ธ์๋ฅผ ๊ณ ์ ํจ์ผ๋ก์จ ์ค๋ณต์ ์ต์ํ ํ๊ธฐ์ ์ ํฉํ ๊ธฐ๋ฒ โ ์๋ ์ธ์๊ฐ 4๊ฐ๋ ๋๋ ํจ์ โ ์ ํจ์์ ์ปค๋ง์ ์ ์ฉํจ โ ์ปค..
React/2022-ไธ
HOC vs HOF HOC (Higher Order Component) ํน์ ์ปดํฌ๋ํธ๋ฅผ ์คํํ๊ธฐ ์ ์ ์์ ์ปดํฌ๋ํธ๋ฅผ ๋จผ์ ์คํ์์ผ์ฃผ๋ ๋ฐฉ์ JavaScript์ ํด๋ก์ ํจ์๋ฅผ ์ด์ฉํจ HOC์ ํ๋ ๋ง๋ค์ด์ ๋ก๊ทธ์ธ์ด ํ์ํ ์ปดํฌ๋ํธ ์์ HOC๋ง ๋ถ์ฌ์ฃผ๋ฉด ๊ฐ๋จํ๊ฒ ๊ถํ์ฒ๋ฆฌ๋ฅผ ์๋ฃํจ ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ํจ๊ป ์คํ๋๋ ๊ณ ์ฐจ ์ปดํฌ๋ํธ์ด๋ฏ๋ก ์ด๋ฆ ์์ with๋ฅผ ๋ถ์ฌ์ค ex) withAuth, withApollo HOC ์ฅ์ event.target.id๋ฅผ ์ฌ์ฉํ์ง ์์ ์ฝ๋๊ฐ ๊ฐ๋ตํด์ง material-ui, ant-desing ๋ฑ์ ์ปดํฌ๋ํธ๋ฅผ ์ด์ฉํ๋ฉด id ๊ฐ์ด ๋ ๋ผ๊ฐ๋ ํ์์ ๋ง์ ์ ์์ id๋ ์ ์ฒด ํ๊ทธ์์ ๊ณ ์ ํด์ผํ๊ธฐ ๋๋ฌธ์, id๊ฐ ๋จ์ฉ๋๋ฉด ๋๊ท๋ชจ ์๋น์ค์์ ๋ฌธ์ ๊ฐ ์ผ๊ธฐ๋ ์ ์์ง๋ง ์ด๋ฅผ ๋ฐฉ์งํ ์ ์์ ..
React/2022-ไธ
JS Closure ๋ด๋ถ ํจ์์์ ์ธ๋ถ ํจ์์ ์ง์ญ๋ณ์์ ์ ๊ทผํ๋ ๊ฒ์ ์๋ฏธ ์ ์ญ๋ณ์ ํด๋น ํ์ด์ง ์์ด๋ผ๋ฉด ์ด๋์๋ ์ฌ์ฉ ๊ฐ๋ฅ ์ง์ญ๋ณ์ ํจ์ ์์์ ์ ์๋ ๋ณ์๋ก์จ, ํด๋น ํจ์ ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ JS Closure ์์ โ ์ค์ฝํ ์ฒด์ธ์ ์ํด Func02() ํจ์ ์์ apple์ ํจ์ ๋ฐ๊นฅ์ ์๋ apple์ ์๋ฏธํจ โ ๋ฐ๋ผ์, ๊ฒฐ๊ณผ๋ก "์ฌ๊ณผ", "๋ฐ๋๋" ๊ฐ ๋์ด โ ๋ง์ง๋ง ์ค์ Func01("์ฌ๊ณผ")๋ ๊ฐ์ฅ ์์ค์ ์๋ apple์ "์ฌ๊ณผ"๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๊ณ , โ ๋ง์ง๋ง ์ค์ Func01(" ")("๋ฐ๋๋")์ "๋ฐ๋๋"๋ Func02()์ banana์ ๋ค์ด๊ฐ๊ฒ ๋จ โ ๊ฒฐ๊ณผ๋ก "์๋
?", "์ฌ๊ณผ", "๋ฐ๋๋" ๊ฐ ๋์ด
React/2022-ไธ
๊ถํ๋ถ๊ธฐ ์ฌ์ฉ์ ์๋ฒ ์์์ ๋ก๊ทธ์ธํ ์ ์ / ๋ก๊ทธ์ธ ์ํ ์ ์ ๋ก ๊ถํ์ ๊ตฌ๋ถ ๊ถํ์ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก useEffect์์ accessToken์ด ์์ผ๋ฉด "/login" ํ๋ฉด์ผ๋ก ํ์ด์ง๋ฅผ ์ด๋์ํด โ ๊ถํ๋ถ๊ธฐ๋ฅผ ํ๋ ค๋ฉด ๋ก๊ทธ์ธ ๊ถํ์ ๋ถ์ฌํ๋ ค๋ ํ์ด์ง์ ๋ชจ๋ ์์ ๋ก์ง์ ์
๋ ฅํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ โ ๋ฐ๋ผ์, ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ HOC๋ฅผ ์ฌ์ฉํจ !!
React/2022-ไธ
Cookie, Session, Local Storage Local Storage window.localStorage์ ์์นํ๊ณ ์์ string, boolean, number, null, undefined ๋ชจ๋ ์ ์ฅ ๊ฐ๋ฅํ์ง๋ง, ๋ฌธ์์ด๋ก ๋ณํ๋จ object ์์ฑ์ ํ์ผ๋ก ์ ์ฅ๋์ด ํ๋ฒ์ ํต์งธ๋ก ์ ์ฅํ๋ ค๋ฉด JSON.stringify() ํด์ผํ๊ณ , ๋ฐ์ ๋๋ JSON.parse() ํด์ผ ํจ ์ต๋ 5MB์ ์ ๋ณด๋ฅผ ์ ์ฅ ํ ์ ์์ผ๋ฉฐ ์ง์ฐ๊ธฐ ์ ๊น์ง ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ด์์ โ ์๋ ๋ก๊ทธ์ธ ์ ์ฅ Session Storage window.sessionStorage์ ์์นํ๊ณ ์์ HTTP session id๋ฅผ ์๋ณ์๋ก ๊ตฌ๋ณํด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ์ฟ ํคํํ๊ฐ ์๋ ์ ์ํ ์๋ฒ DB์ ์ ๋ณด๋ฅผ ์ ์ฅํจ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ..
React/2022-ไธ
Regular Expression (์ ๊ทํํ์) ์ ๊ท ํํ์์ "ํน์ ํจํด์ ๋ฌธ์์ด"์ ์ฐพ๊ธฐ ์ํ ํํ ๋ฐฉ์ (ํ์ ์ธ์ด, formal language๋ผ๊ณ ํจ) ์ ๊ท ํํ์์ ์ด์ฉํ๋ฉด, ํน์ ํจํด์ ๋งค์นญ๋๋ ๋ฌธ์์ด์ ์ฝ๊ฒ ์ฐพ์๋ผ ์ ์์ ์ ๊ทํํ์ ์ฌ์ฉ๋ฒ ์ ๊ทํํ์ ํ์ /ํจํด/ํ๋๊ทธ โ ์ฌ๋์(/) "์ฌ์ด"์๋ ๋งค์นญ์ํฌ "ํจํด"์ ์จ์ค โ ์ฌ๋์(/) "๋ค์"์๋ ์ต์
์ ์ค์ ํ๋ "ํ๋๊ทธ"๋ฅผ ์จ์ค โ ํ๋๊ทธ๋ ํ๋๋ง ์ฐพ์์ง, ๋ชจ๋ ๋ค ์ฐพ์์ง ๋ฑ์ ์ค์ ํ๋ ์ต์
์ ๊ทํํ์ ๋งค์นญ ํจํด(๋ฌธ์, ์ซ์, ๊ธฐํธ ๋ฑ) ์๋ ๋งค์นญ ํจํด์ ์ฌ์ฉํ๋ฉด, ํจ์ฌ ์ฝ๊ฒ ๋ฌธ์/์ซ์/๊ธฐํธ๋ฅผ ํํํ ์ ์์ ํจํด ์๋ฏธ a-zA-Z ์์ด์ํ๋ฒณ(-์ผ๋ก ๋ฒ์ ์ง์ ) ใฑ-ใ
๊ฐ-ํฃ ํ๊ธ ๋ฌธ์(-์ผ๋ก ๋ฒ์ ์ง์ ) 0-9 ์ซ์(-์ผ๋ก ๋ฒ์ ์ง์ ..
React/2022-ไธ
Context api, Redux, Mobx, Swr React์์๋ ์ ์ญ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์๋นํ ์กด์ฌํจ ์ ์ผ ์ ๋ช
ํ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ redux๊ฐ ์์ง๋ง, redux๋ฅผ ํฌํจํ ์ฌ๋ฌ๊ฐ์ง์ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์กด์ฌํจ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๊ฐํ๊ธฐ ์ ์ ์ญ์ํ๊ฐ ๋ฌด์์ธ์ง๋ถํฐ ์์์ผ ํจ ! Global State Global State์ ๋ํ ์ ์ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ์ด์ผํ ์ํ๊ฐ ๋ฌด์์ด ์๋์ง๋ฅผ ์ ์ํ๊ณ ์ด๋ฅผ ๊ตฌ๋ถํ ์ ์์ด์ผ ํจ ์ด๋ค ์ํ๊ฐ ๋ค์ด๊ฐ์ผํ๋์ง ๊ธฐํ์ ์๊ฐํ๊ณ ํ์
ํด๋ณผ ํ์๊ฐ ์์ ์ํ๋ฅผ ๋๋ ํ์๊ฐ ์๋ค๋ฉด - ๊ตณ์ด ์ํ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ ? Global State ๊ด๋ฆฌ๋ ? ์ ์ญ ์ํ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๊ตฌ์ฑ ์์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ๋ฌ/์กฐ์ ํ ์ ์์ Context..
React/2022-ไธ
Throttling & Debouncing Throttling ์ฐ๋กํ๋ง(Throttling)์ ํจ์๊ฐ ์ง์ ๋ ์๊ฐ ๋์ ์ต๋ ํ ๋ฒ ํธ์ถ๋๋๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ ์ฐ๋กํ๋ง์ ํจ์๋ฅผ ํธ์ถ ํ ์ ์๋ ์ต๋ ํ์๋ฅผ ์กฐ์ ํจ Ex) 10์ด๋ง๋ค ํจ์๋ฅผ ์ต๋ ํ ๋ฒ ํธ์ถ Debounce ๋๋ฐ์ด์ฑ(Debouncing)์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ ์์
์ด ์์ฃผ ์คํ๋์ง ์๋๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ ๋๋ฐ์ด์ฑ์ ํจ์๊ฐ ์คํ๋๊ธฐ ์ ์ ์ผ์ ์๊ฐ์ ๋๊ธฐํ๋๋ก ํจ ์ฆ, ํจ์๊ฐ ํธ์ถ๋๋ ์๋๋ฅผ ์ ํํจ ํจ์๊ฐ ์ฌ๋ฌ ๋ฒ ํธ์ถ๋๋ฉด, ์ผ์ ์๊ฐ์ด ์ง๋ ํ ๋ง์ง๋ง์ ํธ์ถ๋ ํจ์๋ง ์คํ๋๊ณ ์ด์ ์ ํธ์ถ๋ ํจ์๋ ๋ฌด์๋จ Ex) ํจ์ ํธ์ถ ํ 10์ด ๋์ ํจ์๋ฅผ ํธ์ถํ์ง ์์๋ค๋ฉด, 10์ด๊ฐ ์ง๋ ํ ์ ์ผ ๋ง์ง๋ง์ ํธ์ถ๋ ํจ์๋ง ์คํ