Skip to content

Latest commit

Β 

History

History
70 lines (60 loc) Β· 4.04 KB

File metadata and controls

70 lines (60 loc) Β· 4.04 KB

컴퓨터학뢀 κ°•μ˜μ‹€/μ‹œμ„€λ¬Ό μ˜ˆμ•½ μ‹œμŠ€ν…œ

μ†Œκ°œ

이 ν”„λ‘œμ νŠΈλŠ” κ²½λΆλŒ€ν•™κ΅ 컴퓨터학뢀 건물(예: IT4, IT5 λ“±) λ‚΄ κ°•μ˜μ‹€κ³Ό μ‹œμ„€λ¬Όμ„ μ˜ˆμ•½ν•  수 μžˆλŠ” μžλ°” 기반의 GUI ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€. μžλ°” Swingκ³Ό MVC νŒ¨ν„΄μ„ μ μš©ν•˜μ—¬, μ‹€μ œ 2D 도면 λŠλ‚Œμ˜ UI와 직관적인 μ˜ˆμ•½ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

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

  • 2D 도면 기반 UI: 건물/측별 κ°•μ˜μ‹€ 및 μ‹œμ„€λ¬Ό 배치λ₯Ό μ‹œκ°μ μœΌλ‘œ 확인
  • κ°€μš© μƒνƒœ ν‘œμ‹œ: 각 κ°•μ˜μ‹€/μ‹œμ„€λ¬Όμ˜ μ‚¬μš© κ°€λŠ₯ μ—¬λΆ€λ₯Ό 색상과 ν…μŠ€νŠΈλ‘œ ν‘œμ‹œ
  • μ˜ˆμ•½ κΈ°λŠ₯: λ²„νŠΌ 클릭 μ‹œ λ‚ μ§œ/μ‹œκ°„λŒ€/μ˜ˆμ•½μž μž…λ ₯ ν›„ μ˜ˆμ•½ κ°€λŠ₯ μ—¬λΆ€ 확인 및 처리
  • MVC νŒ¨ν„΄ 적용: Model-View-Controller ꡬ쑰둜 μœ μ§€λ³΄μˆ˜μ„±κ³Ό ν™•μž₯μ„± κ°•ν™”

Gradleμ΄λž€?

Gradle은 μžλ°” ν”„λ‘œμ νŠΈμ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” "λΉŒλ“œ 도ꡬ"μž…λ‹ˆλ‹€.

  • μ—¬λŸ¬ 개의 μžλ°” νŒŒμΌμ„ ν•œ λ²ˆμ— μ»΄νŒŒμΌν•˜κ³ , 싀행에 ν•„μš”ν•œ 라이브러리(μ™ΈλΆ€ jar)도 μžλ™μœΌλ‘œ κ΄€λ¦¬ν•΄μ€λ‹ˆλ‹€.
  • build.gradle νŒŒμΌμ— ν•„μš”ν•œ 섀정을 적어두면, λ³΅μž‘ν•œ λͺ…λ Ή 없이 ./gradlew build λ˜λŠ” ./gradlew run만으둜 ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œ/μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 이 ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ†ŒμŠ€μ½”λ“œ 컴파일, μ‹€ν–‰, 라이브러리 관리(예: Swing은 JDK에 λ‚΄μž₯) 등을 Gradle이 μžλ™μœΌλ‘œ μ²˜λ¦¬ν•΄μ€λ‹ˆλ‹€.
  • μž₯점:
    • IDE 없이도 ν„°λ―Έλ„μ—μ„œ μ‰½κ²Œ λΉŒλ“œ/μ‹€ν–‰ κ°€λŠ₯
    • νŒ€μ› λͺ¨λ‘κ°€ λ™μΌν•œ ν™˜κ²½μ—μ„œ 개발 κ°€λŠ₯
    • 라이브러리 μΆ”κ°€/관리가 맀우 쉬움

MVC νŒ¨ν„΄μ΄λž€?

MVC(Model-View-Controller) νŒ¨ν„΄μ€ μ†Œν”„νŠΈμ›¨μ–΄ 섀계 원칙 쀑 ν•˜λ‚˜λ‘œ, ν”„λ‘œκ·Έλž¨μ„ μ„Έ κ°€μ§€ μ—­ν• λ‘œ λΆ„λ¦¬ν•˜μ—¬ κ°œλ°œν•©λ‹ˆλ‹€.

  • Model(λͺ¨λΈ): 데이터와 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λ‹΄λ‹Ήν•©λ‹ˆλ‹€. (예: κ°•μ˜μ‹€, μ‹œμ„€λ¬Ό, μ˜ˆμ•½ 정보 λ“±)
  • View(λ·°): μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ§€λŠ” UIλ₯Ό λ‹΄λ‹Ήν•©λ‹ˆλ‹€. (예: Swing ν™”λ©΄, λ²„νŠΌ λ“±)
  • Controller(컨트둀러): μ‚¬μš©μžμ˜ μž…λ ₯을 λ°›μ•„ Modelκ³Ό Viewλ₯Ό μ—°κ²°ν•˜κ³ , 이벀트λ₯Ό μ²˜λ¦¬ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ λΆ„λ¦¬ν•˜λ©΄ μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±κ³Ό μœ μ§€λ³΄μˆ˜μ„±μ΄ λ†’μ•„μ§€κ³ , μ—­ν• λ³„λ‘œ ν˜‘μ—…μ΄ μ‰¬μ›Œμ§‘λ‹ˆλ‹€.

폴더 ꡬ쑰

ClassroomReservation/
β”œβ”€β”€ src/
β”‚   └── main/
β”‚       β”œβ”€β”€ java/org/javateam11/
β”‚       β”‚   β”œβ”€β”€ controller/      # 컨트둀러 (이벀트 처리)
β”‚       β”‚   β”œβ”€β”€ model/           # 도메인 λͺ¨λΈ 및 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
β”‚       β”‚   └── view/            # μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ (Swing)
β”‚       └── resources/
β”œβ”€β”€ build.gradle
β”œβ”€β”€ README.md
└── ...

μ‹€ν–‰ 방법

  1. JDK 17 이상이 μ„€μΉ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

  2. IntelliJ IDEAλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€:

    • IntelliJ IDEAμ—μ„œ ν”„λ‘œμ νŠΈλ₯Ό μ—΄κ³  src/main/java/org/javateam11/Main.javaλ₯Ό μ‹€ν–‰ν•˜μ„Έμš”.

    λ˜λŠ” ν„°λ―Έλ„μ—μ„œ ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬λ‘œ 이동 ν›„ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

    ./gradlew build
    ./gradlew run

개발 ν™˜κ²½

  • Eclipse Temurin JDK 21
  • Gradle λΉŒλ“œ μ‹œμŠ€ν…œ
  • (ꢌμž₯) IntelliJ IDEA λ˜λŠ” Eclipse

κΈ°μ—¬ 방법

⚠️ μ£Όμ˜μ‚¬ν•­

  • main λ˜λŠ” dev λΈŒλžœμΉ˜μ— 직접 μ»€λ°‹ν•˜μ§€ λ§ˆμ„Έμš”!
  • dev λΈŒλžœμΉ˜μ—μ„œ μƒˆ 브랜치λ₯Ό λ§Œλ“€κΈ° 전에 항상 pull ν•΄μ„œ μ΅œμ‹  μƒνƒœλ₯Ό μœ μ§€ν•΄μ£Όμ„Έμš”.
  • λͺ¨λ“  변경사항은 λ°˜λ“œμ‹œ dev λΈŒλžœμΉ˜μ—μ„œ λΆ„κΈ°ν•œ μƒˆλ‘œμš΄ λΈŒλžœμΉ˜μ—μ„œ μž‘μ—…ν•΄μ£Όμ„Έμš”.
  • μž‘μ—…μ΄ μ™„λ£Œλ˜λ©΄ Pull Requestλ₯Ό 톡해 μ½”λ“œ 리뷰λ₯Ό 받은 ν›„μ—λ§Œ main λΈŒλžœμΉ˜μ— λ³‘ν•©λ©λ‹ˆλ‹€.
  1. νŒ€μ›λ“€μ€ κ°μžλ§ˆλ‹€ μžμ‹ μ΄ κ°œλ°œν• /μˆ˜μ •ν•  κΈ°λŠ₯의 브랜치λ₯Ό λ°˜λ“œμ‹œ dev 브랜치λ₯Ό 베이슀둜 λ§Œλ“€μ–΄μ„œ κ±°κΈ°μ„œ μž‘μ—…ν•©λ‹ˆλ‹€.
  2. 브랜치 이름은 μžμ‹ μ΄ κ°œλ°œν• /μˆ˜μ •ν•  κΈ°λŠ₯을 잘 λ‚˜νƒ€λ‚΄λŠ” μ΄λ¦„μœΌλ‘œ μž‘μ„±ν•©λ‹ˆλ‹€. (예: feat/reservation-view, fix/button-color)
  3. κΈ°λŠ₯ μΆ”κ°€/버그 μˆ˜μ • ν›„ Pull Request(PR)λ₯Ό μ˜¬λ €μ£Όμ„Έμš”.
  4. μ½”λ“œ μŠ€νƒ€μΌμ„ 잘 μ§€ν‚€κ³  주석을 잘 λ‹¬μ•„μ£Όμ„Έμš”.