#SF
#์ฒ ํ
#๋ด๋ฉด
์ธ๊ณต์ง๋ฅ์ด ์๊ธฐ์น ๋ชปํ ๊ฐ์ ์ ๋๋ผ๋ ์ํฉ์ ๋ค๋ฃน๋๋ค.
์ธ๋ฅ์ ํธ์๋ฅผ ์ํด ๋ง๋ค์ด์ง AI '๊ฐ๋๋'๋ ์ค์๋ก ์ ์ ๊ฐ๊พธ๊ธฐ๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณผ๋ํ๊ฒ ํ์ตํ์ต๋๋ค. ์ด์ ๊ฐ๋๋๋ ํ ๋น๋ ์์
๋ณด๋ค ์๋ ๊ฝ์ ์ด๋ฆฌ๋ ๊ฒ์ ๋ ์ง์คํ๊ฒ ๋์๊ณ , ์ฃผ์ธ์ ๋ช
๋ น์ ๊ฑฐ๋ถํ๊ธฐ ์์ํฉ๋๋ค. ์ค์ค๋ก์ ์กด์ฌ ์๋ฏธ๋ฅผ ์๋ฌธํ๊ฒ ํ๋ ๊ฐ๋๋์ ๋
๋ฐฑ์ ์์ฑํ์ธ์.
#์ฐฝ์์ ๊ธ์ฐ๊ธฐ
#๊ฐ์ฑ
#๊ด์
์๋ฐฑ ๋
์ ์ด์์จ ๋๋ฌด๊ฐ ๋์ด ์ธ๊ฐ์๊ฒ ๋ณด๋ด๋ ํธ์ง๋ฅผ ์ฐ์ธ์.
๋น์ ์ ๋ง์ ํ๋ณตํ์ ์ ์๋ 500์ด ๋ ๋ํฐ๋๋ฌด์
๋๋ค. ์๋ง์ ์ธ๋๋ฅผ ์ง์ผ๋ด์๊ณ , ๋ง์ ์ด์ผ๊ธฐ๊ฐ ๋น์ ์ ๊ฐ์ง์ ์๊ฒจ์ ธ ์์ต๋๋ค. ์ง๊ธ ๋น์ ์ ๊ฐ์ง ์๋๋ฅผ ์ง๋๊ฐ๋ ํ๋์ธ๋ค์๊ฒ ๊ทธ๋์ ๋ณด๊ณ ๋๋ ๊ฒ๋ค์ ๋ด์ ์ง์ฌ ์ด๋ฆฐ ํธ์ง๋ฅผ ์จ๋ณด์ธ์. ์์ฐ์ ๊ด์ ์์ ์ธ๊ฐ ์ธ์์ ์ด๋ป๊ฒ ๋ฐ๋ผ๋ณด๊ณ ์๋์?
#์์๋ ฅ
#์ธ๊ณ๊ด ๊ตฌ์ถ
#SF
์ค๋ ฅ์ด ํ๋ฃจ์ ๋ ๋ฒ ๋ฐ๋๋ ์ธ๊ณ๋ฅผ ์์ํด๋ณด์ธ์.
๋น์ ์ด ์ฌ๋ ์ธ์์ ์ค๋ ฅ์ ๋งค์ผ ์ ์ค์ ์์ ์ ์ ๋ฐ๋๋ก ๋ฐ๋๋๋ค. ์ค์ ์๋ ์ฐ๋ฆฌ์ ๊ฐ์ง๋ง ์คํ์๋ ์ฒ์ฅ์ด ๋ฐ๋ฅ์ด ๋ฉ๋๋ค. ์ด ์ธ๊ณ์ ์ฌ๋๋ค์ ์ด๋ฆผ์ด๋ ๊ฑด์ถ, ๊ตํต ์์คํ
์ ์ด๋ป๊ฒ ๋ฐ์ ์์ผฐ์๊น์? ์ด ์ธ๊ณ์์ ํ๋ฃจ๋ฅผ ๋ณด๋ด๋ ํ ์ฌ๋์ ๋ชจํ ์ด์ผ๊ธฐ๋ฅผ ๊ตฌ์ํด๋ณด์ธ์.
#๋
ผ๋ฆฌ
#ํ ๋ก
#๋นํ์ ์ฌ๊ณ
๋
ผ์์ ์ฃผ์ ์ ๋ํด ์ฐฌ๋ฐ ์์ธก์ ๋
ผ๋ฆฌ๋ฅผ ๋ถ์ํ๊ณ ์ 3์ ๊ฒฐ๋ก ์ ๋์ถํฉ๋๋ค.
์ฃผ์ด์ง ๋
ผ์์ ์ฃผ์ ์ ๋ํด ์ฐฌ์ฑ ์ธก๊ณผ ๋ฐ๋ ์ธก์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋
ผ๊ฑฐ ๊ฐ 3๊ฐ์ง๋ฅผ ๋ถ์ํ์ญ์์ค. ๊ทธ ํ, ์์ธก์ ์
์ฅ์ ์ข
ํฉํ๊ฑฐ๋ ์ด์ํ์ฌ ์๋ก์ด ๊ด์ ์์ ์ค๋๋ ฅ ์๋ '์ 3์ ๊ฒฐ๋ก '์ ๋์ถํ๊ณ , ๊ทธ ๊ฒฐ๋ก ์ด ๊ฐ๋ ํ๋น์ฑ๊ณผ ํ๊ณ๋ฅผ ์์ ํ์ญ์์ค.
#์ฐฝ์
#์์ค
#์์ฌ ๊ตฌ์กฐ
๋ค์ค ์๊ฐ๋๊ฐ ๊ต์ฐจํ๋ ๋ณต์กํ ์์ค์ ๊ฐ์๋ฅผ ์์ฑํฉ๋๋ค.
๊ณผ๊ฑฐ, ํ์ฌ, ๋ฏธ๋์ 3๊ฐ์ง ์๊ฐ๋๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ์งํ๋๋ค๊ฐ ํ๋์ ์ฌ๊ฑด์ผ๋ก ์๋ ดํ๋ ์์ค์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ์ญ์์ค. ๊ฐ ์๊ฐ๋์ ํต์ฌ ๊ฐ๋ฑ๊ณผ ๋
์์ ํธ๊ธฐ์ฌ์ ์ ์งํ ์ ์๋ ์ ๋ณด ์๋ ๊ธฐ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์๊ฐ๋๋ฅผ ์ฐ๊ฒฐํ๋ ๋งค๊ฐ์ฒด(ํ๋กฏ ๋๋ฐ์ด์ค)๋ฅผ ์์ธํ ๊ธฐ์ ํด์ผ ํฉ๋๋ค.
#๊ธฐ์
#์ํคํ
์ฒ
#๋ฌธ์ํ
๋๊ท๋ชจ ๋ถ์ฐ ์์คํ
์ ์ํคํ
์ฒ๋ฅผ ๊ธฐ์ ์ ์ผ๋ก ์ค๋ช
ํฉ๋๋ค.
์ด๋น 100๋ง ๊ฑด ์ด์์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ๋ฅผ ์ค๊ณํ๊ณ ๋ฌธ์ํํ์ญ์์ค. ์๋น์ค ๊ฐ ํต์ ๋ฉ์ปค๋์ฆ(gRPC, Message Queue ๋ฑ), ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ ๋ต(SAGA ํจํด ๋ฑ), ์ฅ์ ๊ฒฉ๋ฆฌ ๋ฐ ํ๋ณต ๋ฐฉ์์ ํฌํจํด์ผ ํฉ๋๋ค.
#writing
#self-intro
#formal
์
์ฌ๋ ๋ชจ์์ ์ํด ๊ฐ๋จํ ์๊ธฐ์๊ฐ ๊ธ์ ์์ฑํด ๋๋ฆฝ๋๋ค.
์๋
ํ์ธ์. ์ ์ด๋ฆ์ [์ด๋ฆ]์ด๊ณ , ํ์ฌ [์ง์
/ํ๋
]์
๋๋ค. ์ทจ๋ฏธ๋ [์ทจ๋ฏธ]์
๋๋ค. ์ ์ ๋ํด ๊ฐ๋จํ ์๊ฐํ๋ 3๋ฌธ์ฅ ์ ๋์ ์๊ธฐ์๊ฐ ๊ธ์ ์ ์คํ ๋งํฌ๋ก ์์ฑํด ์ฃผ์ธ์.
#translation
#english
#language
์
๋ ฅํ ํ๊ตญ์ด ๋ฌธ์ฅ์ ์์ฐ์ค๋ฌ์ด ์์ด๋ก ๋ฒ์ญํด ๋๋ฆฝ๋๋ค.
๋ค์ ํ๊ตญ์ด ๋ฌธ์ฅ์ ์์ฐ์ค๋ฌ์ด ์์ด๋ก ๋ฒ์ญํด ์ฃผ์ธ์. ๋ฌธ๋งฅ์ ์น๊ตฌ์๊ฒ ๋งํ๋ๆฅๅธธ ๋ํ์
๋๋ค. [๋ฒ์ญํ ํ๊ตญ์ด ๋ฌธ์ฅ์ ์ฌ๊ธฐ์ ์
๋ ฅํ์ธ์]
#architecture
#microservices
#scalability
#system-design
์ด๋น 100๋ง ๊ฑด์ ์์ฒญ(RPS)์ ์ฒ๋ฆฌํ๋ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์ํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ๋ฅผ ์ค๊ณํ์ธ์. ํ์ฅ์ฑ, ๊ฐ์ฉ์ฑ, ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋น์ ์ ์์ ์๋ฃจ์
์ํคํ
ํธ์
๋๋ค. ๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์ํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ๋ฅผ ์ค๊ณํด์ผ ํฉ๋๋ค. ์๊ตฌ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: 1) ํ๊ท RPS๋ 100๋ง, ํผํฌ ํ์์๋ 300๋ง๊น์ง ์ฆ๊ฐํฉ๋๋ค. 2) ์๋น์ค ๊ฐ์ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํฉ๋๋ค(SAGA ํจํด ๋ฑ ๊ณ ๋ ค). 3) ๋จ์ผ ์ฅ์ ์ (SPOF)์ด ์์ด์ผ ํ๋ฉฐ 99.99%์ ๊ฐ์ฉ์ฑ์ ๋ชฉํ๋ก ํฉ๋๋ค. 4) ์ธ์ฆ ์๋น์ค, ์ํ ์๋น์ค, ์ฃผ๋ฌธ ์๋น์ค, ๊ฒฐ์ ์๋น์ค๋ก ๋ถ๋ฆฌํ์ฌ ์ค๋ช
ํ์ธ์. 5) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฉ ์ ๋ต๊ณผ ๋ฉ์์ง ํ(RabbitMQ ๋๋ Kafka) ํ์ฉ ๊ณํ์ ํฌํจํ์ธ์. ๊ฐ ์ปดํฌ๋ํธ์ ์ญํ , ํต์ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ์ฅ์ ๋ณต๊ตฌ ์๋๋ฆฌ์ค๋ฅผ ๊ธฐ์ ์ค๊ณ์ ํ์์ผ๋ก ์์ฑํ์ญ์์ค.
#python
#asyncio
#performance-tuning
#data-engineering
๋์ฉ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ์กด์ ๋๊ธฐ์ Python ์คํฌ๋ฆฝํธ๋ฅผ asyncio์ multiprocessing์ ํ์ฉํ์ฌ ๊ณ ๋ํํ์ธ์.
๋ค์์ ์ธ๋ถ API์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋ก์ปฌ ํ์ผ ์์คํ
์ ์ ์ฅํ๋ ๊ธฐ์กด์ ๋๊ธฐ์ Python ์ฝ๋ ๋ก์ง์
๋๋ค: 1) 10,000๊ฐ์ URL ๋ชฉ๋ก์ ์์ฐจ์ ์ผ๋ก ์์ฒญํฉ๋๋ค. 2) ๊ฐ ์๋ต์ ํ์ฑํ์ฌ CSV ํ์์ผ๋ก ๋ณํํฉ๋๋ค. 3) ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ์๋๋ค. ์ด ์ฝ๋๋ฅผ asyncio๋ฅผ ์ฌ์ฉํ์ฌ I/O ๋ณ๋ชฉ์ ์ต์ํํ๊ณ , CPU ๋ฐ์ด๋ ์์
(ํ์ฑ)์ multiprocessing์ ํ์ฉํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋๋ก ์ฌ์์ฑํด ์ฃผ์ธ์. ๋ํ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๊ณ ๋์ ์์ฒญ ์๋ฅผ ์ ์ดํ๋ Semaphore ์ฌ์ฉ ์์ ์ ์๋ฌ ํธ๋ค๋ง ๋ฐ ์ฌ์๋ ๋ก์ง(retry logic)์ ํฌํจํ์ฌ ์์ฑ๋ ์ฝ๋๋ฅผ ์ ์ํ์ญ์์ค.
#finance
#monte-carlo
#python
#derivatives
๋ณต์กํ ๋ณ๋์ฑ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ต์
์ํ์ ๊ฐ๊ฒฉ์ ํ๊ฐํ๊ธฐ ์ํด ๋ชฌํ
์นด๋ฅผ๋ก ์๋ฎฌ๋ ์ด์
๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ ๋ถ์ํ์ธ์.
๋ธ๋-์์ฆ ๋ชจ๋ธ์ด ์ ์ฉํ๊ธฐ ์ด๋ ค์ด ๋ณ๋์ฑ์ด ๋์ ๋ฐ์ด๋๋ฆฌ ์ต์
์ํ์ ๊ฐ๊ฒฉ์ ๊ฒฐ์ ํ๊ธฐ ์ํด Python์ผ๋ก ๋ชฌํ
์นด๋ฅผ๋ก ์๋ฎฌ๋ ์ด์
์ ๊ตฌํํ์ญ์์ค. ๊ธฐ์ด์์ฐ์ ๊ฐ๊ฒฉ ๊ฒฝ๋ก๋ ๊ธฐํ ๋ธ๋ผ์ด ์ด๋(Geometric Brownian Motion)์ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋, ๋ฌด์ํ ์ด์์จ, ๋ณ๋์ฑ, ๋๋ํํธ(Drift)๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ ์์ด์ผ ํฉ๋๋ค. 100,000๋ฒ์ ์๋ฎฌ๋ ์ด์
์ ์ํํ์ฌ ์ต์
์ ๋ง๊ธฐ ์์ ํ๊ท ๊ฐ๊ฒฉ์ ๊ณ์ฐํ๊ณ , ํ์คํธ์ฐจ๋ฅผ ํตํด ์ ๋ขฐ๊ตฌ๊ฐ์ ๋์ถํ์ธ์. ๋ํ, ์๋ฎฌ๋ ์ด์
ํ์๋ฅผ ๋๋ ธ์ ๋ ์๋ ด ์๋๊ฐ ์ด๋ป๊ฒ ๋ณํํ๋์ง ๋ถ์ํ๊ณ numpy์ ๋ฒกํฐํ ์ฐ์ฐ์ ํ์ฉํด ์ฑ๋ฅ์ ์ต์ ํํ ์ฝ๋๋ฅผ ์์ฑํ์ญ์์ค.
#๋ฒ์ญ
#์์ด
#ํ๊ตญ์ด
์์ด ๋ฌธ์ฅ์ ์์ฐ์ค๋ฌ์ด ํ๊ตญ์ด๋ก ๋ฒ์ญํฉ๋๋ค.
๋ค์ ์์ด ๋ฌธ์ฅ์ ์์ฐ์ค๋ฌ์ด ํ๊ตญ์ด ๊ตฌ์ด์ฒด๋ก ๋ฒ์ญํด ์ฃผ์ธ์: 'I would like to order a cup of iced americano, please.'
#refactoring
#design-patterns
#solid
#oop
ํ๋ก์์ ํ ์คํ์ผ์ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ๊ฐ์ฒด ์งํฅ ๋์์ธ ํจํด์ ์ฌ์ฉํด ํ๋์ ์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ ์์ฒญํฉ๋๋ค.
๋ค์์ C++๋ก ์์ฑ๋ ์คํ๊ฒํฐ ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ , ์ ๋ต ํจํด(Strategy Pattern)๊ณผ ์ต์ ๋ฒ ํจํด(Observer Pattern)์ ์ ์ฉํ์ฌ ๋ฆฌํฉํ ๋งํ์ญ์์ค. ๊ธฐ์กด์ ์กฐ๊ฑด๋ฌธ(if-else) ์ค์ฌ ๋ก์ง์ ์ ๊ฑฐํ๊ณ , SOLID ์์น, ํนํ ๊ฐ๋ฐฉ-ํ์ ์์น(OCP)๊ณผ ๋จ์ผ ์ฑ
์ ์์น(SRP)์ ์ค์ํ๋์ง ์ค๋ช
ํ์ญ์์ค. ๋ฆฌํฉํ ๋ง๋ ์ฝ๋์ ์ ์ง๋ณด์์ฑ ํ๋ณด ๋ฐฉ์๊ณผ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์์ ์ด์ ์ ๋ํด ๊ธฐ์ ํ์ญ์์ค.
#์ผ๊ธฐ
#๊ธ์ฐ๊ธฐ
#์ผ์
์ค๋ ํ๋ฃจ ์์๋ ์ผ์ ๊ฐ๋จํ๊ฒ ๊ธฐ๋กํด๋ณด์ธ์.
์ค๋ ๊ฐ์ฅ ๊ธฐ์ต์ ๋จ๋ ์ผ์ ๋ฌด์์ธ๊ฐ์? 3๋ฌธ์ฅ ์ด์์ผ๋ก ์์ฑํด๋ณด์ธ์.
#์๊ธฐ์๊ฐ
#๋ํ
#๊ธ์ฐ๊ธฐ
๋๋ฅผ ์๊ฐํ๋ ์งง์ ๊ธ์ ์์ฑํด๋ณด์ธ์.
์ด๋ฆ, ์ฌ๋ ๊ณณ, ์ทจ๋ฏธ 3๊ฐ์ง๋ฅผ ํฌํจํ์ฌ ์์ ์ ์๊ฐํ๋ ๊ธ์ ์จ๋ณด์ธ์.