๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Catch the Bugs Your Code Review Misses - Killian Carlsen-Phelan & Taylor Luttrell-Williams, Sonar

AI Engineer ยท 2026-10-30 08:00 ยท 38:07

ํ•œ ์ค„ ํ•ต์‹ฌ

AI๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์‚ฌ๋žŒ์ด ๋‹ค ๊ฒ€ํ† ํ•˜๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ์—์„œ, GitHub PR๊ณผ CI ์ปจํ…์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ž๋™ ๊ฒ€์ฆยท์ˆ˜์ •ยท๋ณ‘ํ•ฉํ•˜๋Š” Git Guardian/Gitar์˜ ์‹ค์ „ ์‚ฌ์šฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ์›Œํฌ์ˆ์ด๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    ์†Œ๊ฐœ Sonar์˜ ๊ฐœ๋ฐœ์ž ์ฝ˜ํ…์ธ  ํŒ€์ด AI ์ƒ์„ฑ ์ฝ”๋“œ์˜ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ์„œ ๋๋‚˜์ง€ ์•Š๊ณ , ์‹ค์ œ ๋ฐฐํฌ ์ „์— ๋น„ํŒ์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜ค๋Š˜์˜ ๋ชฉํ‘œ๋กœ ์ œ์‹œํ•œ๋‹ค.
  2. 0:39
    ๋ฌด๋ฃŒ ์ฒดํ—˜๊ณผ ์›Œํฌ์ˆ ์ €์žฅ์†Œ ์„ค์ • QR ์ฝ”๋“œ๋กœ 14์ผ Pro ์ฒดํ—˜์„ ์‹œ์ž‘ํ•˜๊ณ  ์ „์šฉ GitHub ์›Œํฌ์ˆ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•ด ๋ธŒ๋ผ์šฐ์ €๋งŒ์œผ๋กœ ๋”ฐ๋ผ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•œ๋‹ค. ์„ค์น˜๋œ GitHub App๊ณผ ์ €์žฅ์†Œ ์„ค์ •์ด ์žˆ์–ด์•ผ ์ž๋™ ๊ฒ€์ฆ, ์ž๋™ ๋ณ‘ํ•ฉ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‹ค์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. 4:19
    ๋ˆ„๊ฐ€ ์—์ด์ „ํŠธ๊ฐ€ ์“ด ์ฝ”๋“œ๋ฅผ ๊ฒ€์ฆํ•˜๋Š”๊ฐ€ AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŽ์ด ๋งŒ๋“ค์ˆ˜๋ก ๋ฆฌ๋ทฐ ๋ณ‘๋ชฉ๊ณผ ์šด์˜ ์žฅ์• ๊ฐ€ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ, ๋” ๋น ๋ฅด๊ณ  ๋” ์ •ํ™•ํ•œ ๊ฒ€์ฆ ๊ณ„์ธต์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ์งš๋Š”๋‹ค. ๋‹จ์ˆœํ•œ ๋ฌธ๋ฒ•ยท์ •์  ๋ถ„์„๋งŒ์œผ๋กœ๋Š” ์˜๋„์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™ ์œ„๋ฐ˜์„ ์žก๊ธฐ ์–ด๋ ต๋‹ค.
  4. 6:46
    Gitar๊ฐ€ ํ•˜๋Š” ์ผ Gitar๋Š” PR diff, ์ฝ”๋ฉ˜ํŠธ, CI ๋กœ๊ทธ, ํ”„๋กœ์ ํŠธ๋ณ„ ์ง€์นจ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ๋ชจ์•„ ๋ณ€๊ฒฝ์„ ๊ฒ€์ฆํ•˜๊ณ , ์‹คํŒจ ์›์ธ์„ ์ง„๋‹จํ•˜๋ฉฐ, ํ•„์š”ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ˆ˜์ •๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋†’์€ ์‹ ํ˜ธ ๋Œ€ ์žก์Œ๋น„์™€ ๋ฐ˜๋ณต ๊ฒ€์ฆ, ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•œ ํˆฌ๋ช…์„ฑ์ด ํ•ต์‹ฌ ๊ฐ€์น˜๋กœ ์ œ์‹œ๋œ๋‹ค.
  5. 10:30
    ์‹ค์Šต: ์ €์žฅ์†Œ ํฌํฌํ•˜๊ธฐ ์›Œํฌ์ˆ ์ €์žฅ์†Œ๋ฅผ ์ž์‹ ์˜ ์กฐ์ง ์•„๋ž˜๋กœ ํฌํฌํ•˜๊ณ , main๋งŒ ๋ณต์‚ฌํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•˜๋ฉฐ, GitHub Actions์™€ Gitar ๋Œ€์‹œ๋ณด๋“œ ์„ค์ •์„ ๋งž์ถ˜๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ์ž๋™ ๋จธ์ง€์™€ ์Šน์ธ, ๊ทธ๋ฆฌ๊ณ  ํฌํฌ๋œ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ Gitar์˜ ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์ •์ƒ ๋™์ž‘ํ•œ๋‹ค.
  6. 12:43
    Box Office ๋ฐ๋ชจ ์•ฑ Box Office๋Š” ํ‹ฐ์ผ“ ๊ตฌ๋งคยท์ทจ์†Œยทํ™˜๋ถˆ๊ณผ QR ์ฒดํฌ์ธ์„ ๋‹ค๋ฃจ๋Š” ๊ฐ„๋‹จํ•œ Python ์˜ˆ์ œ์ด๋ฉฐ, ๊ฐ ๋ธŒ๋žœ์น˜๋ณ„ PR์„ ๋ฏธ๋ฆฌ ์—ด์–ด Gitar ๊ฒ€ํ† ๋ฅผ ๋ณ‘๋ ฌ๋กœ ๋Œ๋ฆฐ๋‹ค. ์‹ค์Šต์€ fork๋ฅผ ๊ธฐ์ค€ ์ €์žฅ์†Œ๋กœ ์‚ผ์•„์•ผ ํ•˜๋ฉฐ, ํ…Œ์ŠคํŠธ๋Š” ๊ฐ PR๋งˆ๋‹ค CI๋กœ ์‹คํ–‰๋œ๋‹ค.
  7. 15:43
    ์ฒซ ๋ฒˆ์งธ PR: diff ๋ฐ–์— ์ˆจ์–ด ์žˆ๋Š” ๋ฒ„๊ทธ ํ‹ฐ์ผ“์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋„˜๊ธด ๋’ค ์›๋ž˜ ๊ตฌ๋งค์ž๊ฐ€ ์ทจ์†Œํ•ด ๋ฒ„๋ฆฌ๋ฉด ์นœ๊ตฌ์˜ ํ‹ฐ์ผ“๊นŒ์ง€ ๋ฌดํšจ๊ฐ€ ๋˜๋Š” ์—ฃ์ง€ ์ผ€์ด์Šค๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. diff์— ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š๋”๋ผ๋„ ๊ธฐ์กด ํ™˜๋ถˆ ๋กœ์ง๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ฝ์–ด๋‚ด์–ด, ์‹ค์ œ๋กœ ๊นจ์ง€๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋™์ž‘์„ ์ฐพ์•„๋‚ธ๋‹ค.
  8. 20:08
    ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ ์ ์šฉ ๋ฒ„ํŠผ์ด๋‚˜ `Guitar fix` ์ฝ”๋ฉ˜ํŠธ๋งŒ์œผ๋กœ ์ƒˆ ์ปค๋ฐ‹์„ ๋งŒ๋“ค๊ณ , ์ดํ›„ ๊ฒ€์ฆ๊ณผ ์žฌ์‹œ๋„๋ฅผ ์ž๋™์œผ๋กœ ๋ฐ˜๋ณตํ•ด PR์ด ๋‹ค์‹œ ๋…น์ƒ‰์ด ๋˜๋„๋ก ํ•œ๋‹ค. ์‹คํŒจ ์ง„๋‹จ, ์žฌํ‘ธ์‹œ, ์žฌ๊ฒ€์ฆ์˜ ๋ฐ˜๋ณต์„ ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  9. 22:07
    ๋‘ ๋ฒˆ์งธ PR: ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ๋ชจ๋“  ํ‘œ์‹œ ๊ฐ€๊ฒฉ์€ all-in price์—ฌ์•ผ ํ•œ๋‹ค๋Š” ํšŒ์‚ฌ ๊ทœ์น™์ฒ˜๋Ÿผ ์ฝ”๋“œ์— ์ง์ ‘ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š๋Š” ์ •์ฑ…์„ `.gitar/review`์™€ `.gitar/rules`๋กœ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€๊ฒฉ ๊ด€๋ จ ํ•„๋“œ๋ฅผ ํŽธ์ง‘ํ•œ PR์—์„œ ๊ณ ๊ฐ์—๊ฒŒ ๋ณด์ด๋Š” ๊ฐ’์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š”์ง€ ๊ฒ€์‚ฌํ•ด, ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ๋งž์•„๋„ ์‚ฌ์—…์ƒ ํ‹€๋ฆฐ ๋ณ€๊ฒฝ์„ ๊ฑธ๋Ÿฌ๋‚ธ๋‹ค.
  10. 26:36
    ์„ธ ๋ฒˆ์งธ PR: CI ์‹คํŒจ ์ง„๋‹จ๊ณผ ์ž๋™ ๋ณ‘ํ•ฉ ๋ธŒ๋žœ์น˜ ๊ทœ์น™๊ณผ ์ƒํƒœ ์ฒดํฌ๋ฅผ ์„ค์ •ํ•ด ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•ด์•ผ๋งŒ ์ž๋™ ๋ณ‘ํ•ฉ๋˜๋„๋ก ํ•œ ๋’ค, ์‹คํŒจํ•œ CI ๋กœ๊ทธ๋ฅผ ์ฝ์–ด ์Šค์บ” ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง์˜ ๊ฒฐํ•จ์„ ์ฐพ์•„๋‚ธ๋‹ค. `guitar auto apply on`๊ณผ `guitar auto merge on`์„ ์ผœ๋ฉด ์ˆ˜์ •๊ณผ ๊ฒ€์ฆ, ๋ณ‘ํ•ฉ๊นŒ์ง€ ํ•œ ํ๋ฆ„์œผ๋กœ ์ž๋™ํ™”๋œ๋‹ค.
  11. 33:24
    ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ: ์ €์žฅ์†Œ ๊ฐ„ยทPR ๊ฐ„ ๋ถ„์„ Jira, linear, Slack ๊ฐ™์€ ์™ธ๋ถ€ ๋งฅ๋ฝ์„ ์—ฐ๊ฒฐํ•ด ๋ณ€๊ฒฝ์ด ์‹ค์ œ ํ‹ฐ์ผ“๊ณผ ๋งž๋Š”์ง€ ๊ฒ€์ฆํ•˜๊ณ , ํ”ผ๋“œ๋ฐฑ๊ณผ ๋ฆฌ๋ทฐ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ํ•™์Šตํ•ด ๋” ์ •๊ตํ•œ ํŒ๋‹จ์„ ๋งŒ๋“ ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ๋‚˜ ์ง„ํ–‰ ์ค‘์ธ ์—ฌ๋Ÿฌ PR ์‚ฌ์ด์˜ ์ƒํ˜ธ ์ถฉ๋Œ๊นŒ์ง€ ๋ถ„์„ํ•ด, ๊ฐœ๋ณ„ PR์€ ํ†ต๊ณผํ•˜์ง€๋งŒ ํ•จ๊ป˜ ๋„ฃ์œผ๋ฉด ๊นจ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์ฐพ๋Š”๋‹ค.
  12. 36:54
    ์งˆ์˜์‘๋‹ต MCP ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ ์—ฌ๋ถ€์™€ knowledge ๊ธฐ๋Šฅ์˜ ์ฐจ์ด์ฒ˜๋Ÿผ, ์™ธ๋ถ€ ์ปจํ…์ŠคํŠธ ์ˆ˜์ง‘ ๋ฐฉ์‹๊ณผ ๋ฆฌ๋ทฐ ์„ฑํ–ฅ์„ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์˜ ๊ฒฝ๊ณ„๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. knowledge๋Š” Gitar๊ฐ€ ์•ž์œผ๋กœ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •ํ• ์ง€์— ๋Œ€ํ•œ ์„ ํ˜ธ๋ฅผ ์ €์žฅํ•˜๋Š” ์ชฝ์— ๊ฐ€๊น๊ณ , ์™ธ๋ถ€ ์—ฐ๋™์€ ๋ณ„๋„์˜ ํ†ตํ•ฉ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ํ™•์žฅ๋œ๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

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