μ΄μ»€λ¨Έμ€10 [KPTνκ³ ] μ΄μ»€λ¨Έμ€ νλ‘μ νΈ μ΄μ»€λ¨Έμ€ νλ‘μ νΈμ λν κ°μΈ KPT νκ³ Keep: μ΄λ² νλ‘μ νΈμμ μ μ§νμΌλ©΄ νλ λΆλΆμλ‘μ΄ κΈ°μ μ μ¬μ©νλ κ²μ λλ €μμ λλΌμ§ μμ μ μ΄λ² νλ‘μ νΈμμ μ²μμΌλ‘ μΈμ¦/μΈκ° λΆλΆμ λ§‘μ JWTμ Spring Securityλ₯Ό μ¬μ©νλ€.μ²μ μ νλ λΆμΌλΌμ λλ €μλ μμμ§λ§, λμ νλ μμ§κ° λ κ°ν΄μ λ§‘μ μν μ λκΉμ§ ν΄κ²°ν΄λΌ μ μμλ€.λμμ± μ μ΄λ μ²μ κ²½ννλ μμμ΄μμ§λ§, κ°λ λΆν° μ°¨κ·Όμ°¨κ·Ό μ 리νλ©° νμ΅μ μ§ννκ³ λ¬΄μ¬ν λ§λ¬΄λ¦¬ν μ μμλ€.μνν μμ¬μν΅νλ‘μ νΈλ₯Ό μ§ννλ©΄μ λ€λ₯Έ νμμ΄ κ΅¬νν λΆλΆμ΄ μ΄ν΄λμ§ μμ λλ λ°λ‘ μ°Ύμκ°μ μ§λ¬Ένκ³ μ΄ν΄νλ €λ λ Έλ ₯μ μλΌμ§ μμλ€.μ κ·Ήμ μΌλ‘ μ견μ μ£Όκ³ λ°μΌλ©°, λ λμ κ²°κ³Όλ₯Ό λμΆνκΈ° μν΄ ν¨κ» κ³ λ―Όνκ³ νλ ₯νλ€.κΌΌκΌΌν μ½λ 리뷰μ½λ 리뷰λ₯Ό.. 2025. 5. 12. [TIL] λ€μ μμν΄λ³΄λ νλ‘μ νΈ 18μΌμ°¨.. π μ€λμ μ΄λ€ ν루μμ§..μ€λ μκ°λ³΄λ€ μ§μ€μ΄ μ μ λλ ν루μλ€.μ€μ μλ JPQLλ‘ κ΅¬ννλ λ©μλλ₯Ό μ λΆ QueryDSLλ₯Ό νμ©νμ¬ λ°κΎΈλ μμ μ νλ€.μ΅μ’ νλ‘μ νΈ λ μ΄μ¬ν QueryDSLλ₯Ό μ¬μ©ν 보λμ΄ μμλμ§, μκ°λ³΄λ€ κ°λ¨ν 쿼리μ¬μ κ·Έλ¬λμ§ μ²μ μ¬μ©ν λ보λ€λ κ°λ¨νκ² κ΅¬νν μ μμλ€.μ€νμλ νμλ€μ΄ μ¬λ¦° PRμ νμΈνκ³ νλ‘μ νΈ μμ νλ λ΄μ©λ€μ λ¬ΈμννκΈ° μμνλ€.μ μ 리ν΄λ¬μΌ λμ€μ κΉλ¨Ήμμ λ λ³΄κ³ κΉλ¨Ήμ§ μμ κ² κ°μμ κΌΌκΌΌνκ² ν΄ λμΌκ² λ€λ μκ°μ΄ λ€μλ€.μ€λ λ¬Έμνλ₯Ό μμν΄μ μ΄λ² μ£Ό μ£Όλ§κΉμ§λ λλΌ μμ μ΄λ€. π‘ μλ‘κ² μκ² λ λ΄μ©μ λκ° μλλΌ..?!μ΄λΌ.. μλ‘ κ³΅λΆν λ΄μ©μ΄ μμ΄μ μ¬κΈ° μ μ λ΄μ©μ΄ μλ€....... ποΈ λ΄μΌμ λ νμ§?!βοΈ ν.. 2025. 5. 8. [TIL] λ€μ μμν΄λ³΄λ νλ‘μ νΈ TIL 17μΌμ°¨.. π μ€λμ μ΄λ€ ν루μμ§..μ€λ μκ°λ³΄λ€ λ§μ κ²λ€μ νλ€.μ€μ μλ μ§κΈκΉμ§ μμ ν λ΄μ©λ€μ API λͺ μΈμμ μΆκ° λ° μμ μ μ§ννλ€. μ€νμ μ§νν λ΄μ©λ€μ΄ λ μμ΄μ λ΄μΌ μ€μ μ μΆκ°μ μΌλ‘ μμ ν μμ μ΄λ€.κ·Έ νμλ λ΄κ° μμ ν ννΈμ λν Valid κ²μ¦ λ‘μ§μ μΆκ°νλ€. μ΄κ±΄ κ·Έλ₯ μ΄λ Έν μ΄μ λ§ λΆμ΄λ©΄ λλ κ±°λΌμ κΈλ°© λλ¬λ€.κ·Έλ¦¬κ³ μ΅λ μ£Όμ κ°μλ₯Ό μ€μ ν΄λμ§ μμ κ²μ΄ λ μ¬λΌμ μ΅λ μ£Όμ κ°μλ₯Ό 5κ°λ‘ μ€μ ν΄ μ£Όμλ€.κ°λ¨ν μμ μ΄ λ€ λλ νμλ Refresh Tokenμ μΆκ°νλ€.λ¨Όμ Refresh ν ν°μ λν κ°λ μ 곡λΆνκ³ , JwtUtilμ Refresh Token λ§λλ λ©μλλ₯Ό μΆκ°νκ³ λ‘κ·ΈμΈ λ‘μ§μ Refresh Tokenμ μΆκ°ν΄μ λ°ννλλ‘ μμ νλ€. μλ£ν ν, Refresh .. 2025. 5. 7. [TIL] λ€μ μμν΄λ³΄λ νλ‘μ νΈ TIL 16μΌμ°¨.. π μ€λμ μ΄λ€ ν루μμ§..μ€λμ μ€μ λ΄λ΄ νμλ€μ΄ μ¬λ €μ€ PR νμΈνκ³ λ¦¬λ·° λ€λλΌ μκ°μ λ€ λ³΄λΈ κ² κ°λ€.νλνλ κΌΌκΌΌν λ³΄λ€ λ³΄λ μκ°μ΄ λ§μ΄ μ§λ¬λλ°, μ½λ 리뷰μ λν μλ Ήμ΄ μμ§μ λΆμ‘±ν κ² κ°μμ μκ°μ΄ λ§μ΄ μμλλ κ² κ°λ€.κ·Έλλ νλ€ λ³΄λκΉ μ μ μλκ° λΆλ λλμ΄λΌμ κ³μν΄μ νλ€ λ³΄λ©΄ μ΅μν΄μ Έμ μ 보λ€λ μ§§μ μκ° μμ μ½λ 리뷰λ₯Ό λλΌ μ μμ κ±°λ μκ°μ΄ λ€μλ€.μ€νμλ μ μ°©μ ν μΈ μΏ ν° λ°κΈ λμμ± λ¬Έμνλ₯Ό μ§ννλ€.μ°μ μλ¬΄λ° μμ λ νμ§ μμ κΈ°λ³Έμ μΈ μΏ ν° λ°κΈ λ‘μ§μ JMeterμμ μ€νν΄μ λ°λλ½μ΄ λ°μνλ νμμ λμΌλ‘ νμΈνλ€. λ°λλ½μ μ‘κΈ° μν΄μ λΉκ΄μ λ½μ μ μ©νμ¬ DBμμ λ½μ κ±Έμ΄ μ ν©μ±μ΄ μ μ§λκ²λ ν μ μμλ€. λμ μ€λ λ μλ₯Ό μ μ°¨μ μΌλ‘ μ¦κ°μν€.. 2025. 5. 7. [TIL] λ€μ μμν΄λ³΄λ νλ‘μ νΈ TIL 14μΌμ°¨.. π μ€λμ μ΄λ€ ν루μμ§..μ€λμ ν루 μ’ μΌ νΌκ³€νλ ν루μλ€.μ€μ μλ λΆλͺ¨λ λ°λΌμ ν μλ²μ§, ν λ¨Έλ μ°μμ κ°μ μμ μ νκ³ μ€ν 5μμ―€ μ§μ λμ°©ν μ μμλ€.κ·Έλ¦¬κ³ μ»κ³ λμ μΈν λ¨ΈλλμΌλ‘ κ°λ€. νμ§λ§ λλ ν΄μΌ ν λΆλμ΄ μμκΈ°μ μ§ μ μ€λ² μ κ°μ ν μ€νΈ μ½λ μμ±μ λ§λ¬΄λ¦¬νλ€.λ§₯λΆμ μ¬κ³ μ²μμΌλ‘ μΉ΄νμ κ°μ μμ μ νλλ°, μκ°λ³΄λ€ λλμ΄ λ μ’μλ€.λ€λ€ μ΄λμ λ§₯λΆμ λ€κ³ μΉ΄νμ κ°μ μμ μ νλ κ±΄κ° γ γ γ γ γ λμμ± μ μ΄ ν μ€νΈ μ½λλ λ¨μ ν μ€νΈλ‘ νμΈν μκ° μμκ³ , ν΅ν© ν μ€νΈλ‘λ§ νμΈμ΄ κ°λ₯νλ€λ κ²μ μκ² λμλ€!μμ§ ν μ€νΈ μ½λμ λ―Έν‘ν΄μ λλ¬λλ¬ μ΄μ¬ν μ§°κ³ , ν μ€νΈ μ½λμ λν 곡λΆκ° λ νμνλ€κ³ λκΌλ€. μμ§ κ³΅λΆν΄μΌ λ κ²λ€μ΄ μ°λλ―Έκ΅°...κ·Έλλ ν μ€νΈ μ½λλ‘ λ.. 2025. 5. 4. [TIL] λ€μ μμν΄λ³΄λ νλ‘μ νΈ TIL 13μΌμ°¨.. π μ€λμ μ΄λ€ ν루μμ§..λλμ΄ μ μ°©μ ν μΈ μΏ ν°μ νλ‘μ νΈμ μ μ©ν μκ°!!!μ°μ μΏ ν° μμ±κ³Ό λ°κΈμ μν΄ μ μ°©μ ν μΈ μΏ ν° CRUDλ₯Ό μ§ννλ€.μμ±νλ κ²μ κΈλ°© λ§λ¬΄λ¦¬λμ§λ§ λμμ± μ μ΄κ° μ²μμ΄λΌ κ·Έλ°μ§ μΏ ν° λ°κΈ λ‘μ§μ΄ μκ°λ³΄λ€ μ λ¦¬κ° λμ§ μμλ€.κ·Έλμ μ°¨λΆνκ² λ‘μ§μ λμννκ³ , μμΈ μ²λ¦¬μ ν¨κ» λ‘μ§μ μ λ§λ¬΄λ¦¬ν μ μμλ€.λ€μμ μΏ ν° λ°κΈ λΆλΆμ λμμ± μ μ΄λ₯Ό ν΄μΌ νλ€!μ΅λ μλμ λ§κ² μ¬λλ€μκ² μ 곡ν΄μΌ νκΈ° λλ¬Έμ μ νν μλμΌλ‘ λ°κΈμ ν΄μ€μΌ νκΈ° λλ¬Έμ λΉκ΄μ λ½μ μ¬μ©νκΈ°λ‘ κ²°μ νλ€.μΏ ν°μ μ‘°ννλ κ³Όμ μ λμμ± μ μ΄λ₯Ό μ μ©νμ¬ λ¨Όμ μ‘°νν μ¬λμ΄ μΏ ν°μ λ°κΈλ°μ λκΉμ§ λ€λ₯Έ μ¬λλ€μ λκΈ°λ₯Ό ν΄μΌ νλ€.μ°μ μ μ€λ₯κ° λλ λΆλΆμ΄ μλμ§λ§ νμΈνκ³ ν루λ₯Ό λ§λ¬΄λ¦¬νλ€! π‘ .. 2025. 5. 3. μ΄μ 1 2 λ€μ