About

About

๐ŸŒฑ ์ž๋ผ๋Š” ๊ฐœ๋ฐœ์ž ๐Ÿ’ก ๋‹ค์ •ํ•œ ๊ฐœ๋ฐœ์ž๋˜๊ธฐ

์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด 8์ฃผ์˜ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  26ํšŒ ๋ฐ˜๋ณตํ•œ ๊ฒฝ์šฐ ๊ฐ€์žฅ ๋งŽ์€ ๊ธฐ์–ต์„ ํ–ˆ๋‹ค. ์š”์•ฝํ•˜์ž๋ฉด, ์˜ค๋žซ๋™์•ˆ ํ•™์Šตํ•œ ๋งŒํผ ๋” ์˜ค๋ž˜ ๊ธฐ์–ตํ•œ๋‹ค. ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋” ์˜ค๋žœ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์–ด๋””์„œ ์ฝ์€ ๊ฒƒ๋“ค, ์ฑ…์˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์Šต๋“ํ•˜๊ณ  ๊นจ๋‹ฌ์€ ๊ฒƒ๋“ค์„ ๋‚˜๋งŒ์˜ ๊ฒƒ์œผ๋กœ ์†Œํ™”ํ•˜๊ณ  ๊ธฐ๋กํ•˜๋Š” ๊ณณ

๐Ÿ“š ์ฝ์€ ์ฑ… (50)

์—ฐ๋„๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ฝ์€ ์ฑ… ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

2024 (1)
  • ์˜ฅ์ƒ์—์„œ ๋งŒ๋‚˜์š”
2023 (17)
  • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ
  • ํŒŒ์ด๋ธŒ ๋ผ์ธ์Šค ์˜ค๋ธŒ ์ฝ”๋“œ
  • ๋ฆฌ์–ผ ๋งˆ์ด์—์Šคํ์—˜ 8.0 2๊ถŒ
  • ํ•˜๋ฃจ์— ํ•œ ๊ฑธ์Œ์”ฉ ํ–‰๋ณตํ•ด์ง€๊ธฐ
  • ํ•œ ๊ถŒ์œผ๋กœ ์ฝ๋Š” ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ์„œ๋น„์Šค๋ฅผ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ 
  • ํ”ผํ”Œ์›จ์–ด
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์‹ค์ „ ์ž…๋ฌธ
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ฌ๋ฆฌํ•™
  • ๋””์ž์ธ ํŒจํ„ด์˜ ์•„๋ฆ„๋‹ค์›€
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๋กœ๋ฒ„ํŠธ ์„ธ์ง€์œ…)
  • ์—…๋ฌด ์‹œ๊ฐํ™”
  • ์ž๋ฐ” ์ฝ”๋”ฉ์˜ ๊ธฐ์ˆ 
  • ๋ชจ๋˜ ์ž๋ฐ” ์ธ ์•ก์…˜
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด
  • ์ƒ๊ฐํ•˜๋Š” ๋Š‘๋Œ€ ํƒ€์Šค์ผ€
  • ๋ชจ๋“  ์‚ถ์€ ํ๋ฅธ๋‹ค
2022 (18)
  • ๋ฆฌ์–ผ ๋งˆ์ด์—์Šคํ์—˜ 8.0 1๊ถŒ
  • ์ฝ”๋”ฉ ์ธํ„ฐ๋ทฐ
  • ํ‘œํ˜„์  ๊ธ€์“ฐ๊ธฐ
  • ์™์™ ๋“ค์–ด์˜ค๋Š” ํ•จ์ˆ˜ํ˜• ์ฝ”๋”ฉ
  • ํ•˜๋ฃจ 3๋ถ„ ๋„คํŠธ์›Œํฌ ๊ต์‹ค
  • ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ AWS๋กœ ํ˜ผ์ž ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋น„์Šค
  • ์˜ค๋ธŒ์ ํŠธ
  • ์ž๋ฐ”์™€ JUnit์„ ํ™œ์šฉํ•œ ์‹ค์šฉ์ฃผ์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
  • ๋น„์ „๊ณต์ž๋ฅผ ์œ„ํ•œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” IT ์ง€์‹
  • ํ•จ๊ป˜์ž๋ผ๊ธฐ
  • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๋‡Œ
  • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” Effective Java 3/E
  • ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„
  • ๊ฐœ๋ฐœ์ž์˜ ๊ธ€์“ฐ๊ธฐ
  • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP & Network
  • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌ์กฐ
  • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • 2021 (14)
  • ํŒ€ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ Git GitHub ์‹œ์ž‘ํ•˜๊ธฐ
  • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ๊ด€์ ์—์„œ ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ
  • ๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ
  • ์ฝ”์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋”ฉ์˜ ๊ธฐ์ˆ 
  • Do it! ์ž๋ฃŒ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ๋ฐฐ์šฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋ฌธ ์ž๋ฐ” ํŽธ
  • ์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ
  • ์ตœ๋ฒ”๊ท ์˜ JSP 2.3 ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ค‘๊ธ‰๊นŒ์ง€
  • ์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค
  • ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”
  • ๋ชจ๋‘์˜ ๋”ฅ๋Ÿฌ๋‹
  • Do it! ์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž…๋ฌธ
  • Do it! HTML+CSS+์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์›น ํ‘œ์ค€์˜ ์ •์„
  • ๋ชจ๋‘์˜ SQL
  • RESUME

    ์ด๊ทœ์›

    ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž | Java ยท Kotlin ยท Spring Boot ยท Python ยท Django

    Seoul, South Korea ยท kyuwoon369@gmail.com ยท linkedin.com/in/eekyuwon ยท github.com/kyuwon53

    ์‚ฌ์šฉ์ž ์ค‘์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์— ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•˜๊ณ  ๊ตฌ์กฐ์  ์ž„ํŒฉํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค. ์ปค๋จธ์Šค์—์„œ๋Š” 30๋งŒ+ ํšŒ์›์˜ 30๋…„ ๋ ˆ๊ฑฐ์‹œ ํšŒ์›ยท์ฃผ๋ฌธ/๊ฒฐ์ œ ์‹œ์Šคํ…œ์„ ๋ฌด์ค‘๋‹จ์œผ๋กœ ์‹ ๊ทœ ์ „ํ™˜ํ•˜๊ณ  ์ด๋ฒคํŠธยท๊ถŒํ•œ ๋“ฑ ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ–ˆ๊ณ , ์ œ์กฐ ์‚ฐ์—… AI์—์„œ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์„ผ์„œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์žฌ์„ค๊ณ„ํ•ด ๋Œ€์‹œ๋ณด๋“œ ์กฐํšŒ๋ฅผ 5์ดˆ ์ด์ƒ์—์„œ 1์ดˆ ๋ฏธ๋งŒ์œผ๋กœ ๊ฐœ์„ ํ–ˆ์œผ๋ฉฐ, ์„ธ๋ฌด์—์„œ๋Š” ์ „๊ตญ๋ฏผ์ด ์‚ฌ์šฉํ•˜๋Š” ํ™ˆํƒ์Šค์—์„œ ํŠธ๋ž˜ํ”ฝ์ด ๊ฐ€์žฅ ๋งŽ์€ ์ข…ํ•ฉ์†Œ๋“์„ธ ์ผ๋ฐ˜์‹ ๊ณ ์„œ(5์›” ์‹ ๊ณ  1,000๋งŒ ๊ฑด ๊ทœ๋ชจ) ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์ œ์˜ ๋ณธ์งˆ์„ ํŒŒ์•…ํ•˜์—ฌ, ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ ์ค‘์‹ฌ์˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๊ฐ•์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ฒฝ๋ ฅ

    ํ•œ๋น›์•ค ยท ๊ณตํ†ต ์„œ๋น„์Šค ๊ฐœ๋ฐœํŒ€ ํŒ€์žฅ / ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ | 2024.09 ~ ์žฌ์ง ์ค‘

    ๊ฐœ๋ฐœ์ž ๋Œ€์ƒ ์˜จ๋ผ์ธ ํ•™์Šต/์ฝ˜ํ…์ธ  ์ปค๋จธ์Šค ํ”Œ๋žซํผ. ์ฃผ๋ฌธ/๊ฒฐ์ œยทํšŒ์›ยท์ƒํ’ˆยท์ฝ˜ํ…์ธ  ๋„๋ฉ”์ธ์˜ ์‹ ๊ทœ ์‹œ์Šคํ…œ ์ „ํ™˜๊ณผ ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์ฃผ๋„.

    ์ฃผ์š” ๋‹ด๋‹น ์˜์—ญ

    • ์ฃผ๋ฌธ/๊ฒฐ์ œยท์ฟ ํฐยท์ ๋ฆฝ๊ธˆ ์‹ ๊ทœ ์‹œ์Šคํ…œ ์ „ํ™˜, ๊ฒฐ์ œ์‚ฌ(PG) ์ „ํ™˜ ๋ฐ ๋ณธ์ธ์ธ์ฆ(ํฌํŠธ์›/์„œ๋ฒ„ํˆฌ์„œ๋ฒ„) ์ด๊ด€
    • ํšŒ์› ์‹œ์Šคํ…œ ์‹ ๊ทœ ์ „ํ™˜๊ณผ ์–ด๋…ธํ…Œ์ด์…˜ ๊ธฐ๋ฐ˜ ๊ถŒํ•œ(RBAC) ์ฒด๊ณ„ ๊ตฌ์ถ•
    • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ณด์ƒ ์‹œ์Šคํ…œ, ์‹ ๊ณ ํ•˜๊ธฐ ๋“ฑ ๊ณตํ†ต ๊ธฐ๋Šฅ ์„ค๊ณ„ยท๊ตฌ์ถ•
    • ์ฝ”ํ˜ธํŠธยท๊ตญ๋น„์ง€์›(KDC) ์ˆ˜๊ฐ•์‹ ์ฒญ/์ž…๊ณผ, ์„ธ๋ฏธ๋‚˜, ๋ฒ„๋”” ๋“ฑ ์‹ ๊ทœ ์„œ๋น„์Šค ๋„๋ฉ”์ธ ๊ตฌ์ถ•
    • ์ƒํ’ˆยท์นดํ…Œ๊ณ ๋ฆฌยท๋ฆฌ๋ทฐ, ๋งˆ์ด์ฝ˜ํ…์ธ , ์˜คํƒˆ์ž ์ด๊ด€, ์ฑ… ์ƒ์„ธ ๊ฐœํŽธ ๋“ฑ ์ปค๋จธ์Šคยท์ฝ˜ํ…์ธ  ๋„๋ฉ”์ธ ๊ฐœ์„ 
    • ๋ฐฐ์น˜ยท๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(MySQLโ†”PostgreSQL), Flywayยทํ—ฌ์Šค์ฒดํฌยท๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ ์šด์˜ ๊ธฐ๋ฐ˜ ์ •๋น„

    ๊ฒฐ์ œ์™„๋ฃŒ API๊ฐ€ ์ •์ƒ ์ฒ˜๋ฆฌ์—๋„ 401์„ ๋ฐ˜ํ™˜ํ•˜๋˜ ๋ฌธ์ œ ๊ทผ๋ณธ ์›์ธ ๊ทœ๋ช…

    • ๊ฒฐ์ œ ์™„๋ฃŒ ์ฒ˜๋ฆฌ ์š”์ฒญ์—์„œ ๊ฒฐ์ œ ๋™๊ธฐํ™”ยท์ฃผ๋ฌธ ์™„๋ฃŒยทํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ยท์‘๋‹ต ์ƒ์„ฑ๊นŒ์ง€ ๋‚ด๋ถ€ ๋กœ์ง์€ ๋ชจ๋‘ ์ •์ƒ์ธ๋ฐ๋„ ํด๋ผ์ด์–ธํŠธ์—๋Š” 401์ด ๋ฐ˜ํ™˜๋˜๊ณ , ์ธ์ฆ์ด ํ•„์š” ์—†๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ๋ฐ”๊พธ๋ฉด ์žฌํ˜„๋˜์ง€ ์•Š๋Š” ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ๋ฌธ์ œ๋ฅผ ๋‹ด๋‹น.
    • ๋กœ๊ทธ๋ฅผ ์‹ฌ์–ด ์ตœ์ข… ์‘๋‹ต ์ง์ „ dispatcherType=ASYNC, auth=false๋ฅผ ํฌ์ฐฉํ•˜๊ณ , Kotlin ์ฝ”๋ฃจํ‹ด suspend ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์„œ๋ธ”๋ฆฟ ASYNC ๋””์ŠคํŒจ์น˜๋กœ ์žฌ์ง„์ž…ํ•˜๋ฉด์„œ OncePerRequestFilter ๊ธฐ๋ณธ ์ •์ฑ…์ƒ JWT ํ•„ํ„ฐ๊ฐ€ ๊ฑด๋„ˆ๋›ฐ์–ด์ ธ SecurityContext๊ฐ€ ๋น„์›Œ์ง€๋Š” ๊ฒƒ์ด ์›์ธ์ž„์„ ๊ทœ๋ช….
    • ์ธ์ฆ ํ•„ํ„ฐ๊ฐ€ ์žฌ๋””์ŠคํŒจ์น˜์—์„œ๋„ ์‹คํ–‰๋˜๋„๋ก shouldNotFilterAsyncDispatch()ยทshouldNotFilterErrorDispatch()๋ฅผ ์žฌ์ •์˜ํ•ด ๊ฒฐ์ œ ์™„๋ฃŒ ์‘๋‹ต์„ ์•ˆ์ •ํ™”ํ•˜๊ณ , ์›์ธ๊ณผ ์žฌ๋ฐœ ๋ฐฉ์ง€ ํฌ์ธํŠธ๋ฅผ ํŒ€์— ๊ณต์œ .

    ์ฃผ๋ฌธ/๊ฒฐ์ œ ์‹ ๊ทœ ์‹œ์Šคํ…œ ์ „ํ™˜ โ€” ํŒจํ‚ค์ง€ ์ƒํ’ˆยทPG ์ „ํ™˜ยท์ •์‚ฐ ๋ฆฌ์Šคํฌ ํ•ด๊ฒฐ (PO ์—ญํ•  ๋ณ‘ํ–‰)

    • ์ฃผ๋ฌธยท์žฅ๋ฐ”๊ตฌ๋‹ˆยท๊ฒฐ์ œยท์ƒํ’ˆยท๊ณต์ œ ์ •์ฑ…์ด ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜๊ณ  ๊ฒฐ์ œ ์ค‘๋ณตยท์šด์˜ ์ง€ํ‘œ ๋ถ€์žฌ๋กœ ๋ฆฌ์Šคํฌ๊ฐ€ ๋ˆ„์ ๋œ ๋ ˆ๊ฑฐ์‹œ๋ฅผ, ํŒจํ‚ค์ง€ ์ƒํ’ˆ ์ถœ์‹œ์™€ ๊ฒฐ์ œ์‚ฌ(PG) ๊ณ„์•ฝ ๋ณ€๊ฒฝ์ด ๊ฒน์นœ ์ƒํ™ฉ์—์„œ ์‹ ๊ทœ ์‹œ์Šคํ…œ์œผ๋กœ ์ „ํ™˜.
    • ๋ฌธํ™”๋น„์†Œ๋“๊ณต์ œ ๋Œ€์ƒ/๋น„๋Œ€์ƒ์ด ์„ž์ธ ํŒจํ‚ค์ง€ ์ƒํ’ˆ์˜ ๊ธˆ์•ก ๋ถ„๋ฆฌ์™€ ๊ฒฐ์ œยท์ •์‚ฐ ๊ธฐ์ค€์„ ์ •์˜ํ•˜๊ณ , ๊ณ ๊ฐ์ด ์ฃผ๋ฌธ์„ ๋‚˜๋ˆ  ๊ฒฐ์ œํ•˜์ง€ ์•Š๋„๋ก ์žฅ๋ฐ”๊ตฌ๋‹ˆโ†’์ฃผ๋ฌธโ†’๊ฒฐ์ œ ํ•œ ํ๋ฆ„ ์•ˆ์—์„œ ํ•ด๊ฒฐ.
    • ๋„๋ฉ”์ธ ๊ฒฐํ•ฉ์„ ํ•ด์†Œํ•˜๋„๋ก ์žฌ์„ค๊ณ„ํ•˜๊ณ  ์œ ๋‹ˆํฌ ์ œ์•ฝยทํ–‰ ์ž ๊ธˆ ๊ธฐ๋ฐ˜ ๋ฉฑ๋“ฑ์„ฑยท์ค‘๋ณต ๊ตฌ๋งค ๋ฐฉ์ง€, ๊ฒฐ์ œยท์›นํ›… ์ฒ˜๋ฆฌ ๋ถ„๋ฆฌ, ์‹คํŒจ ์ฃผ๋ฌธ ๋ณด์ • ์Šค์ผ€์ค„๋Ÿฌ, ์ฟ ํฐยท์ ๋ฆฝ๊ธˆ ์ „ํ™˜์„ ํ•จ๊ป˜ ์ง„ํ–‰.
    • ์ •์‚ฐ ์˜ค๋ฅ˜ ๋ฆฌ์Šคํฌ๋ฅผ ์ค„์ด๊ณ  ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์šด์˜ ๊ฐ€์‹œ์„ฑ์„ ํ™•๋ณดํ–ˆ์œผ๋ฉฐ, ๋ฒ”์œ„ ์ •์˜ยท์šฐ์„ ์ˆœ์œ„ยท์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊นŒ์ง€ PO ์—ญํ• ์„ ๋ณ‘ํ–‰ํ•œ ์„ฑ๊ณผ๋กœ ์ „์‚ฌ ์šฐ์ˆ˜์‚ฌ์› ํฌ์ƒยทํŒ€์žฅ ์Šน์ง„์œผ๋กœ ์ด์–ด์ง.

    30๋…„ ๋ ˆ๊ฑฐ์‹œ ํšŒ์› ์‹œ์Šคํ…œ ๋ฌด์ค‘๋‹จ ์ „ํ™˜ (30๋งŒ+ ๋ ˆ์ฝ”๋“œ)

    • 30๋…„ ๋ ˆ๊ฑฐ์‹œ ํ”Œ๋žซํผ์˜ ํšŒ์›(30๋งŒ+ ๋ ˆ์ฝ”๋“œ)์„, ์‹ ๊ทœ ๊ฐ€์ž…/๋กœ๊ทธ์ธ ์‹œ์—๋„ ๋ ˆ๊ฑฐ์‹œ ์„œ๋น„์Šค ์ด์šฉ์— ์ฐจ์งˆ์ด ์—†๋„๋ก ๋ฌด์ค‘๋‹จ์œผ๋กœ ์ด๊ด€.
    • userIdโ†’memberId ์ „ํ™˜์„ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ โ†’ ๋ฐ์ดํ„ฐ ์‹ฑํฌ โ†’ ์ด์ค‘ ๊ธฐ๋ก โ†’ ์ธ์ฆ ์ •๋ฆฌ ํ›„ ์ œ๊ฑฐ์˜ ๋‹จ๊ณ„๋กœ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ ์ง„ํ–‰ํ•˜๊ณ , ๊ณต์šฉ ํšŒ์› ์ธ์ฆ API๋กœ ๋ ˆ๊ฑฐ์‹œ์™€ ์‹ ๊ทœ ์‹œ์Šคํ…œ์ด ๊ณต์กดํ•˜๋„๋ก ์„ค๊ณ„.
    • ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด ์‹ ๊ทœ ์Šคํƒ์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ , ์ดํ›„ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋„ ์ ์ง„์ ์œผ๋กœ ์ด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จ.

    ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ณด์ƒ ์‹œ์Šคํ…œ ๊ตฌ์ถ•

    • ์กฐ๊ฑด ๋‹ฌ์„ฑ ์‹œ ๋ณด์ƒ์„ ์ง€๊ธ‰ํ•˜๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ๋งˆ๋‹ค ๊ฐœ๋ณ„ ๋กœ์ง์„ ์‚ฝ์ž…ํ•ด์•ผ ํ•˜๊ณ , ์ค‘๋ณต ์ง€๊ธ‰ ๋ฐฉ์ง€์™€ ์‹ ๊ทœยท๋ ˆ๊ฑฐ์‹œ DB ๋™์‹œ ์ •ํ•ฉ์ด ํ•„์š”ํ–ˆ๋˜ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ .
    • ๊ฐœ๋ณ„ ์‚ฝ์ž…ยท์ค‘๊ฐ„ ๋ ˆ์ด์–ดยทํ ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ 3์•ˆ์„ ๋น„๊ตํ•ด ํ˜„ ์ธํ”„๋ผยท์ผ์ •์— ๋งž๋Š” @EventListener ๊ธฐ๋ฐ˜ ์ค‘๊ฐ„ ๋ ˆ์ด์–ด(์ˆ˜์‹ ยท๋ถ„๊ธฐ โ†’ ๋ผ์šฐํŒ… ํŒŒ์‚ฌ๋“œ โ†’ ์ „๋žต ํ•ธ๋“ค๋Ÿฌ)๋ฅผ ๋„์ž…ํ•˜๊ณ  ๋ฏธ์ง€์› ํŠธ๋ฆฌ๊ฑฐ ๋ฐฉ์–ด์šฉ ๊ธฐ๋ณธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋‘ , ์ดํ›„ ํ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค๊ณ„.
    • ์ค‘๋ณต ์ฐธ์—ฌ ๊ฒ€์ฆ๊ณผ ์‹ ยท๊ตฌ DB ๋™์‹œ ์ง€๊ธ‰ ์ •ํ•ฉ์œผ๋กœ ์ง€๊ธ‰ ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•˜๊ณ , ์ด๋ฒคํŠธ๊ฐ€ ์ถ”๊ฐ€๋ผ๋„ ํ•ธ๋“ค๋Ÿฌ๋งŒ ํ™•์žฅํ•˜๋ฉด ๋˜๋„๋ก ๊ฐœ๋ฐœ ๋น„์šฉ์„ ์ ˆ๊ฐ.

    ๊ทธ ์™ธ ๊ตฌ์กฐ ๊ฐœ์„  ยท ์„ฑ๋Šฅ ยท ์ž๋™ํ™”

    • ๊ถŒํ•œ ์ฒด๊ณ„(RBAC) ์ „ํ™˜: URL ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ์•”๋ฌต์  ๊ถŒํ•œ์„ @PreAuthorize ๊ธฐ๋ฐ˜ API ๋‹จ์œ„ ๋ช…์‹œ์  ๊ถŒํ•œ ์ฒด๊ณ„๋กœ ์žฌ์„ค๊ณ„, ์ผ๋ฐ˜ ์‚ฌ์šฉ์žยท์šด์˜์žยท์—ญํ• ๋ณ„ ๊ด€๋ฆฌ์ž๋ฅผ ํ•˜๋‚˜์˜ ๊ถŒํ•œ ๋ชจ๋ธ๋กœ ํ†ตํ•ฉ.
    • ํ™œ์„ฑ ํŠธ๋žœ์žญ์…˜ ๊ณ ๊ฐˆ ํ•ด์†Œ: ํŠธ๋ž˜ํ”ฝ ๋งŽ์€ ๋‹จ์ˆœ ์กฐํšŒ API๊ฐ€ ๋งค ์š”์ฒญ๋งˆ๋‹ค JTA(Atomikos) ํŠธ๋žœ์žญ์…˜์„ ์—ด์–ด ์ƒํ•œ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒ โ†’ ์กฐํšŒ๋ฅผ readOnly/ํŠธ๋žœ์žญ์…˜ ๋ฐ–์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ๋ณด์œ  ์‹œ๊ฐ„์„ ์ค„์—ฌ ์ธํ”„๋ผ ์ฆ์„ค ์—†์ด ์•ˆ์ •ํ™”.
    • PostgreSQL ์„ฑ๋Šฅ ๊ฐœ์„ : ์‹คํ–‰๊ณ„ํš ๋ถ„์„์œผ๋กœ ๋น„ํšจ์œจ ์กฐ๊ฑดยท์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ฑ์Šค ํ™œ์šฉ ์กฐ์ธ์œผ๋กœ ์žฌ์ž‘์„ฑํ•˜๊ณ  N+1 ์ œ๊ฑฐ โ†’ 1์ดˆ ์ด์ƒ ๊ฑธ๋ฆฌ๋˜ ๊ณ ํŠธ๋ž˜ํ”ฝ ์กฐํšŒ๋ฅผ ์ˆ˜ ms ์ˆ˜์ค€์œผ๋กœ ๋‹จ์ถ•.
    • DB ํ˜•์ƒ๊ด€๋ฆฌ Flyway ๋„์ž…: ์ˆ˜๊ธฐ SQL๋กœ ์ธํ•œ ํ™˜๊ฒฝ ๋ถˆ์ผ์น˜ยท๋ฐฐํฌ ์‹คํŒจ๋ฅผ ์ œ๊ฑฐ(FlywayยทLiquibase PoC ๋น„๊ต ํ›„ ์ฑ„ํƒ), ํŒ€ ํ‘œ์ค€์œผ๋กœ ์ •์ฐฉ.
    • ์šด์˜ ๊ฐ€์‹œ์„ฑ: ๋ฐฐ์น˜ ์‹คํŒจ ์‹œ ์ข…๋ฃŒ์ฝ”๋“œ๋กœ Jenkins ์‹คํŒจ ์•Œ๋žŒ์„ ๋ฐ›๋„๋ก ์—ฐ๋™ํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ๋ณด๊ฐ•ํ•ด ์‹คํŒจ ์ง€์ ์„ ๋น ๋ฅด๊ฒŒ ์ถ”์ , Spring Boot Actuator ๊ธฐ๋ฐ˜ ํ—ฌ์Šค์ฒดํฌ๋กœ DBยท๋””์Šคํฌ ๋“ฑ ์˜์กด์„ฑ ์ƒํƒœ๋ฅผ ๋…ธ์ถœ.

    MakinaRocks ยท Backend Engineer | 2022.10 ~ 2024.08

    ์ œ์กฐ ์„ค๋น„ ์ด์ƒํƒ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜(MRXray). ๋ชจํ„ฐ ์„ผ์„œ์˜ ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐยท์‹œ๊ฐํ™”ํ•˜๊ณ , ์ด์ƒํƒ์ง€ ๋ชจ๋ธ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ผ๋Ÿฟยท๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ œ๊ณต.

    MRXray ๊ณ ๋„ํ™”

    • ์ด์ƒํƒ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜์˜ ๋ฐฑ์—”๋“œ ์„ค๊ณ„ยท๊ตฌํ˜„ ๋ฐ DB ์„ค๊ณ„๋ฅผ ๋‹ด๋‹น. ์„ผ์„œ์˜ ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์—ฐ์‚ฐยท์‹œ๊ฐํ™”ํ•˜๊ณ , ์ด์ƒ ๊ฐ’ยทํ‘œ์ค€ ์ด์ƒ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ผ์„œ ์ด์ƒ ์ •๋„๋ฅผ ๊ณ„์‚ฐํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ œ๊ณต.
    • ํ‘œ์ค€ ๋ฃฐ๊ณผ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฃฐ๋กœ ์–ผ๋Ÿฟ์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , ๊ณ ์žฅ์ด ํƒ์ง€๋œ ์žฅ๋น„์˜ ์œ„์น˜ยท๋ฐ์ดํ„ฐยท์ ๊ฒ€ ์ด๋ ฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋„๋ก ๊ตฌํ˜„. ๊ณ ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ์†”๋ฃจ์…˜์— ๋ฒ”์šฉ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ธฐํšยท์„ค๊ณ„ยท๊ตฌํ˜„ํ•˜๊ณ  ํ”„๋ก ํŠธ ์—”์ง€๋‹ˆ์–ด์™€ UX/UI๋ฅผ ํ˜‘์˜.
    • ํ˜„์žฌ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์ตœ์†Œํ™”์™€ API ํ˜ธ์ถœ ๊ฐ์†Œ๋ฅผ ๊ณ ๋ คํ•ด ์„ค๊ณ„ํ•˜๊ณ , ์†”๋ฃจ์…˜ยท๋ณ‘ํ–‰ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด ์ฃผ์š” ๋„๋ฉ”์ธยท๊ณตํ†ต ๋กœ์ง์„ ์ฝ”์–ด ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ž„.

    MRXray ์ž๋ฐ” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

    • ์•ˆ์ •์„ฑยทํ™•์žฅ์„ฑยท๊ตฌ์ธ ๋“ฑ์˜ ์ด์œ ๋กœ ๊ฒฐ์ •๋œ Python/Django โ†’ Java/Spring Boot ์ „ํ™˜์—์„œ ๊ธฐ๋ณธ ๊ตฌ์กฐยท์Šค์ผˆ๋ ˆํ†ค ๊ตฌํ˜„๊ณผ API ๊ฐœ๋ฐœ(์•ฝ 80%)๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ฃผ๋„.
    • UX ๊ด€์ ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ •์˜ํ•ด ํ‰๋ฉด์ ์œผ๋กœ 170๊ฐœ์˜€๋˜ API๋ฅผ ์•ฝ 80๊ฐœ๋กœ ์ถ•์†Œ(ํ•œ ํŽ˜์ด์ง€ ์กฐํšŒ์— 20์—ฌ ๊ฐœ์”ฉ ๋‚˜๊ฐ€๋˜ ํ˜ธ์ถœ์„ 1๊ฐœ๋กœ), ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌยท๋ฏธ์‚ฌ์šฉ API๋ฅผ ์ •๋ฆฌ.
    • ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€ํ™”์— ๋งž์ถฐ DB ์Šคํ‚ค๋งˆ๋ฅผ ๋ฆฌํŒฉํ† ๋ง(๋ถˆํ•„์š” ์ปฌ๋Ÿผยท๋ฌด๋ถ„๋ณ„ํ•œ ์ธ๋ฑ์Šค/๋Œ€์ฒดํ‚ค ์ œ๊ฑฐ). ๋งค์ฃผ ๊ธˆ์š”์ผ์„ ๋ฆฌํŒฉํ† ๋งยทํ•™์Šต ์ ์šฉ์ผ๋กœ ์šด์˜ํ•˜๊ณ , ๊ฒฐ์ • ๋งฅ๋ฝ์„ ์ด์ŠˆยทPRยท๋…ธ์…˜์— ๊ธฐ๋กํ•ด ๋™๋ฃŒ๊ฐ€ ์–ธ์ œ๋“  ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.

    ๋ชจ๋ธ๋ง์šฉ ์›์ฒœ ๋ฐ์ดํ„ฐ ์ ์žฌ ํŒŒ์ดํ”„๋ผ์ธยทDB ์„ค๊ณ„

    • ๋ชจ๋ธ๋ง ํŒ€์ด ์‚ฌ์šฉํ•  ์›์ฒœ ๋ฐ์ดํ„ฐ DB๋ฅผ ๊ตฌ์ถ•. MDF ํŠน์ˆ˜ ํŒŒ์ผ ํฌ๋งท์„ ๋ถ„์„ํ•˜๊ณ  ML ์—”์ง€๋‹ˆ์–ด์™€ ํ˜‘์˜ํ•ด, ์ˆ˜์ง‘ ์‹œ๊ฐ์ด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์˜ ์‹œ๊ฐ„ ์ •ํ•ฉ์„ ๋งž์ถฐ ์›๋ณธ์„ ์ตœ๋Œ€ํ•œ ๋ณด์กดํ•˜๋ฉฐ ์ ์žฌ.
    • ์„ค์ • ๊ฒฝ๋กœ๋ฅผ ๊ฐ์‹œํ•˜๋‹ค MDF ํŒŒ์ผ์ด ๋“ค์–ด์˜ค๋ฉด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœยท์ ์žฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ , ์‚ฌ๋‚ด Kubernetes์— DB์™€ ํŒŒ์‹ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐํฌํ•ด ๋ชจ๋ธ๋ง ํŒ€์ด ์‚ฌ์šฉํ•˜๋„๋ก ํ•จ.

    ๋ฐ์ดํ„ฐ ์ด์ƒ ๋ชจ๋‹ˆํ„ฐ๋งยท์•Œ๋ฆผ ๊ฐœ๋ฐœ

    • ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ง‘๋˜์ง€ ์•Š์„ ๋•Œ ์„ผ์„œ DBยท์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ ๋“ฑ ์–ด๋А ์ง€์ ์ด ๋ฌธ์ œ์ธ์ง€ ๋‹ด๋‹น์ž๋ณ„๋กœ ์ผ์ผ์ด ํ™•์ธํ•ด์•ผ ํ•ด ๋Œ€์‘์ด ์ง€์—ฐ๋˜๋˜ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ .
    • ์‹ค์ œ DB์˜ ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ผ์ • ์‹œ๊ฐ„ ์ด์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค์ง€ ์•Š์œผ๋ฉด ๋‹ด๋‹น์ž์—๊ฒŒ Slack ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์Šค์ผ€์ค„๋Ÿฌ์— ๋“ฑ๋ก โ†’ ์ˆ˜์ง‘ ์ด์Šˆ ๋ฐœ์ƒ ์‹œ ๋ฌธ์ œ ์ง€์ ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ยท๋Œ€์‘ํ•˜๋„๋ก ํ•จ.

    ๋ถ„๋ฅ˜ ๋ชจ๋ธ ์„ฑ๊ณผ ์ง€ํ‘œ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœยท๊ฐœ์„ 

    • ์ด์ƒ ๊ฐ’์„ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๊ณ„์‚ฐํ•ด ๋ถ„๋ฅ˜ ๋ชจ๋ธ ์„ฑ๊ณผ ์ง€ํ‘œ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์กฐํšŒ ์‹œ์ ๋งˆ๋‹ค ์ฟผ๋ฆฌ๋กœ ๊ณ„์‚ฐํ•˜๋„๋ก 1์ฐจ ๊ฐœ๋ฐœํ–ˆ์œผ๋‚˜ DB ๋ถ€ํ•˜ยท์„ฑ๋Šฅ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒ.
    • ์ž„๊ณ„๊ฐ’์„ ๊ธฐ์ค€๊ฐ’์œผ๋กœ ๊ทœ์•ฝํ•˜๊ณ  ์กฐํšŒ ์‹œ ๊ณ„์‚ฐ ๋Œ€์‹  ์ด์ƒ ๊ฐ’ ์ ์žฌ ์‹œ์ ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ณ„์‚ฐํ•ด ํ†ต๊ณ„ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•˜๋„๋ก ๊ฐœ์„  โ†’ ํ•œ ๋‹ฌ ์น˜ ์กฐํšŒ ๊ธฐ์ค€ 5์ดˆ โ†’ 1์ดˆ ๋ฏธ๋งŒ์œผ๋กœ ๋‹จ์ถ•.

    ๋ฐ์ดํ„ฐ ์•„์นด์ด๋น™ ยท ๋ฐฐํฌ ์ž๋™ํ™” ยท ์žฅ์•  ๋Œ€์‘

    • ์ˆ˜์ง‘ ์›์ฒœ ๋ฐ์ดํ„ฐ๋ฅผ Parquet๋กœ ์••์ถ•ยท๋ณด๊ด€ํ•˜๋Š” ์•„์นด์ด๋น™ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•ด DB ์ €์žฅ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๊ณ  ํžˆ์Šคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ยท์ถ”๋ก ์šฉ์œผ๋กœ ๋ณด์กด.
    • GitHub ActionsยทDockerยทEC2 ๊ธฐ๋ฐ˜ ๋ธ”๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ๋กœ ๋นŒ๋“œยทํ…Œ์ŠคํŠธยท์ด๋ฏธ์ง€ ๋ฐฐํฌยท๋ฐฐํฌ๋ฅผ ๋‹จ์ผ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ํ†ตํ•ฉยท์ž๋™ํ™”.
    • ์šด์˜ ์žฅ์•  ์‹œ AWS EC2์—์„œ PostgreSQL ์ˆ˜๋™ ํŽ˜์ผ์˜ค๋ฒ„(์Šคํƒ ๋ฐ”์ด ์Šน๊ฒฉ)๋กœ ๊ฐ€์šฉ์„ฑ์„ ๋ณต๊ตฌ.

    ์œ ํ”Œ๋Ÿฌ์Šค์•„์ดํ‹ฐ(Uplus IT) ยท Software Engineer | 2021.09 ~ 2022.10

    ์ „๊ตญ๋ฏผ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ตญ์„ธ์ฒญ ํ™ˆํƒ์Šคยท์†ํƒ์Šค ์„ธ๊ธˆ ์‹ ๊ณ  ์„œ๋น„์Šค. ๊ฐœ๋ฐœ์ž 100๋ช… ์ด์ƒ ๊ทœ๋ชจ์˜ ์กฐ์ง.

    ํ™ˆํƒ์Šคยท์†ํƒ์Šค ์ข…ํ•ฉ์†Œ๋“์„ธ ์ผ๋ฐ˜์‹ ๊ณ ์„œ (21๊ท€์†) ์˜คํ”ˆ ๊ฐœ๋ฐœ

    • ์ข…ํ•ฉ์†Œ๋“์„ธ ์‹ ๊ณ ๋Š” ํ™ˆํƒ์Šค์—์„œ ํŠธ๋ž˜ํ”ฝยท์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ์‹ ์ž…์œผ๋กœ ํ•ฉ๋ฅ˜ํ–ˆ์ง€๋งŒ ์ด ํ•ต์‹ฌ ์‹ ๊ณ ์„œ์˜ ์˜คํ”ˆ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌ.
    • ์‹ ๊ณ  ์‹œ์ฆŒ์—๋Š” ์†ํƒ์Šค(๋ชจ๋ฐ”์ผ) ์›”๊ฐ„ ์‚ฌ์šฉ์ž๊ฐ€ ์ „์›” ๋Œ€๋น„ ์•ฝ 372๋งŒ ๋ช…(90~129%) ๊ธ‰์ฆํ•ด ํ•ด๋‹น ์›” ๊ตญ๋‚ด ์ „์ฒด ๋ชจ๋ฐ”์ผ ์•ฑ ์ค‘ ์‚ฌ์šฉ์ž ๊ธ‰์ƒ์Šน 1์œ„๋ฅผ ๊ธฐ๋กํ•  ๋งŒํผ ํŠธ๋ž˜ํ”ฝ์ด ํญ์ฆํ•˜๋Š” ์„œ๋น„์Šค.
    • ๋งค๋…„ ์˜คํ”ˆ ๋•Œ ๋ฐ์ดํ„ฐ ์ด์Šˆยท์—๋Ÿฌ๋กœ ๊ธด์žฅ์ด ํฐ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ, ์ „๋…„ ๋Œ€๋น„ ๋ณ€๊ฒฝ์ ์„ ๋ฏธ๋ฆฌ ์ ๊ฒ€ยท๊ณต์œ ํ•ด ๋ถˆํ•„์š”ํ•œ ์ž‘์—…์„ ์ค„์ด๊ณ  ํ…Œ์ŠคํŠธยท๊ฒ€์ฆ ์‹œ๊ฐ„์„ ํ™•๋ณด. ๋ณธ์ธ ์—…๋ฌด๋ฅผ ๊ธฐ๊ฐ„๋ณด๋‹ค ์ผ์ฐ ๋งˆ์นœ ๋’ค ๋ฉ”์ธ ์„œ๋น„์Šค ๋‹ด๋‹น ๋™๋ฃŒ์˜ ๋ฒ„๊ทธ๋ฅผ ํ•จ๊ป˜ ๋ถ„์„ํ•ด ์›์ธ์„ ๋น ๋ฅด๊ฒŒ ๊ทœ๋ช….
    • 5์›” ์‹ ๊ณ  1,000๋งŒ ๊ฑด์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๋™์•ˆ ์ด๋ก€์ ์œผ๋กœ ์•ˆ์ •์ ์ธ ์˜คํ”ˆ์ด๋ผ๋Š” ํ‰๊ฐ€๋ฅผ ๋ฐ›์Œ.

    ํ™ˆํƒ์Šคยท์†ํƒ์Šค ๊ทผ๋กœ์†Œ๋“์ž ๊ฒฝ์ •์ฒญ๊ตฌ (21๊ท€์†) ์˜คํ”ˆ ๊ฐœ๋ฐœ

    • 21๊ท€์† ์„ธ๋ฒ• ๊ฐœ์ •์— ๋งž์ถฐ ๊ทผ๋กœ์†Œ๋“์ž ๊ฒฝ์ •์ฒญ๊ตฌ ์‹ ๊ณ ์„œ์˜ ๊ณ„์‚ฐ๊ธฐ ํŒ์—…๊ณผ ๊ณ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœ.
    • ์ •๋ฆฌ๋˜์ง€ ์•Š์•„ ์žฌ์‚ฌ์šฉยท๋ณ€๊ฒฝ์ด ์–ด๋ ต๋˜ 7,000์ค„์ด ๋„˜๋Š” ๊ณ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฆฌํŒฉํ† ๋งํ•ด ์•ฝ 2,000์ค„๋กœ ์ •๋ฆฌ โ†’ ์ดํ›„ ์ฝ”๋“œ ๋ถ„์„ยท๋ณ€๊ฒฝ ์‹œ๊ฐ„์„ ๋‹จ์ถ•.
    • ํƒ€ ํŒ€์˜ ๋ฐ์ดํ„ฐยท์„œ๋น„์Šค์— ์˜์กดํ•ด ์›์ฒœ ๋ฐ์ดํ„ฐ ํŒŒ์•…์ด ์–ด๋ ค์› ์œผ๋‚˜ ๋จผ์ € ์ ๊ทน์ ์œผ๋กœ ์†Œํ†ตํ•ด ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ํŒŒ์•…, ์ด์ „ ๊ท€์†๋ณด๋‹ค 2์ฃผ ๋นจ๋ฆฌ ๊ตฌํ˜„์„ ์™„๋ฃŒ.

    ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋Œ€๋Ÿ‰ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ์ตœ์ ํ™”

    • 70๋งŒ ๊ฑด ์ด์ƒ์˜ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฐฐ์น˜๋ฅผ ์ž‘์€ ์‹คํ–‰ ๋‹จ์œ„๋กœ ๋ถ„ํ•  ์ฒ˜๋ฆฌํ•ด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋†’์ด๊ณ  DB ๋ถ€ํ•˜๋ฅผ ์ค„์ž„.

    ๊ธฐ์ˆ  ์Šคํƒ

    • ์–ธ์–ด/ํ”„๋ ˆ์ž„์›Œํฌ: Kotlin, Java, Python, Spring Boot, Spring Batch, Django
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๋ฉ”์‹œ์ง•: PostgreSQL, MySQL, RabbitMQ, Kafka
    • ์ธํ”„๋ผ/DevOps: AWS, Docker, Kubernetes, GitHub Actions, Jenkins, Flyway, Grafana, Sentry

    ์ž๊ฒฉ์ฆ / ์ˆ˜์ƒ

    • SQLD (SQL ๊ฐœ๋ฐœ์ž)
    • ์ „์‚ฌ ์šฐ์ˆ˜์‚ฌ์› ํฌ์ƒ (ํ•œ๋น›์•ค) ยท 2026๋…„ ์กฐ์ง ๊ฐœํŽธ์—์„œ ๊ณตํ†ต ์„œ๋น„์Šค ๊ฐœ๋ฐœํŒ€ ํŒ€์žฅ ์Šน์ง„

    ํ•™๋ ฅ

    ์ถฉ๋‚จ๋Œ€ํ•™๊ต ยท ์ˆ˜ํ•™ ํ•™์‚ฌ