Today, What I learned νν°λμ μμΈν!.. κ±°μ μ μ ν μ€νΈ κΈμ νΌλλ°±μ ν΅ν΄ λ°κ²¬ν λ²κ·Έ.. λ²κ·Έ ν΄κ²° κ³Όμ μ κΈ°λ‘ν΄ λ³Έλ€. νμ¬ λ΄κ° μμ ν λ§μ΄νμ΄μ§μλ μ΄λ° λ²κ·Έκ° μλ€. κΈ°μ‘΄ μ μ μ 보μ λ¬λΌμ‘μ λλ§ λ²νΌμ νμ±νμμΌμΌ νλλ°, μ ν¨μ± κ²μ¬μ κ·Έ λΆλΆμ λΉΌλ¨Ήμ΄μ.. μμ νλλμ μ¬λΆμ μκ΄μμ΄ κ³μν΄μ μλ²μκ² μμ²μ ν μ μλ μνμλ€!!... ((OMG)) μ΄λ° μλ―Έ μλ 리μμ€ λλΉλ₯Ό λ§λ μΌμ΄μΌλ§λ‘ νλ‘ νΈμλλ‘μ ν΄μΌ ν μΌ... π State μΆκ°νκΈ° ν΄κ²°μ μν΄ μ΄κΈ° λ λλ§ μ μ μ₯λ μ μ μ μ 보λ₯Ό λ°μμ¬ stateλ₯Ό νλ λ§λ€μλ€. const [defaultUserInfo, setDefaultUserInfo] = useState(defaultInfo); μ’ μ¬..
Today, What I learned? μ°λ¦¬ νλ‘μ νΈμ μ μ©λμ΄ μλ μ½λλΆν μ λν΄μ μμλ³΄λ € νλ€. λ΄κ° μ μ©ν λΆλΆμ΄ μλμκ³ , λλ μ²μ μ ν κ²μ΄λΌ μμ§ μμν λΆλΆ!... 리μ‘νΈ κ³΅μλ¬Έμμλ μ΄ λΆλΆμ΄ μ μ€λͺ λμ΄ μλ€. https://ko.reactjs.org/docs/code-splitting.html μ½λ λΆν – React A JavaScript library for building user interfaces ko.reactjs.org μ½λ λΆν μ μ±μ μ§μ°λ‘λ©(lazy loading) ν μ μλλ‘ λμμ€λ€. μ¬μ©μκ° νμν μ½λλ₯Ό κ·Έλκ·Έλ λΆλ¬μ€κΈ° λλ¬Έμ μ΄κΈ° λ‘λ©μ νμν μ½λκ° μ€μ΄λ€κ³ , μ±λ₯ ν₯μμ λ§μ λμμ΄ λλ€. React.lazy React.lazy ν¨μλ₯Ό μ΄μ©ν΄μ ..
2μ μ μ§Έ μ£Όλ₯Ό 보λ΄λ©° MVP κΈ°λ₯ ꡬνμ μ μ μμλ ν μ£Όκ° μ§λ¬λ€ π κ°μ₯ λΆνμ΄ ν μ£Όμλ κ² κ°λ€.. π Fact firebase CORS μλ¬λ₯Ό ν΄κ²°νλ€. λ§μ΄νμ΄μ§ UIλ₯Ό κ½€ μμ νλ€. λ§μ΄νμ΄μ§ νλ‘ν μμ κΈ°λ₯μ ꡬννλ€. λ§μ΄νμ΄μ§ νλ‘μ νΈ λ¦¬μ€νΈ μ‘°ν κΈ°λ₯μ ꡬννλ€. μ΅μνμ MVP ꡬνμ΄ κ±°μ(!) λλ¬λ€. λ²κ·Έλ₯Ό μμ νκ³ μ½λλ₯Ό 리ν©ν λ§νκ³ μλ€. π Feeling μ ν΄λ΄€λ κΈ°λ₯μ ꡬννλ©° μ½μ§μ λ§μ΄ νλ€ π κ·Έλλ ꡬνλμ λ μ¦κ±°μ.. μμ λΆμ© λ°€μ μ§μ€μ΄ μ λμ΄μ ν°μΌμ΄λ€.. μλ©΄ν¨ν΄ μ§μΌ.. 컀μ€ν ν μ μ΄μ μμ λ‘κ² λ€λ£° μ μκ² λ κ² κ°λ€ μ’λ€. μνκ΄λ¦¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°λ μ΄μ λ₯Ό μμ§ λ§μ.. π Finding input νκ·Έμ radio, checkbox λ₯Ό ..
Today, What I learned? μ§λ κΈμ΄ κΈΈμ΄μ Έμ μ΄μ΄μ μμ±νλ νλ‘μ νΈ λ¦¬μ€νΈ νν°λ§ μ¬μ ~ μ€λμ 3μ€ μ€μ²© κ°μ²΄μ κ°μ ν΅ν΄ νλ‘μ νΈλ₯Ό νν°λ§νλ κ³Όμ μ λν΄ κΈ°λ‘νλ€. μ¬νκ».. μ€μ²© κ°μ²΄κΉμ§ κ²ͺμ΄λ΄€μ§λ§ 3μ€μΌλ‘ μ€μ²©λ.. κ·Έλ¬λκΉ μ€μ²©μ μ€μ²©μ μ€μ²© κ°μ²΄λ μ²μμ΄λΌ μ½μ§μ μ’ νλ€. κ·Έλλ Promise λ°°μ΄λ³΄λ¨ 빨리 ν΄κ²°ν¨ γ μΌλ¨ μ΅μ’ λ³Έμ μ΄λ λ€. κΈ°μ λ§μμΌλ‘ gifλ₯Ό λ§λ€μλ€ ^^.. μ΄ λ μμ 3 μ€μ²© κ°μ²΄ μ§μν, μ°Έμ¬ν νλ‘μ νΈμ κ²½μ° νλ‘μ νΈ μμ΄λλ‘ λ¬Έμ(κ°μ²΄)κ° λ§λ€μ΄μ§κ³ , κ·Έ μ κ°μ²΄μ recruited λΌλ ν€κ°μ ν΅ν΄ νλ³λλ€. μλμ²λΌ true/falseμ λ°λΌ κ°λ¦°λ€. appliedProjectsλΌλ κ°μ²΄ μμ κ° λ¬Έμ μμ΄λλΌλ κ°μ²΄ μμ recruite..
Today, What I learned? λ§μ΄νμ΄μ§μ ν΄λΉ μ μ νλ‘μ νΈ λ¦¬μ€νΈλ₯Ό νν°λ§νκΈ° μν κΈ΄ μ¬μ .... λλ₯Ό λΉκΈ λμλ²λ¦¬κ² λ§λ€μλ Promiseμ ν΄κ²°ν μ μμλ Promise.allμ λν΄ μμλ³Έλ€. λ°λ¨, Promise λ°°μ΄ μ°λ¦¬ νλ‘μ νΈμ λ°μ΄ν° ꡬ쑰λ μ‘°κΈ λ³΅μ‘ν νΈμΈλ°.. λ§μ΄νμ΄μ§μμμ νλ‘μ νΈ λ¦¬μ€νΈλ νμ±νλ μΉ΄ν κ³ λ¦¬μ λ°λΌμ κ·Έμ ν΄λΉνλ νλ‘μ νΈλ€μ 보μ¬μ£Όμ΄μΌ νλ€. μ°Έμ¬ν νλ‘μ νΈλΌλ©΄ μ§μν νλ‘μ νΈλ§ 보μ¬μ£Όλ μ.. λ μ¬κΈ°κΉμ§μΌ 보ν΅μ νν°λ§μ΄μ§ μλ? μΆμ μ μμ§λ§ μ λ°μ΄ν°λ₯Ό κ°μ Έμ€κΈ° μν΄μλ μ»μ΄μ¨ κ°κ°μ λ¬Έμμμ΄λ 리μ€νΈλ₯Ό ν΅ν΄μ κ°κ°μ νλ‘μ νΈ μ 보λ₯Ό λ€μ μ‘°νν΄μΌ νλ.. κ³Όμ μ κ±°μ³μΌ νλ€. μ λ°μ΄ν° κ΅¬μ‘°κ° μ΄λ°κ°μ?λΌκ³ 묻λλ€λ©΄ μ°λ¦¬ νμ λͺ¨λ ν..
Today, What I learned? νλ‘μ νΈμ κ³΅μ© λͺ¨λ¬μ νμ©νλ €κ³ νμ§λ§ π κ·Έλλ νμ©ν μ μλ ννλΌ λ λ€λ₯Έ 컀μ€ν λͺ¨λ¬μ λ§λ€μ΄ λ³΄κΈ°λ‘ νλ€. λλΆμ΄ κ³΅μ© λͺ¨λ¬μ μ΄λ»κ² λ§λ€ μ μμμ§?? μ§λ νλ‘μ νΈμμ λ§μ΄ κ³ λ―Όνμλλ° μ΄λ² νλ‘μ νΈμμλ λ©μ§κ² ꡬνν΄ μ€ νμ λΆμ΄ μμ΄μ!.. λ§μ΄ λ°°μ λ€ π κ·Έλμ μ€λμ λͺ¨λ¬μ λν΄ μ λ¦¬ν΄ λ³Έλ€. useModal hook λͺ¨λ¬μ 곡ν΅μ μΌλ‘ μ°λ €λ©΄ μΌλ¨ λͺ¨λ¬μ΄ μ΄λ¦¬κ³ λ«νλ μνλ₯Ό κ΄λ¦¬ν΄μ£Όμ΄μΌ νλ€. μ΄λ₯Ό μν΄μ λ³΄ν΅ μ»€μ€ν ν μΌλ‘ λͺ¨λ¬ μνλ₯Ό κ΄λ¦¬νλ€. μνλ₯Ό λ³κ²½ν΄ μ£Όλ ν¨μ κ°μ κ²μ λ§λ€μ΄μ£Όμ΄ κ΄λ¦¬νλ€. λ μ¬κΈ°μ onClick μ΄λ²€νΈλ onChange μ΄λ²€νΈμ²λΌ νμν κ²λ€μ μΆκ°ν΄ μ€λ€. const useModal = (initial..
Today, What I learned? λΌλμ€ λ²νΌκ³Ό 체ν¬λ°μ€μ μν μ μ§λ₯Ό μν κ³ λ―Όμ κ³Όμ μ κΈ°λ‘ν΄ λ³Έλ€!.. λ¨μν κ°μ λ£μ΄ stateλ₯Ό λ³κ²½ν΄ μ£Όλ κ²μ΄ μλλΌ, μ΄μ μν μ€λ μ·μ μ΄μ©ν΄μ stateλ₯Ό λ³κ²½νλ λ‘μ§μ μ¨λ³΄κ² λμ΄ μ’μλ€. 첫 λ²μ§Έ μλ λΌλμ€ λ²νΌ const [isJuniorChecked, setIsJuniorChecked] = useState( user?.isJunior, ); const [checkedPositions, setCheckedPositions] = useState( user?.positions, ); λΌλμ€ λ²νΌμ λ€μ΄κ° onChange μ΄λ²€νΈ. const handleCheckedRadioChange = useCallback( (e: React.ChangeE..
μ΄λ€ μλ¬? νμ΄μ΄λ² μ΄μ€ μ€ν 리μ§μ μ΄λ―Έμ§ μ λ‘λλ₯Ό ꡬννλ μ€ CORS μλ¬λ₯Ό λ§λκ² λμλ€. Access to XMLHttpRequest at '~~' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. μμΈ νμ κ΅μ°¨ μΆμ² 리μμ€ κ³΅μ (Cross-origin resource sharing)κ° νμ©μ΄ λμ΄μμ§ μμμ μκΈ΄ μ€λ₯!.. CORS μλ¬λ₯Ό ν΄κ²°νκΈ° μν΄μλ ν΄λΌμ΄μΈνΈ ..
2μ λμ§Έ μ£Όλ₯Ό 보λ΄λ©° λ²μ¨ 2μ μ€μμ΄λ€. μμ§?... μΊ νλ₯Ό μ§ννλ©° κ°μ₯ λ§μ΄ λ μκ°μ΄ μ λ²μ¨ μ΄λ κ² μκ°μ΄ μ§λ¬λκ°?.. μΈ λ―νλ€. ν μλ£κΉμ§ λ± ν λ¬ μ λ λ¨μλ€ ^^... π Fact μ΅μ’ νλ‘μ νΈκ° μμλμλ€. λμμ΄λλκ³Όμ νμ !.. λΆλ¦¬λλ₯Ό λ§‘κ² λ€κ³ μμνλ€.. λ§μ΄νμ΄μ§ κΈ°λ₯μ 맑μλ€. νμλ€κ³Ό νμμ νλ€. UIλ₯Ό μΌμ°¨μ μΌλ‘ λ§μΉκ³ κΈ°λ₯ ꡬν μ€μ΄μ§λ§ UIλ₯Ό λ€μ μμ ν λ―νλ€. π Feeling μ΅μ’ νλ‘μ νΈκ³ μ무λλ μ±λ¦°μ§νμ΄λ€ 보λ μ½κ°μ μλ°κ°(?) κ°μ κ²λ μλ κ² κ°λ€. λΆλ¦¬λ.. νμ μΌμ΄νλ € νκ³ , λμμ΄λμμ μν΅μ μν λ¬Έμνλ₯Ό νκ³ .. μ΄λ° μΌλ€μ νκ³ μλλ° μνκ³ μλ κ²μΈκ°? μ§κΈκΉμ§ 맑μ μ μ΄ μμλ λ§μ΄νμ΄μ§λ₯Ό 맑μ μ’λ€. λ©μ§ νμλ€μ λ§λμ..
Today, What I learned? λ§μ΄νμ΄μ§ ꡬν μ€!.. λ§μ΄νμ΄μ§ μ μ μ κ°μ Έμ€λ μ μ μ 보λ₯Ό λ λλ§ ν΄μ£Όλ κ³Όμ μμ κΈ°μ μ€ν λ°μ΄ν°λ₯Ό νΈλ€λ§νλ μ€μ λ§νκ³ λ§μλ€. κ°λ° κΈ°μ μ€νμ μ λμ€κ³ μμ§λ§ ν¬μ§μ κ³Ό μκ΄ μμ΄ κΈ°ν, λμμΈ λΆλΆμ΄ μ€λ³΅λμ΄ λνλ¬κΈ° λλ¬Έ..π¨π¨π¨ (NOOOOOooo...) μ μ¬μ§μμλ μλ Έμ§λ§ λμμΈ, νλ‘ νΈμλκ° μ νλμ΄ μλ μνμλ€. μνλ λλ‘ λλ €λ©΄ μ μ μ μ νλ ν¬μ§μ μ λ°λΌμ ꡬλΆλ νμκ° μκ³ , μ μ κ° κΈ°νμ΄λ λμμΈ λ μ€ νλλ₯Ό μ ννλ€λ©΄ ν΄λΉ ν¬μ§μ μ μ€νμ΄ νμ±νλλλ‘ ν΄μΌ νλ€!.. κΈ°μ‘΄ μ½λλ λ€μκ³Ό κ°μλ€. {skills.map((skill: string) \=> { const isChecked \= checkedSkills?.inc..
Comment