[π μ¬μ΄ν΄2 - λ―Έμ (κΈ°λ¬Ό νμ₯ + DB μ μ©)] λ°λ λ―Έμ μ μΆν©λλ€.#352
Open
frombunny wants to merge 41 commits intowoowacourse:frombunnyfrom
Open
[π μ¬μ΄ν΄2 - λ―Έμ
(κΈ°λ¬Ό νμ₯ + DB μ μ©)] λ°λ λ―Έμ
μ μΆν©λλ€.#352frombunny wants to merge 41 commits intowoowacourse:frombunnyfrom
frombunny wants to merge 41 commits intowoowacourse:frombunnyfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
μλ νμΈμ, λ² λ£¨μ€! λ°λμ λλ€π°
λ 벨1μ λ§μ§λ§ μ¬μ΄ν΄μ 리뷰λλ¦¬κ² λμλ€μ, λ§μ§λ§κΉμ§ μ λΆνλ립λλ€!
λλ¦ μ΄κ²μ κ² μ°Ύμλ³΄κ³ μμ보면μ μ½λλ₯Ό μμ±νμλλ°, μ λλ‘ λ°μλμμμ§ λͺ¨λ₯΄κ² μ΅λλ€π
λ°μμ μμ€μλ 리뷰ν΄μ£Όμ μ κ°μ¬ν©λλ€!
μ²΄ν¬ λ¦¬μ€νΈ
testλ₯Ό μ€ννμ λ, λͺ¨λ ν μ€νΈκ° μ μμ μΌλ‘ ν΅κ³Όνλμ?μ΄λ€ λΆλΆμ μ§μ€νμ¬ λ¦¬λ·°ν΄μΌ ν κΉμ?
1. DB ν μ΄λΈ ꡬ쑰 μ€κ³
μ₯κΈ°νμ μνλ₯Ό μ΄λ»κ² μ μ₯ν΄μΌ ν μ§μ λν΄ κ³ λ―Όμ΄ λ§μμ΅λλ€.
νμ¬λ Boardλ₯Ό μ κ·Έλ¦¬κ±°νΈ λ£¨νΈλ‘ κ°μ£Όνκ³ , κΈ°λ¬Όμ μμΉμ μ’ λ₯ μ 보λ₯Ό μ€μ¬μ ν μ΄λΈ ꡬ쑰λ₯Ό μ€κ³νμ΅λλ€..!
λ€λ§, λλ©μΈ κ°μ²΄ ꡬ쑰μ DB ν μ΄λΈ ꡬ쑰λ₯Ό μ΄λκΉμ§ μΌμΉμμΌμΌ νλμ§
μ κ·ν μμ€μ μ΄λ μ λκΉμ§ κ°μ Έκ°λ κ²μ΄ μ μ νμ§μ λν΄μλ νμ μ΄ μλ μνμ λλ€.
2. JDBC λμ κ³Ό νΈλμμ κ΄λ¦¬μ λν κ³ λ―Ό
μ΄λ² λ¨κ³μμ μ²μμΌλ‘ DBλ₯Ό μ§μ μ°κ²°νλ©°, κΈ°μ‘΄μ JPAκ° μΆμνν΄μ£Όλ μμ(Connection, νΈλμμ κ΄λ¦¬)μ μ§μ λ€λ£¨κ² λμμ΅λλ€. JDBC λ 벨μμ Connectionκ³Ό νΈλμμ μ μ§μ λ€λ£¨λ€ 보λ μλμ κ°μ μ§μ μμ AIμ λμμ λ°μκ³ , μμ§μ μμ ν μ κ²μΌλ‘ μννμ§ λͺ»ν μνμ λλ€π₯Ή
νμ¬ TransactionManagerλ₯Ό ν΅ν΄ ν΄λΉ μ± μμ λΆλ¦¬νλ €κ³ μλνλλ°, μ΄ κ°μ²΄κ° νΈλμμ κ³Ό 컀λ₯μ μ ν¨κ» κ΄λ¦¬νλ κ΅¬μ‘°κ° μ μ νμ§ νμ μ΄ μμ΅λλ€. νΈλμμ μ± μκ³Ό 컀λ₯μ κ΄λ¦¬ μ± μμ΄ μ μ ν λΆλ¦¬λμ΄ μλμ§, νμ¬ κ΅¬μ‘°μμ λ°μν μ μλ λ¬Έμ μ λ€μ λν΄μ λ§μν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€..!
+) λ―Έμ μ μ§ννλ©° κ°μ₯ μ΄λ €μ λ μ μ€ νλλ μ νλ μκ° λ΄μ μ΄λκΉμ§ νμ΅νκ³ κ΅¬νμ λ°μν΄μΌ νλκ°μμ΅λλ€. μΆκ° νμ΅μ΄ νμν κ°λ (μμ JDBC, νΈλμμ μ μ§μ κ΄λ¦¬νλ λ°©λ² λ±)μ λ§μ£Όνμ λ, μ리λ₯Ό μλ²½ν μ΄ν΄νκ³ μ½λλ₯Ό μ§κ³ μΆμμ§λ§ νμ€μ μΈ λ§κ° κΈ°νκ³Ό μΆ©λνλ©° ννν΄μΌ νλ μκ°λ€μ΄ μμμ΅λλ€. λͺ¨λ₯΄λ κΈ°μ μ΄ λμμ λ μΌλ¨ λμνκ² λ§λλ μμ€κ³Ό λ΄λΆ μ리λ₯Ό μμ ν νν€μΉλ μμ€ μ¬μ΄μμ μ΄λ»κ² κ· νμ μ‘λ κ²μ΄ μ’μκΉμ? λ² λ£¨μ€λ μ΄λ°ν μΌμ μμ μμν κΈ°μ μꡬμ¬νμ λ°μΌμ ¨μ λ, μ΅μ νμ΅ κ°μ΄λλΌμΈμ΄λ μ°μ μμ μ€μ κΈ°μ€μ΄ μμΌμ μ§ κΆκΈν©λλ€.
3. TDD μ§νμ μ΄λ €μ
DB μ°κ²° λ‘μ§μ΄ μΆκ°λλ©΄μ ν μ€νΈ νκ²½μ μ΄λ»κ² ꡬμΆν΄μΌ ν μ§, μ€μ DBμμ μμ‘΄μ±μ μ΄λ»κ² λΆλ¦¬ν΄μΌ ν μ§ νλ¨μ΄ μμ§ μμ μ΄λ² λ¨κ³μμλ TDDλ₯Ό μννκ² μννμ§ λͺ»νμ΅λλ€π DBμμ 무μμ ν μ€νΈν΄μΌ νλκ°μ λν λ§λ§ν¨μ΄ μ»Έλλ°, μ΄λ° μν©μμ λ² λ£¨μ€λ μ΄λ€ μμΌλ‘ ν μ€νΈ 리λ¬μ μ μ§νμλμ§ κΆκΈν©λλ€..!
4. κΈ°λ¬Ό μ λ΅ κ΅¬μ‘° λ³κ²½
κΈ°μ‘΄μ 볡μ‘νλ μ΄λ μ λ΅ κ΅¬μ‘°λ₯Ό κ°λ μ±κ³Ό μ¬μ¬μ©μ± μ€μ¬μΌλ‘ 리ν©ν°λ§νμ΅λλ€.
κΈ°λ¬Όμ μμ μ μ΄λ κ·μΉμλ§ μ§μ€νλλ‘ νκ³ , μ’ν κ³μ° λ° κ²½λ‘ μ₯μ λ¬Ό κ²μ¦ λ‘μ§μ PathGeneratorμ BlockingPieceValidatorλ‘ λΆλ¦¬νμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ± μμ λΆλ¦¬νκ³ μ€λ³΅μ μ€μ΄κ³ μ νμ΅λλ€.
λ€λ§, static μ νΈλ¦¬ν°λ‘ λΆλ¦¬ν κ²μ΄ μ μ ν μ νμΈμ§, νμ¬ κ΅¬μ‘°κ° κ°μ²΄ κ° νλ ₯ κ΄μ μμ μμ°μ€λ¬μ΄μ§
μ λν΄μλ νμ μ΄ μλ μνμ λλ€.
μμ ν ꡬ쑰λ μ΄λ€μ§ νΌλλ°±ν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€!