๐จ Monoliths โ MSA ์ ํ Application Logic layer๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋ถํด Router ๊ตฌ์ถ Monoliths๊ฐ router๋ฅผ ํตํด ์์ฒญ ๋ฐ๊ฒ ํ๊ธฐ API๋ก ํต์ ๊ฐ๋ฅํ ์์ ๊ท๋ชจ์ ์๋น์ค๋ฅผ ๋ถ๋ฆฌํ์ฌ microservice 1๊ฐ ๊ตฌ์ถ ๊ตฌ์ถ๋ ์๋น์ค๋ง proxy ์ ํ DB ๋๋ schema ๋ถ๋ฆฌ ...
Netflixed
๐ง Netflixed ๋ฏธ๊ตญ ์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ์์ ๊ธฐ์กด ๋น์ฆ๋์ค ๋ชจ๋ธ์ด ๋ถ๊ดด๋์์ ๋๋ฅผ ์ผ์ปซ๋ ๋ง โจ Netflix OpenSource Software ๊ธฐ์กด Legacy ์์คํ ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ MSA๋ก ์ ํํ๊ธฐ ์ํด ์ฌ์ฉํ ๊ธฐ์ ์ ๊ณต๊ฐํ ๊ฒ ๐ Netflix๋ MSA์ ์ ๊ตฌ์ ๐งถ Eureka Client์ Applicati...
Micro Service Architecture
โ Monoliths ์ ํต์ ์ธ ์์คํ ๊ตฌ์กฐ๋ก ํ๋์ ๋จ์๋ก ๊ฐ๋ฐํ๋ ๋จ์ผ ์๋น์ค ๊ฐ๋ฐ ๋ฐฉ์ ๐ Monolith ๋จ์ ๊ธด ๋น๋ ์๊ฐ ๋ฐ ํ ์คํธ ์๊ฐ ํน์ ๊ฐ๋ฐ ์ธ์ด, DB์ ์ข ์ ์ ํ์ ์ผ๋ก ํ์ฅ ๋ถ๊ฐ๋ฅ ์๋น์ค ๊ฐ ๋์ ์์กด์ฑ โ Software ๋ชจ๋ํ ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๋จ์๋ก ๋๋์ด ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ...
Domain Driven
๐ ๊ธฐ์กด์ ๊ฐ๋ฐ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ข ์ ์ต์ด ์ค๊ณ ๋ฐ์ดํฐ์ ๋ชจ๋ธ๋ง์ ๋ณ๊ฒฝ๊ณผ ํ์ฅํ๊ธฐ ์ด๋ ค์ ๋ชจ๋ธ๋ง๊ณผ ์ค์ ๊ฐ๋ฐ์ ๋ถ์ผ์น ๋์ ๐จ Domain Driven Design ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฅ๊ณผ ๋ถ๋ฆฌํด์ ์๋ณํ์ง ์๊ณ , ๋ณ๋์ ๋๋ฉ์ธ ๋ชจ๋ธ๋ก ์ ์ ์ฉ์ด ์ฌ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฉ์ธ ์ค๊ณ ๋๋ฉ์ธ ๋ณ๋ก ์ค๊ณ์ ๊ตฌํ ๊ฐ๋ฅ ๐ง ์ฉ์ด ์ฌ์ ...
WebFlux
โ WebFlux Client์ Server์์ reactive ์คํ์ผ์ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋์์ฃผ๋ ๋ชจ๋ Spring5์์ reactive stack์ ์ง์ํ๋ web container framework ๐ WebFlux ํน์ง Non-Blocking IO ์ต์ํ์ ๋ฆฌ์์ค๋ก ํจ์จ์ ์ธ ์ด์ Singler worker ...
Reactor Operations
๐งถ ์์ฑ Create https://reactivex.io/ Observable ์์ฑ Just https://reactivex.io/documentation/operators/just.html ํ๋์ item๋ง ๋ฐฉ์ถ(emit)ํ๋ observable ์์ฑ From https://reactivex.io/doc...
Reactive Programming
โ Reactive System ์๋ต์ด ์ ๋๊ณ , ํ๋ ฅ์ ์ด๋ฉฐ ์ ์ฐํ๊ณ ๋ฉ์์ง ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ ์์คํ ๐ ๋ฆฌ์กํฐ๋ธ ์ ์ธ๋ฌธ ์ ์ฐํ๊ณ , ๋์จํ ๊ฒฐํฉ์ ๊ฐ์ง๋ฉฐ, ํ์ฅ์ฑ์ด ์๋ค. ์ด๋ก ์ธํด ๊ฐ๋ฐ ๋ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๊ธฐ ์ฝ๋ค. ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋, ๊ฐ๋จํ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค. ๋์ ์๋ต์ฑ์ ๊ฐ์ง๋ฉฐ, ์ฌ์ฉ์์๊ฒ ํจ๊ณผ์ ์ธ ์ํธ์ ํผ๋๋ฐฑ...
Even Driven
โ Event Driven Architecture ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ์ํคํ ์ฒ ์ค๊ณ ๋ฐฉ์ ๋น๋๊ธฐ ํต์ ๋ฐฉ์์ ์ด์ฉํด ๋์จํ ๊ฒฐํฉ์ ์งํฅํ๋ ์ํคํ ์ฒ MSA ์์คํ ์์ producer๊ฐ ์ด๋ฒคํธ๋ฅผ publishํ๊ณ , ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ๊ณ ์๋ consumer๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์ฒ๋ฆฌํ๋ ์์คํ ๐ Event Dri...
Async-Nonblocking
๐ Synchronous ํน์ ํจ์๋ฅผ ํธ์ถํ ๋ค ํด๋น ํจ์์ ๋ฆฌํด ๊ฐ์ ํ์ธํ๋ฉฐ ์๋ต์ ๋ฐ๊ธฐ ์ ๊น์ง ๋์์ ๋ฉ์ถ๋ค. ๐ Asynchronous ์์ฒญ์ ๋ณด๋ธ ํ ์๋ต๊ณผ๋ ์๊ด์์ด ๋ค์ ๋์์ ์คํํ๋ค. ๐ Sync&Async Comparison ์์ฒญ์์ ์ฒ๋ฆฌ์๊ฐ ์๋ก์ ์๊ฐ์ ๊ณต์ ํ๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋๊ธฐ, ๋น๋๊ธฐ๋ก ๊ตฌ๋ถ๋๋ค. ...
[BOJ] ์์ ์ ๋ ฌ ๐ฅ3
๐ Topological Sort ์ถ์ฒ : https://www.acmicpc.net/problem/9470 ๐ก ํ์ด import sys from collections import deque input = sys.stdin.readline T = int(input()) for _ in range(T): k, m, p = map(i...