π¬web application41 [SQL] Window ν¨μλ₯Ό μ¬μ©νλ©΄ Group By κ° λͺ»νλ κ²μ ν μ μλ€ λ°°κ²½νμ¬μμ μ΄λ€ μ 무λ₯Ό μ²λ¦¬νλ λμ€ μλμ κ°μ μꡬμ¬νμ λ§μ‘±νλ SQL μ μ§μΌνλ€. νΉμ μΌμ λ°μν transaction μ€ κ°μ₯ μ΅μ transaction λ°μ΄ν°λ₯Ό λ½μλΌ μ΄ tx λ°μ΄ν°λ 맀μΌλ§λ€ λλμΌλ‘ λ°μνλ λ°μ΄ν°λ‘ append only ν μ΄λΈμ΄λ€. userId κ° key λ‘ μ‘νμκ³ n κ°μ tx λ°μ΄ν°κ° μλλ° λ μ§ μμΌλ‘ μ λ ¬λ μ΅μ μ λ°μ΄ν°λ₯Ό λ½κΈ° μν΄ distinct κ° νμνλ€. λλ μμ°μ€λ½κ² group by 쿼리λ₯Ό μ§°λλ° μκ°ν΄λ³΄λ λΉμ°ν group by λ‘λ ν΄λΉ μꡬμ¬νμ λ§μ‘±ν μ μμλ€. κ·Έλ¬λ€ λ°μ΄ν° μμ§λμ΄λ§ νμκ² λμμ μμ²νμκ³ window ν¨μλ₯Ό μ¬μ©νλ©΄ λ΄κ° μνλ μν©μ 100% λ§μ‘±μν¬ μ μμκ³ μ΄μ λν λ΄μ©μ 곡μ ν΄λ³΄λ € νλ€. Group B.. 2025. 2. 9. 100λ§κ° 1000λ§κ°μ λλ―Έλ°μ΄ν°λ₯Ό μμ±νλ κ°μ₯ μ¬μ΄ λ°©λ² TL;DR μ΄λ² κΈμ ν΅μ¬μ μμ½νλ©΄ λ€μκ³Ό κ°λ€ κ°μ₯ ν¨μ¨μ μΈ λλ―Έλ°μ΄ν° μμ± λ°©λ²temp table μ μ΄μ©νμ¬ insert Query λ 리기temp table μμ±generate_series μ random ν¨μλ₯Ό μ΄μ©νμ¬ insertdocker-compose λ‘ μ€νdocker-compose μ΄μ©νκΈ°application runner μ΄μ©νκΈ°λ±λ± κ°μ₯ ν¨μ¨μ μΈ λλ―Έλ°μ΄ν° μμ± λ°©λ² DB λ Application μ μ²λ¦¬λ νΉμ νΉμ λλ λ°μ΄ν°μ μν©μ ν μ€νΈνκΈ° μν΄ λλ―Έ λ°μ΄ν°κ° νμνλ€. excel, mockaroo, bulk insert λ±λ± λ€μν λ°©λ²μ μ΄μ©ν΄μ λλμ λ°μ΄ν°κ° μλ μ€μ΅ νκ²½μ ꡬμ±ν΄λ΄€λλ° μΌμ΄μ€μ λ°λΌ λ€λ₯΄κ² μ§λ§ μ΄ λ°©λ²μ΄ κ°μ₯ ν¨μ¨μ μ΄μλ€. μλμ ν΅μ¬ 컨μ λ§ μ΄ν΄ν.. 2024. 10. 20. 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. μ΄μ 1 2 3 4 Β·Β·Β· 7 λ€μ