AI Companionμ μ¬μ©ν νμ μμ½ λ§λ€μ΄μ§
AI Companionμ μ¬μ©ν νμ μμ½
AI FULL 3
λΉ λ₯Έ μμ½
μ΄ νμλ μ£Όλ‘ 3 κ³μΈ΅ μν€ν
μ² ν¨ν΄μ μ¬μ©νμ¬ κ²μν νλ‘κ·Έλ¨μ ꡬννκ³ JavaFXλ₯Ό μ¬μ©νμ¬ Java κ°λ° νκ²½μ μ€μ νλ λ° μ€μ μ λμμ΅λλ€. μ°Έκ°μλ€μ νλ μ ν
μ΄μ
, λΉμ¦λμ€ λ‘μ§ λ° λ°μ΄ν° μ‘μΈμ€ λ μ΄μ΄λ₯Ό ν¬ν¨ν νλ‘κ·Έλ¨ κ΅¬μ‘°μ JDK, Eclipse λ° JavaFX SDKμ κ°μ νμν κ΅¬μ± μμμ μ€μΉμ λν΄ λ
Όμνμ΅λλ€. μΈμ
μ Scene Builderλ₯Ό μ¬μ©νμ¬ κ°λ¨ν JavaFX μ ν리μΌμ΄μ
μ λ§λλ λ°λͺ¨λ‘ λλ¬μΌλ©°, μ΄λ²€νΈ μ²λ¦¬μ JavaFX μ ν리μΌμ΄μ
μμ μ¬λ¬ μ°½ μμ±μ λν΄ κ°λ΅νκ² μ€λͺ
νμ΅λλ€.
λ€μ λ¨κ³
β’ ALOHA: μ μ ν λͺ¨λ ꡬμ±μΌλ‘ κΈ°λ³Έ Java FX νλ‘μ νΈ κ΅¬μ‘°λ₯Ό λ§λλλ€.
β’ ALOHA: κ°λ° νκ²½μ JDK 23μ μ¬μ©νμ¬ Java FX SDK λ²μ 24λ₯Ό μ€μ ν©λλ€.
β’ ALOHA: Java FX κ°λ°μ μν Eclipse Marketplace νλ¬κ·ΈμΈ μ€μΉ
β’ ALOHA: UI κ°λ°μ μν Scene Builderλ₯Ό ꡬμ±νκ³ Eclipseμ μ°κ²°ν©λλ€.
β’ ALOHA: Java FX GUI μΈν°νμ΄μ€λ₯Ό μ¬μ©νμ¬ κ²μν νλ‘κ·Έλ¨μ ꡬνν©λλ€.
β’ ALOHA: Scene Builderλ₯Ό μ¬μ©νμ¬ λ©μΈ νλ©΄μ μ¬μ©μ μΈν°νμ΄μ€ κ΅¬μ± μμλ₯Ό μΆκ°ν©λλ€.
β’ ALOHA: λ°μ΄ν°λ² μ΄μ€ κΈ°λ₯μ μλ‘μ΄ GUI μΈν°νμ΄μ€μ ν΅ν©ν©λλ€.
β’ ALOHA: νλ‘ νΈμλμ λ°±μλ κ΅¬μ± μμλ₯Ό λͺ¨λ μ¬μ©νμ¬ μ 체 μ ν리μΌμ΄μ
μ ν
μ€νΈν©λλ€.
μμ½
κ²μν νλ‘κ·Έλ¨μ 3λ¨κ³ μν€ν
μ²
μ΄ νμμμλ κ²μν νλ‘κ·Έλ¨μ λν 3λ¨κ³ μν€ν
μ² ν¨ν΄μ ꡬνμ λ
Όμν©λλ€. ꡬ쑰λ νλ μ ν
μ΄μ
, λΉμ¦λμ€ λ‘μ§ λ° λ°μ΄ν° μ‘μΈμ€ λ μ΄μ΄λ‘ λλ©λλ€. νμ DTO (Data Transfer Object), DAO (Data Access Object) λ° μλΉμ€λ₯Ό μν ν¨ν€μ§λ₯Ό λ§λλλ€. μλ μ½λ μμ±μ μν΄ Lombok λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ Board ν΄λμ€λ₯Ό ꡬνν©λλ€. μ΄ ν λ‘ μμλ λ¬Έμ μ μ λΆλ¦¬νκ³ μ μ§λ³΄μμ±μ κ°μ νλ©°, μν€ν
μ²μμ κ° λ μ΄μ΄μ μν μ λ€λ£Ήλλ€. λν BoardDAOμ BoardService ν΄λμ€λ₯Ό ꡬννκΈ° μμν©λλ€.
BBSμ© λ³΄λ μλΉμ€ ν΄λμ€ κ΅¬ννκΈ°
λ°νμλ κ²μν μμ€ν
μ λν 보λ μλΉμ€ ν΄λμ€ κ΅¬νμ μ€λͺ
ν©λλ€. JDBC μ°κ²°μ μ¬μ©νμ¬ λ°μ΄ν°λ² μ΄μ€μ μνΈ μμ©νλ κ²μλ¬Ό λͺ©λ‘, 보기, λ±λ‘, μμ λ° μμ λ°©λ²μ λ§λλ λ°©λ²μ λν΄ λ
Όμν©λλ€. μ΄ μ½λμλ μμΈ μ²λ¦¬ λ° SQL 쿼리μ λ§€κ° λ³μ 맀νμ΄ ν¬ν¨λμ΄ μμ΅λλ€. λ°νμλ νμ¬ κ΅¬νμ κ°λ¨νμ§λ§ κ²μλ¬Όμ μ‘μΈμ€ ν λ μ‘°ν μλ₯Ό μ¦κ°μν€λ κ²κ³Ό κ°μ λ 볡μ‘ν λΉμ¦λμ€ λ‘μ§μ ν¬ν¨νλλ‘ ν₯ν νμ₯ λ μ μλ€κ³ μ§μ ν©λλ€.
λ¨μ± μ§μ¬μμ λΆμ°κ²°ν λν
λνκ° νΌλμ€λ½κ³ μΌκ΄λ λ§₯λ½μ΄ μμ΄ μλ―Έ μλ μμ½μ μ 곡νκΈ° μ΄λ ΅μ΅λλ€. λνμμ λ¨μ± μ§μμΌμ¬λ₯Ό λ°λ³΅μ μΌλ‘ μΈκΈνμ§λ§ λͺ
νν ν λ‘ μ΄λ μμ¬κ²°μ κ³Όμ μ μμ΅λλ€. μμ± μΈμμ΄λ λ²μ μ€λ₯λ‘ μΈν΄ μΌλ ¨μ κ΄λ ¨ μλ λ¬Έμ₯μΌλ‘ 보μ
λλ€. λͺ
νν μ£Όμ λ λͺ©μ μ΄ μμΌλ©΄ λ―Έν
μ λμΉ μ¬λμκ² λμμ΄ λλ μμ½μ λ§λ€ μ μμ΅λλ€.
JDBC MySQL κ²μν ꡬν
μ΄ ν λ‘ μ JDBCμ MySQL λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμ¬ 3λ¨κ³ μν€ν
μ² ν¨ν΄μ λ°λ₯΄λ κ²μν νλ‘κ·Έλ¨μ ꡬννλ λ° μ€μ μ λ‘λλ€. λ©μΈ ν΄λμ€λ νλ μ ν
μ΄μ
λ μ΄μ΄λ‘μ, λΉμ¦λμ€ λ‘μ§ λ μ΄μ΄(BoardService)μ λ°μ΄ν° μ‘μΈμ€ λ μ΄μ΄(BoardDAO)μ μ°κ²°λ©λλ€. μ΄ νλ‘κ·Έλ¨μ κ²μλ¬Ό λͺ©λ‘, 보기, λ±λ‘, νΈμ§ λ° μμ κΈ°λ₯μ ν¬ν¨ν©λλ€. ꡬνμ μΈν°νμ΄μ€ μ¬μ©, μμΈ μ²λ¦¬, κ·Έλ¦¬κ³ μμκ³Ό λ€νμ±κ³Ό κ°μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° κ°λ
μ 보μ¬μ€λλ€. μ°μ¬λ λν ν¨μ¨μ±μ μν΄ μ μ λ³μλ₯Ό μ¬μ©νκ³ , Lombok λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ κ²ν°μ μΈν°λ₯Ό μλμΌλ‘ μμ±νλ€κ³ κ°μ‘°ν©λλ€.
Java FX νκ²½ μ€μ
ν λ‘ μ Java FX κ°λ° νκ²½ μ€μ μ μ€μ μ λ‘λλ€. λ°νμλ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λ§λ€κΈ° μν΄ Swingμμ Java FXλ‘μ μ νμ μ€λͺ
νκ³ , κ°λ° νκ²½μ Java FX SDKμ μ μ ν νμ₯ νλ‘κ·Έλ¨μ μ€μΉν΄μΌ νλ€κ³ μΈκΈν©λλ€. νμ¬ JDKμ νΈνλλ λ²μ 24λΆν° μμνμ¬ Java FXλ₯Ό μ¬μ©νμ¬ νλ©΄μ μ½ν
μΈ λ₯Ό νμνλ κ°λ¨ν νλ‘κ·Έλ¨μ λ§λ€ κ³νμ
λλ€. μ°μ¬λ λν Java UI κ°λ°μ μμ¬μ Swingμμ Java FXλ‘μ μ§νμ λν΄ μΈκΈν©λλ€.
Java κ°λ° ν€νΈ λ° νλ‘μ νΈ μμ΄λμ΄
μ΄ κ·Έλ£Ήμ λ€μν Java Development Kit(JDK) λ²μ κ³Ό μ€μΉμ λν΄ λ
Όμνλ©°, 17, 21, 22, 24 λ²μ μ μ€μ¬μΌλ‘ ν©λλ€. μ΄λ€μ μμ€ν
νκ²½ λ³μμ Java κ²½λ‘λ₯Ό μ¬λ°λ₯΄κ² μ€μ νλ λ°©λ²μ νꡬν©λλ€. κ·Έλ° λ€μ λνλ κ²μν, νΈν‘ μ± λ° μ±ν
μμ€ν
μ ν¬ν¨ν μ μμ ν΅ν΄ νλ‘μ νΈ μμ΄λμ΄ λΈλ μΈμ€ν λ°μΌλ‘ μ νλ©λλ€. μ°Έκ°μλ€μ μΌλΆ μμ΄λμ΄κ° ν₯λ―Έλ‘μ§λ§ νμ¬ κΈ°μ μμ€μ λ무 λ³΅μ‘ ν μ μμΌλ©° μ μ© κ³μ°κΈ°μ κ°μ κ°λ¨ν νλ‘μ νΈκ° λ μ μ ν μ μλ€κ³ λμν©λλ€.
JavaFX κ°λ° νκ²½ μ€μ
μ΄ ν λ‘ μ JavaFXλ₯Ό μ¬μ©νμ¬ GUI νλ‘κ·Έλλ°μ μν Java κ°λ° νκ²½ μ€μ μ μ€μ μ λ‘λλ€. λ°νμλ JDK, Eclipse λ° Eclipse Marketplaceμ e(fx)clipse νμ₯ κΈ°λ₯μ ν¬ν¨ν νμν κ΅¬μ± μμλ₯Ό μ€λͺ
ν©λλ€. λν JavaFX SDKλ₯Ό μ€μΉν΄μΌ νλ€κ³ μΈκΈνμ΅λλ€. λνμλ μ€μΉ λ¬Έμ ν΄κ²° λ¨κ³μ JDK 17 LTS, 21/22 λ± λ€μν JDK λ²μ μ λν μ°Έμ‘°κ° ν¬ν¨λμ΄ μμ΅λλ€.
Java FX κ°λ° νκ²½ μ€μΉ
Alohaλ Eclipseμμ Java FX κ°λ° νκ²½μ μ€μΉλ₯Ό μλ΄ν©λλ€. κ·Έλ λ¨Όμ Eclipse Marketplaceμμ Java FX νμ₯ νλ¬κ·ΈμΈμ μ€μΉν©λλ€. Eclipseλ₯Ό λ€μ μμνλ©΄ μλ‘μ΄ Java FX νλ‘μ νΈ μ΅μ
μ΄ μ¬μ© κ°λ₯ν©λλ€. Alohaλ Java FX SDKλ₯Ό λ€μ΄λ‘λνκ³ μ€μ νμ¬ νμν νμΌμ ν¬ν¨νλ μ¬μ©μ λΌμ΄λΈλ¬λ¦¬λ₯Ό Eclipseμ μμ±ν©λλ€. μΌλΆ λ²μ νΈνμ± λ¬Έμ κ° λ°μνμμλ λΆκ΅¬νκ³ Alohaλ Java FX νλ‘μ νΈλ₯Ό λ§λ€κ³ μλ‘ μμ±λ Java FX λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλλ‘ λΉλ κ²½λ‘λ₯Ό ꡬμ±νλ λ°©λ²μ 보μ¬μ€λλ€.
λ―Έν
ν λ‘ μ΄ νΌλμ€λ½κ³ λΆλΆλͺ
ν©λλ€.
λνλ λ¨μ λμ΄ μκ³ λͺ
νν μ£Όμ λ λͺ©μ μ΄ λΆμ‘±ν΄ 보μ
λλ€. μ§μμΌ, μμ, κ°μΈ κ²½ν λ± λ€μν μ£Όμ μ λν 무μμμ μΈ λκΈμ΄ ν¬ν¨λμ΄ μμ΅λλ€. νΈλμ€ν¬λ¦½νΈμλ "1S"μ "JDK"λΌλ λ κ°μ μ¬λΌμ΄λ μ λͺ©μ΄ μΈκΈλμ΄ μμ§λ§, κ·Έ λ§₯λ½μ λͺ
ννμ§ μμ΅λλ€. λνμ λ¨νΈμ μΈ μ±κ²© λλ¬Έμ κ²°μ , μ λ ¬, λ€μ λ¨κ³, νλ νλͺ© λλ μ΄λ¦° μ§λ¬Έμ λν μλ―Έ μλ μμ½μ μ 곡ν μ μμ΅λλ€.
JavaFX κ°λ° νκ²½ μ€μ κ°μ΄λ
μ΄ λ―Έν
μ JavaFXμ Scene Builderλ₯Ό μ¬μ©νμ¬ Java κ°λ° νκ²½μ μ€μ νλ λ° μ€μ μ λ‘λλ€. Alohaλ μ°Έκ°μλ€μκ² JDK 23 μ€μΉ, Eclipse ꡬμ±(μλ‘μ΄ JDK μ¬μ©) λ° Scene Builder μ€μΉλ₯Ό μλ΄ν©λλ€. μ΄λ€μ λ μ΄λΈκ³Ό λ²νΌ μΆκ°λ₯Ό ν¬ν¨νμ¬ Scene Builderλ₯Ό μ¬μ©νμ¬ κ·Έλν½ μ¬μ©μ μΈν°νμ΄μ€λ‘ κ°λ¨ν JavaFX μ ν리μΌμ΄μ
μ λ§λλ λ°©λ²μ 보μ¬μ€λλ€. μΈμ
μ μ΄λ²€νΈ μ²λ¦¬ λ° JavaFX μ ν리μΌμ΄μ
μμ μ¬λ¬ μ°½ μμ±μ λν κ°λ΅ν ν λ‘ μΌλ‘ λ§λ¬΄λ¦¬λ©λλ€.
AI μμ± μ½ν
μΈ λ λΆμ ννκ±°λ μ€ν΄μ μμ§κ° μμ μ μμ΅λλ€. νμ μ νμ±μ νμΈν΄ μ£ΌμΈμ.