"์ด์ ์๋ ์ฝ๋๋ ์๋ค"
๊ธฐ๋ฅ ๊ตฌํ์ ๋์ด ํํํ ์ค๊ณ์ ๋ช
ํํ ๋ฌธ์ํ๋ฅผ ์งํฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์์
๋๋ค.
ํ์ ์ฑ์ฅ์ ๋๋ ์ ๊ทน์ ์ธ ์ํต๊ณผ ์ง์ ๊ณต์ ๋ฅผ ์ฆ๊น๋๋ค.
ํผ์๋ณด๋ค ํจ๊ปํ ๋ ๋ ๋ฉ๋ฆฌ ๊ฐ๋ค.
ํ์ ๋ชฉํ๋ฅผ ์ต์ฐ์ ์ผ๋ก ์ ๊ทน์ ์ธ ๋ฆฌ๋ฉ๊ณผ ์ํํ ์ํต์ ํตํด ์์ฑํด ์จ ํ๋ก์ ํธ๋ค์ ๋๋ค.
Main API Server Owner (Backend)
์ฌ์ฉ์์ ํ๋ฐ์ AI๋ก ํธ๊ณกยท์์ฑ๊ณกํํ๋ ์๋น์ค์ ๋ฉ์ธ ๋น์ฆ๋์ค ๋ก์ง ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์ด๊ดํ๋ API ์๋ฒ์ ๋๋ค. ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ , ๋ฌด๊ฑฐ์ด AI ์์ ์์ฑ ์์ ์ ๋ ๋ฆฝ๋ ์์ปค ๋ ธ๋๋ก ์์ ํ๊ฒ ์์ยท๋๊ธฐํํฉ๋๋ค.
- 3-Tier + MSA ์์ปค ๋ถ๋ฆฌ: ๊ณ ๋ถํ AI ๋ชจ๋ธ ๊ตฌ๋ ํ๊ฒฝ์ ๋ฉ์ธ ์๋ฒ์์ ๋ถ๋ฆฌ, ๋น๋๊ธฐ Job Queue ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๊ตฌ์ถ
- ๋น๋๊ธฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ: S3 ์ ๋ก๋ โ Job ๋ฑ๋ก โ SSE ๊ธฐ๋ฐ ์ค์๊ฐ ์งํ๋ฅ ์ ์ก โ Webhook ์ฝ๋ฐฑ์ผ๋ก ์ํ ๋๊ธฐํ
- ๋น์ฉ ์ต์ ํ ์ํคํ ์ฒ ์ค๊ณ: GPU ์์ ๊ตฌ๋ ๋์ RunPod Serverless + Job Queue ์ฒด๊ณ ์ฑํ, ARM64(t4g.small) ์ธ์คํด์ค์ Spring BootยทNginxยทMariaDBยทLibrosa๋ฅผ ์ปจํ ์ด๋๋ก ๊ฒฉ๋ฆฌ ๊ตฌ๋ํด ์ ์ด์๋น 2๋ง์ ์ดํ ์ ์ง
๐ GitHub: ๋ฐ๋ก๊ฐ๊ธฐ
Backend Developer & DevOps (2026.03~2026.05)
์ผ์ธ ์ถ์ ์ฅ์ ์ค์๊ฐ ์ธํ ํผ์ก๋๋ฅผ ์ง๊ณํด ํํธ๋งต์ผ๋ก ์ ๊ณตํ๋ ์์น ๊ธฐ๋ฐ ์๋น์ค์ ๋๋ค. ์์ฒ ๋ช ๋์ ์ ์ ํ๊ฒฝ์ ํธ๋ํฝ ์ฒ๋ฆฌ๊ฐ ํต์ฌ ๊ณผ์ ์์ต๋๋ค.
- Redis Geo ๊ธฐ๋ฐ ์์น ์ฒ๋ฆฌ: ์ด๋น ๊ฐฑ์ ๋๋ ์์น ๋ฐ์ดํฐ๋ฅผ RDB ๋์ In-Memory Geo ๊ตฌ์กฐ๋ก ์ฒ๋ฆฌํด
O(1)~O(logN)์ผ๋ก ์ต์ ํ, Expire ๊ธฐ๋ฐ Heartbeat ๋ฏธ์๋ต์ ์๋ ์ ์ธ - Uber H3 ๊ณต๊ฐ ์ง๊ณ: ์ขํ๋ฅผ ์ก๊ฐํ ๊ทธ๋ฆฌ๋๋ก ์ฌ์ ์ง๊ณํด ํ๋ก ํธ์๋ ์ ์ก๋ 90% ์ด์ ์ ๊ฐ
- NCP ๊ธฐ๋ฐ ์ธํ๋ผ ์ค๊ณ: VPC๋ก DB/์คํ ๋ฆฌ์ง๋ Private Subnet, APIยทRedis๋ Public Subnet์ ๋ถ๋ฆฌํด ์ต์ ๊ถํ ์์น ๊ธฐ๋ฐ ๋คํธ์ํฌ ์ค๊ณ
๐ GitHub: ๋ฐ๋ก๊ฐ๊ธฐ
Tech Leader & DevOps (2026.01 ~ 2026.02)
๊ฐ๋ฐ์๋ค์ด ์ค์ฌ์ฉ ๊ฒฝํ์ ๊ณต์ ํ๋ฉฐ API๋ฅผ ์ ํํ ์ ์๋๋ก ๋๋ ์ปค๋ฎค๋ํฐ ์ํค ์๋น์ค์ ๋๋ค. ๋ค์ํ ์ง๊ตฐ๊ณผ ํ์ ํ๋ฉฐ ํ ํฌ ๋ฆฌ๋๋ก์ ์ค๊ณ์ ๋ฐฐํฌ ์ ๊ณผ์ ์ ์กฐ์จํ์ต๋๋ค.
- ๋ฐฐํฌ ์์ ์ฑ ํ๋ณด: ์ ์คํฌ๋ฆฝํธ(
nohup) ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ Systemd ๋์ , ๋น์ ์ ์ข ๋ฃ ์ ์๋ ๋ณต๊ตฌ ํ๊ฒฝ ๊ตฌ์ถ - ํ๊ฒฝ๋ณ ๋ณด์ ์ค์ ๋ถ๋ฆฌ:
@ConditionalOnProperty๋ก ๋ก์ปฌ(H2)/์ด์(RDS) ๋ณด์ ์ค์ ์ ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค์์ ์ ์ฐํ๊ฒ ๊ฒฉ๋ฆฌ - ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์๋ํ: ๊ธฐํ ๋ฐ์ดํฐ๋ฅผ Python์ผ๋ก ์ ์ฒ๋ฆฌํด DB ๋ง์ถคํ ํฌ๋งท์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์
- ๋ฒ๊ทธ ์์ ์ฌ๋ก: API ์์ธ ์กฐํ ์ ์กฐํ์ ๋ฏธ์ฆ๊ฐ ๋ฌธ์ ๋ฅผ,
@Transactional์ค๋ฒ๋ผ์ด๋ฉ๊ณผ JPA Dirty Checking์ผ๋ก ํด๊ฒฐ - ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํ N+1 ๋ฌธ์ ๊ฐ์ : PR ๋ฆฌ๋ทฐ ์ค ๋ฆฌ์คํธ ์ํ ์ ๋ฐ์ํ๋ N+1 ์ฟผ๋ฆฌ๋ฅผ ์ง์ ๋ฐ๊ฒฌ, IN ์ ๊ธฐ๋ฐ ๋ฐฐ์น ์กฐํ๋ก ๊ฐ์ ํ๋ ๋ฐฉํฅ์ ์ฝ๋์ ํจ๊ป ์ ์
๐ GitHub: ๋ฐ๋ก๊ฐ๊ธฐ
ํ๋ ์์ํฌ ์์ด ๊ตฌ์กฐ์ ํ์์ฑ์ ๊นจ๋ซ๋ค.
์น ๊ฐ๋ฐ ํ์ต ์ , ์์ Java Swing์ผ๋ก ๊ตฌํํ๋ฉฐ MVC ํจํด๊ณผ Client-Server ๊ตฌ์กฐ๋ฅผ ๋ ์์ ์ผ๋ก ๋์ถํด๋ธ ํ๋ก์ ํธ์ ๋๋ค.
Customer Tracking System (Java Swing, Simulated Server)
- MVC ํจํด์ ๋ฐ๊ฒฌ: ์ฝ๋ ๋ณต์ก๋ ํด๊ฒฐ์ ์ํด
MainControl(Router),View,Domain์ผ๋ก ์ญํ ๋ถ๋ฆฌ - Client-Server ๊ตฌ์กฐ ์ค๊ณ: ๋ฐ์ดํฐ ์ค์ ๊ด๋ฆฌ์ ํ์์ฑ์ ๋๊ปด ๋ก์ปฌ ํ๊ฒฝ ๋ด ๊ฐ์ ์๋ฒ(
Server.java) ๊ตฌํ - ๋ฐ์ดํฐ ์ค๊ณ:
Stringโint๋ณํ ํด๋์ค๋ฅผ ์ค๊ณํด DB ์ธ๋ฑ์ฑ๊ณผ ์ ์ฌํ ๋ฐ์ดํฐ ์ต์ ํ ๊ฒฝํ - ๊ฒฐ๊ณผ: ์์ฐ ์์ ๋ณด๊ธฐ
๊ธฐ๋กํ์ง ์์ ์ง์์ ๋ด ๊ฒ์ด ์๋๋ค.
ํ์ตํ ๋ด์ฉ์ ๋ด ์ธ์ด๋ก ์ ๋ฆฌํ์ฌ ๊ธฐ๋ณธ๊ธฐ(CS)๋ฅผ ๋ค์ง๊ณ ๊ธฐ์ ์ ๊น์ด(Deep Dive)๋ฅผ ๋ํฉ๋๋ค.
- UMC Study Notes Archive: ์ค์ ์ํฌ๋ถ ๊ธฐ๋ฐ ํต์ฌ ๊ฐ๋ ์์ฝ ๋ฐ ๋ฉํ ๋ง ์๋ฃ
- CS Deep Dive Reports: ์ด์์ฒด์ /์ปดํจํฐ๊ตฌ์กฐ ์ฌํ ๋ณด๊ณ ์ (OS, Cache, Memory ๋ฑ)
Email : canna7610@gmail.com


