๐Ÿ•ฏ๏ธ
2025-09-05โ€ข findout

Release Note Generator์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

by Ko

์•ฑ์„ ์ถœ์‹œํ•  ๋•Œ๋งˆ๋‹ค ๊ฐ€์žฅ ๊ท€์ฐฎ์•˜๋˜ ๊ฒŒ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ๋ฒˆ์—ญ์ด์—ˆ๋‹ค. KOOTD๋ฅผ ์ถœ์‹œํ•  ๋•Œ ํ•œ๊ตญ์–ด, ์˜์–ด, ์ผ๋ณธ์–ด๋กœ ๊ฐ๊ฐ ๋ฒˆ์—ญํ•ด์•ผ ํ–ˆ๋Š”๋ฐ, ๋งค๋ฒˆ ๋ฒˆ์—ญ๊ธฐ ์‚ฌ์ดํŠธ์—์„œ ํ•˜๋‚˜์”ฉ ๋ฒˆ์—ญํ•˜๊ณ  ํ˜•์‹์— ๋งž๊ฒŒ ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜๋Š” ๊ฒŒ ๋„ˆ๋ฌด ๋ฒˆ๊ฑฐ๋กœ์› ๋‹ค.

์™œ ๋งŒ๋“ค์—ˆ๋‚˜?

์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ์ฐธ๊ณ  ๊ฒฌ๋””๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์•ฑ ์—…๋ฐ์ดํŠธํ•  ๋•Œ๋งˆ๋‹ค ๋˜‘๊ฐ™์€ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒŒ ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ด์—ˆ๋‹ค.

๋‹ค๋ฅธ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ƒ์„ฑ๊ธฐ๋“ค๋„ ์ฐพ์•„๋ดค๋Š”๋ฐ ๋Œ€๋ถ€๋ถ„ ๋กœ๊ทธ์ธํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋ฌด๋ฃŒ ํ• ๋‹น๋Ÿ‰์ด ์ œํ•œ์ ์ด์—ˆ๋‹ค. ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ฒŒ ๋‚˜์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์—ˆ๋‚˜?

1๋‹จ๊ณ„: ๊ธฐ๋ณธ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ

๋จผ์ € Google ๋ฒˆ์—ญ API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ๋ถ€ํ„ฐ ๋งŒ๋“ค์—ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋ฉด CORS ์—๋Ÿฌ๊ฐ€ ๋‚˜์„œ Next.js API Route๋ฅผ ๋งŒ๋“ค์–ด์„œ ์„œ๋ฒ„์—์„œ ๋ฒˆ์—ญํ•˜๋„๋ก ํ–ˆ๋‹ค.

// pages/api/translate.js
export default async function handler(req, res) {
  const { text, targetLang } = req.body;
  
  try {
    const result = await translate(text, { to: targetLang });
    res.status(200).json({ success: true, translatedText: result.text });
  } catch (error) {
    res.status(500).json({ success: false, error: error.message });
  }
}

2๋‹จ๊ณ„: ์Šคํ† ์–ด๋ณ„ ํ˜•์‹ ์ง€์›

๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์Šคํ† ์–ด์™€ ์•ฑ์Šคํ† ์–ด ํ˜•์‹์ด ๋‹ฌ๋ผ์„œ ๋‘˜ ๋‹ค ์ง€์›ํ•ด์•ผ ํ–ˆ๋‹ค.

๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์Šคํ† ์–ด๋Š” <ko-KR>๋‚ด์šฉ</ko-KR> ํ˜•์‹์ด๊ณ , ์•ฑ์Šคํ† ์–ด๋Š” ๊ฐ ์–ธ์–ด๋ณ„๋กœ ๋”ฐ๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

// ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์Šคํ† ์–ด ํ˜•์‹
const generateGoogleFormat = (translations) => {
  let formatted = '';
  for (const [lang, text] of Object.entries(translations)) {
    const playStoreLang = getPlayStoreLanguageCode(lang);
    formatted += `<${playStoreLang}>\n${text}\n</${playStoreLang}>\n`;
  }
  return formatted;
};

3๋‹จ๊ณ„: UI ๊ฐœ์„ 

์ฒ˜์Œ์—๋Š” ๊ธฐ๋Šฅ๋งŒ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ UI๊ฐ€ ๋„ˆ๋ฌด ๋ถˆํŽธํ–ˆ๋‹ค.

์–ธ์–ด ์„ ํƒ์„ ๊ทธ๋ฃน๋ณ„๋กœ ๋‚˜๋ˆ„๊ณ , ์ง„ํ–‰๋ฅ  ๋ฐ”๋ฅผ ๋„ฃ๊ณ , ๊ฐ ์–ธ์–ด๋ณ„๋กœ ๊ฐœ๋ณ„ ๋ณต์‚ฌ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ณ ์ • ํ…์ŠคํŠธ ๊ธฐ๋Šฅ๋„ ๋„ฃ์–ด์„œ ๋ฒ„์ „ ์ •๋ณด ๊ฐ™์€ ๊ฑด ๋ฒˆ์—ญํ•˜์ง€ ์•Š๊ณ  ๊ฐ ์–ธ์–ด ์•ž์— ๋ถ™์ผ ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค.

์‹ค์ œ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ

๋ฒˆ์—ญ ํ’ˆ์งˆ

๊ตฌ๊ธ€ ๋ฒˆ์—ญ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฌธ์žฅ์€ ์ž˜ ๋ฒˆ์—ญ๋˜๊ณ , ๋ณต์žกํ•œ ๋ฌธ์žฅ์€ ๊ฐ€๋” ์ด์ƒํ•˜๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ฑ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ •๋„๋Š” ๋Œ€๋ถ€๋ถ„ ๊ดœ์ฐฎ๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

ํ•œ๊ตญ์–ด ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ฃผ ์–ธ์–ด๋กœ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ๋ฅผ ์“ฐ๊ณ , ๋ฒˆ์—ญํ•  ์–ธ์–ด๋“ค์„ ์„ ํƒํ•œ ๋‹ค์Œ ๋ฒˆ์—ญ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋ฉด ๊ฐ ์–ธ์–ด๋ณ„๋กœ ๋ณต์‚ฌํ•ด์„œ ๊ฐ ์Šคํ† ์–ด์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ์ ˆ์•ฝ

๊ธฐ์กด์—๋Š” ํ•˜๋‚˜์”ฉ ๋ฒˆ์—ญํ•˜๋А๋ผ 10-15๋ถ„ ๊ฑธ๋ ธ๋Š”๋ฐ, ์ด์ œ๋Š” 2-3๋ถ„์ด๋ฉด ๋๋‚ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์—ฌ๋Ÿฌ ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•  ๋•Œ ํšจ๊ณผ๊ฐ€ ํฝ๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ๊ฐœ์„ ํ•  ์ 

๋ฒˆ์—ญ ํ’ˆ์งˆ ๊ฐœ์„ 

AI ๋ฒˆ์—ญ ์„œ๋น„์Šค๋ฅผ ์ถ”๊ฐ€๋กœ ์—ฐ๋™ํ•ด์„œ ๋ฒˆ์—ญ ํ’ˆ์งˆ์„ ๋†’์ผ๊นŒ ์ƒ๊ฐ ์ค‘์ž…๋‹ˆ๋‹ค. ๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒˆ์—ญ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์–ธ์–ด ์ง€์›

ํ˜„์žฌ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์–ธ์–ด๋“ค๋„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ํ…œํ”Œ๋ฆฟ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ์ด๋Ÿฌ๋ ค๋ฉด ๋ฐฑ์—”๋“œ๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผํ•˜๋Š”๋ฐ ๊ทธ๋Ÿผ ์œ ์ง€๋น„์— 10๋‹ฌ๋Ÿฌ๊ฐ€ ๋” ๋“คํ…๋ฐ..

๋งˆ๋ฌด๋ฆฌ

์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ๊ท€์ฐฎ์•„์„œ ๋งŒ๋“  ๋„๊ตฌ์˜€๋Š”๋ฐ, ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ฑ ์ถœ์‹œํ•  ๋•Œ๋งˆ๋‹ค ์“ฐ๊ณ  ์žˆ๊ณ , ์‹œ๊ฐ„๋„ ๋งŽ์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

์•„์ง ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ์•ž์œผ๋กœ ๊ณ„์† ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๋ฉด์„œ ๋” ์ข‹์€ ๋„๊ตฌ๋กœ ๋งŒ๋“ค์–ด๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๊ฐ€์ง€๋กœ ์‚ฌ๋žŒ๋“ค์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ๋“ค์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์žˆ๋Š”๋ฐ, ์•„๋ฌด์ชผ๋ก ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€ํ•˜์—ฌ ์ˆ˜์ตํ™”๊นŒ์ง€ ์ด์–ด์ง€๋Š”๊ฑธ ๋ฐ”๋ž˜๋ด…๋‹ˆ๋‹ค.


Release Note Generator๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ƒ์„ฑ๊ธฐ๋ฅผ ํ™•์ธํ•ด๋ณด์„ธ์š”.

โฆ

Comments (0)

Be the first to leave a scroll on this chronicle.
Kortress Archive System
Release Note Generator์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž