개발 곡뢀/λ°λΈŒμ½”μŠ€ TIL

[ν΄λΌμš°λ”© μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ—”μ§€λ‹ˆμ–΄λ§ TIL] 240112 - κΈ°λŠ₯ 개발

κ°€μš€μ΄ 2024. 1. 12. 16:18

 

Intro


μ§€λ‚œ μ‹œκ°„μ—λŠ” ν”„λ‘œμ νŠΈ μ…‹νŒ…μ„ μ™„λ£Œν–ˆκ³  이번 μ‹œκ°„λΆ€ν„° 본격적으둜 κΈ°λŠ₯을 κ°œλ°œν•˜λŠ” 방법에 λŒ€ν•΄ ν•™μŠ΅ν•˜μ˜€λ‹€.

ν”„λ ˆμž„μ›Œν¬λ‚˜ 라이브러리 없이 μž‘μ„±ν•˜λ‹ˆ createElement, appendChildλ₯Ό μ—„μ²­ μ‚¬μš©ν•΄μ„œ κ°œλ°œμ„ ν•΄μ•Ό ν•΄μ„œ κΈ°λŠ₯이 λ§Žμ•„μ§ˆμˆ˜λ‘ μ½”λ“œκ°€ λ³΅μž‘ν•΄μ‘Œλ‹€. 파일둜 μ„ΈλΆ„ν™”ν•˜λŠ” 과정이 μ€‘μš”ν•  것 κ°™λ‹€. 그리고 ν”„λ ˆμž„μ›Œν¬μ˜ μ‚¬μš© μ΄μœ μ— λŒ€ν•΄ μ•Œκ²Œλ˜μ—ˆλ‹€.

 

 

 

였늘 ν•™μŠ΅ν•œ λ‚΄μš©

: κΈ°λŠ₯ κ°œλ°œν•˜κΈ°


μ§„ν–‰ ν”„λ‘œμ νŠΈ 정리 - Action

  • load: 졜초 μ§„μž… μ‹œμ 
  • μœ μ €μ˜ μ•‘μ…˜ ➑️ 클릭, μž…λ ₯ λ“±λ“±

μœ μ € μŠ€ν† λ¦¬

  • ν˜„μž¬ μžμ‚°μ΄ μž…λ ₯λ˜μ§€ μ•Šμ€ 경우 → μžμ‚°μ„ μž…λ ₯ν•  수 μžˆλ‹€.
  • μž…λ ₯λ˜μ–΄ μžˆλŠ” 경우 → μžμ‚°μ„ μƒˆλ‘œ μž…λ ₯ν•  수 μ—†λ‹€.
  • ν˜„μž¬ μžμ‚°μ€ 0원 이상 μž…λ ₯ν•΄μ•Ό ν•œλ‹€.
  • ν˜„μž¬ μžμ‚°μ„ μž…λ ₯ν•΄μ•Ό μ†ŒλΉ„ 내역을 μž…λ ₯ν•  수 μžˆλ‹€.

Action - Load

  1. ν˜„μž¬ μžμ‚° κΈˆμ•‘ 쑰회
    1. λŒ€κΈ°: λ‘œλ”©
    2. 성곡: 성곡 feedback
    3. μ‹€νŒ¨: μ‹€νŒ¨ feedback
  2. ν˜„μž¬ μžμ‚°μ˜ 쑴재 μ—¬λΆ€λ₯Ό 확인
    1. μ‘΄μž¬ν•  경우:
      • input λΉ„ν™œμ„±ν™”
      • μ†ŒλΉ„λ‚΄μ—­ μž…λ ₯ λ²„νŠΌ λ…ΈμΆœ
    2. μ‘΄μž¬ν•˜μ§€ μ•Šμ„ 경우:
      • input ν™œμ„±ν™”

Action - μœ μ €μ˜ μ•‘μ…˜

(μ•‘μ…˜: input) ν˜„μž¬ μžμ‚°μ„ μž…λ ₯ν•œλ‹€.

  1. validation: κΈˆμ•‘ 0원 이상
  2. μž…λ ₯ ν›„, μ„œλ²„μ— μ €μž₯
    1. λŒ€κΈ°: λ‘œλ”©
    2. 성곡: 성곡 feedback
      • μ‘΄μž¬ν•  경우의 μΌ€μ΄μŠ€
    3. μ‹€νŒ¨: μ‹€νŒ¨ feedback

 

μœ„μ²˜λŸΌ, 계산기 κΈ°λŠ₯듀을 λ‘œλ“œ μ‹œμ κ³Ό μœ μ €μ˜ μ•‘μ…˜μ—μ„œ μ •λ¦¬ν•œ μ•‘μ…˜λ“€μ„ κ°€μ§€κ³  μ½”λ“œλ‘œ 직접 μž‘μ„±ν•΄ λ³΄λŠ” μ‹€μŠ΅μ„ μ§„ν–‰ν•˜μ˜€λ‹€.

 

μ‹€μŠ΅μ„ μ§„ν–‰ν•˜λ©΄μ„œ Font Awesomeμ΄λΌλŠ” μ‚¬μ΄νŠΈλ₯Ό μ•Œκ²Œ λ˜μ—ˆλ‹€.

μ›Ήμ—μ„œ μ‚¬μš©ν•˜λŠ” μ•„μ΄μ½˜λ“€μ„ 뢈러올 수 μžˆλŠ” μœ μ΅ν•œ μ‚¬μ΄νŠΈμ΄λ‹€.

Font Awesome

https://fontawesome.com/

 

Font Awesome

The internet's icon library + toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome.

fontawesome.com

 

  • npmμ—μ„œ μ μš©ν•˜λŠ” 방법

npm install --save @fornawesome/fontawesome-free

 

  • λ‹€μŒμœΌλ‘œ μ›ν•˜λŠ” λ””μžμΈμ„ μ„ νƒν•œ ν›„ HTML μ½”λ“œλ₯Ό λ³΅μ‚¬ν•œλ‹€.
<i class="fa-solid fa-spinner-third"></i>
  • JS νŒŒμΌμ— importν•΄μ„œ μ‚¬μš©ν•œλ‹€.
import '@fortawesome/fontawesome-free/js/all.js';

 

 

 

 

마무리


μ˜€λŠ˜μ€ μ•„μΉ¨λΆ€ν„° 기뢄이 쒋은 날이닀. μ™œλƒν•˜λ©΄ TIL 배움기둝왕에 μ„ μ •λ˜μ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€! 히히😭

μ—΄μ‹¬νžˆ μž‘μ„±ν•œ 보람이 μžˆλ‹€. μ„ μ •λ˜κΈ° μœ„ν•΄ μž‘μ„±ν•œ 건 μ•„λ‹ˆμ˜€λŠ”λ° μž˜μΌλ‹€κ³  칭찬을 λ°›μœΌλ‹ˆ λ„ˆλ¬΄ λΏŒλ“―ν•˜λ‹€.

λ‚΄κ°€ 맀일 TIL을 μž‘μ„±ν•˜λŠ” μ΄μœ λŠ” κΈ°λ‘μ΄λΌλŠ” μˆ˜λ‹¨μœΌλ‘œ λ‚΄κ°€ 배운 정보가 λ‚˜μ˜ μ§€μ‹μœΌλ‘œ μ •λ¦¬ν•˜κΈ° μœ„ν•¨μ΄λ‹€.

μ˜¬ν•΄ λͺ©ν‘œ 쀑 ν•˜λ‚˜κ°€ 기둝을 잘 ν•˜λŠ” 것이닀. 그러기 μœ„ν•΄ μ΅œκ·Όμ— 읽고 μžˆλŠ” μ±… 쀑 ν•˜λ‚˜κ°€ '거인의 λ…ΈνŠΈ'λΌλŠ” 책인데 책을 톡해 기둝의 μ΄μœ μ™€ 방법에 λŒ€ν•΄ 많이 배우고 μžˆλ‹€.

 

κ°•μ˜λ₯Ό λ“€μœΌλ©΄μ„œ μ•Œκ²Œλ˜λŠ” 것은 λ§Žμ§€λ§Œ κ·Έ λ‚΄μš©μ„ λ“£λŠ”λ‹€κ³  λ‚΄ 것이 λ˜λŠ” 것이 μ•„λ‹ˆλ‹€. κΈ°λ‘μ΄λΌλŠ” μˆ˜λ‹¨μ„ 톡해 λ‚΄ μ§€μ‹μœΌλ‘œ μŒ“μ•„κ°€λŠ” 것이닀.

μ›λž˜ κΈ°λ‘μ΄λž€ 건 였래 κ±Έλ¦¬λŠ” 일이 λ§žλ‹€. λ‹¨μˆœνžˆ λ² λΌλŠ” 것이 μ•„λ‹ˆλΌ 생각도 ν•˜λ©΄μ„œ μž‘μ„±ν•˜λŠ” 것이기 λ•Œλ¬Έμ— 였래 κ±Έλ¦¬λŠ” 게 λ‹Ήμ—°ν•˜λ‹€. κ·Έλ ‡μ§€λ§Œ μ‹œκ°„μ„ νˆ¬μžν•œ 만큼 λ‚΄ κΈ°μ–΅μ—λŠ” 였래 λ‚¨μ•„μžˆμ„ 것이닀. κ·ΈλŸ¬λ‹ˆ λ‹€λ“€ TIL μž‘μ„±μ„ ν•΄λ³΄λŠ” 것을 κΆŒν•©λ‹ˆλ‹€πŸ˜

 

ν’λΆ€ν•œ 지식을 μ„­μ·¨ν•˜κ³  μ‹Άλ‹€λ©΄ λ¬΄μž‘μ • 먹기만 ν•΄μ„œλŠ” μ•ˆ λœλ‹€. 그것을 잘 μ†Œν™”ν•΄μ•Όλ§Œ ν”Όκ°€ 되고 살이 λœλ‹€. - 거인의 λ…ΈνŠΈ δΈ­