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

๋น„๊ฐœ๋ฐœ์ž์˜ ํด๋กœ๋“œ ์ฝ”๋“œ ์‚ฝ์งˆ ํ›„๊ธฐ ์ œ 2ํƒ„

2026.02.02vibe PMing

1ํŽธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ง€๋‚œ 1ํŽธ์—์„œ ๋‚ด๊ฐ€ ์ผ์ฃผ์ผ๊ฐ„ ๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ ๊ฒƒ๋“ค์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ์†Œ๊ฐœํ–ˆ์—ˆ๋‹ค.

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

๊ทผ๋ฐ ์†”์งํžˆ 2๋ž‘ 3์€ ์ข€ ๋ผ์ดํŠธํ•œ ํŽธ์ด์—ˆ๊ณ  1, 4, 5๊ฐ€ ์ข€ ๋นก์…Œ๋Š”๋ฐ 1์— ๋Œ€ํ•ด์„  ์ง€๋‚œ ํŽธ์—์„œ ์ถฉ๋ถ„ํžˆ ๊ธฐ์ˆ ํ•œ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ์˜ค๋Š˜ ํŽธ์—์„œ๋Š” 2, 3์„ ํ•ฉ์ณ์„œ ๋‹ค๋ฃจ๊ณ  ๊ทธ ๋‹ค์Œ ํŽธ์—์„œ 4, 5์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณผ๊นŒ ํ•จ. (ํŠนํžˆ 4๊ฐ€ ์‹œ๊ฐ„ ๋งŽ์ด ๊ฑธ๋ ธ์—ˆ์Œ,,) 3์ด ๊ทธ๋ž˜๋„ 2๋ณด๋‹ค๋Š” ์‰ฌ์› ์œผ๋‹ˆ 3 -> 2 ์ˆœ์œผ๋กœ ์˜ค๋Š˜์€ ์ ์–ด๋ณผ ์˜ˆ์ •.

์ตœ๊ทผ ๋“ค์–ด์„œ ๊ฐ‘์ž๊ธฐ coddy tech๋ผ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด์„œ c ์–ธ์–ด ๊ณต๋ถ€ํ•˜๋Š” ๊ฑฐ์— ๋˜ ๊ฝ‚ํ˜€๊ฐ€์ง€๊ณ  ์ž ์‹œ ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ์€ maintenance ๋ฐ ํšŒ์‚ฌ์—์„œ ํ•„์š”ํ•œ ๊ฒƒ๋“ค ์…‹์—…ํ•˜๋Š” ์ •๋„๋กœ๋งŒ ์“ฐ๋Š” ์ค‘์ด๋ผ ์ƒˆ๋กญ๊ฒŒ ๋ญ”๊ฐ€ ๋งŒ๋“  ๊ฒƒ์€ ์—†๋Š”๋ฐ ์šฐ์„  1~5๊นŒ์ง€๋ฅผ ๊ธ€๋กœ ์ข€ ์ •๋ฆฌํ•ด์„œ ๋‚จ๊ฒจ๋‘๊ณ  ๋˜ ์ด์–ด์„œ ๋„์ „ํ•ด๋ณผ๊นŒ ํ•œ๋‹ค. ์ด๊ฑฐ ๊ธ€๋กœ ์ •๋ฆฌํ•ด์„œ ๋‚จ๊ธฐ๋Š” ๊ฒƒ๋„ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„ ์†Œ์š”๊ฐ€ ํ•„์š”ํ•œ ์ผ์ด๊ตฐ..

๊ทธ๋ž˜๋„ ๋‚˜๋ฆ„ ๋‚ด ์„ฑ์žฅ์˜ ๊ธฐ๋ก์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ์ž˜ ์ •๋ฆฌํ•ด๋‘๊ณ  ์‹ถ์—ˆ์Šจ. ๋‚˜์ค‘์— ๋‹ค์‹œ ์ฝ์–ด๋ณด๋ฉด ๊ทธ ๋• ๊ทธ๋žฌ์ง€ ํ•˜๋ฉด์„œ ์›ƒ์„ ๋‚ ์ด ์˜ค๊ฒ ์ง€(?)

54์ผ์˜ ๋ฌต์ฃผ๊ธฐ๋„๋ฅผ ๋„์™€์ฃผ๋Š” ์•ฑ, "๊ณ ์š”"

์‚ฌ์‹ค ๋‚˜๋Š” ์ฐฝ์˜๋ ฅ์ด 0์— ์ˆ˜๋ ดํ•˜๋Š” ์‚ฌ๋žŒ์ด๋‹ค. ์ฐฝ์ž‘ํ™œ๋™์„ ์ข‹์•„ํ•˜๋Š” ๊ฒƒ๊ณผ ์ฐฝ์˜๋ ฅ์€ ์™„์ „ ๋ณ„๊ฐœ์˜ ์˜์—ญ์ด๋ผ๋Š” ๊ฒƒ์„ ISTP์ธ ๋‚˜๋Š” ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค.

์— ๋ฒผ๊ฐˆ๋ฆฌ ๊ฐ™์„ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๊ฐœ์ธ์ ์œผ๋กœ ์ธ๊ฐ„์„ ๋Œ€๋žต 16๊ฐ€์ง€ ์ •๋„์˜ ์œ ํ˜•์œผ๋กœ๋Š” ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. ๋ฌผ๋ก  ์ •ํ™•ํ•˜์ง„ ์•Š๋”๋ผ๋„, ๋น„์Šทํ•œ ๋ฉด์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ๋ฌถ์–ด์„œ 16๊ฐœ์˜ ์œ ํ˜•์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ์ •๋„๋ผ๋ฉด ๊ฝค ์‹ค์šฉ์ ์ด๋ผ๊ณ  ๋ณธ๋‹ค.์—ฌํ•˜ํŠผ ISTP ์„ค๋ช…์„ ์ฝ์„ ๋•Œ๋งˆ๋‹ค ๋‚˜๋ž‘ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋А๋ผ๋Š” ์ง€์ ์ด ์žˆ๋Š”๋ฐ, ๊ทธ๊ฑด ๋ฐ”๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ์กฐ๋ฆฝํ•˜๊ณ , ๋งž์ถฐ๋ณด๋Š” ๊ฑธ ์ข‹์•„ํ•˜๋Š” ์œ ํ˜•์ด๋ผ๋Š” ์ ์ด๋‹ค.

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

๊ทธ๋ž˜์„œ ์ฒ˜์Œ์— ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ์— ๋„์ „ํ•ด๋ณด์ž! ํ–ˆ์„ ๋•Œ ๋‚˜๋Š” ๋„๋Œ€์ฒด ๋ญ˜ ๋งŒ๋“ค์–ด์•ผ ํ• ์ง€ ์•„๋ฌด๋Ÿฐ ์•„์ด๋””์–ด๊ฐ€ ์—†๋Š” ์‚ฌ๋žŒ์ด์—ˆ๋‹ค.

์„ธ์ƒ์— ์ด๋ฏธ ์ฐจ๊ณ  ๋„˜์น˜๋Š” ๊ฒŒ ์•ฑ ๊ฐ™์€๋ฐ? ๋‚˜๋Š” ์‚ด๋ฉด์„œ ๋”ฑํžˆ ํฌ๊ฒŒ ๋ถˆํŽธํ•จ์„ ๋А๋ผ๋Š” ๊ฒŒ ์—†๋Š”๋ฐ? ๋‚ด๊ฐ€ ์“ฐ๋Š” ๊ฒƒ๋“ค์€ ์ด๋ฏธ ๋‚ด๊ฐ€ ๋‹ค ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ? ๋ญ˜ ํ•ด์•ผ ํ•˜์ง€? ์ด๋Ÿฌ๊ณ  ์žˆ์—ˆ์Œ. ๊ทธ๋ž˜์„œ ์ œ์ผ ๋จผ์ € ์—„๋งˆํ•œํ…Œ ํ˜น์‹œ ํ•„์š”ํ•œ ๊ฑฐ ์—†๋ƒ๊ณ  ๋ฌผ์–ด๋ดค๋”๋‹ˆ ๋งŒ๋“ค์–ด๋‹ฌ๋ผ๊ณ  ํ–ˆ๋˜ ๊ฒŒ 1ํƒ„์—์„œ ๊ธฐ์ˆ ํ•œ '๋ฐฅ์‹ฌ'์ด๋ผ๋Š” ์•ฑ์ด์—ˆ๊ณ , ์ด๋ฒˆ ํŽธ์—์„œ ๊ธฐ์ˆ ํ•˜๋Š” ๊ธฐ๋„ ์•ฑ ์—ญ์‹œ ๊ฐ™์€ ์ฒœ์ฃผ๊ต ์‹ ์ž์ธ ์–ธ๋‹ˆ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•ด์„œ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•œ ๊ฒƒ์ด์—ˆ๋‹ค.

์‚ฌ์‹ค ๋‚ด ์ž…์žฅ์—์„œ๋Š” "54 Days"๋ผ๋Š” ์•„์ฃผ ํ›Œ๋ฅญํ•œ ์•ฑ์ด ์•ฑ์Šคํ† ์–ด์— ์žˆ์—ˆ๊ณ , ๊ทธ๋ž˜์„œ ์ž˜ ์“ฐ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด๋Ÿฐ ๋‹ˆ์ฆˆ๊ฐ€ ์—†์—ˆ๋Š”๋ฐ ๊ฐ™์ด ๋ฌต์ฃผ๊ธฐ๋„๋ฅผ ์‹œ์ž‘ํ•œ ์–ธ๋‹ˆ ๋•๋ถ„์— ํ•ด๋‹น ์•ฑ์ด ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์—๋Š” ์ถœ์‹œ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ถฉ๊ฒฉ์ ์ธ ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

์—ฌํŠผ ๊ทธ๋ž˜์„œ ์‚ฌ์‹ค ์ด ์•ฑ์„ ๋งŒ๋“ค ๋•Œ๋Š” ํฌ๊ฒŒ ๊ธฐํšํ•  ๊ฒƒ๋„ ์—†์—ˆ๊ณ , ์• ์ดˆ์— ์ด๋ฒˆ์—๋„ ์•ฑ์Šคํ† ์–ด๋‚˜ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์— ๋“ฑ๋กํ•  ์ƒ๊ฐ๋„ ์—†์—ˆ๊ณ , ๊ทธ๋ƒฅ "54 Days"๋ž‘ ๋˜‘๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์•ฑ์„ ์ด ์–ธ๋‹ˆ๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์„œ apk๋กœ ๋ณด๋‚ด์ฃผ์ž! ๊ฐ€ ๋ชฉํ‘œ์˜€์Œ. (์‚ฌ์‹ค ์•ฑ์Šคํ† ์–ด์— 54 Days์˜ ๊ฐœ๋ฐœ์ž ๋ถ„๊ป˜ ์ด๋ฉ”์ผ๋กœ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด์— ์ถœ์‹œํ•ด์ฃผ์‹ค ์ƒ๊ฐ ์žˆ๋Š”์ง€๋„ ๋ฌธ์˜๋“œ๋ ธ๋Š”๋ฐ ์•„๋ฌด ๋Œ€๋‹ต์ด ์—†์œผ์‹  ์ƒํƒœ ใ… _ใ…  ๋งŒ๋“ค์–ด์ฃผ์‹œ๋ฉด ์•ˆ๋ ๊นŒ์š”..? ์ €๋Š” ๊ฒŒ์œผ๋ฆ„๋ฑ…์ด๋ผ์„œ ์•ฑ์„ ์ถœ์‹œํ•  ์ƒ๊ฐ๋„ ์—†๊ณ  ๋‹น์‹ ์˜ ์•ฑ ์•„์ด๋””์–ด๋ฅผ ๋„์ ์งˆํ•  ์ƒ๊ฐ์ด ์—†๊ฑฐ๋“ฑ์—ฌ..)

์„œ๋ก ์ด ๊ธธ์—ˆ๋Š”๋ฐ ๊ฐ์„คํ•˜๊ณ ...

54์ผ์˜ ๋ฌต์ฃผ๊ธฐ๋„ ์•ฑ์€ ํฐ ํ‹€์—์„œ ์ด๋Ÿฐ ๊ธฐ๋Šฅ๋“ค๋งŒ ์ œ๊ณตํ•˜๋ฉด ๋œ๋‹ค.

  1. 54์ผ๊ฐ„ ๊ธฐ๋„ํ•  ์ง€ํ–ฅ ๊ธฐ๋„ ์ž‘์„ฑํ•˜๊ณ  ์ €์žฅํ•ด๋‘๋Š” ๊ธฐ๋Šฅ. (์ˆ˜์ •๋„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ)
  2. ๋ฌต์ฃผ๊ธฐ๋„ ์‹œ์ž‘ ๋‚ ์งœ๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋‚ ์งœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ.
  3. ๋ฌต์ฃผ๊ธฐ๋„ ์‹œ์ž‘ ๋‚ ์งœ๋ฅผ ์„ค์ •ํ•˜๋ฉด ์˜ค๋Š˜์ด ๋ช‡์ผ์งธ์ธ์ง€ ์•Œ๋ ค์ฃผ๊ณ , ์–ด๋А ๊ธฐ๋„๋ฅผ ํ•  ์ฐจ๋ก€์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ.
  4. ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋„์— ๋งž์ถฐ์„œ ๊ธฐ๋„๋ฌธ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ.

์ด ์ •๋„๋ฉด ์ด๋ฏธ ๋ฐฅ์‹ฌ ์•ฑ์— ๋น„ํ•˜๋ฉด ์˜ ์‹ฌํ”Œ ๊ทธ ์ž์ฒด์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋‘์‹œ๊ฐ„๋งŒ์— ๋š๋”ฑ ๋งŒ๋“ค์—ˆ์Œ. ํ›„ํ›„.. ํด๋กœ๋“œ ํญํ–‰๋ ฅ ์ƒ์Šน(?)

๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๋ฒˆ์—๋„ ๊ทธ๋ƒฅ Flutter. iOS ์ง€์› ๊ณ„ํš์ด ์—†์œผ์‹ ๋ฐ ๊ตณ์ด ์™œ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์“ฐ์…จ์ฃ ? ๋ผ๊ณ  ๋ฌผ์–ด๋ณธ๋‹ค๋ฉด..

๊ธ€์Ž„์š”.. ๊ทธ๋ƒฅ ์ €ํฌ ํšŒ์‚ฌ ๋ชจ๋ฐ”์ผ ์•ฑ์ด ํ”Œ๋Ÿฌํ„ฐ๋ผ์„œ ํ”Œ๋Ÿฌํ„ฐ๊ฐ€ ์™ ์ง€ ์นœ์ˆ™ํ•˜๊ฒŒ ๋А๊ปด์ง‘๋‹ˆ๋‹ค...(?) ๊ทธ๋ฆฌ๊ณ  ๋””์ž์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋Ÿฐ ๊ฒŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž˜ ๋˜์–ด ์žˆ๋Š” ๋А๋‚Œ์ด์–ด์„œ์š”...(?) ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ดํ•‘์— ์ข‹์€ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ์š”? ์‚ฌ์‹ค ๋‹ค๋ฅธ ๊ฑธ ๊ตณ์ด ์•ˆ ์จ๋ดค๊ธฐ ๋•Œ๋ฌธ์—..? ํผํผ

๊ทธ ์™ธ์—๋Š”... ์•„๋ฌด๋ž˜๋„ ๊ธฐ๋Šฅ ์ž์ฒด๊ฐ€ ์‹ฌํ”Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ํŽ˜์ด์ง€์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ตฌ์กฐ๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ๊ทธ๋Ÿฐ ๋ฉด๋“ค์—์„œ ์˜์‚ฌ๊ฒฐ์ •์„ ํด๋กœ๋“œ๋ž‘ ๋Œ€ํ™”ํ•˜๋ฉด์„œ ์ง„ํ–‰ํ–ˆ๋‹ค. (์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตณ์ด ๊ฐ–๋‹ค ์“ฐ์ง€ ๋ง๊ณ  Flutter์˜ ๊ธฐ๋ณธ Stateful Widget์„ ์‚ฌ์šฉํ•˜์ž, ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹จ์ˆœํ•˜๊ณ  ์„œ๋ฒ„ ๋™๊ธฐํ™” ๊ฐ™์€ ๊ฒƒ๋„ ํ•„์š” ์—†์œผ๋‹ˆ shared_preferences๋ฅผ ์‚ฌ์šฉํ•˜์ž ๋ผ๋“ ๊ฐ€)

๋˜๋‹ค๋ฅธ ๊ณ ๋ฏผ ํฌ์ธํŠธ: ์•„๋ฌด๋ž˜๋„ 54์ผ ๊ฐ„ ๊ธฐ๋„๋ฅผ ๋„์™€์ฃผ๋Š” ์•ฑ์ด๋‹ค๋ณด๋‹ˆ ๊ธฐ๋„ ์ง„ํ–‰์ผ ๊ณ„์‚ฐ ์ธก๋ฉด์—์„œ "์˜ค๋Š˜"์˜ ๊ธฐ์ค€์ด ์ค‘์š”ํ–ˆ์œผ๋ฏ€๋กœ UTC +9์‹œ๊ฐ„์œผ๋กœ ํ•œ๊ตญ ์‹œ๊ฐ„๋Œ€๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ (์ด๊ฑด ๋ญ”๊ฐ€ ์•ฑ ์Šคํ† ์–ด์— ๋‚ด๊ฐ€ ๊ณต๊ฐœํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ผ ๋“ฏํ•œ๋ฐ ์šฐ์„ ์€ ํ•œ๊ตญ์— ๊ฑฐ์ฃผํ•˜๋Š” ์‹ ์ž 1๋ช…๋งŒ์„ ์œ„ํ•ด ๋งŒ๋“  ์•ฑ์ด๋ผ.. ใ…Žใ…Ž)

๊ทธ๋ฆฌ๊ณ  ์š”์ผ๋ณ„ ์‹ ๋น„ ๊ธฐ๋„๋ฌธ์ด ๋‹ค ๋‹ค๋ฅด๋‹ˆ๊นŒ ์š”์ผ๋ณ„๋กœ ์‹ ๋น„ ๊ณ„์‚ฐํ•˜๊ฒŒํ•˜๊ธฐ <- ์ด๊ฒŒ ๊ทธ๋‚˜๋งˆ ์ข€ ํฐ ๊ธฐ๋Šฅ(?)์ด๋ผ๋ฉด ํฐ ๊ธฐ๋Šฅ์ด์—ˆ๊ณ ..

String getTodayMystery() {
  final weekday = getNowKST().weekday;
  switch (weekday) {
    case DateTime.monday:
    case DateTime.saturday:
      return 'joyful';      // ํ™˜ํฌ
    case DateTime.tuesday:
    case DateTime.friday:
      return 'sorrowful';   // ๊ณ ํ†ต
    case DateTime.wednesday:
    case DateTime.sunday:
      return 'glorious';    // ์˜๊ด‘
    case DateTime.thursday:
      return 'luminous';    // ๋น›
  }
}

๊ทธ๋ฆฌ๊ณ  ํ™ˆ ํ™”๋ฉด์—์„œ๋Š” ์ €์žฅ๋œ ๊ธฐ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ, ๊ธฐ๋„ ์ง„ํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ, ๊ธฐ๋„๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ๋กœ ์„ธ๊ฐ€์ง€๋กœ ์ƒํƒœ๋ฅผ ๋‚˜๋ˆ ์„œ ํ™”๋ฉด ๊ตฌ์„ฑ:

๋ฏธ์„ค์ • ์ƒํƒœ: ๊ธฐ๋„ ์‹œ์ž‘ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€

์ง„ํ–‰ ์ค‘: ์ง„ํ–‰๋ฅ  ๋ฐ” (XX/54์ผ, XX%), ์˜ค๋Š˜์˜ ์‹ ๋น„ ๊ฐ•์กฐ ํ‘œ์‹œ, ์ฒญ์›/๊ฐ์‚ฌ ๋‹จ๊ณ„ ํ‘œ์‹œ

์™„๋ฃŒ: ์ถ•ํ•˜ ๋ฉ”์‹œ์ง€

๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€๋กœ ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด ๋Œ€๊ฐ• ์•ฑ ์ด๋ฆ„๋งŒ ๋œจ๊ฒŒ ํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ์ •๋„...? ํ .. ์—ญ์‹œ ๋ณ„๋กœ ํ•  ๊ฒŒ ์—†์—ˆ๋˜ ์•ฑ์ด๋ผ ์“ธ ๊ฒƒ๋„ ๋ณ„๋กœ ์—†๊ตฐ.. ^_^;; ์—ฌํŠผ ๋ณด๋‚ด๋“œ๋ ธ๋Š”๋ฐ ์–ธ๋‹ˆ๊ฐ€ ์•„์ง๋„ ๋งค์ผ๋งค์ผ ์ž˜ ์“ฐ๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๊ณ  ๋ฒ„๊ทธ๋„ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ํ•ด์„œ ๋ฟŒ๋“ฏํ•จ.

์–ธ๋‹ˆ.. ์ œ๊ฐ€ ๋น„๋ก ๋‘์‹œ๊ฐ„๋งŒ์— ๋งŒ๋“ ๊ฑด ๋งž์ง€๋งŒ ๊ทธ ๋‘์‹œ๊ฐ„ ์‚ฌ์ด์— ํ์—์ด๋ฅผ ์–ผ๋งˆ๋‚˜ ์—ด์‹ฌํžˆ ํ–ˆ๋Š”์ง€ ์•„์‹œ๋‚˜์š”? ^_ใ…  ์ œ ํด๋กœ๋“œ๋Š” ์ €๋ฅผ ๊ทนํ˜ํ•  ๊ฑฐ์—ฌ์š”...

๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ง์˜ ์„ธ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ.. (์‚ฌ์‹ค ๋Œ€๋ง๊นŒ์ง„ ์•„๋‹˜)

๋ฆฌ๋‹ˆ์–ด ํ‹ฐ์ผ“ ๋‚ด์šฉ๊ณผ ๋Œ“๊ธ€ ๋‚ด์šฉ์„ ์˜-> ํ•œ, ํ•œ -> ์˜ ๋ฒˆ์—ญ ํ•ด์ฃผ๋Š” ๋ด‡

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

๊ทธ๋ฆฌ๊ณ  ๋˜ ํ•˜๋‚˜ ์ข‹์€ ์ ์€ ์–˜๋„ค CS ์†๋„๊ฐ€ ์žฅ๋‚œ ์•„๋‹˜. ๋ญ˜ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์งˆ๋ฌธ์„ ๋‚จ๊ธฐ๋ฉด ์ง„์งœ ์ดˆ์Šคํ”ผ๋“œ๋กœ ๋‹ต๋ณ€์ด ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๊ธฐ๋“ค์ด ์ƒ๊ฐํ–ˆ์„ ๋•Œ ํ•„์š”ํ•˜๋‹ค ์‹ถ์œผ๋ฉด ๊ตฌํ˜„๋„ ๊ต‰์žฅํžˆ ๋นจ๋ฆฌ ํ•ด์คŒ. ๊ทธ๋ž˜์„œ ๊ฝค ๋งŒ์กฑํ•˜๋ฉด์„œ ์‚ฌ์šฉ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

์—ฌํ•˜ํŠผ~ ๊ทธ๋ž˜๋„ Linear๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ๊ธด ํ•œ๋ฐ, ๊ทธ ์ค‘์—์„œ ๋ญ”๊ฐ€ ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ฆฌ๋‹ˆ์–ด์˜ ํƒœ์Šคํฌ ํ‹ฐ์ผ“ ๋‚ด์šฉ๊ณผ ๋Œ“๊ธ€ ๋‚ด์šฉ์„ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ๋ด‡ ์ •๋„๊ฐ€ ์•„๋‹๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์šฐ๋ฆฌ ํšŒ์‚ฌ๋Š” ํ•ด์™ธ์—์„œ ์ผํ•˜์‹œ๋Š” ๋ถ„๋“ค๋„ ๊ณ„์‹œ๊ณ  ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ํ•œ๊ตญ์–ด ์†Œํ†ต์ด ๋” ํŽธํ•œ ํ•œ๊ตญ์ธ ํŒ€์› ๋ถ„๋“ค๊ณผ ์˜์–ด๊ฐ€ ๋” ํŽธํ•œ ํ•ด์™ธ ํŒ€์› ๋ถ„๋“ค ๊ฐ„์˜ ์†Œํ†ต์ด ์ค‘์š”ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿด ๋•Œ ๋งค๋ฒˆ ์ฑ—์ง€ํ”ผํ‹ฐ ๊ฐ™์€ ๊ฑฐ์—์„œ ๋ฒˆ์—ญํ•ด์™€์„œ ๋ถ™์—ฌ๋„ฃ๊ณ  ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ๊ณ„์…จ์Œ.

์ผ๋‹จ ์ด๊ฑฐ๋Š”.. ๊ทธ๋ž˜๋„ ์ƒ๊ฐ๋ณด๋‹จ ์‹œ๊ฐ„ ํˆฌ์ž๋ฅผ ๊ฝค ํ•œ๋“ฏ? ๋ณ„ ๊ฒƒ๋„ ์•„๋‹Œ ๊ฑฐ ๊ฐ™์•˜๋Š”๋ฐ ๋‚˜๋ฆ„ 46๊ฐœ์˜ ์ปค๋ฐ‹์„ ํ•ด์•ผ ํ–ˆ์œผ๋ฉฐ.. ์ฒ˜์Œ์œผ๋กœ ๋ ˆ์ผ์›จ์ด๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐ€์ž…ํ•ด์„œ ์‚ฌ์šฉํ•ด๋ณผ ๊ธฐํšŒ๊ฐ€ ๋œ ํ”„๋กœ์ ํŠธ(?)์˜€๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด.. ๋ฆฌ๋‹ˆ์–ด API <> Claude ์—ฐ๊ฒฐํ•ด์„œ OpenAI API (gpt-4o-mini ๋ชจ๋ธ)๋ฅผ ์‚ฌ์šฉํ•œ ๋ฆฌ๋‹ˆ์–ด ํ‹ฐ์ผ“ ๋ฐ ๋Œ“๊ธ€ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ! ๋‹จ, ์›๋ณธ๊ณผ์˜ ๋Œ€์กฐ๊ฐ€ ํ•ญ์ƒ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ณธ ๋˜ํ•œ ์œ ์ง€ํ•  ๊ฒƒ.

์ด๋ฏธ์ง€

๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ณ„ ํžˆ์Šคํ† ๋ฆฌ

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

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์˜ ๋ฒˆ์—ญ ๋ด‡์„ ๊ตฌํ˜„

  • Express ์„œ๋ฒ„ ์„ค์ •
  • Linear ์›นํ›… ์—”๋“œํฌ์ธํŠธ (/webhook/linear)
  • OpenAI๋ฅผ ํ†ตํ•œ ๊ธฐ๋ณธ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ
  • /translate ๋ช…๋ น์–ด ๊ฐ์ง€
  • Railway ํ”Œ๋žซํผ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ Procfile ์ถ”๊ฐ€

์ฃผ์š” ๋„์ „๊ณผ์ œ์™€ ํ•ด๊ฒฐ ๊ณผ์ •

  1. ๋น„๋ฒˆ์—ญ ์ฝ”๋ฉ˜ํŠธ ์ฒ˜๋ฆฌ

/translate ์™ธ์˜ ์ผ๋ฐ˜ ์ฝ”๋ฉ˜ํŠธ๋„ ์›นํ›…์œผ๋กœ ์ˆ˜์‹ ๋˜์–ด ๋ถˆํ•„์š”ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐœ์ƒ

ํ•ด๊ฒฐ

// Silently ignore non-translate comments
if (!commentBody.toLowerCase().includes(TRANSLATE_COMMAND)) {
  return res.status(200).send('ok');
}
  1. ์ž„๋ฒ ๋“œ(Embed) ๊นจ์ง ์ด์Šˆ

Figma ๋“ฑ ์ž„๋ฒ ๋“œ๋œ ๋งํฌ๊ฐ€ ํ…์ŠคํŠธ๋กœ๋งŒ ํ‘œ์‹œ๋˜๊ณ  ์ž„๋ฒ ๋“œ ํ˜•ํƒœ๊ฐ€ ๊นจ์ง

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

์ด์Šˆ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ์‹œ๋„ํ•ด๋ณธ ๋ฐฉ์‹์€:

  • URL์ด ํฌํ•จ๋œ ๋ผ์ธ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ ค ์‹œ๋„
  • ์ด๋ฏธ์ง€ ๋ฐ ๋น„๋””์˜ค ์ž„๋ฒ ๋“œ ์œ ์ง€ ์‹œ๋„ - ๋งˆํฌ๋‹ค์šด ์ด๋ฏธ์ง€ ๋ฌธ๋ฒ• ![alt](url) ๋ณด์กด
  • URL ํฌํ•จ ๋‹จ๋ฝ ์Šคํ‚ต -> ์ด ๊ฒฝ์šฐ "์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งํฌ ์ฐธ๊ณ : https://..." ๊ฐ™์€ ์ค‘์š”ํ•œ ์„ค๋ช…๋„ ์Šคํ‚ต๋˜์–ด๋ฒ„๋ฆผ ใ… ,ใ… 
  • ๋งˆํฌ๋‹ค์šด ๋งํฌ๋ฅผ Raw URL๋กœ ๋ณ€ํ™˜
  • Linear ์ฒจ๋ถ€ํŒŒ์ผ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

์ผ๋‹จ ํ•ด๊ฒฐ์ด ์–ด๋ ค์› ๋˜ ์ด์œ ๋Š”... Linear API์˜ ํŠน์„ฑ์ƒ ์ด์Šˆ description์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ์ž„๋ฒ ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  Title` ํ˜•ํƒœ๋Š” Linear์—์„œ ์ž„๋ฒ ๋“œ๋กœ ๋ณ€ํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒƒ.. ๋“ฑ๋“ฑ์ด ์žˆ์—ˆ๋Š”๋ฐ ์—ฌํŠผ ๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” linear API์˜ ํ•œ๊ณ„๋กœ ๋Œ“๊ธ€์— ์•„์˜ˆ ์ƒˆ๋กญ๊ฒŒ ๋ฒˆ์—ญ์„ ํ•ด์„œ ๋‹ฌ์•„์ฃผ๋Š” ๊ฑฐ๋ฉด ๋ชฐ๋ผ๋„ ํ‹ฐ์ผ“ ์ž์ฒด์— ๋ฒˆ์—ญํ•œ ๊ฒƒ์„ ๋‹ฌ์•„์ฃผ๋Š” ๊ฒƒ์€ ์ž„๋ฒ ๋“œ๋ฅผ ๊ณ ๋Œ€๋กœ~ ๋ณด์กดํ•˜๊ธฐ๊ฐ€ ํž˜๋“  ๋“ฏํ•˜๋‹ค. ๋‚˜์ค‘์— ์ข€๋” ํŒŒ๋ณด๊ธด ํ• ํ…๋ฐ..

๊ทธ ์™ธ.. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋‹ ๊ด€๋ จํ•œ ์ถ”๊ฐ€ ์ด์Šˆ๋“ค?

  1. startsWith ์‚ฌ์šฉ โ†’ /translate๊ฐ€ ๋ฌธ์žฅ ์ฒ˜์Œ์ด ์•„๋‹ˆ๋ผ ์ค‘๊ฐ„์— ์žˆ์œผ๋ฉด ๋ฌด์‹œ๋จ

  2. ์ค‘๋ณต ์ฒ˜๋ฆฌ ์—†์Œ โ†’ ์›นํ›…์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์˜ค๋ฉด ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฒˆ์—ญ๋จ โ†’ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์ค‘๋ณต ๋ฐฉ์ง€๋Š” ์„œ๋ฒ„๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋ฉด ์ดˆ๊ธฐํ™”๋˜์–ด๋ฒ„๋ ค์„œ DB(์ฝ”๋ฉ˜ํŠธ) ๊ธฐ๋ฐ˜ ์˜๊ตฌ ์ค‘๋ณต ๋ฐฉ์ง€ (the issue has been translated์™€ ๊ฐ™์ด ๋ฒˆ์—ญ ์™„๋ฃŒ ๋Œ“๊ธ€์„ ๋ด‡์ด ๋‹ฌ์•„์ฃผ๊ณ  ์ด ์ด๋ฒคํŠธ๋ฅผ ํ™•์ธ)

  3. ๋ฒˆ์—ญ ์™„๋ฃŒ ๊ฐ์ง€ ๋ฏธํก โ†’ ์ด๋ฏธ ๋ฒˆ์—ญ๋œ ๊ฒƒ๋„ ๋‹ค์‹œ ๋ฒˆ์—ญ ์‹œ๋„

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ... 'Transaction Fee Modal์—์„œ Priority Fee ์„ค์ • ์‹œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ'๊ณผ ๊ฐ™์ด ๋Œ€์ฒด๋กœ ์˜์–ด์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฒˆ์—ญ์ด ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ดˆ๊ธฐ isEnglish() ํ•จ์ˆ˜๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์—ˆ์–ด์„œ ๊ทธ๋žฌ์Œ. ์ด๋ฅผ 95%๋กœ ๋ณ€๊ฒฝ.

javascript
function isEnglish(text) {
  const englishChars = (text.match(/[a-zA-Z]/g) || []).length;
  const nonEnglishChars = (text.match(/[^\x00-\x7F]/g) || []).length;
  // ์˜์–ด ๋น„์œจ 70% ์ด์ƒ์ด๋ฉด ์˜์–ด๋กœ ํŒ์ •
  return englishChars / (englishChars + nonEnglishChars) > 0.7;
}

๊ตฌํ˜„ ์ค‘์— ํŒ€์›๋“ค์„ ์œ„ํ•ด UX์ƒ ์ถ”๊ฐ€ ํ˜น์€ ๋ณ€๊ฒฝ๋œ ๊ฒƒ

  • ์ „์ฒด ํ†ต์œผ๋กœ ๋ฒˆ์—ญํ•ด์„œ ๋ฐ‘์— ๋ถ™์—ฌ๋„ฃ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ฌธ๋‹จ๋ณ„๋กœ ๋ฒˆ์—ญํ•ด์„œ ๋ฌธ๋‹จ ๋ฐ‘์— ๋ฒˆ์—ญ๋œ ๋ฒ„์ „์„ ๋ถ™์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์„œ๋กœ ์ดํ•ดํ•˜๋Š” ๋ฐ์— ๋” ์šฉ์ดํ•˜๋‹ค๋Š” ํŒ๋‹จ, ๊ทธ๋ž˜์„œ ๋ฌธ๋‹จ๋งˆ๋‹ค ๋ฒˆ์—ญํ•˜๋„๋ก ์ˆ˜์ •.

  • ์ดˆ๊ธฐ์—๋Š” ํ•œ๊ตญ์–ด โ†’ ์˜์–ด๋งŒ ์ง€์›ํ–ˆ์ง€๋งŒ, ์˜์–ด โ†’ ํ•œ๊ตญ์–ด๋„ ํ•„์š”ํ•ด๋ณด์—ฌ์„œ ์ถ”๊ฐ€

  • ์ž…๋ ฅ ์–ธ์–ด ๊ฐ์ง€๋ฅผ ์ž๋™์œผ๋กœ ํ•˜๋„๋ก ๋ณ€๊ฒฝ

  • ์ด์ „์— ํ•œโ†’์˜ ๋ฒˆ์—ญํ•œ ์ด์Šˆ๋ฅผ ๋‹ค์‹œ ๋ฒˆ์—ญํ•˜๋ฉด ์–ธ์–ด ๊ฐ์ง€๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์–ด์„œ ๋‘ ๊ฐ€์ง€ ํ™•์ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ชจ๋‘ ๊ฒ€์‚ฌ

  • ์ดˆ๊ธฐ์—๋Š” ํ‹ฐ์ผ“ ๋ณธ๋ฌธ ๋ฒˆ์—ญ๊ธฐ๋Šฅ๋งŒ ์ง€์›ํ–ˆ๋Š”๋ฐ ๋Œ“๊ธ€ ๋ฒˆ์—ญ๋„ ํ•„์š”ํ•ด๋ณด์—ฌ์„œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ โ†’ ์ด ๊ฒฝ์šฐ, ๋Œ“๊ธ€์ด ์ƒˆ๋กœ ๋‹ฌ๋ฆฌ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ๋Œ“๊ธ€์˜ ๋Œ€๋Œ“๊ธ€๋กœ ๋ฒˆ์—ญ๋ฌธ์ด ์ฒจ๋ถ€๋˜๋„๋ก ๊ตฌํ˜„

๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ ํ•˜๋ฉด์„œ ๊นจ๋‹ฌ์€ ๊ฒƒ) [Debug] ๋กœ๊ทธ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ์˜ ํ•ต์‹ฌ์ด ๋˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๋””๋ฒ„๊น…์ด ํ•„์š”ํ•ด๋ณด์ด๋Š” ํ”ผ์ณ๋“ค์€ ๋””๋ฒ„๊ทธ ๋กœ๊ทธ์— ์ž˜ ์ฐํžˆ๋„๋ก ์„ค๊ณ„ํ•˜์ž...

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

๋‹ค์Œ ๊ธ€์€.. ์ด์ œ.. ๊ฐ€์žฅ ํ˜ผ์‹ ์˜ ํž˜์„ ๋‹คํ•ด์„œ(?) ํด๋กœ๋“œ์™€ ์‹ธ์›Œ์•ผ๋งŒ ํ–ˆ๋˜ ์ด ๋ธ”๋กœ๊ทธ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“  ๊ณผ์ •๊ณผ... ๊ทธ๋ฆฌ๊ณ  ์›นํ”Œ๋กœ์šฐ permission ์„ค์ • ๊ฐ™์€ ์ž์ž˜ํ•œ ๊ฒƒ๋“ค์ด ์ƒ๊ฐ๋ณด๋‹ค ๊นŒ๋‹ค๋กœ์› ๋˜ ์›นํ”Œ๋กœ์šฐ๋กœ ๋งŒ๋“  ์›น์‚ฌ์ดํŠธ๋“ค์„ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์Šฌ๋ž™๋ด‡ ๋งŒ๋“ค๊ธฐ ๊ณผ์ •์„ ๊ธฐ์ˆ ํ•ด๋ณด๊ฒ ๋‹ค! ๋‘๋‘ฅ ํˆฌ๋น„ ์ปจํ‹ฐ๋‰ด๋“œ~_~