🌱 λ°±μ—”λ“œ : Backend

    [Spring WebFlux] 1. Mono와 Flux에 λŒ€ν•œ 이해(2) : 자주 μ‚¬μš©ν•˜λŠ” operator (method)

    [Spring WebFlux] 1. Mono와 Flux에 λŒ€ν•œ 이해(2) : 자주 μ‚¬μš©ν•˜λŠ” operator (method)

    πŸͺ„ 0. 이전 κΈ€ Mono와 Flux에 λŒ€ν•œ μ΄ν•΄λŠ” 이전 κΈ€μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€. [Spring WebFlux] 1. Mono와 Flux에 λŒ€ν•œ 이해(1) : μž‘λ™ 방식과 이해 🏝 0. 이전 κΈ€ (0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ) [Spring WebFlux] 0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ πŸ€” 1. 리앑터(Reactor)λŠ” λ¬΄μ—‡μΈκ°€μš”? 간단 μš©μ–΄ 정리 - Reactive Stream : JVM μœ„μ—μ„œ 싀행될 수 μžˆλŠ” 리앑티 hoons-dev.tistory.com 🏝 1. μƒˆλ‘œμš΄ μ‹œν€€μŠ€λ₯Ό 생성할 λ•Œ μ‚¬μš©ν•˜λŠ” Operator 상황에 따라 μƒˆλ‘œμš΄ μ‹œν€€μŠ€λ₯Ό 생성할 λ•Œ, λ‹€μ–‘ν•œ μ˜€νΌλ ˆμ΄ν„°λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 1) T νƒ€μž…μ˜ 객체λ₯Ό λ°©μΆœν•˜κ³ , ν•΄λ‹Ή νƒ€μž…μ„ μ†Œμ§€ν•˜κ³  μžˆλŠ” 경우. public static Fl..

    [Spring WebFlux] 1. Mono와 Flux에 λŒ€ν•œ 이해(1) : μž‘λ™ 방식과 이해

    [Spring WebFlux] 1. Mono와 Flux에 λŒ€ν•œ 이해(1) : μž‘λ™ 방식과 이해

    🏝 0. 이전 κΈ€ (0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ) [Spring WebFlux] 0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ πŸ€” 1. 리앑터(Reactor)λŠ” λ¬΄μ—‡μΈκ°€μš”? 간단 μš©μ–΄ 정리 - Reactive Stream : JVM μœ„μ—μ„œ 싀행될 수 μžˆλŠ” λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ° 라이브러리λ₯Ό ν‘œμ€€ν™”μ‹œν‚¨ κ²ƒμœΌλ‘œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. μΈν„°νŽ˜μ΄μŠ€μ˜ ν˜•νƒœλ‘œ hoons-dev.tistory.com πŸ€” 1. Mono와 Fluxλ₯Ό μ†Œκ°œν•©λ‹ˆλ‹€. 1-1. Flux FluxλŠ” Reactive Stream의 Publisher에 ν•΄λ‹Ήν•˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€. 퍼블리셔가 무엇인지 λͺ¨λ₯Έλ‹€λ©΄, μ§€λ‚œ ν¬μŠ€νŒ…μ„ μ°Έκ³ ν•΄μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€. 곡식 레퍼런슀의 Fluxμž…λ‹ˆλ‹€. "All Implemented Interfaces"λ₯Ό ν™•μΈν•˜λ©΄, λ¦¬μ•‘ν‹°λΈŒ μŠ€νŠΈλ¦Όμ—μ„œ μ •μ˜ν•œ P..

    [Spring WebFlux] 0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ

    [Spring WebFlux] 0. λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ˜ μ†Œκ°œ

    πŸ€” 1. 리앑터(Reactor)λŠ” λ¬΄μ—‡μΈκ°€μš”? 간단 μš©μ–΄ 정리 - Reactive Stream : JVM μœ„μ—μ„œ 싀행될 수 μžˆλŠ” λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ° 라이브러리λ₯Ό ν‘œμ€€ν™”μ‹œν‚¨ κ²ƒμœΌλ‘œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. μΈν„°νŽ˜μ΄μŠ€μ˜ ν˜•νƒœλ‘œ μŠ€νŽ™μ΄ μ •μ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. - Reactor3 : Reactive Stream μŠ€νŽ™μ„ κ΅¬ν˜„ν•œ κ΅¬ν˜„μ²΄ λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. JVM μœ„μ—μ„œ λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ΄λΌλŠ” μƒˆλ‘œμš΄ νŒ¨λŸ¬λ‹€μž„μ„ μ μš©μ‹œν‚€κΈ° μœ„ν•œ λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. - TCK(Reactive Streams Technology Compatibility Kit) : Reactive Streams κ΅¬ν˜„μžκ°€ 사양에 μ •μ˜λœ κ·œμΉ™μ— λŒ€ν•΄ κ΅¬ν˜„μ„ ν™•μΈν•˜κΈ° μœ„ν•œ μ§€μΉ¨μœΌλ‘œ, TestNGλΌλŠ” Java의 ν…ŒμŠ€νŠΈ ν”„λ ˆμž„ μ›Œν¬λ‘œ 개발이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ¦¬μ•‘ν‹°λΈŒ 슀트림의 ..

    [Spring JPA] @Enumerated와 AttributeConverter

    [Spring JPA] @Enumerated와 AttributeConverter

    🏝 0. μ„œλ‘  κ°œλ°œμ„ ν•˜λ‹€λ³΄λ©΄, λ°±μ—”λ“œμ—μ„œλŠ” μƒμ„Έν•œ 정보λ₯Ό λͺ¨λ‘ λ‹΄κ³  μžˆλŠ” 객체λ₯Ό, λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œλŠ” ν•΅μ‹¬μ μœΌλ‘œ 뢄별가λŠ₯ν•œ 파트만 μ €μž₯ν•˜κ³  싢을 λ•Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ°μ΄ν„°λ² μ΄μŠ€μ— 넣을 수 μžˆλŠ” νƒ€μž…μ€ μ •ν•΄μ ΈμžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ—”ν‹°ν‹°μ˜ ν•„λ“œλ‘œ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μΈμ‹ν•˜μ§€ λͺ»ν•˜λŠ” 객체λ₯Ό μ‚½μž…ν•˜λ©΄ 컴파일 μ—λŸ¬λ₯Ό λ§ˆμ£Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ˜€λŠ˜μ€ μ΄λŸ¬ν•œ 간극을 해결해쀄 두 가지 κΈ°μˆ μ— λŒ€ν•΄μ„œ μ •λ¦¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ°±μ—”λ“œμ—μ„œλŠ” Enum 객체둜, DBμ—μ„œλŠ” Enum의 μƒμˆ˜κ°’(μˆœμ„œκ°’)μ΄λ‚˜ μ΄λ¦„μœΌλ‘œ μ €μž₯ν•  수 μžˆλ„λ‘ λ³€ν™˜ν•΄μ£ΌλŠ” @Enumerated와, Enum 객체 뿐만 μ•„λ‹ˆλΌ JPAκ°€ μ§€μ›ν•˜μ§€ μ•ŠλŠ” νƒ€μž…μ„ λ³€ν™˜κ°€λŠ₯ν•˜λ©°, 심지어 두 개 μ΄μƒμ˜ 속성을 κ°–λŠ” 객체λ₯Ό ν•œ 개 ν•„λ“œμ— λ§€ν•‘μ‹œν‚¬ 수 μžˆλŠ” AttributeConverter에..

    [Spring] μŠ€ν”„λ§μ˜ 핡심 κ°œλ…, DI / IoCλž€ 무엇인가? (μ˜μ‘΄μ„± μ£Όμž…, μ œμ–΄μ˜ μ—­μ „)

    [Spring] μŠ€ν”„λ§μ˜ 핡심 κ°œλ…, DI / IoCλž€ 무엇인가? (μ˜μ‘΄μ„± μ£Όμž…, μ œμ–΄μ˜ μ—­μ „)

    🏝 0. μ„œλ‘  μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•΄ ν•™μŠ΅ν•˜κ³ μž ν•œλ‹€λ©΄, DI와 IoCλŠ” ν•œ λ²ˆμ―€μ€ λ“€μ–΄λ³΄μ•˜μ„ ν‚€μ›Œλ“œμ΄λ‹€. "μŠ€ν”„λ§μ΄λž€ IoC와 AOPλ₯Ό μ§€μ›ν•˜λŠ” κ²½λŸ‰μ˜ μ»¨ν…Œμ΄λ„ˆ ν”„λ ˆμž„μ›Œν¬μ΄λ‹€." - μŠ€ν”„λ§μ— λŒ€ν•œ ν•œ 쀄 μ„€λͺ… μŠ€ν”„λ§μ˜ 3λŒ€ μš”μ†Œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μŠ€ν”„λ§ νŠΈλΌμ΄μ•΅κΈ€μ—μ„œ λ‹Ήλ‹Ήνžˆ ν•œ 자리λ₯Ό μ°¨μ§€ν•˜κ³  μžˆλŠ” DI/IoCλŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•΄ λ°˜λ“œμ‹œ μ•Œμ•„μ•Ό ν•˜λŠ” κ°œλ…μ΄λ‹€. 사싀, DI와 IoCλŠ” μŠ€ν”„λ§μ—λ§Œ κ΅­ν•œλœ κ°œλ…μ΄ μ•„λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ³Ό 수 μžˆλ“―μ΄, DI와 IoCλŠ” 각각 λ””μžμΈ νŒ¨ν„΄, λ””μžμΈ 원칙에 ν•΄λ‹Ήν•˜λŠ” κ²ƒμœΌλ‘œ κΌ­ μŠ€ν”„λ§μ΄ μ•„λ‹ˆλ”λΌλ„ 직접 κ΅¬ν˜„ν•  수 μžˆκ±°λ‚˜, λ‹€λ₯Έ ν”„λ ˆμž„μ›Œν¬μ—μ„œλ„ λ‚˜μ˜¬ 수 μžˆλŠ” κ°œλ…μ΄λ‹€. λ””μžμΈ 원칙은 νŠΉμ •ν•œ 효과λ₯Ό μ–»κΈ° μœ„ν•΄ ꢌμž₯ν•˜λŠ” 방식을 μ˜λ―Έν•˜λŠ” 것이닀. 즉, best prac..