λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“‚ 기술 λ©΄μ ‘/Language7

JavaScript μ½”λ“œλ₯Ό HTML보닀 밑에 μž‘μ„±ν•΄μ•Ό ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μΈκ°€μš”? πŸ‘©πŸ»‍πŸ’» JavaScript μ½”λ“œλ₯Ό HTML보닀 밑에 μž‘μ„±ν•΄μ•Ό ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μΈκ°€μš”? μ•Œλ¦Όμ°½ Open πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , νŽ˜μ΄μ§€ λ‘œλ”© 속도λ₯Ό ν–₯μƒμ‹œν‚¬ 수 있고, DOM μ‘°μž‘ 및 이벀트 μ²˜λ¦¬κ°€ 효율적으둜 μ΄λ£¨μ–΄μ§ˆ 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 1. λ‘œλ”© μˆœμ„œ μ›Ή λΈŒλΌμš°μ €λŠ” HTML λ¬Έμ„œλ₯Ό μœ„μ—μ„œ μ•„λž˜λ‘œ νŒŒμ‹±ν•˜λ©° λ‘œλ”©ν•˜λŠ”λ°, HTML λ¬Έμ„œ 내에 μžˆλŠ” μš”μ†Œλ“€μ„ λ§Œλ‚˜λ©΄ ν•΄λ‹Ή μš”μ†Œλ“€μ„ μˆœμ„œλŒ€λ‘œ μ²˜λ¦¬ν•˜κ²Œ λ©λ‹ˆλ‹€. λ”°λΌμ„œ HTML λ¬Έμ„œμ— ν¬ν•¨λœ JavaScript μ½”λ“œλ„ 순차적으둜 μ²˜λ¦¬λ©λ‹ˆλ‹€. λ§Œμ•½ JavaScript μ½”λ“œκ°€ HTML보닀 μœ„μ— μœ„μΉ˜ν•œλ‹€λ©΄, HTML νŒŒμ‹± 쀑에도 JavaScript μ½”λ“œλ₯Ό λ§Œλ‚˜κ²Œ λ©λ‹ˆλ‹€. 이 경우 λΈŒλΌμš°μ €λŠ” JavaScript μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ €λ©΄ HTML νŒŒμ‹±μ„ μ€‘λ‹¨ν•˜κ³  μ½”λ“œλ₯Ό μ²˜λ¦¬ν•΄μ•Ό ν•˜.. 2023. 8. 29.
TypeScriptλŠ” μ •ν™•νžˆ 무엇이며 JavaScript와 μ–΄λ–»κ²Œ λ‹€λ₯Έκ°€μš”? πŸ‘©πŸ»‍πŸ’» 질문 πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , TypeScriptλŠ” Microsoftμ—μ„œ κ°œλ°œν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ, JavaScript의 ν™•μž₯된 λ²„μ „μž…λ‹ˆλ‹€. TypeScriptλŠ” 정적 νƒ€μž…μ„ μ§€μ›ν•˜λŠ” μ–Έμ–΄λ‘œ, κ°œλ°œμžμ—κ²Œ νƒ€μž… μ•ˆμ •μ„±κ³Ό μ½”λ“œμ˜ 가독성을 λ†’μ—¬μ£ΌλŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. JS vs. TS JavaScriptλŠ” 동적 νƒ€μž… μ–Έμ–΄λ‘œ, λ³€μˆ˜μ˜ νƒ€μž…μ„ μ„ μ–Έν•˜μ§€ μ•Šκ³  μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μœ μ—°μ„±κ³Ό κ°„νŽΈν•¨μ„ μ œκ³΅ν•˜μ§€λ§Œ, νƒ€μž… μ—λŸ¬μ˜ κ°€λŠ₯성이 λ†’μ•„μ§ˆ 수 있고, λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ—μ„œ μ½”λ“œ μœ μ§€λ³΄μˆ˜μ˜ 어렀움을 μ•ΌκΈ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ°˜λ©΄μ— TypeScriptλŠ” λ³€μˆ˜, ν•¨μˆ˜, 객체 등에 λͺ…μ‹œμ μΈ νƒ€μž…μ„ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ»΄νŒŒμΌλŸ¬κ°€ μ½”λ“œλ₯Ό λΆ„μ„ν•˜κ³  νƒ€μž… 체크λ₯Ό μˆ˜ν–‰ν•  수 μžˆμ–΄, νƒ€μž… κ΄€λ ¨ μ—λŸ¬λ₯Ό 사전에 방지할.. 2023. 6. 8.
μž¬κ·€λ₯Ό ν™œμš©ν•˜κΈ° 쒋은 상황은 μ–Έμ œμΈμ§€ μ˜ˆμ‹œλ₯Ό λ“€μ–΄ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ‘©πŸ»‍πŸ’» μž¬κ·€λ₯Ό ν™œμš©ν•˜κΈ° 쒋은 상황은 μ–Έμ œμΈμ§€ μ˜ˆμ‹œλ₯Ό λ“€μ–΄ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , μž¬κ·€ ν•¨μˆ˜(Recursive function)λŠ” 자기 μžμ‹ μ„ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ 반볡적인 μž‘μ—…μ„ κ°„λ‹¨ν•˜κ³  효율적으둜 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜κΈ° 쒋은 상황은 μ„Έ 가지 μ •λ„λ‘œ 이야기해볼 수 μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€. 1. 주어진 문제λ₯Ό λΉ„μŠ·ν•œ ꡬ쑰의 더 μž‘μ€ 문제둜 λ‚˜λˆŒ 수 μžˆλŠ” 경우 ν•˜μœ„ 문제의 해결이 μƒμœ„μ— μžˆλŠ” 문제 해결에도 μ΄μ–΄μ§€λŠ” 경우 μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄μ˜ n번째 수λ₯Ό κ΅¬ν•˜λŠ” λ¬Έμ œκ°€ μžˆλ‹€κ³  ν–ˆμ„ λ•Œ, ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄μ˜ n번째 μˆ˜λŠ” n-1번째 μˆ˜μ™€ n-2번째 수λ₯Ό ν•©ν•œ κ°’μ΄λ―€λ‘œ, λͺ‡ 번째 수λ₯Ό κ΅¬ν•˜λ“  λ™μΌν•œ ꡬ쑰의 μž‘μ€ 문제둜 λ‚˜λˆŒ.. 2023. 5. 9.
Promise의 κΈ°λŠ₯κ³Ό ν•„μš”ν•œ μ΄μœ μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ‘©πŸ»‍πŸ’» Promise의 κΈ°λŠ₯κ³Ό ν•„μš”ν•œ μ΄μœ μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ’πŸ»‍♀️ ν”„λ‘œλ―ΈμŠ€λž€, μžλ°”μŠ€ν¬λ¦½νŠΈ 비동기 μ²˜λ¦¬μ— μ‚¬μš©λ˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 비동기 μ²˜λ¦¬λž€, νŠΉμ • μ½”λ“œμ˜ 싀행이 μ™„λ£Œλ  λ•ŒκΉŒμ§€ 기닀리지 μ•Šκ³  λ‹€μŒ μ½”λ“œλ₯Ό λ¨Όμ € μˆ˜ν–‰ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ νŠΉμ„±μ„ λ§ν•©λ‹ˆλ‹€. ν”„λ‘œλ―ΈμŠ€κ°€ ν•„μš”ν•œ μ΄μœ λŠ” ν”„λ‘œλ―ΈμŠ€λŠ” 주둜 μ„œλ²„μ—μ„œ λ°›μ•„μ˜¨ 데이터λ₯Ό 화면에 ν‘œμ‹œν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. 일반적으둜 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬ν˜„ν•  λ•Œ μ„œλ²„μ—μ„œ 데이터λ₯Ό μš”μ²­ν•˜κ³  λ°›μ•„μ˜€κΈ° μœ„ν•΄ APIλ₯Ό ν™œμš©ν•˜λŠ”λ°, APIκ°€ μ‹€ν–‰λ˜μ–΄ 데이터λ₯Ό λ°›μ•„μ˜€κΈ°λ„ 전에 데이터λ₯Ό λ‹€ λ°›μ•„μ˜¨ κ²ƒμ²˜λŸΌ 화면에 데이터λ₯Ό ν‘œμ‹œν•˜λ €κ³  ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•˜κ±°λ‚˜ 빈 화면이 λœΉλ‹ˆλ‹€. μ΄λ•Œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 방법이 ν”„λ‘œλ―ΈμŠ€μž…λ‹ˆλ‹€. 즉, μ‰½κ²Œ λ§ν•˜μžλ©΄ ν”„λ‘œλ―ΈμŠ€λŠ” μ΅œμ’… κ²°.. 2023. 4. 10.
μˆœμˆ˜ν•¨μˆ˜λž€ λ¬΄μ—‡μΈκ°€μš”? λΆˆλ³€μ„±κ³Ό μ‚¬μ΄λ“œ μ΄νŽ™νŠΈμ™€ μ—°κ²°ν•˜μ—¬ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ‘©πŸ»‍πŸ’» μˆœμˆ˜ν•¨μˆ˜λž€ λ¬΄μ—‡μΈκ°€μš”? λΆˆλ³€μ„±κ³Ό μ‚¬μ΄λ“œ μ΄νŽ™νŠΈμ™€ μ—°κ²°ν•˜μ—¬ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , μˆœμˆ˜ν•¨μˆ˜λž€ μ‚¬μ΄λ“œ μ΄νŽ™νŠΈκ°€ μ—†λŠ” ν•¨μˆ˜, 즉 ν•¨μˆ˜μ˜ 싀행이 외뢀에 영ν–₯을 λΌμΉ˜μ§€ μ•ŠλŠ” ν•¨μˆ˜λ₯Ό λœ»ν•˜κ³ , μž…λ ₯으둜 μ „λ‹¬λœ 값을 μˆ˜μ •ν•˜μ§€ μ•ŠλŠ” λΆˆλ³€μ„±μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μˆœμˆ˜ν•¨μˆ˜λŠ” μ–΄λ– ν•œ μ „λ‹¬μΈμžκ°€ 주어지더라도 항상 λ˜‘κ°™μ€ 값이 리턴됨을 보μž₯ν•©λ‹ˆλ‹€. μ‚¬μ΄λ“œ μ΄νŽ™νŠΈλž€? ν•¨μˆ˜μ˜ μž…λ ₯ 외에도 ν•¨μˆ˜μ˜ 결과에 영ν–₯을 λ―ΈμΉ˜λŠ” μš”μΈ μž…λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ λ„€νŠΈμ›Œν¬ μš”μ²­, API 호좜이 Side Effectμž…λ‹ˆλ‹€. μˆœμˆ˜ν•¨μˆ˜ κ°œλ…μ΄ μ€‘μš”ν•œ μ΄μœ λŠ”? μ‚¬μ΄λ“œ μ΄νŽ™νŠΈλ₯Ό 쀄이고, λͺ¨λ“ˆν™” μˆ˜μ€€μ„ λ†’μ΄λŠ” ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ˜ νŠΉμ§•, 즉 μˆœμˆ˜ν•¨μˆ˜λŠ” 평가 μ‹œμ μ΄ λ¬΄κ΄€ν•˜λ‹€λŠ” νŠΉμ§•μœΌλ‘œ 인해 효율적인 λ‘œμ§μ„ ꡬ성할 수 μžˆμŠ΅λ‹ˆλ‹€. λ°μ΄ν„°μ˜ .. 2023. 4. 10.
JavaScript의 μŠ€μ½”ν”„μ— λŒ€ν•΄ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ‘©πŸ»‍πŸ’» μŠ€μ½”ν”„μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , μŠ€μ½”ν”„λŠ” λ³€μˆ˜μ— μ ‘κ·Όν•  수 μžˆλŠ” λ²”μœ„λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈ μŠ€μ½”ν”„μ—λŠ” 두 가지 νƒ€μž…μ΄ μžˆλŠ”λ°, ν•˜λ‚˜λŠ” global(μ „μ—­)κ³Ό local(지역) μž…λ‹ˆλ‹€. 두 가지 차이 μ „μ—­ μŠ€μ½”ν”„λŠ” λ§κ·ΈλŒ€λ‘œ 전역에 μ„ μ–Έλ˜μ–΄μžˆμ–΄ μ–΄λŠ κ³³μ—μ„œλ“  ν•΄λ‹Ή λ³€μˆ˜μ— μ ‘κ·Όν•  수 μžˆλ‹€λŠ” 의미이며, 지역 μŠ€μ½”ν”„λŠ” ν•΄λ‹Ή μ§€μ—­μ—μ„œλ§Œ μ ‘κ·Όν•  수 μžˆμ–΄ 지역을 λ²—μ–΄λ‚œ κ³³μ—μ„œλŠ” μ ‘κ·Όν•  수 μ—†λ‹€λŠ” 의미 μž…λ‹ˆλ‹€. ν•¨μˆ˜ μŠ€μ½”ν”„ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” ν•¨μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄ ν•¨μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ μŠ€μ½”ν”„λ₯Ό μƒμ„±ν•˜λŠ”λ°μš”. μ΄λ•Œ ν•¨μˆ˜ λͺΈμ²΄ μ•ˆμ—μ„œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” ν•΄λ‹Ή ν•¨μˆ˜ λͺΈμ²΄ μ•ˆμ—μ„œλ§Œ μ ‘κ·Όν•  수 있으며 이λ₯Ό ν•¨μˆ˜ μŠ€μ½”ν”„λΌκ³  ν•©λ‹ˆλ‹€. λ°”λ‘œ ν•¨μˆ˜ μŠ€μ½”ν”„κ°€ 지역 μŠ€μ½”ν”„μ˜ μ˜ˆμ‹œλΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ€‘μš”ν•œ.. 2023. 3. 13.
CSS box model에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ‘©πŸ»‍πŸ’» CSS box model에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄ μ£Όμ„Έμš”. πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ , HTML μš”μ†ŒλŠ” λ°•μŠ€ μ˜μ—­μ˜ ν˜•νƒœλ‘œ λ˜μ–΄ μžˆλŠ”λ°, 이λ₯Ό λ””μžμΈμ μœΌλ‘œ ν‘œν˜„ν•˜κΈ° μœ„ν•΄ box model μ΄λΌλŠ” λͺ…칭을 λΆ™μ—¬ 놓은 κ²ƒμž…λ‹ˆλ‹€. 이 λ°•μŠ€λŠ” content, padding, border, margin 총 4가지 μš”μ†Œλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. Content μš”μ†Œμ˜ ν…μŠ€νŠΈλ‚˜ 이미지 λ“± HTML νƒœκ·Έ 사이에 λ‹΄κΈ΄ λ‚΄μš©μ΄ ν‘œν˜„λ˜λŠ” μ˜μ—­μž…λ‹ˆλ‹€. width, height ν”„λ‘œνΌν‹°λ₯Ό κ°–μŠ΅λ‹ˆλ‹€. Padding ν…Œλ‘λ¦¬ μ•ˆμͺ½μ— μœ„μΉ˜ν•˜λŠ” μš”μ†Œμ˜ 'λ‚΄λΆ€ μ—¬λ°±' μ˜μ—­μ΄λ©°, border와 content 사이에 μœ„μΉ˜ν•©λ‹ˆλ‹€. 기본적으둜 투λͺ…μƒ‰μž…λ‹ˆλ‹€. Border ν…Œλ‘λ¦¬ μ˜μ—­μœΌλ‘œ, λ°•μŠ€μ˜ 경계λ₯Ό ν‘œμ‹œν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. Margin ν…Œλ‘λ¦¬ λ°”κΉ₯에 μœ„μΉ˜ν•˜λŠ” .. 2023. 3. 13.