Skip to content
View Sunro1994's full-sized avatar

Organizations

@Employment-Study @ItWillBeNaming

Block or report Sunro1994

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
Sunro1994/readme.md

Gmail GitHub Blog


๐Ÿง  Who Am I

๊ฐ„ํ˜ธํ•™๊ณผ ์ถœ์‹  โ†’ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด
"์™œ ์ด ๊ธฐ์ˆ ์ธ๊ฐ€"๋ฅผ ๋๊นŒ์ง€ ํŒŒ๊ณ ๋“œ๋Š” ์Šต๊ด€
์ฆ์ƒ โ†’ ์›์ธ โ†’ ํ•ด๊ฒฐ์˜ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

๋น„์ „๊ณต์ž์˜€๊ธฐ์— ์˜คํžˆ๋ ค ๊ธฐ์ˆ ์˜ ๋ณธ์งˆ์„ ๋๊นŒ์ง€ ํŒŒ๊ณ ๋“œ๋Š” ์Šต๊ด€์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
MSA ์ „ํ™˜ ยท Kafka ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ยท ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•ต์‹ฌ ์—ญ๋Ÿ‰์œผ๋กœ ์‚ผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


โšก Performance Highlights

๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐœ์„ ์œจ
๋ถ„์‚ฐ ๋ฝ ๊ฒฝํ•ฉ (Redisson โ†’ Lua Script) ์ตœ๋Œ€ ์‘๋‹ต ์ง€์—ฐ 10s โ†’ 3s ๐Ÿš€ 66.7%โ†“
์™ธ๋ถ€ API ์ง€์—ฐ (Redis ์ด์ค‘ ์บ์‹œ ์ „๋žต) ์‘๋‹ต ์†๋„ 2,318ms โ†’ 14ms ๐Ÿš€ 99.4%โ†“
N+1 ์ฟผ๋ฆฌ (๋ฒŒํฌ ์กฐํšŒ + HashMap ์บ์‹œ) 5,000ms โ†’ 30ms ๐Ÿš€ 99.4%โ†“
Kafka Outbox ํŒจํ„ด ๋„์ž… 6,500๋ช… ๋™์‹œ ์š”์ฒญ ๋ฉ”์‹œ์ง€ ๋ฌด์†์‹ค ์ฒ˜๋ฆฌ โœ… ์›์ž์„ฑ ๋ณด์žฅ
DB ๊ฒฐ์ œ ํ…Œ์ด๋ธ” ์ •๊ทœํ™” (2๊ฐœ โ†’ 12๊ฐœ) ๊ด€๋ฆฌ์ž ์กฐํšŒ 1,320ms โ†’ 700ms ๐Ÿš€ 47%โ†“
Token Diet ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ ํ”„๋กฌํ”„ํŠธ ํ† ํฐ 25,000๊ฐœ โ†’ 5,000๊ฐœ ๐Ÿš€ 80%โ†“

๐Ÿ›  Tech Stack

Backend

Java Spring Boot Spring Security Spring Batch Node.js NestJS Kotlin

Messaging & MSA

Kafka Spring Cloud OpenFeign

Database & Cache

PostgreSQL MySQL Redis Elasticsearch

DevOps & Infra

Docker AWS GitHub Actions Linux

Monitoring

Prometheus Grafana ELK Stack


๐Ÿš€ Featured Projects

๐ŸŽซ Earlybird-Ticket โ€” ์‹ค์‹œ๊ฐ„ ์˜ˆ๋งค ์‹œ์Šคํ…œ

BE 4๋ช… | ํ…Œํฌ๋ฆฌ๋” ยท Java ยท SpringBoot ยท Kafka ยท Redis ยท MSA

  • Outbox ํŒจํ„ด ๋„์ž…์œผ๋กœ Kafka ์ด์ค‘ ์“ฐ๊ธฐ ๋ฌธ์ œ ํ•ด๊ฒฐ โ†’ 6,500๋ช… ๋™์‹œ ์š”์ฒญ ๋ฉ”์‹œ์ง€ ๋ฌด์†์‹ค
  • Lua Script ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ๋ฝ ์žฌ์„ค๊ณ„ โ†’ ์‘๋‹ต ์ง€์—ฐ 10s โ†’ 3s (66.7% ๊ฐœ์„ )
  • Prometheus + Grafana ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์ถ• ๋ฐ ๋ณ‘๋ชฉ ํƒ์ƒ‰
๐Ÿ“Œ ํ•ด๊ฒฐํ•œ ๊ธฐ์ˆ  ๋ฌธ์ œ ๋ณด๊ธฐ
๋ฌธ์ œ ์›์ธ ํ•ด๊ฒฐ
Kafka ์›์ž์„ฑ ๊นจ์ง ์ด์ค‘ ์“ฐ๊ธฐ ๋ฌธ์ œ Outbox ํŒจํ„ด + DLQ
Consumer Lag ์ง€์—ฐ ํด๋ง ์ฃผ๊ธฐ / ํŒŒํ‹ฐ์…˜ ๋ถ€์กฑ ํด๋ง 500ms + ํŒŒํ‹ฐ์…˜ 30๊ฐœ
์ง๋ ฌํ™” ํƒ€์ž… ๋ถˆ์ผ์น˜ ๋‹จ์ผ ํƒ€์ž… ์ฒ˜๋ฆฌ ๊ตฌ์กฐ Event Dispatcher ์ „๋žต ํŒจํ„ด
๋ถ„์‚ฐ ๋ฝ ๊ฒฝํ•ฉ Redisson ์˜ค๋ฒ„ํ—ค๋“œ Lua Script ์›์ž์  ๋ช…๋ น

๐Ÿ“ฆ Owl-Express โ€” B2B ๋ฌผ๋ฅ˜ ๋ฐฐ์†ก ์‹œ์Šคํ…œ

BE 4๋ช… | ํ…Œํฌ๋ฆฌ๋” ยท Java ยท SpringBoot ยท Spring Cloud ยท Redis ยท ELK

  • ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง์ ‘ ๊ตฌํ˜„ โ†’ ํ—ˆ๋ธŒ-์Šคํฌํฌ ์ตœ๋‹จ ๊ฒฝ๋กœ ๊ณ„์‚ฐ
  • Redis ์ด์ค‘ ์บ์‹œ (Write Through + Cache Aside) โ†’ 2,318ms โ†’ 14ms (99.4% ๊ฐœ์„ )
  • N+1 ํ•ด๊ฒฐ โ†’ HashMap ์ธ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ๋กœ 5,000ms โ†’ 30ms (99.4% ๊ฐœ์„ )

๐Ÿ”ง save-your-token โ€” Claude Code ํ† ํฐ ์ ˆ์•ฝ ์˜คํ”ˆ์†Œ์Šค

1์ธ ๊ฐœ๋ฐœ ยท Python ยท Bash ยท JSONL

  • Claude Code ์„ธ์…˜ JSONL ํŒŒ์‹ฑ โ†’ ๋ช…๋ น์–ด๋ณ„ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ง‘๊ณ„ ๋ฐ ๋ถ„๋ฅ˜
  • 4๊ฐ€์ง€ ํ›… ์ž๋™ํ™”: ReadOnce(์ค‘๋ณต ์ฝ๊ธฐ ์ฐจ๋‹จ) ยท prompt-lint(๊ณ ๋น„์šฉ ํŒจํ„ด ๊ฐ์ง€) ยท context-watch(์ž„๊ณ„๊ฐ’ ๊ฒฝ๊ณ ) ยท report-save(์ผ๋ณ„ ์Šค๋ƒ…์ƒท)
  • ํ† ํฐ ์†Œ๋ชจ 25,000๊ฐœ โ†’ 5,000๊ฐœ (80% ์ ˆ๊ฐ)

๐Ÿ’ผ Work Experience

Loword          2025.11 ~ 2026.03  โ”‚  Node.js ยท NestJS ยท PostgreSQL ยท ECS/ECR
                ๊ฒฐ์ œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ยท 8๋งŒ๊ฑด ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ยท ํ…Œ์ด๋ธ” ์ •๊ทœํ™” (2โ†’12๊ฐœ)

The PAP (๋ฐ”๋กœ์ธํ„ด 13๊ธฐ)  2025.06 ~ 2025.07  โ”‚  Kotlin ยท Spring Boot ยท ElasticSearch
                ๋„ค์ด๋ฒ„ ์žํšŒ์‚ฌ ยท MSA ์žฅ์•  ์ „ํŒŒ ๋ฐฉ์ง€ ยท ์„œํ‚ท๋ธŒ๋ ˆ์ด์ปค ๋„์ž…

๐Ÿ“œ Certifications

SQLD ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ2๊ธ‰


๐Ÿ“Š GitHub Stats

GitHub Streak


๐Ÿ“ Tech Blog & Presentations

์ฃผ์ œ ๋งํฌ
๋ฐ์ดํ„ฐ ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” & Feature Flag ๐Ÿ”— ๋ณด๊ธฐ
์˜ฌ๋ฆฌ๋ธŒ์˜ ์‹ ๊ทœ ์žฌ๊ณ  ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๐Ÿ”— ๋ณด๊ธฐ
Kafka์˜ ํ•œ๊ณ„์™€ Flink ํ™œ์šฉ ๐Ÿ”— ๋ณด๊ธฐ
Kafka ํŒŒํ‹ฐ์…˜ ํ• ๋‹น ์ „๋žต & MSK ๐Ÿ”— ๋ณด๊ธฐ
Toss ์ฆ๊ถŒ Kafka ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ด์ค‘ํ™” ๐Ÿ”— ๋ณด๊ธฐ

Pinned Loading

  1. Pupket/togedog-server Pupket/togedog-server Public

    ๋ฐ˜๋ ค๊ฒฌ ์‚ฐ์ฑ… ๋ฉ”์ดํŠธ ๋งค์นญ ์–ดํ”Œ '๊ฐ™์ด๊ฑท๊ฐœ'์˜ ์„œ๋ฒ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

    Java 1

  2. earlybird-ticket/backend earlybird-ticket/backend Public

    Java 1 1

  3. over-time-worker/backend over-time-worker/backend Public

    Java 1

  4. save-your-token save-your-token Public

    Shell