πŸͺ΄ μ„±μž₯일지 2.0

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ (1.0) μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ… πŸ‰ κ²½ν—˜ μœ„μ£Όλ‘œ (2.0) λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±ν•˜μž

Project jaybnb

λͺ©ν‘œ

  1. 일정 λ²„νŠΌ 클릭 μ‹œ, 헀더 λΆ€λΆ„ ν™•λŒ€ 및 λ³€ν™”
  2. 달λ ₯ λͺ¨λ‹¬μ— ν™”μ‚΄ν‘œ λ²„νŠΌμ„ μΆ”κ°€ν•˜κ³  λ²„νŠΌ 클릭 μ‹œ 달λ ₯ λ„˜κΈ°λŠ” κΈ°λŠ₯
  3. 체크인 및 체크아웃 λ‚ μ§œ 선택 μ‹œ, 헀더 뢀뢄에 ν•΄λ‹Ή λ‚ μ§œ ν‘œμΆœ
  4. 체크인 및 체크아웃 λ‚ μ§œ 선택 μ‹œ, κ·Έ 사이 λ‚ μ§œλ“€μ— λŒ€ν•΄ μ‹œκ°μ  ν‘œν˜„ μΆ”κ°€

SCSS

  • css bem에 맞게 μž‘μ„±μ„ μž˜ν•˜λ©΄, SCSS의 &λ₯Ό ν™œμš©ν•˜κΈ° 정말 μš©μ΄ν•΄μ§„λ‹€!
block {
  &__element {
    // 이런 λŠλ‚Œ
  }
}

JavaScript

  • 아직 λͺ¨λ“ˆν™”λ₯Ό 톡해 ν”„λ‘œμ νŠΈλ₯Ό κ΄€λ¦¬ν•˜λŠ” 뢀뢄이 μ–΄λ ΅λ‹€.

    • 달λ ₯ 생성에 ν•„μš”ν•œ λ‚ μ§œ 객체듀을 λ§Œλ“€μ–΄μ£ΌλŠ” calendar.js 그리고 μ—¬λŸ¬κ°€μ§€ 화면을 μ‘°μž‘ν•˜λŠ” main.js으둜만 κ΅¬μ„±ν•΄λ³΄μ•˜λ‹€.
    • 아직 감이 μ—†μœΌλ‹ˆ, μ‹œμž‘ 전에 μ΅œλŒ€ν•œ(λ‚΄κ°€ κ°€λŠ₯ν•œ μ„ μ—μ„œ) ν”„λ‘œμ νŠΈλ₯Ό μ–΄λ–»κ²Œ κ΅¬μ„±ν•˜κ³  섀계할지 κ³ λ―Όν•΄λ³΄μž
  • 일단 κΈ°λŠ₯을 μœ„μ£Όλ‘œ μ „λΆ€ κ΅¬ν˜„ν–ˆλŠ”λ°, μ—΄μ‹¬νžˆ μ½”λ“œλ₯Ό μ λ‹€λ³΄λ‹ˆ μ–΄λŠμ •λ„ μ–΄λ–»κ²Œ λ³€μˆ˜, ν•¨μˆ˜λ₯Ό μž¬ν™œμš©ν• μ§€ 감이 μ˜€λŠ” 것 κ°™λ‹€.

  • 큰 차이가 없을 것 κ°™μ§€λ§Œ, 2번과 같이 ν–ˆμ„ λ•Œ 원할 λ•Œλ§ˆλ‹€ μ›ν•˜λŠ” λ‚ μ§œ 객체 배열을 λ§Œλ“€ 수 μžˆμ–΄μ„œ 정말 μœ μš©ν–ˆλ‹€.

    // 1. 빈 배열을 λ§Œλ“€μ–΄μ„œ κ·Έ 배열에 λ‚ μ§œ 객체듀을 μ €μž₯ν•΄μ„œ 이용
    makeAfterCalendar(prevMonthList);
    
    // 2. νŠΉμ • 연도와 월을 λ„£μœΌλ©΄ ν•΄λ‹Ή λ‹¬μ˜ λ‚ μ§œ 객체 배열을 λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜λ₯Ό 이용
    makeAfterCalendar(makeAfterMonthList(tempYear, tempMonth));
  • ν•¨μˆ˜ λ‚΄μ—μ„œ νŠΉμ • μ‘°κ±΄μ—μ„œ return μ²˜λ¦¬ν•¨μœΌλ‘œμ¨ ν•¨μˆ˜λ₯Ό μ œμ–΄ν•˜λŠ” 방법

    function example() {
      if ($prevFirstRow.innerHTML !== '') {
        return;
      }
    }
  • 가급적 (for let i = 0) ν˜•νƒœμ˜ λ°˜λ³΅λ¬Έμ€ 지양할 것

    • for, in/of ν˜Ήμ€ λ°°μ—΄μ˜ λ©”μ„œλ“œμΈ forEach()λ₯Ό ν™œμš©ν•˜λ„λ‘ ν•˜μž!!!
    document.querySelectorAll('.prev').forEach((ele) => {
      if (+ele.innerHTML > firstDate) {
        ele.style.backgroundColor = '#ebebeb';
        ele.style.borderRadius = 0;
      }
    });

    ν”„λ‘œμ νŠΈ ν›„κΈ°

    1. λ³€μˆ˜ κ΄€λ¦¬λŠ” 생각보닀 μ–΄λ ΅λ‹€.
    2. console.log() λ„˜λ‚˜ μ†Œλ“•ν•˜λ‹€.(γ… γ… )
    3. html 및 css ꡬ쑰λ₯Ό 잘 μ§œλ‘λ©΄, 이후 μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ DOM μ‘°μž‘μ΄ 훨씬 νŽΈν•΄μ§€κ³  μ§κ΄€μ μ΄κ²Œ λœλ‹€. λ¬Όλ‘  μ΄λ²ˆμ—” κ·Έλ ‡κ²Œ λͺ»ν–ˆλ‹Ή γ…Žγ…Žγ…Žγ…Žγ…Žγ…Žγ…Žγ…Ž
    4. μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 일은 쉽지 μ•Šμ§€λ§Œ, 일단 μ΅œλŒ€ν•œ κΈ°λŠ₯ κ΅¬ν˜„μ„ λͺ©ν‘œλ‘œ ν•˜κ³  κ³΅λΆ€ν•œ λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ λ¦¬νŒ©ν† λ§ν•˜λ©΄ 더 많이 배울 수 μžˆμ„ 것 κ°™λ‹€.