์ต์คํธ
Backend Engineer
๋ ๊ฑฐ์ ๋ง์ด๊ทธ๋ ์ด์
, AI/LLM ํตํฉ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๊ฒฝํ์ ๋ณด์ ํ ๋ฐฑ์๋ ๊ฐ๋ฐ์์
๋๋ค.
Zero-downtime ์ ๋ต์ผ๋ก ์์ ํ ์์คํ
์ ํ์ ์ํํ๊ณ ,
๋ณต์กํ ๊ธฐ์ ์ ๋ฌธ์ ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํ๊ณ ํด๊ฒฐํฉ๋๋ค.
โจAI์ ๋ํํ๋ฉฐ ์ด๋ ฅ ๋ณด๊ธฐ์ฃผ์ ํ๋ก์ ํธ
๋ถ๊ฐ์ธ ์์ธก ์์คํ
2025.06 ~ 2025.09 (4๊ฐ์)๋ถ๊ฐ์ธ ์ ๊ณ ์ ์์ ์ธ์ก์ ์๋์ผ๋ก ๊ณ์ฐํ์ฌ ์ ๊ณตํ๋ ์์คํ
๊ฐ๋ฐ
ํต์ฌ ์ฑ๊ณผ
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ: DB Sink Job์ผ๋ก revenue/cost ๋ฐ์ดํฐ ์๋ ์ ์ฌ
- ์์ธก ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ: ๊ณ ์ ๋น/๋ณ๋๋น ๋ถ๋ฅ ๋ฐ N๊ฐ์ ์ถ์ด ๋ถ์ ๋ก์ง ๊ตฌํ
- ๋ฐ์ดํฐ ์ ํฉ์ฑ ์ด์ ํด๊ฒฐ: hometax_agency 90๋ง์ ์ฐจ์ด (month ๊ธฐ์ค ์กฐํ๋ก ๊ฐ์ )
- ๋ฐฉ์ด๋ก์ง ๊ตฌํ: 9์ 31์ผ ์ด์ ํด๊ฒฐ (LocalDate ๊ธฐ๋ฐ ๋ฆฌํฉํ ๋ง)
Spring BatchPostgreSQLJDBC TemplateDB Sink Job
์๊ธฐ์
๋ ฅ ์์คํ
์ด๊ด
2025.07 ~ 2025.09 (3๊ฐ์)Ruby on Rails ๋ ๊ฑฐ์ ์์คํ
์ Kotlin/Spring MSA๋ก ๋ฌด์ค๋จ ๋ง์ด๊ทธ๋ ์ด์
ํต์ฌ ์ฑ๊ณผ
- Dual Write ํจํด ๊ตฌํ: ์ ๊ท/๋ ๊ฑฐ์ ์์คํ
๋์ ์ ์ฅ์ผ๋ก ๋กค๋ฐฑ ๊ฐ๋ฅ ๊ตฌ์กฐ
- Zero-downtime ๋ฌ์ฑ: ์ฅ์ 0%, ๋ฐ์ดํฐ ์์ค 0%
- ๋ฐ์ดํฐ ์ ํฉ์ฑ ๊ฒ์ฆ: ์๋ํ๋ ๊ฒ์ฆ ์์คํ
๊ตฌ์ถ
- JPA Optimistic Locking: ๋์์ฑ ์ ์ด ๋ฐ ๋ฒ์ ์ถฉ๋ ์ฒ๋ฆฌ
KotlinSpring BootJPADual Write Pattern
์๋ฆผํก ๋ผ์ด๋ธ๋ฌ๋ฆฌ & ์์คํ
2025.07 ~ 2025.11 (5๊ฐ์)๊ณตํต ์๋ฆผํก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ ๋ฐ ๋ฉ์์ง ๋ฐ์ก ์์คํ
๊ตฌ์ถ
ํต์ฌ ์ฑ๊ณผ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋ํ: engagement-libraries ์ค๊ณ ๋ฐ Nexus ๋ฐฐํฌ ์๋ํ
- Kafka ํตํฉ: Event-Driven Architecture ๊ธฐ๋ฐ produce/consume ๊ตฌํ
- ๋ชจ๋ํฐ๋ง ์ด๋๋ฏผ: ๋ฐ์ก ๋ด์ญ ์ถ์ ๋ฐ ๊ด๋ฆฌ ์์คํ
๊ฐ๋ฐ
- ๋ค์ํ ์๋ฆผํก ๊ตฌํ: ๋ถ๊ฐ์ธ, ์ฃผ๊ฐ/์๊ฐ ๋ฆฌํฌํธ, ์ด์์น ํ์ง ์๋ฆผ
KotlinKafkaNexusGitHub Actions
AI ๋น์ ์๋น์ค (chat-assistant)
2025.06 ~ 2025.09 (4๊ฐ์)LLM ๊ธฐ๋ฐ AI ๋น์ ์๋น์ค ๋ฐฑ์๋ ๊ฐ๋ฐ ๋ฐ ์ธํ๋ผ ๊ตฌ์ถ
ํต์ฌ ์ฑ๊ณผ
- Coroutine ๋น๋๊ธฐ ์ฒ๋ฆฌ: WebClient + Coroutine์ผ๋ก ๋ฆฌ์์ค ํจ์จ์ฑ ํฅ์
- ์ด๋๋ฏผ ์์คํ
๊ตฌ์ถ: ํํ๊ฐ, ์ถ์ฒ์ง๋ฌธ, ํ๋ก๋ชจ์
๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ArgoCD/PagerDuty ์ธํ๋ผ: ๋ฐฐํฌ ์๋ํ ๋ฐ ๋ชจ๋ํฐ๋ง ์ฒด๊ณ ๊ตฌ์ถ
- Langfuse ํตํฉ: AI ์ฌ์ฉ๋ ๋ฐ ๋น์ฉ ์ถ์ ์์คํ
(์งํ ์ค)
Spring WebFluxKotlin CoroutineArgoCDLangfuse