Skip to content

Latest commit

Β 

History

History
75 lines (53 loc) Β· 3.51 KB

File metadata and controls

75 lines (53 loc) Β· 3.51 KB

πŸ–₯️ λ””μŠ€ν”Œλ ˆμ΄ νƒ‘μž¬ν˜• 슀마트 곡유기 관리 μ‹œμŠ€ν…œ

λ³Έ ν”„λ‘œμ νŠΈλŠ” λ³΅μž‘ν•œ 곡유기 섀정에 μ΅μˆ™ν•˜μ§€ μ•Šμ€ μ‚¬μš©μžλ“€μ„ μœ„ν•΄, λ””μŠ€ν”Œλ ˆμ΄λ₯Ό νƒ‘μž¬ν•˜μ—¬ μ„€μ • μ•ˆλ‚΄μ™€ λ³΄μ•ˆ 변경을 μ‹œκ°μ μœΌλ‘œ μ œκ³΅ν•˜λŠ” μ‚¬μš©μž μΉœν™”μ μΈ 슀마트 곡유기 μ‹œμŠ€ν…œμ˜ ν”„λ‘ νŠΈμ—”λ“œμž…λ‹ˆλ‹€.

μ‚¬μš©μžλŠ” μ›Ή 기반 λŒ€μ‹œλ³΄λ“œλ₯Ό 톡해 μ‹€μ‹œκ°„μœΌλ‘œ 곡유기 μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜κ³ , λ””μŠ€ν”Œλ ˆμ΄ ν™”λ©΄μ—μ„œ μ§κ΄€μ μœΌλ‘œ 섀정을 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ³Έ ν”„λ‘œμ νŠΈλ₯Ό λ°”νƒ•μœΌλ‘œ ICGHIT 2025 ꡭ제 ν•™νšŒμ— 논문을 μ œμΆœν–ˆμŠ΅λ‹ˆλ‹€.


πŸ› οΈ μ‚¬μš© 기술 μŠ€νƒ

ꡬ뢄 기술
Frontend React, Material-UI, Styled-components
μƒνƒœ 관리 Recoil
API 톡신 Axios, Server-Sent Events (SSE)
개발 ν™˜κ²½ Vite, ESLint

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜


μ£Όμš” 개발 κΈ°λŠ₯

1. μ‹€μ‹œκ°„ μ‹œμŠ€ν…œ λͺ¨λ‹ˆν„°λ§ λŒ€μ‹œλ³΄λ“œ

곡유기의 CPU, λ©”λͺ¨λ¦¬, λ„€νŠΈμ›Œν¬ μ‚¬μš©λŸ‰ λ“± μ‹œμŠ€ν…œ μžμ›μ„ μ‹€μ‹œκ°„μœΌλ‘œ μ‹œκ°ν™”ν•©λ‹ˆλ‹€.

  • μ‹€μ‹œκ°„ 데이터 μˆ˜μ‹ : **SSE (Server-Sent Events)**λ₯Ό λ„μž…ν•˜μ—¬ μ„œλ²„λ‘œλΆ€ν„° μ‹€μ‹œκ°„ 데이터λ₯Ό 슀트리밍 λ°©μ‹μœΌλ‘œ μˆ˜μ‹ ν•©λ‹ˆλ‹€.

  • μ•ˆμ •μ μΈ μ—°κ²°μ„±:

    • μžλ™ μž¬μ—°κ²°: λ„€νŠΈμ›Œν¬ μ—°κ²° μ‹€νŒ¨ μ‹œ 5초 κ°„κ²©μœΌλ‘œ μ΅œλŒ€ 5회 μžλ™ μž¬μ‹œλ„ λ©”μ»€λ‹ˆμ¦˜μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
    • μ—λŸ¬ 핸듀링: 데이터 νŒŒμ‹± 였λ₯˜λ‚˜ λ„€νŠΈμ›Œν¬ 였λ₯˜ λ°œμƒ μ‹œ, μ‚¬μš©μž μΉœν™”μ μΈ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • 데이터 μ‹œκ°ν™”: (Recharts ν™œμš©)

    • CPU 및 λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰: μ›ν˜• 차트 (Circular Progress)
    • λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½ λ³€ν™”: μ„ ν˜• κ·Έλž˜ν”„ (Line Chart)

2. μ‚¬μš©μž μΉœν™”μ μΈ μ›Ή 가상 ν‚€λ³΄λ“œ

곡유기 λ””μŠ€ν”Œλ ˆμ΄ ν™˜κ²½μ—μ„œ ν„°μΉ˜ μž…λ ₯을 ν†΅ν•œ μ„€μ • νŽΈμ˜μ„±μ„ 높이기 μœ„ν•΄ μ›Ή 기반 가상 ν‚€λ³΄λ“œλ₯Ό κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

  • λ‹€κ΅­μ–΄ 및 ν•œκΈ€ μ‘°ν•©:
    • ν•œκΈ€/영문 μ „ν™˜ κΈ°λŠ₯을 μ§€μ›ν•©λ‹ˆλ‹€.
    • hangul-js 라이브러리λ₯Ό ν™œμš©ν•˜μ—¬, μžμ—°μŠ€λŸ¬μš΄ ν•œκΈ€ μ‘°ν•© μž…λ ₯이 κ°€λŠ₯ν•˜λ„λ‘ κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.
  • UX (μ‚¬μš©μž κ²½ν—˜) κ°œμ„ :
    • μž…λ ₯ ν•„λ“œ 포컀슀 μ‹œ ν‚€λ³΄λ“œκ°€ μžλ™μœΌλ‘œ ν‘œμ‹œλ˜κ³ , μ™ΈλΆ€ 클릭 μ‹œ μžλ™μœΌλ‘œ μˆ¨κ²¨μ§‘λ‹ˆλ‹€.
    • useRefλ₯Ό ν™œμš©ν•˜μ—¬ ν‚€λ³΄λ“œκ°€ ν™œμ„±ν™”λ  λ•Œ μž…λ ₯ ν•„λ“œκ°€ κ°€λ €μ§€μ§€ μ•Šλ„λ‘ 화면을 μžλ™μœΌλ‘œ μŠ€ν¬λ‘€ν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„, μ‚¬μš©μž μž…λ ₯ νŽΈμ˜μ„±μ„ ν–₯μƒν–ˆμŠ΅λ‹ˆλ‹€.

μ„œλΉ„μŠ€ ν™”λ©΄

λŒ€μ‹œλ³΄λ“œ
둜그인 νŽ˜μ΄μ§€
μ„€μ • νŽ˜μ΄μ§€
초기 νšŒμ›κ°€μž… ν™”λ©΄
ν‚€λ³΄λ“œ λ ˆμ΄μ•„μ›ƒ