๐ŸŒฑ
๋ชฉ๋ก์œผ๋กœ
POST

๋น„๊ฐœ๋ฐœ์ž์˜ ํด๋กœ๋“œ ์ฝ”๋“œ ์‚ฝ์งˆ ํ›„๊ธฐ - ๋ชจ๋ฐ”์ผ ์•ฑ, ๋ธ”๋กœ๊ทธ, ์Šฌ๋ž™ ๋ด‡ ๋“ฑ๋“ฑ (1ํŽธ)

2026.01.23vibe PMing

์˜ฌํ•ด ํšŒ์‚ฌ์—์„œ AI ์„œ๋น„์Šค๋ฅผ ํ†ตํ•œ ์›Œํฌ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ถ”์ง„ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ, ๊ทธ๋™์•ˆ์€ chatGPT๋ž‘ ์†Œ์†Œํ•œ ์žก๋‹ด ๋‚˜๋ˆ„๊ณ  ๋งˆ์ผ€ํŒ…์ด๋‚˜ ์นดํ”ผ๋ผ์ดํŒ… ์ •๋„๋งŒ ์ˆ˜ํ–‰ํ•˜๋˜ ๋‚˜์—๊ฒŒ Claude Code๋ผ๋Š” ์ƒˆ๋กœ์šด ์„ธ๊ณ„๊ฐ€ ์—ด๋ฆฌ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋‚˜์˜ ๊ฐœ๋ฐœ ์ง€์‹์€ ์‚ฌ์‹ค์ƒ ์—†๋‹ค๊ณ  ๋ณด๋ฉด ๋จ ใ…Žใ…Ž ๊ทธ๋ƒฅ ๊ฐ€๋” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋“ค์€ ๊นŒ๋ณด๊ณ  ์œ ์ถ”ํ•ด์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋„..? ํ˜น์€ ์–ด๋–ป๊ฒŒ ๋ณด๋Š”์ง€ ํ•œ๋ฒˆ ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šด ํŒŒ์ผ๋“ค์€ ๋‚ด๊ฐ€ ์ง์ ‘ ๊ฐœ๋ฐœ์€ ๋ชปํ•ด๋„ ๋Œ€๊ฐ• ๊ตฌ์กฐ ํŒŒ์•…๊ณผ ์›ํ•˜๋Š” ์ •๋ณด ์บ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋„?

์ง์ ‘ ๊ฐœ๋ฐœํ•˜๋ผ -> ์ด๊ฑด ์•„๋ฌด๊ฒƒ๋„ ๋ชปํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์‹ค์ œ๋กœ ์ด๋ฒˆ์— ํด๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ์ผ์ฃผ์ผ๊ฐ„ ์‚ฝ์งˆํ•˜๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ์ปค๋งจ๋“œ๋Š” cd ~ ์ด๋Ÿฐ ๊ฑฐ ์ •๋„๊ฐ€ ๋‹ค์ž„ ^_^*

์—ฌํ•˜ํŠผ ๊ฒฐ๋ก ์ ์œผ๋กœ ์ผ์ฃผ์ผ๊ฐ„ ํด๋กœ๋“œ์™€ ์ง„๋Œ€ํ•˜๋ฉด์„œ ๋А๋‚€ ๊ฒƒ์€ ์ด๋ ‡๋‹ค. (์ฐธ๊ณ ๋กœ ๋‚ด๊ฐ€ ์“ด ํ”Œ๋žœ์€ Max๋‹ค.)

  • AI ์‹œ๋Œ€๊ฐ€ ์˜ค๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž๋ฆฌ๋ฅผ ์žƒ๋Š” ๊ฑฐ ์•„๋‹ˆ๋ƒ ์ด๋Ÿฐ ๊ณ ๋ฏผ๋“ค์„ ๋“ค์€ ๊ฒƒ ๊ฐ™์€๋ฐ ๊ฐœ์ธ์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ ˆ๋Œ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค..
  • ์†”์งํžˆ ์•„์˜ˆ IT ๊ด€๋ จ ์ง€์‹์ด ์—†๋Š” ์‚ฌ๋žŒ์ด ๋ญ”๊ฐ€๋ฅผ ๋š๋”ฑ ๋งŒ๋“ค๊ธฐ์—๋Š” ์•„์ง์€ ํž˜๋“ค๋‹ค. ๋‚˜๋„ IT ์†Œํ”„ํŠธ์›จ์–ด PM 4๋…„์ฐจ๋‹ˆ๊นŒ ๊ทธ๋‚˜๋งˆ ๊ธฐ๋ณธ์ ์ธ ์ง€์‹์ด ์žˆ์–ด์„œ ์ง‘์š”ํ•œ ๋Œ€ํ™”๋กœ ๋ญ”๊ฐ€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋“ฏ ํ•จ... ์ •๋ง ์‹œ๊ฐ„ ๋งŽ์ด ๋“ค์ด๊ณ  ๊ณต๋ถ€๋„ ํ•˜๋ฉด์„œ ํ•˜๋ฉด ๊ฐ€๋Šฅํ• ์ง€๋„.
  • ํด๋กœ๋“œ ์ฝ”๋“œ๋Š” QA๋Š” ์ •๋ง ๋ชปํ•œ๋‹ค. ์ง€๊ฐ€ ๊ตฌํ˜„ํ•ด๋‘” ์ฝ”๋“œ(๋กœ์ง)์— ์—๋Ÿฌ๊ฐ€ ์—†๋Š”์ง€ ๋ฒ„๊ทธ๋Š” ์—†๋Š”์ง€ ๋“ฑ์€ ์ž˜ ํ™•์ธํ•˜๋Š”๋ฐ, ์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ๋Œ๋ ค๋ณด๋ฉด ์ง„์งœ ์ธ๊ฐ„์ด๋ผ๋ฉด ํ•  ์ˆ˜ ์—†๋Š” ํฐ UI/UX ๊ฒฐํ•จ์ด ๋งŽ์ด ๋ฐœ๊ฒฌ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ์ƒˆ๋ผ ํ•œ 30%๋งŒ ๋งŒ๋“ค์–ด๋†“๊ณ  ์ง€๊ธˆ ๋‚˜ํ•œํ…Œ ์งฌ์ฒ˜๋ฆฌํ•˜๋„ค.. ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Œ ^_^
  • ์–ด์ฐŒ๋˜์—ˆ๋“  ๋งŒ๋“ค๊ณ  ๋‚˜์„œ ๊ฒ‰๋ณด๊ธฐ์— ๋ฒ„๊ทธ/์—๋Ÿฌ ์—†์ด ๋Œ์•„๊ฐ€๋Š” ๋ญ”๊ฐ€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธด ํ•œ๋ฐ ์ฝ”๋“œ๋ฅผ ์–˜๊ฐ€ ์ž˜ ์ง ๊ฑด์ง€(?) ์ด๋Ÿฐ๊ฑด ๋‚ด๊ฐ€ ํ‰๊ฐ€๋ฅผ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ฐœ๋ฐœ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜(?)

์—ฌํ•˜ํŠผ ๋ญ ๊ฐœ๋ฐœ ํ•œ์ค„ ํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ์— ์„ฑ๊ณตํ–ˆ์œผ๋‹ˆ ๋‚˜๋Š” ์ด ์‚ฝ์งˆ ํ–‰์œ„๋ฅผ ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ์ด ์•„๋‹ˆ๋ผ ๋ฐ”์ด๋ธŒ PMing ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ํด๋กœ๋“œ๋ž‘ ๊ฑฐ์นœ ์ผ๋ จ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์†”์งํžˆ ๋‚ด๊ฐ€ PM์œผ๋กœ ์ผํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ž‘ ๊ฑฐ์˜ ๋‹ค๋ฅด์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ..

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

vibe PMing ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ค€๋น„๋ฌผ์€ 1) ์ •๋ง์ •๋ง ๊ธฐ์ดˆ๋ ˆ๋ฒจ์˜ IT ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๋•์…˜ ์ง€์‹๊ณผ 2) ๋ฏธ์นœ ์ง‘์š”ํ•จ๊ณผ 3) ์ธ๋‚ด์‹ฌ์ด๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๋ฅผ ๊ฐ–์ท„๋‹ค๋ฉด ๋‹น์‹ ์€ ์ด์ œ ๋ฌด์—‡์ด๋“  ์ ์–ด๋„ UI/UX ์ƒ์—์„  ๊ธฐ๋Šฅ์  ๋ฒ„๊ทธ๊ฐ€ ์—†๋Š” MVP ์ˆ˜์ค€์œผ๋กœ๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์ง€๋‚œ ์ผ์ฃผ์ผ๊ฐ„ ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•ด๋ณธ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. 50๋Œ€ ์ด์ƒ์˜ ์‹œ๋‹ˆ์–ด๋“ค์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹๋‹จ ์ถ”์ฒœ ๋ชจ๋ฐ”์ผ ์•ฑ
  2. ๋ฆฌ๋‹ˆ์–ด(์šฐ๋ฆฌ ํšŒ์‚ฌ์—์„œ ์“ฐ๋Š” ํƒœ์Šคํฌ ๋งค๋‹ˆ์ง€๋จผํŠธ ํˆด)์˜ ํ‹ฐ์ผ“ ๋‚ด์šฉ์„ ๋Œ“๊ธ€์— /translate์„ ๋‚จ๊ธฐ๋ฉด ์˜->ํ•œ, ํ•œ-> ์˜ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ๋ด‡
  3. 54์ผ์˜ 5๋‹จ ๋ฌต์ฃผ๊ธฐ๋„๋ฅผ ๋„์™€์ฃผ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ
  4. ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ (์ง€๊ธˆ ์ด ์‚ฌ์ดํŠธ! >.<)
  5. ์›นํ”Œ๋กœ์šฐ์—์„œ CMS ์•„์ดํ…œ๋“ค์„ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์Šฌ๋ž™๋ด‡

๊ทธ๋Ÿผ ๊ฐ ํ”„๋กœ๋•ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ์— ์–ด๋–ค ์‚ฝ์งˆ์„ ๊ฑฐ์ณค๋Š”์ง€ ๊ธฐ์ˆ ํ•ด๋ณด๊ฒ ๋‹ค.

50๋Œ€ ์ด์ƒ ์‹œ๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์‹๋‹จ ์ถ”์ฒœ ๋ชจ๋ฐ”์ผ ์•ฑ '๋ฐฅ์‹ฌ'

์†”์งํžˆ ์ œ์ผ ์ฒ˜์Œ ๊ฐœ๋ฐœ ์‹œ๋„ํ•ด๋ณธ ์•ฑ์ด ์ด๊ฑฐ์˜€๋Š”๋ฐ ์ด๊ฒŒ ์ข€ ๋นก์…Œ๋˜ ์ .. ๋‚˜์˜ ํŒจ๊ธฐ๋กœ์›€์— ํ•œ ๋ฐฉ ๋งž์Œ

ํ•ต์‹ฌ ์„ค๊ณ„ ๊ฒฐ์ •

๋ฐฅ์‹ฌ์€ ํฐ ํ‹€์—์„œ 50๋Œ€ ์ด์ƒ ์‹œ๋‹ˆ์–ด ์œ ์ €๊ฐ€ ์—ฐ๋ น๋Œ€, ์‹ ์ฒด ์ •๋ณด (ํ‚ค, ๋ชธ๋ฌด๊ฒŒ), ๊ทธ๋ฆฌ๊ณ  ์งˆํ™˜์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ์— ๋”ฐ๋ผ ๋งค์ผ๋งค์ผ์˜ ์‹๋‹จ์„ ์•„์นจ, ์ ์‹ฌ, ์ €๋…์œผ๋กœ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์•ฑ์ด์—ˆ๋‹ค.

  • ์—ฐ๋ น๋Œ€/์„ฑ๋ณ„๋ณ„ ์นผ๋กœ๋ฆฌ ๊ธฐ์ค€: 2020 ํ•œ๊ตญ์ธ ์˜์–‘์†Œ ์„ญ์ทจ๊ธฐ์ค€ ์ ์šฉ

50๋Œ€ ๋‚จ์„ฑ 2,200kcal / ์—ฌ์„ฑ 1,800kcal

60๋Œ€ ๋‚จ์„ฑ 2,000kcal / ์—ฌ์„ฑ 1,600kcal

70๋Œ€+ ๋‚จ์„ฑ 1,900kcal / ์—ฌ์„ฑ 1,600kcal

  • ์งˆํ™˜๋ณ„ ์˜์–‘ ์ œํ•œ: ๊ณ ํ˜ˆ์••(์ €๋‚˜ํŠธ๋ฅจ), ๋‹น๋‡จ(์ €๋‹น), ์‹ ์žฅ์งˆํ™˜(์ €๋‹จ๋ฐฑ) ๋“ฑ ์ƒ์ถฉํ•˜๋Š” ์กฐ๊ฑด๋„ ๊ณ ๋ คํ•ด์„œ ์ถ”์ฒœํ•˜๊ฒŒ ํ•  ๊ฒƒ

  • 50+ UX ํŠนํ™”: ํฐ ๊ธ€์”จ, ๋†’์€ ๋ช…์•”๋น„, ํ„ฐ์น˜ ์˜์—ญ ์‚ฌ์ด์ฆˆ ๊ณ ๋ ค

  • ์„ธ๋ถ€์ ์œผ๋กœ ๊ณ ๋ คํ•œ ๊ฒƒ: ์˜ค๋Š˜์˜ ์‹๋‹จ ์™ธ์—๋„ ์ด์ „ 7์ผ, ์ดํ›„ 7์ผ์˜ ์ด 15์ผ์˜ ์‹๋‹จ์„ ํ™”์‚ดํ‘œ๋กœ ์ด๋™ํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ, ์›ํ•˜์ง€ ์•Š๋Š” ์‹๋‹จ์ธ ๊ฒฝ์šฐ ์•„์นจ, ์ ์‹ฌ, ์ €๋…๋ณ„๋กœ ๋ฒ„ํŠผ ํ•˜๋‚˜๋งŒ ๋ˆŒ๋Ÿฌ์„œ ๋‹ค์‹œ ์‹๋‹จ์„ ์ถ”์ฒœ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ, db์— ์žˆ๋Š” ์‹๋‹จ๋“ค์ด ์„œ๋กœ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ์šฐ์„  ์นผ๋กœ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๊ฒƒ์„ ์œ„์ฃผ๋กœ ์ถ”์ฒœํ•˜๊ฒŒ ํ•˜๊ธฐ, ๊ฐ ์Œ์‹๋ณ„ ์˜์–‘์ •๋ณด์™€ ๋ ˆ์‹œํ”ผ๋ฅผ ์ œ๊ณตํ•˜๊ฒŒ ํ•˜๊ธฐ

  • iOS, Android๋ฅผ ๋™์‹œ์— ์ง€์›ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ Flutter๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์ ์ธ ๋””์ž์ธ๋„ Flutter library ๊ฐ–๋‹ค ์“ฐ๋ผ๊ณ  ํ–ˆ๊ณ , ํฐํŠธ๋Š” ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ํ”„๋ฆฌํ…๋‹ค๋“œ ์“ฐ๋ผ๊ณ  ํ•จ.

  • ๊ทธ๋ฆฌ๊ณ  ์œ ์ €๊ฐ€ ํŠน์ • ๋ ˆ์‹œํ”ผ๊ฐ€ ๋งˆ์Œ์— ๋“ค์—ˆ์„ ๋•Œ ์ €์žฅํ•ด๋‘๊ณ  ์‹ถ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•จ

๋ฐ์ดํ„ฐ ์„ค๊ณ„์˜ ๊ณ ๋ฏผ

์ผ๋‹จ ๊ฐ€์žฅ ๊ณ ๋ฏผ์ด ์ฒ˜์Œ์— ๋˜์—ˆ๋˜ ๋ถ€๋ถ„์€ ์‹๋‹จ ๋ฐ์ดํ„ฐ์™€ ์˜์–‘ ์ •๋ณด๋ฅผ ์–ด๋””์„œ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ด๋ƒ์˜€๋‹ค. ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ ์‹ํ’ˆ์•ˆ์ „๋‚˜๋ผ์˜ DB๋ฅผ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, api key๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„  ์‚ฌ์ดํŠธ์— ๊ฐ€์ž…์„ ํ•ด์•ผ๋งŒ ํ–ˆ๋‹ค. ๊ทผ๋ฐ ์‚ฌ์ดํŠธ๊ฐ€ ํ›„์ ธ์„œ(?) ๊ฐ€์ž…์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•จ. ๊ทธ๋ž˜์„œ ํ•ด๋‹น ์‚ฌ์ดํŠธ ๋‚ด์— ์–ด๋”˜๊ฐ€์— ๊ฒŒ์‹œ๋˜์–ด ์žˆ์—ˆ๋˜ ์—‘์…€ ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ํ•™์Šต์‹œ์ผฐ๋‹ค. ์‹ํ’ˆ์•ˆ์ „๋‚˜๋ผ DB์—๋Š” ์ด 19,495๊ฑด์˜ ์Œ์‹ ์˜์–‘ ์ •๋ณด๊ฐ€ ๋“ฑ๋ก๋˜์–ด์žˆ๋‹ค.

  • ์žฅ์ : ์ •๋ถ€ ๊ณต์ธ ์˜์–‘์„ฑ๋ถ„ ๋ฐ์ดํ„ฐ, ํ•œ๊ตญ ์Œ์‹ ํŠนํ™”
  • ๋‹จ์ : ๋ ˆ์‹œํ”ผ(์กฐ๋ฆฌ๋ฒ•) ์—†์Œ -> ์—ฌ๊ธฐ์„œ ๋ ˆ์‹œํ”ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Ÿผ ์–ด๋””์„œ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์ด ์ƒ๊น€

๊ทธ ๊ณผ์ •์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋น„์Šทํ•œ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ ๊ฒƒ์„ ๋ฐœ๊ฒฌ, ๋งŒ๊ฐœ์˜ ๋ ˆ์‹œํ”ผ๋ฅผ ํฌ๋กค๋งํ•˜๋ฉด ๋˜๊ฒ ๊ตฌ๋‚˜! ๋ผ๋Š” ๊นจ๋‹ฌ์Œ์„ ์–ป๊ฒŒ ๋จ. (๋ˆ„๊ตฐ์ง€ ๋ชจ๋ฅด์ง€๋งŒ ์••๋„์  ๊ฐ์‚ฌ..) ์€ํ˜œ๋กญ๊ฒŒ๋„ ์ฝ”๋“œ๊นŒ์ง€ ๋‚จ๊ฒจ์ฃผ์…จ๋Š”๋ฐ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ฑฐ๋ž‘ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ์„ ๊ฑฐ ๊ฐ™์•„์„œ ๊ทธ๋ƒฅ ์ฝ”๋“œ๋ฅผ ๊ฐ–๋‹ค ์“ฐ์ง„ ์•Š๊ณ  Claude Code๋ฅผ ๊ฐœํŒจ์„œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋กœ์ง์œผ๋กœ ์ฝ”๋”ฉํ•˜๋ผ๊ณ  ์‹œํ‚ด

  • ์žฅ์ : ์ƒ์„ธํ•œ ์กฐ๋ฆฌ๋ฒ•, ์žฌ๋ฃŒ ๋ชฉ๋ก
  • ๋‹จ์ : ์˜์–‘์ •๋ณด ๋ถˆ์™„์ „, ๊ฐ™์€ ์Œ์‹์˜ ๋ ˆ์‹œํ”ผ๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ฒ€์ƒ‰ ๋กœ์ง์ด ๋ณต์žกํ•ด์กŒ์Œ

๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ†ตํ•ฉ ๋ฌธ์ œ (๊ฝค ๊นŒ๋‹ค๋กœ์› ๋˜ ์ด์Šˆ)

๋‘ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ํ†ตํ•ฉํ•˜๋ฉด์„œ ID ์ฒด๊ณ„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ. ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜ ๊ตฌ๋ถ„์„ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ๋‚˜์ค‘์— ๊ฒ€์ƒ‰ ๋กœ์ง์ด๋‚˜ ์ด๋Ÿฐ ๊ฑธ ๊ตฌํ˜„ํ•  ๋•Œ ํŽธํ•  ๊ฑฐ ๊ฐ™์•„์„œ id์— ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์—ฌ์•ผ ํ–ˆ์Œ.

//FoodData (์‹ํ’ˆ์•ˆ์ „๋‚˜๋ผ ์›๋ณธ)
id: "D101-004160000-0001"

// UnifiedFood (ํ†ตํ•ฉ ๋ชจ๋ธ)
id: "fsk_D101-004160000-0001"  // fsk_ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€

๊ทผ๋ฐ ์ด ๊ณผ์ •์—์„œ ๋ ˆ์‹œํ”ผ ํ™”๋ฉด์—์„œ id ๋งค์นญ์ด ๊ณ„์† ์‹คํŒจํ•ด์„œ ์ด๊ฑธ ๋””๋ฒ„๊น… ํ•˜๋Š” ๋ฐ์—๋„ ์ข€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Œ

๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ณผ์ •

(์ด๊ฒƒ๋„ ํ•œ์„ธ์›” ๊ฑธ๋ ธ๋˜..)

  • ๊ฑด๊ฐ• ๊ธฐ๋ฐ˜ ์Œ์‹ ์ ์ˆ˜ ์‹œ์Šคํ…œ :๊ฐ€์žฅ ๋งŽ์ด ๊ณ ๋ฏผํ–ˆ๋˜, ๊ทธ๋ฆฌ๊ณ  ํด๋กœ๋“œ์™€์˜ ์ง„๋Œ€๋ฅผ ๊ฐ€์žฅ ์˜ค๋ž˜ํ•ด์•ผ ํ–ˆ๋˜ ๊ฒƒ ์ค‘์— ํ•˜๋‚˜์˜€๋Š”๋ฐ ์œ ์ €์˜ ์‹ ์ฒด์ •๋ณด, ์งˆํ™˜์ •๋ณด, ์—ฐ๋ น๋Œ€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”์ฒœํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ์Šค์ฝ”์–ด๋ง์„ ํ• ์ง€์— ๋Œ€ํ•œ ์„ค๊ณ„์˜€๋‹ค.

  • ์ ์ˆ˜ ์‚ฐ์ • ๋กœ์ง (0~100์ ):

๊ธฐ๋ณธ ์ ์ˆ˜: 50์ 

์˜์–‘์†Œ ์ ์ˆ˜: ๋‹จ๋ฐฑ์งˆ, ์‹์ด์„ฌ์œ , ๋ฏธ๋Ÿ‰์˜์–‘์†Œ

์งˆํ™˜๋ณ„ ๋งž์ถค ์ ์ˆ˜: ๊ณ ํ˜ˆ์••(๋‚˜ํŠธ๋ฅจโ†“), ๋‹น๋‡จ(๋‹น๋ฅ˜โ†“), ๊ณจ๋‹ค๊ณต์ฆ(์นผ์Š˜โ†‘) ๋“ฑ ๊ณ ๋ ค -> ์ด๊ฒŒ ๊นŒ๋‹ค๋กœ์› ๋Š”๋ฐ ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์œ ์ €๊ฐ€ ์ €์ฒด์ค‘์ธ๋ฐ ๊ณ ์ง€ํ˜ˆ์ฆ์„ ์งˆํ™˜ ์ •๋ณด์—์„œ ์„ ํƒํ–ˆ๋‹ค.. ๊ทธ๋Ÿฌ๋ฉด ์ €์ฒด์ค‘ ์‹๋‹จ์—๋Š” ์ง€๋ฐฉ์„ ์ข€๋” ๋งŽ์ด ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ณ ์ง€ํ˜ˆ์ฆ์˜ ๊ฒฝ์šฐ ์ง€๋ฐฉ์„ ์ œํ•œํ•ด์•ผ ํ•ด์„œ ์ด๋Ÿฐ ์‹์œผ๋กœ ์ƒ์ถฉํ•˜๋Š” ์ผ€์ด์Šค๋“ค์— ๋Œ€ํ•œ ๊ณ ๋ ค๊ฐ€ ๋˜ ํ•„์š”ํ–ˆ์Œ

์‹ ์ฒด ์ •๋ณด ๊ธฐ๋ฐ˜: BMI, ํ™œ๋™๋Ÿ‰

์—ฐ๋ น/์„ฑ๋ณ„ ํŠนํ™”: ๊ทผ๊ฐ์†Œ์ฆ ์˜ˆ๋ฐฉ(๋‹จ๋ฐฑ์งˆโ†‘), ํ๊ฒฝ ํ›„ ์—ฌ์„ฑ(์นผ์Š˜โ†‘)

์–ด๋ ค์› ๋˜ ์ ์€ ์œ„์— ๊ธฐ์ˆ ํ•œ๋Œ€๋กœ ๋ณตํ•ฉ ์งˆํ™˜์ž ๋˜๋Š” ์ƒ์ถฉํ•˜๋Š” ๊ฑด๊ฐ• ์ •๋ณด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์› ๋‹ค. ์˜ˆ์‹œ) ์‹ ์žฅ์งˆํ™˜ + ๊ณจ๋‹ค๊ณต์ฆ: ๋‹จ๋ฐฑ์งˆโ†“ vs ๋‹จ๋ฐฑ์งˆโ†‘ (์ƒ์ถฉ!) โ†’ ์งˆํ™˜๋ณ„ ๊ฐ€์ค‘์น˜๋ฅผ ์„ค์ •ํ•˜๊ณ , ํŠน์ • ์งˆํ™˜์— ๋Œ€ํ•œ ๊ณ ๋ ค๊ฐ€ ์šฐ์„ ์ˆœ์œ„ ๋†’๋„๋ก ์กฐ์ •

  • ์‹๋‹จ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜: ์˜ค๋Š˜ ํฌํ•จ ์ „ 7์ผ, ํ›„ 7์ผ ์ด 15์ผ์น˜ ์‹๋‹จ์„ ํ•œ ๋ฒˆ์— ์ƒ์„ฑํ•ด์„œ ์œ ์ €๊ฐ€ navigateํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„ฃ๊ณ  ์‹ถ์—ˆ์Œ.
// ์นผ๋กœ๋ฆฌ ๋ชฉํ‘œ์˜ 80% ์ด์ƒ ๋‹ฌ์„ฑ ๋ณด์žฅ
while (totalCalories < targetCalories * 0.8) {
  // ๋†’์€ ์ ์ˆ˜ ์Œ์‹๋ถ€ํ„ฐ ์ถ”๊ฐ€
}

๊ณ ๋ฏผํ–ˆ๋˜ ๋˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ์ค‘์— ํ•˜๋‚˜๋Š”, ๊ฐ™์€ ์Œ์‹์ด ์ž์ฃผ ๋‚˜์˜ค๋ฉด ์œ ์ € ์ž…์žฅ์—์„œ ๋˜ ์ง€๋ฃจํ•˜๊ฑฐ๋‚˜ ํšจ์šฉ์„ฑ์„ ๋ชป๋А๋‚„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๊ทผ 3์ผ๊ฐ„ ์ถ”์ฒœ๋œ ์Œ์‹์€ ์‹๋‹จ์—์„œ ์ œ์™ธํ•˜๋Š” ์ค‘๋ณต ์ œ์™ธ ๋กœ์ง ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ๋˜, ๋ผ๋‹ˆ๋ณ„๋กœ ์•„์นจ 30%, ์ ์‹ฌ 40%, ์ €๋… 30%๋กœ ์นผ๋กœ๋ฆฌ ๋ฐฐ๋ถ„์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์ •ํ•จ.

๋ ˆ์‹œํ”ผ ์ƒ์„ธ ํ™”๋ฉด์˜ ์ง„ํ™”

์ดˆ๊ธฐ ๊ตฌํ˜„:

// ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋ ˆ์‹œํ”ผ ๋ฐ์ดํ„ฐ
final recipes = {
  'hyunmibap': Recipe(name: 'ํ˜„๋ฏธ๋ฐฅ', ...),
  // ...
};

์ด๊ฒŒ ํด๋กœ๋“œ ์ƒ›๊ธฐ๊ฐ€ ๋งจ ์ฒ˜์Œ์— ๊ตฌํ˜„ํ•ด๋†“์€ ๊ฑด๋ฐ ๋ชจ๋“  ๋ ˆ์‹œํ”ผ๊ฐ€ ํƒญํ–ˆ์„ ๋•Œ 'ํ˜„๋ฏธ๋ฐฅ'์œผ๋กœ ๋œจ๋Š” ์•„์ฃผ ์ดˆ๋ณด์ ์ธ ๋กœ์ง ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค. ๋ฉ์ฒญํ•œ ์ƒ‰๊ธฐ.. ํผํผ

๋ฌธ์ œ: ๋ชจ๋“  ๋ ˆ์‹œํ”ผ ํด๋ฆญ ์‹œ "ํ˜„๋ฏธ๋ฐฅ"๋งŒ ํ‘œ์‹œ๋จ. ์•„๊นŒ ๋ฐ์ดํ„ฐ ์„ค๊ณ„ ํŒŒํŠธ์—์„œ ์„ค๋ช…ํ•œ๋Œ€๋กœ db์— ์žˆ๋Š” id๋ฅผ ๋งค์นญํ•˜๋Š” ๋ฐ์— ์‹คํŒจํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ (์•„๋งˆ๋„?) ์—ฌํ•˜ํŠผ ์ด๊ฑฐ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ์—๋„ ํ•œ์ฐธ ๊ฑธ๋ ธ์Œ ํ›„ํ›„..

๋ฒ„๊ทธ ์ˆ˜์ • ๊ณผ์ •

  • "๋ ˆ์‹œํ”ผ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค" ๋ฒ„๊ทธ

ํ™ˆ โ†’ "๋ ˆ์‹œํ”ผ ๋ณด๊ธฐ" โ†’ ์—๋Ÿฌ

์‹๋‹จ ํƒญ โ†’ ๋ ˆ์‹œํ”ผ ๋ฒ„ํŠผ โ†’ ์—๋Ÿฌ

๋ ˆ์‹œํ”ผ ํƒญ โ†’ ์•„๋ฌด๊ฑฐ๋‚˜ ํด๋ฆญ โ†’ ํ˜„๋ฏธ๋ฐฅ ํŽ˜์ด์ง€

๋Œ€๊ฐ• ์ด๋Ÿฐ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ...

ํด๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ๊ณ„์† ํŒผ๋”๋‹ˆ ๋Œ€์ถฉ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜๋”๋ผ.

meal_recipes_screen.dart: fsk_ ์ œ๊ฑฐ ๋กœ์ง ์ถ”๊ฐ€

recipe_detail_screen.dart: ์ „๋ฉด ์žฌ์ž‘์„ฑ (ํ•˜๋“œ์ฝ”๋”ฉ โ†’ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ) // ๊ทผ๋ฐ ๊ฐœ์ธ์ ์œผ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ์ด ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด์—ˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜ ๊ทธ๋ƒฅ ๋ญ ๋‚ด๊ฐ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋‹ˆ ๋„˜์–ด๊ฐ”์Œ

app_router.dart: path param โ†’ query param์œผ๋กœ ๋ณ€๊ฒฝ (๋ณต์žกํ•œ ID ์ธ์ฝ”๋”ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ)

  • ๊ฒ€์ƒ‰ ์ค‘๋ณต ๊ฒฐ๊ณผ ๋ฒ„๊ทธ

๊ทธ๋ฆฌ๊ณ  db๊ฐ€ ๋ฐฉ๋Œ€ํ•˜๋‹ค๋ณด๋‹ˆ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ diverseํ–ˆ๋Š”๋ฐ ์ด๋Ÿฌ๋ฉด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๊ตฌ๋ฆด ๊ฒƒ ๊ฐ™์•„์„œ ์ด๊ฒƒ๋„ ๊ฐœ์„ ํ•˜๊ณ  ์‹ถ์—ˆ์Œ. ์˜ˆ๋ฅผ ๋“ค๋ฉด"์•„์šฑ" ๊ฒ€์ƒ‰ ์‹œ "์•„์šฑ๊ตญ"์ด 5๊ฐœ์”ฉ ๋‚˜์˜ค๋Š”๋ฐ ์ด๋Ÿฌ๋ฉด ์˜คํžˆ๋ ค ์œ ์ €๊ฐ€ ๋ถˆํŽธํ•˜๋‹ค๊ณ  ์ƒ๊ฐ. (์œ ์ €๋Š” ์„ ํƒ์ง€๊ฐ€ ๋งŽ์œผ๋ฉด ์‹ซ์–ดํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•จ)

ํ•ด๊ฒฐ:

List<UnifiedFood> _deduplicateByName(List<UnifiedFood> foods) {
  final Map<String, UnifiedFood> bestByName = {};
  for (final food in foods) {
    final existing = bestByName[food.name];
    // ๊ฐ™์€ ์ด๋ฆ„์ด๋ฉด ์นผ๋กœ๋ฆฌ ๋‚ฎ์€ ๊ฒƒ ์„ ํƒ (๊ฑด๊ฐ• ๋ชฉ์ )
    if (existing == null || food.calories < existing.calories) {
      bestByName[food.name] = food;
    }
  }
  return bestByName.values.toList();
}
  • ํ™ˆ ํ™”๋ฉด ์˜ค๋Š˜ ์‹๋‹จ ํ‘œ์‹œ ๋ฒ„๊ทธ ํ™ˆ์—์„œ "์˜ค๋Š˜์˜ ์‹๋‹จ"์ด ํ‘œ์‹œ ์•ˆ ๋จ

์›์ธ:

// ์ž˜๋ชป๋œ ์ฝ”๋“œ
mealPlanState.mealPlans[0]  // List๋กœ ์ ‘๊ทผ ์‹œ๋„

// ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ
mealPlanState.plans[todayKey]  // Map<String, DailyMealPlan>์œผ๋กœ ์ ‘๊ทผ

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณ€๊ฒฝ(List โ†’ Map) ํ›„ ์ผ๋ถ€ ํ™”๋ฉด์—์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ˆ„๋ฝ๋œ ๊ฑฐ์˜€๋Š”๋ฐ. ๋‚ด๊ฐ€ ๋А๋ผ๊ธฐ์— ๋ญ˜ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋‚˜๋ฉด Claude Code๊ฐ€ ์•Œ์•„์„œ ๋‹ค๋ฅธ ๋กœ์ง๋“ค์—์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋“ค์„ ์ฐฉ์ฐฉ ์ž˜ ํ•ด์ฃผ์ง„ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ๊ผผ๊ผผํ•˜๊ฒŒ ๋งค๋ฒˆ ์—…๋ฐ์ดํŠธ๋งˆ๋‹ค ๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ํ–ˆ์„ ๋•Œ ๊นจ์ง€๋Š” ๋กœ์ง์ด ์žˆ๊ฑฐ๋‚˜ ํ•˜์ง€ ์•Š์€์ง€ ๊ณ„์† Claude๋ฅผ ํŒจ์•ผ ํ•จ. ๊ฐœ์žก๋„๋ฆฌ ๋ชจ๋“œ on...

๋ณด์•ˆ ์ด์Šˆ ์˜ˆ์ƒ?

api key๋‚˜ firebase ์„ค์ • ํŒŒ์ผ ๊ฐ™์€ ๊ฒƒ๋“ค .gitignore์— ์ถ”๊ฐ€ํ•ด๋‘๊ธฐ <- ์ด๊ฑด ๋ญ˜ ๊ฐœ๋ฐœํ•˜๋“  ๋‹ค๋“ค ๊ผญ ์ฑ™๊ฒจํ•˜์‹ญ์…”! ํด๋กœ๋“œ ์ฝ”๋“œ๊ฐ€ ์ •์‹  ๋ชป์ฐจ๋ฆฌ๊ณ  ๊นƒํ—™์— ๊ฑ ์˜ฌ๋ ค๋†”๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Œ ๊ทธ๋Ÿฌ๋ฉด ํ‚ค ๊ฐ™์€๊ฑฐ ๋‹ค ์ƒˆ๋กœ ๋ฐœ๊ธ‰ ๋ฐ›์•„์•ผํ•˜๋‹ˆ๊ป˜ ๋งค์šฐ ๊ท€์ฐจ๋Š ..

QA?

QA๋Š” ์†”์งํžˆ.. ํ .. ์šฐ์„  ๊ฐœ์žก๋„๋ฆฌ๋กœ ํด๋กœ๋“œํ•œํ…Œ ์ง€๊ธˆ๊นŒ์ง€ ๋นŒ๋“œํ•œ ๊ฒƒ๋“ค ๋„ค๊ฐ€ ์œ ์ € ์‹œ๋‚˜๋ฆฌ์˜ค 3๊ฐœ ์ •๋„ ๋žœ๋คํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์„œ ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์—†์„์ง€ ๋กœ์ง๋“ค ์ „์ฒด user flow์—์„œ ํ™•์ธํ•ด๋ด๋ผ.. ๋ฌผ์–ด๋ณด๊ณ  ์ด๊ฑฐ๋ฅผ ํ•œ 30๋ฒˆ ๋Œ๋ ค์คฌ๋‹ค. ใ…Ž ๊ฐœ์žก๋„๋ฆฌ... ใ…Ž ํด๋กœ๋“œ๊ฐ€ ๋‚˜ ํ˜์˜คํ•  ๋“ฏ

๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋Œ๋ ค๋ด๋„ ๋†€๋ž๊ฒŒ๋„ UI/UX์—์„œ ์ด ์ƒ‰๊ธฐ๊ฐ€ ๋ฏธ์ณค๋‚˜.. ์‹ถ์€ ๊ฒƒ๋“ค์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ, ์•ฑ ์‚ญ์ œ ํ›„ ์žฌ์„ค์น˜ ๋“ฑ ์—„์ฒญ ๊ฐ„๋‹จํ•œ ๊ฒƒ๋“ค๋„ ์ง„์งœ ๊ผผ๊ผผํžˆ ์‹ค์ œ๋กœ QAํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋งŒ ๋๋‚ด์ง€ ๋ง๊ณ  ์‹ค๊ธฐ๊ธฐ์—์„œ๋„ ํ…Œ์ŠคํŠธํ•ด๋ณด๊ธธ ๋ฐ”๋žŒ.

์šฐ์„  ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๊ณ  ๊ตฌ๊ธ€ ๊ฐœ๋ฐœ์ž๋กœ ๋“ฑ๋กํ•˜๊ณ  ๋ญ ์ด๋Ÿฐ๊ฑฐ ๋‹ค ๊ท€์ฐฎ์•„์„œ (์ด ๊ณผ์ •์—์„œ ํ•ด๋‘๊ธด ํ–ˆ๋Š”๋ฐ ๋ญ ์–ด์ฐจํ”ผ ๊ณ„์† ์œ ์ง€๋ณด์ˆ˜ํ•  ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ์—„๋งˆ๋ฅผ ์œ„ํ•ด์„œ ๋งŒ๋“  ์•ฑ์ด์—ˆ์–ด์„œ ๊ฑ ์•ฑ์Šคํ† ์–ด๋“ค์— ๋ฐฐํฌ๊นŒ์ง„ ์•ˆํ–ˆ์Œ.) ์—„๋งˆํ•œํ…Œ apk ํŒŒ์ผ๋กœ ์ „๋‹ฌํ•ด์คฌ๋‹ค. ์ข€ ๋ฟŒ๋“ฏํ–ˆ๋˜ ๊ฑด ์šฐ๋ฆฌ ํšŒ์‚ฌ CTO๋‹˜๊ป˜์„œ ์•ฑ ์ข€ ์จ๋ณด์‹œ๋”๋‹ˆ '์ด ์ •๋„๋ฉด ํ”„๋กœ๋•์…˜์— ๋‚ด๋„ ๋  ํ€„๋ฆฌํ‹ฐ์ธ๋ฐ์š”?'๋ผ๊ณ  ํ–ˆ๋‹ค๋Š” ์ . ํ›„ํ›„. ์ €์˜ ์žก๋„๋ฆฌ๋ ฅ์—.. ๋†€๋ผ์…จ๋‚˜์š”? >.<

์›๋ž˜ ๊ณ„ํš์€ ๋ชจ๋“  ์•ฑ๋“ค์— ๋Œ€ํ•œ ์ผ์ง€๋ฅผ ํ•œ ํŽธ์— ๋‚จ๊ธฐ๋Š” ๊ฑฐ์˜€๋Š”๋ฐ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ํ•ด๋„ ๊ธ€์ด ๊ฝค ๊ธด ๊ฒƒ ๊ฐ™์•„ ๋‚˜๋จธ์ง€ ์•ฑ๋“ค์— ๋Œ€ํ•œ ๊ฒƒ๋“ค์€ ์ถ”ํ›„์˜ ๊ธ€๋“ค์—์„œ ๊ธฐ์ˆ ํ•˜๊ธฐ๋กœ.... ํผํผ ํˆฌ๋น„ ์ปจํ‹ฐ๋‰ด๋“œ... ๐ŸŒŸ