seeyouletter / seeyouletter-fe

0 stars 0 forks source link

[πŸ’Œ FEATURE REQUEST] ν…œν”Œλ¦Ώ λ§Œλ“€κΈ°μ˜ μ „μ—­μƒνƒœλ₯Ό μΆ”κ°€ν•œλ‹€ #66

Closed JengYoung closed 1 year ago

JengYoung commented 1 year ago

멈좰! πŸ–πŸ» μž μ‹œ 체크 λ“€μ–΄κ°‘λ‹ˆλ‹€~

λ°°κ²½ 및 μ„€λͺ…

μ‘°λ§Œκ°„ Resize와 Draggable을 κ΅¬ν˜„ν•˜λ € ν•œλ‹€. 이λ₯Ό μ‘°μž‘ν•˜κΈ° μœ„ν•΄μ„œλŠ” μƒνƒœκ°€ ν•„μš”ν•œλ°, 사전에 이λ₯Ό μ „μ—­μ—μ„œ κ΄€λ¦¬ν•˜κ³ μž ν•œλ‹€.

μ΄μœ λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

  1. μ»΄ν¬λ„ŒνŠΈμ˜ μŠ€νƒ€μΌ μƒνƒœλŠ” 메인 뿐만 μ•„λ‹ˆλΌ μ™Όμͺ½ μ‚¬μ΄λ“œλ°”/였λ₯Έμͺ½ μ‚¬μ΄λ“œλ°”μ—μ„œ 영ν–₯을 λΌμΉœλ‹€.
  2. μ΅œμƒμœ„μ—μ„œ μƒνƒœλ₯Ό λ‚΄λ €μ£ΌλŠ” 것은 결과적으둜 전체λ₯Ό λ¦¬λ Œλ”λ§ν•˜λŠ” 둜직과 λ‹€λ₯Ό λ°”κ°€ μ—†λ‹€. μ΄μœ λŠ” λ¦¬μ•‘νŠΈμ—μ„œλŠ” λΆ€λͺ¨μ˜ stateκ°€ λ°”λ€Œλ©΄ μžμ‹λ„ λ¦¬λ Œλ”λ§λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

κΈ°λŒ€κ²°κ³Ό

μ „μ—­ μƒνƒœλ₯Ό μ •μ˜ν•¨μœΌλ‘œμ¨ λ Œλ”λ§ λ‘œμ§μ„ μ΅œμ ν™”ν•  수 μžˆλ‹€. μ „μ—­ μƒνƒœλ₯Ό μ •μ˜ν•˜μ—¬ λ‹€λ₯Έ 계측에 μ‘΄μž¬ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈ μ—­μ‹œ ν•΄λ‹Ή μƒνƒœμ— λŒ€ν•΄ λ°˜μ‘ν•  수 μžˆλ„λ‘ μ œμ–΄ν•  수 μžˆλ‹€.

λŒ€μ•ˆ μ œμ‹œ

초기 섀계λ₯Ό μž˜ν•΄μ•Ό ν•œλ‹€.

λ©°μΉ  κ³ λ―Όν•˜μ§€ μ•Šμ•˜μ§€λ§Œ, ν”Όκ·Έλ§ˆ λ‘œμ§μ€ 생각보닀 λ³΅μž‘ν•œ 것 κ°™λ‹€. 그도 그럴 것이 사싀상 λ‚΄κ°€ μƒˆλ‘œμš΄ μ»΄ν¬λ„ŒνŠΈλ₯Ό ν™”λ©΄ 상에 κ·Έλ €λ‚΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, 섀계λ₯Ό λŒ€μΆ© 해버리면, λ‚˜μ€‘μ— μˆ˜μ •ν•˜κΈ°κ°€ 맀우 μ–΄λ ΅λ‹€.

μ™œλƒν•˜λ©΄ μ»΄ν¬λ„ŒνŠΈμ˜ μ’…λ₯˜λŠ” λ¬΄κΆλ¬΄μ§„ν•˜λ©°, λ”°λΌμ„œ ν™•μž₯μ—λŠ” μ—΄λ €μžˆμ–΄μ•Ό ν•˜λŠ”λ°, 이에 λŒ€ν•œ νŒ¨ν„΄ 섀계가 μ œλŒ€λ‘œ λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©΄ μœ μ§€λ³΄μˆ˜κ°€ ꡉμž₯히 μ–΄λ €μ›Œμ§€κΈ° λ•Œλ¬Έμ΄λ‹€.

TaskQueue 생성?!

λ”°λΌμ„œ 일단 일감은 blockGroupμ—μ„œ μ–΄λŠμ •λ„ Stateλ₯Ό κ°€μ Έμ˜€λŠ” 건 Store 덕뢄에 ν•΄κ²°ν•œ 것 같은데 λ¬Έμ œλŠ” μ–΄λ–»κ²Œ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠλƒλ‹€. 일감은 TaskQueue도 생성해야 ν•  것 κ°™λ‹€.

μ΄μœ λŠ” HTTP 톡신에 μžˆμ–΄ 계속 μš”μ²­/응닡을 각 μ»΄ν¬λ„ŒνŠΈ λ³€κ²½μ‹œλ§ˆλ‹€ ν•˜λ©΄ λ„€νŠΈμ›Œν¬ κ°„ ν†΅μ‹ μ—μ„œ λ°œμƒν•˜λŠ” νŠΈλž˜ν”½μ΄ 생각보닀 만만치 μ•Šμ„ 것 κ°™λ‹€λŠ” 생각이닀.

μ΄μœ λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

λ˜ν•œ μ΄λ ‡κ²Œ ν•œκΊΌλ²ˆμ— μ—¬λŸ¬ 개의 μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” λ‘œμ§μ€ Virtual DOM(μ‹€μ œλ‘œλŠ” λ¦¬μ•‘νŠΈλŠ” 이제 이 말을 μ‹«μ–΄ν•˜κΈ΄ ν•˜μ§€λ§Œ)의 λŒ€λͺ…사인 λ¦¬μ•‘νŠΈμ—μ„œ μ²˜λ¦¬ν•˜λŠ” 방법이기도 ν•˜λ‹€. λ¦¬μ•‘νŠΈλŠ” μƒνƒœ 변경이 λ°œμƒν•˜λ©΄ μ•½ 10ms ~ 20ms λ‚΄μ˜ 처리 μ‹œκ°„μ—μ„œ λ°œμƒν•œ μƒνƒœ λ³€κ²½ λ‘œμ§μ„ λͺ¨μ•„ 배치 μ²˜λ¦¬ν•œλ‹€.

μ΄λ ‡κ²Œ 비동기 처리λ₯Ό ν•œκΊΌλ²ˆμ— λ°°μΉ˜μ²˜λ¦¬ν•¨μœΌλ‘œμ¨ λΉ λ₯΄κ²Œ μƒνƒœλ₯Ό λ°˜μ˜ν•  수 μžˆλŠ” 것이닀. 아직 λ°±μ—”λ“œ μͺ½μ— μš”μ²­ν•˜μ§€λŠ” μ•Šμ•˜μ§€λ§Œ, λ””λ°”μš΄μŠ€ ν›„, μ΄λŸ¬ν•œ 일괄 μš”μ²­ 방식에 λŒ€ν•΄ κ²€ν† ν•˜λ„λ‘ μ œμ•ˆν•΄μ•Όκ² λ‹€.

참고자료

λ¦¬μ•‘νŠΈ 배치 μ²˜λ¦¬μ— λŒ€ν•œ κ·Όκ±°λ₯Ό μ°Ύλ‹€κ°€ μ™„λ²½ν•˜μ§„ μ•Šμ§€λ§Œ 일단 λ³΄μ΄λŠ” κ±Έ μ°Ύμ•˜λ‹€