μ 체 κΈ (10) μΈλ€μΌν 리μ€νΈν ν΄λ¦°μ½λ λ¦¬λ·°μ΄ νλ©΄μ μ 리νλ λ΄μ©λ€ κ°μκΈ° κΈ μ°λ μ΄μ λ μ΅κ·Ό κ±°λλ κ±°μ^^;κ° μλ©μΈ νλ‘μ νΈλ₯Ό νκ² λλ©΄μ, μ½λμ λν κΉ.μμ λ€μ λ νκ²λμλ€..γ γ λν, κΈ°μ‘΄μ κ°μ΄ νμ νλ λΆλ€μ΄ μλ, λ€λ₯Έ μ½λ©μ€νμΌμ μλ‘μ΄ λΆλ€κ³Ό νμ νκ² λμ΄ μ»¨λ²€μ μ μ 리ν νμμ±μ λκΌλ€λ ν΄λ¦°μ½λμΌ λ§€λ² λλΌμ§λ§ κ·Έλλ κ°λ μ±μ΄λΌκ³ λ 1λ μ°Ύμλ³Ό μ μμ΄μ.. κ°μκΈ° λ¦¬λ·°μ΄ κ°μ΄λλ μ 리νλ κ±Έ μ°κ³ μΆμ΄μ§λ¦¬λ·°μ΄μ κ·μΉμ½λλ λ¨μνκ²(Simplify code)λ λ¨Ήμ¬μ£Όμ§ μλ μΉμ ν¨μ μ°μ΅νλΌ(Practice kindness)μ΄μ μ ν¨κ» μμλ‘ μ€λͺ νλΌ(Explain why&with examples)νμ΅μμμ μ°κ²°(Connect Learners)μ½λλ°©μμ ν΅μΌνλΌ (Style Consistantly)리뷰λ₯Ό μν 리뷰λ₯Ό μ΅μ§λ‘ νμ§λ§λΌ. λμ νΌλ.. μμΈ μ€ν°λ ν¬λ£¨(IT's Study Crew) μ€ν°λ νκΈ° - system design club night μ°Έμ¬ μ΄μ * μλ μ ꡬμλ²λ€μ 리μν€ν μ³λ§ν κ²½νμΌλ‘ μμ€ν λμμΈμ λν΄ κ³΅λΆν΄μΌκ² λ€κ³ μκ°νκ³ , μ€λμ΄κ° λμ΄κ°λ μμ μμ 곡λΆκ° νμνλ€κ³ μκ°νλ€.* κ³΅λΆ νκ²½μ λ§λ€κ³ + λ€μν μ견μ λ£κ³ μΆμ΄μ μ°Έμ¬ νλ€. λλ μ * λ°νμ λν λλ €μμ΄ λ§μ νΈμΈλ°, λ€λ€ μ±κ²©μ΄ λ₯κΈλ₯κΈνμκ³ μ¬μ±λΆλ€μ΄λΌ κ·Έλ°μ§ λ§μμ΄ νΈνλ€. κ·Έλμ λλ νκ³ μΆμ λ§μ ν μ μμ΄μ μ’μλ€..! (μμ¬μμ΄)* μ±λ³μ λν μ μ 견μ μλλ°, μ¬μλ‘λ§ μ΄λ€μ§ μ€ν°λλ μ²μμ΄λΌ μλ‘μ λ€(!)* κ°μ λ‘λΌλ 곡λΆνλ νκ²½μ λ§λ€μ΄μΌ νλ€λ κ²μ λ€μ κΉ¨λ¬μλ€.(γ γ )* μ무κ²λ λͺ¨λ₯΄λ μμ μ μ’μ μμ€ν λμμΈμ λν μ λ΅μ μ°Ύμλλ°, μ΄μ λ μ λ΅μ μλκ±° κ°λ€λ κ±Έ λλΌλ μμ¦μ΄λ€... (μλΉμ€ λ‘μ§μ΄ λ°λλ©΄ κΈ°μ‘΄μ μ’μλ ꡬ.. 곡λΆλ₯Ό ν©μλ€ λ³΄νΈλμ΄ μλ κΈμ λλ€. λ§λ€λ©΄μ λ°°μ°λ ν₯μ¬κ³ λ μν€ν μ³ μ€κ³μ ꡬν λΆμ€ν°λ * μ€ν°λ κΈ°κ° 2023/12/09~ 2024/01/27 * μ°Έμ¬ μ΄μ : 23λ λ΄λ΄ νλ‘μ νΈλ₯Ό λ¬λ¦¬λ©΄μ κ°μΈμ μΌλ‘ 곡λΆν μκ°μ κ°μ§ λͺ»νλ€(λΌκ³ μ°κ³ μνλ€κ° λ§μμ§λ). κ°μ μ μΌλ‘ 곡λΆνλ€λ μ±μ·¨κ°μ μ»κΈ° μν΄μ μ°Έμ¬ :) * μ± κ°μλ¬Έ(?): ν₯μ¬κ³ λ μν€ν μ³λ DDD μ κ΄μ¬μλ€λ©΄ νλ²μ―€ λ€μ΄λ΄€μ κ²μ΄κ³ , μ μ§λ³΄μμ μ’μ μ½λ^-^μ κ΄μ¬μ΄ λ§μ λλ‘μ¨λ ν₯λ―Έλ‘μ΄ μ± μ΄λΌ μκ°νλ€. λ€λ‘κ°μλ‘ μλΏμ§ μλ κΈ°μ (μ€νλ§μλ§ μ΅μν λμκ² μμν μΏΌμ»€μ€ νλ μμν¬ λ±..)μ΄ λ±μ₯νκ³ μ½λ μμκ° μλΉμ€ λλ©μΈκ³Όλ λ©μ΄λ³΄μ¬μ ν¬κ² λμλκ±° κ°μ§ μμλ€. κ·Έλλ νμ¬μ νλ‘μ νΈ κ΅¬μ‘°κ° μ΄ μ± μμ μ€λͺ νλ ꡬ쑰μ λΉμ·ν΄μ κ·Έλλ§ μ΄ν΄κ° κ°λ€. νμ κ³ λ―Όλλ λΆλΆμ κ°μ response λ₯Ό μ£Όλ μ¬λ¬ ap.. [230811] Jpa OSIV κ΄λ ¨νμ¬ κ²ͺμλ λ¬Έμ Jpa OSIV Created: March 26, 2024 2:47 PM Complete: No Category: JPA Date: August 11, 2023 λ¬Έμ μν© μ λ°μ΄νΈ API μμ service λ μ΄μ΄μμ λ€μ λ©μλλ₯Ό νΈμΆνλλ°, read DataSourceλ₯Ό λ³Έλ€. @Transactional A() -> @Transational(readOnly=true) B() -> @Transactional(readOnly=false) C() μμ propagation μ΄ default κΈ° λλ¬Έμ μ²μ νΈλμμ μ΄ μ΄λ¦° DataSource λ₯Ό νμΈν κ²μ΄λ€. REQUIRED(default) λΆλͺ¨ νΈλμμ λ΄μμ μ€ν, μμΌλ©΄ μλ‘μ΄ νΈλμμ μμ± ν΄λΉ λ©μλλ₯Ό νΈμΆν κ³³μμ λ³λμ νΈλμμ μ΄ μ€μ λμ΄ μ.. Kotlin youtube μμ½μΈλ―ν κ°μλ¬Έ μ€νλ§μΊ ν 2018 [TrackB Session2] : μΏ ν‘ Kotlin Backend μ μ©κΈ° μ½νλ¦°μ μ’μμ μλ°μ νΈνμ± 100% (@JvmXXXμ΄λ Έν μ΄μ μ¬μ©μ) Familiar Syntax Smart Casts(’is,’as’) νμ μ μ€μ¬ μΈ μ μλ€. is / !is if instanse of as / as? ? κ° λΆμΌλ©΄ nullable Data Class copy λΌλ ν¨μ μ½νλ¦°μμλ immutable μ΄ κΈ°λ³Έμ΄λ€. νμ λ μ€κ³ μ½κΈ°λ νΈνλ€. Default Argument String Templates fun read(b: ByteArray, offset:Int = 0, length:Int = b.size) { TODO("Not Imlemented") } val s = "abc" val.. @Transactional(readOnly=true) @Transaction(read only=true) λ₯Ό μ μΈκΉ? λ¨Όμ , νΈλμμ μ΄ νμν μ΄μ μ΄λ€ μμμΉ λͺ»ν μν©μμ μμΈ, μ€λ₯κ° λ°μνμ¬ λ°μ΄ν° λΆμ ν©μ΄ λ°μνλ κ²½μ°, λ°μ΄ν° μμ 볡ꡬλ₯Ό ν΄μΌνλ€. μ΄ λ λ°μ΄ν° μμ볡ꡬλ₯Ό μν΄ νΈλμμ μ΄ νμνλ€. λ°μ΄ν° λ² μ΄μ€λ μν λ΄μμ λ‘κ·Έμ μ μ₯ν΄ λλλ°, μ΄λ₯Ό μ΄μ©ν΄ νΈλμμ μ μ§μνλ€. DBμ λ°μλ λ΄μ©μ μ¬λ°μνκΈ° μν Redo log μνμ μ€ν¨ν΄ μ΄μ μ μνλ‘ λλ리λ Undo log readOnly=true μ€μ μ Application μΈ‘λ©΄ DataSourceTranscationManager.java SET TRANSACTION READ ONLY λ Oracle, MySQL, Postresμμ μ μ©λ©λλ€. λ€λ₯Έ λ°μ΄ν° λ² μ΄μ€μμλ μ μ©ν.. [Java] μμ΄ν 5 μμμ μ§μ λͺ μνμ§ λ§κ³ μμ‘΄ κ°μ²΄ μ£Όμ μ μ¬μ©νλΌ ν΄λμ€κ° λ΄λΆμ μΌλ‘ νλ μ΄μμ μμμ μμ‘΄νκ³ , κ·Έ μμμ΄ ν΄λμ€ λμμ μν₯μ μ€λ€λ©΄ μ±κΈν΄(Singleton) κ³Ό, μ μ μ νΈλ¦¬ν°(static util class)λ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€. // μ μ μ νΈλ¦¬ν°λ₯Ό μλͺ» μ¬μ©ν μ - μ μ°νμ§ μκ³ ν μ€νΈνκΈ° μ΄λ ΅λ€ public class SpellChecker{ private static final Lexicon dictionary = ...; // μ¬μ μ μμ‘΄ private SpellChecker() {} // κ°μ²΄ μμ± λ°©μ§ public static boolean isValid(String word){...} public static List suggestions(String typo){...} } // μ±κΈν΄μ μλͺ» μ¬μ©ν μ - μ μ°νμ§ μ.. μ΄μ 1 2 λ€μ