π¬web application39 DDD μ aggregate μ λν μ΄μΌκΈ° TL;DR μ΄λ² κΈμ ν΅μ¬μ μμ½νλ©΄ λ€μκ³Ό κ°λ€ aggregate λ 무μμΈκ° 3κ°μ§ ν΅μ¬ λλ©μΈ ꡬμ±μμ μ€ κ°μ₯ κΈ°λ³Έ entity μ value μ composition μμ ν νλμ κ°λ μ aggregate κ° νμν κΉ κ³ μ μ(invariant) μ μΌκ΄μ± (consistency) μ μ§ν€λ ν΅μ¬ κ°μ²΄ aggregate μ ν΅μ¬ ꡬμ±μμ 3κ°μ§ entity, root-entity, value aggregate μ μ€κ³νκΈ° 3κ°μ§ μ€κ³ μ§ν μΌκ΄μ±μ κΈ°μ€μΌλ‘ λλκΈ° actor λ₯Ό κΈ°μ€μΌλ‘ λλκΈ° usecase λ₯Ό κΈ°μ€μΌλ‘ λλκΈ° μ λλμ΄μ§ aggregate μ νΉμ± aggregate λ 무μμΈκ° μλ¦ μλ°μ€κ° μ μν DDD, domain driven design μμ ν΅μ¬ λλ©μΈ ꡬμ±μμλ 3κ°.. 2024. 4. 10. cache 101 - Spring Cache μ λνμ¬ (feat. μΊμλ‘ todo list λ₯Ό λ§λ€μ΄λ³΄μ) cache 101 μ리μ¦λ web application μ κ°λ°νλ©° λ§μ£Όνλ cache μ λν΄ νμν μ§μκ³Ό λꡬλ€μ μ¬μ©λ²μ νμ΅νλ μ리μ¦μ λλ€. 1. Cache μ λν κ±°μ λͺ¨λ κ² μ μμλλ‘ κΈμ μ½μΌμλ©΄ νμ΅μ λ λ§μ λμμ΄ λ©λλ€. μ€λμ Spring μμ μ 곡νλ Cache μ λν΄μ μ΄μΌκΈ° ν΄λ³Ό κ²μ΄λ€ Spring μμλ Cache μ λνμ¬ Spring Transaction κ³Ό λ§μ°¬κ°μ§λ‘ λμ μΆμνλ₯Ό μ 곡νλ€ @Transactional // spring transaction support public Todo create() {} @Cacheable // spring cache support public Todo create() {} Spring μμλ μ΄λ₯Ό Cache Abstr.. 2024. 3. 13. cache 101 - μΊμμ λν κ±°μ λͺ¨λ κ² μ΄λ²μλ cache μ λν΄μ μμλ³Ό κ²μ΄λ€. cache λΌκ³ νλ€λ©΄ computer science μμ μ λ§ λ€μν λΆμΌμμ μ¬μ©λκ³ , λμΌν κΈ°λ₯μ μννμ§λ§ λ¬Έλ§₯μ λ°λΌμ λ€λ₯Έ μ΄ν΄λκ° νμνλ€. λλ cache μ λν΄μ web application layer μ λ¬Έλ§₯μμ μ€λͺ μ ν κ²μ΄κ³ , software cache μ λν μ€λͺ μ μ£Όλ‘ ν κ²μ΄λ€. hardware cache μ λ low level μ cache λ₯Ό μνλ€λ©΄ μ΄ κΈμ μ ν©νμ§ μμ μ μλ€. TL;DR μ΄λ² κΈμ ν΅μ¬μ μμ½νλ©΄ λ€μκ³Ό κ°λ€ 1. μΊμλ 무μμΈκ° cache: λ°μ΄ν°λ₯Ό μ μ₯νμ¬ λ―Έλμ ν΄λΉ λ°μ΄ν°μ λν μμ²μ λ λΉ λ₯΄κ² μ²λ¦¬ν μ μλλ‘ νλ hardware νΉμ software cache μ μ’ λ₯ h/w ca.. 2024. 2. 1. μ€νμ νμ΄μ§, λ¨κ³λ³λ‘ μ΅μ ννκΈ° μ΄ κΈμ offset based pagination μ λΉλ―Έλ‘ λ°μ΄ν°λ² μ΄μ€μ λ΄λΆ λμκ³Ό μ¬λ¬ κ°λ λ€μ μμ보λ κΈ μ λλ€. 2κ°μ κΈλ‘ ꡬμ±λμ΄ μκ³ , κ°κ°μ κΈμμ μ»μ μ μλ insight κ° λ€λ₯΄λ ν¨κ» μ½μΌλ©΄ λμ± μ μ΅ν©λλ€. μ€νμ νμ΄μ§μ΄ λλ¦° μ§μ§ μ΄μ μ€νμ νμ΄μ§, λ¨κ³λ³λ‘ μ΅μ ννκΈ° 2023. 11. 19. μ€νμ νμ΄μ§μ΄ λλ¦° μ§μ§ μ΄μ μ΄ κΈμ offset based pagination μ λΉλ―Έλ‘ λ°μ΄ν°λ² μ΄μ€μ λ΄λΆ λμκ³Ό μ¬λ¬ κ°λ λ€μ μμ보λ κΈ μ λλ€. 2κ°μ κΈλ‘ ꡬμ±λμ΄ μκ³ , κ°κ°μ κΈμμ μ»μ μ μλ insight κ° λ€λ₯΄λ ν¨κ» μ½μΌλ©΄ λμ± μ μ΅ν©λλ€. μ€νμ νμ΄μ§μ΄ λλ¦° μ§μ§ μ΄μ λλ¦Όμ κ·Όλ³Έμ μΈ μμΈ 0λ² offset λΆν° μμ offset κΉμ§μ λ°μ΄ν°λ λ²λ €μ§κ³ 10κ±΄λ§ κ²°κ³Όλ‘ λ°νλ¨ offset based pagination μ΄ λλ¦° μ΄μ λ¬Έμ λ μ λ ¬ λ°©μμ μμ μ λ ¬μ μν΄ κ²°κ³Ό μ²λ¦¬λ₯Ό streaming μ΄ μλ buffering λ°©μμΌλ‘ μ ν streaming vs buffering streaming: 쿼리 μ€ν κ²°κ³Όλ₯Ό μ¦μ client μκ² λ°ν LIMIT ꡬ문과 ν¨κ» μ¬μ©ν λ μ΄μ μ‘΄μ¬ bufferi.. 2023. 11. 19. [distributed system] CAP μ΄λ‘ κ³Ό PACELC μ λν μ΄μΌκΈ° λͺ©μ°¨ TL;DR λΆμ° μμ€ν μ 3 κ°μ§ Gaurantee CAP μ΄λ‘ CP μμ€ν AP μμ€ν CAP μμ€ν μ΄ μ‘΄μ¬νμ§ μλ μ΄μ CAP μ΄λ‘ μ νκ³ PACELC μ΄λ‘ TL;DR μ΄λ² κΈμ ν΅μ¬μ μμ½νλ©΄ λ€μκ³Ό κ°λ€. CAP μ΄λ‘ νν°μ μ΄ νμ λ°μν μ λ°μ μλ λΆμ° μμ€ν μμ C, A μ€ νλλ§ μ νν μ μμμ μλ―Ένλ μ΄λ‘ Consistency Availability Partition Tolerance CAP μ΄λ‘ μ νκ³ μλ²½ν CP, AP μμ€ν μ μ‘΄μ¬νμ§ μλλ€ λλΆλΆμ λΆμ° μμ€ν μ CP μ AP μ¬μ΄ μ΄λμ―€μ΄λ€ PACELC μ΄λ‘ partition μν©κ³Ό μλ(else) μν©μΌλ‘ λλκ³ κ°κ° trade off μ μ κΈμλ₯Ό λ΄ μ΄λ‘ νν°μ partition μν©μΌ κ²½μ° Avaliabilt.. 2023. 11. 12. μ΄μ 1 2 3 4 Β·Β·Β· 7 λ€μ