๐Ÿ‘ 2024๋…„ 7์›”ํšŒ๊ณ 

@Troy ยท August 03, 2024 ยท 21 min read

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

์™ธ๋ถ€ ํ™œ๋™์œผ๋กœ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ฒ˜์Œ์œผ๋กœ contribution์„ ํ•ด๋ณด๊ณ , ํ† ์Šค FE Accelerator์—๋„ ํ•ฉ๊ฒฉํ•ด ๋ฉ˜ํ† ๋ง ๊ณผ์ •์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์ƒˆ๋กœ์šด ํ™œ๋™์„ ์ง„ํ–‰ํ•œ 7์›”์„ ์ •๋ฆฌํ•˜๊ณ , 8์›”์˜ ์•ก์…˜์•„์ดํ…œ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

7์›”์˜ ์•ก์…˜์•„์ดํ…œ

6์›” ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ 7์›”์˜ ์•ก์…˜์•„์ดํ…œ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ ์ •ํ–ˆ์—ˆ๋‹ค.

  • Native Stack ์ ์šฉ ๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ
  • Async Storage ๋Œ€์ฒดํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€ํ†  ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ
  • ์ œํ’ˆ ๋‚ด ๋กœ๋”ฉ ์ƒํƒœ ๊ฐœ์„ ํ•˜๊ธฐ
  • ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ์ถ”๊ฐ€ ์ž‘์—… ์ง„ํ–‰ํ•˜๊ธฐ
  • ํŽ˜์ด์ง€๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ  ๋ฌธ์ œ ๊ณ ๋ฏผํ•˜๊ณ  ๋…ผ์˜ํ•˜๊ธฐ

Native Stack ์ ์šฉ๊ธฐ ๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ

2๋ถ„๊ธฐ OKR๋กœ ํ™”๋ฉด ์ „ํ™˜๊ฐ„ ์„ฑ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋ฉด์„œ ์ ์šฉํ•œ Native Stack Navigation ์ ์šฉ๊ณผ์ •์— ๋Œ€ํ•œ ๊ธ€์„ ์ž‘์„ฑํ–ˆ๋‹ค. Native Stack Navigation์„ ์ ์šฉํ•˜๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ CPU ์‚ฌ์šฉ๋Ÿ‰์„ ๊ฐ์†Œ์‹œ์ผœ ํ™”๋ฉด ์ „ํ™˜๊ฐ„ ๋ฒ„๋ฒ…์ž„์„ ๊ฐœ์„  ๊ณผ์ •๊ณผ, ์ž‘์—…๊ฐ„ ์–ด๋ ค์› ๋˜ ์ , ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ดํ›„ ์‹œ๋„ํ•˜๋ฉด ์ข‹์„ ์ž‘์—…๋“ค์— ๋Œ€ํ•ด์„œ๋„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ›„์ž‘์—…์œผ๋กœ ์ƒ๊ฐํ–ˆ๋˜ ์ผ๊ฐ ์ค‘ ํ•˜๋‚˜์˜€๋˜ ๊ฒ€์ƒ‰ ํ™”๋ฉด ์ง„์ž…์‹œ ๋ฒ„๋ฒ…์ด๋Š” ์ด์Šˆ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

ํ•ด๋‹น ์ด์Šˆ๋Š” react native screens์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋˜ ์ด์Šˆ๋กœ ์ „ํ™˜๋˜๋Š” ํ™”๋ฉด์˜ TextInput์ด AutoFocus๊ฐ€ true๋กœ ๋˜์–ด์žˆ์„ ๊ฒฝ์šฐ AutoFocus๋กœ ์ธํ•œ ํ‚ค๋ณด๋“œ ๋…ธ์ถœ ์ด๋ฒคํŠธ์™€ ํ™”๋ฉด ์ „ํ™˜ ์ด๋ฒคํŠธ๊ฐ€ ํ•จ๊ป˜ ์ฒ˜๋ฆฌ๋˜๋ฉด์„œ ๋ฒ„๋ฒ…์ž„์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์˜€๋‹ค.

[Repo์— ๋“ฑ๋ก๋œ ์ด์Šˆ์˜ ์žฌํ˜„ ์˜์ƒ]

UI ์Šค๋ ˆ๋“œ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ AutoFocus๋ฅผ true๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ ๋Œ€์‹ , ํ™”๋ฉด์ „ํ™˜ ์™„๋ฃŒ ์ดํ›„์— manualํ•˜๊ฒŒ TextInput ref์— focus๋ฅผ ๋™์ž‘์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•ด๋‹น ์ด์Šˆ์— ๊ณต์œ ํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
ํ•ด๋‹น ์ด์Šˆ์— ๊ณต์œ ํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

ํ›„์ž‘์—…์„ ํ†ตํ•ด ๋‹ด๋‹นํ–ˆ๋˜ ์ผ๊ฐ์— ๋Œ€ํ•œ ์™„์„ฑ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์–ด ๋ฟŒ๋“ฏํ–ˆ๋˜ ์ˆœ๊ฐ„์ด์—ˆ๋‹ค.

Async Storage ๋Œ€์ฒดํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ ์ •ํ•˜๊ธฐ

Async Storage๋ฅผ ์ด์šฉํ•˜๋ฉด์„œ ํฐ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ, ์กฐ๊ธˆ ๋” ๋น ๋ฅด๋ฉด์„œ๋„ ์‚ฌ์šฉ์„ฑ์ด ์ข‹์€ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ๊ณ  ์ ์šฉํ•˜๋Š” ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

ํ›„๋ณด๊ตฐ์œผ๋กœ๋Š” WatermelonDB, MMKV, OP-SQLite๋กœ ์ด 3๊ฐ€์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ MMKV๋งŒ์„ ์‚ฌ์‹ค ์ฒซ ๋ชฉํ‘œ๋กœ ์ž‘์—…์„ ๊ธฐํšํ–ˆ์—ˆ์ง€๋งŒ, ์ฑ•ํ„ฐ์› ๋ถ„๋“ค์˜ ์ถ”์ฒœ์œผ๋กœ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๋„ ํ•จ๊ป˜ ๋น„๊ตํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ํ•จ๊ป˜ ๋น„๊ตํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด MMKV ๋ ˆํฌ์— ์†Œ๊ฐœ๋˜์–ด์žˆ๋Š” Bench Mark ๋ ˆํฌ๋ฅผ ์ฐธ๊ณ ํ–ˆ๊ณ , ์ƒˆ๋กญ๊ฒŒ ๋ ˆํฌ๋ฅผ ๋งŒ๋“ค์–ด ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

์•„๋ž˜๋Š” ๊ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ณ„๋กœ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ๋กœ key: 'k', value: 'hello' ์ €์žฅ์„ 1000๋ฒˆ ๋ฐ˜๋ณตํ•œ ํ›„์— ์‹œ๊ฐ„์„ ์ธก์ •ํ•œ ๊ฒฐ๊ณผ๋กœ, MMKV๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ ๋น„๊ต ๋ฐ์ดํ„ฐ
๋ฒค์น˜๋งˆํฌ ๋น„๊ต ๋ฐ์ดํ„ฐ

์†๋„๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜, ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›, ์‹ค์ œ ์ œํ’ˆ์— ์ ์šฉ์ด ๊ฐ€๋Šฅํ•œ์ง€ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋น„๊ต๊ฐ€ ํ•„์š”ํ–ˆ๊ณ  ๊ฒฐ๋ก ์ ์œผ๋กœ MMKV๋ฅผ ์„ ์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

[๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณ„ npm ํŠธ๋ Œ๋“œ ๋น„๊ต] npm trend

์ •๋ฆฌํ•œ ๋‚ด์šฉ๋“ค์„ ํ†ตํ•ด ์ฑ•ํ„ฐ์›๋ถ„๋“ค๊ป˜ ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ–ˆ๊ณ , MMKV๋ฅผ ์‹ค์ œ ์ œํ’ˆ์— ์ ์šฉํ–ˆ์„ ๋•Œ ๊ธฐ๋Œ€๋˜๋Š” ์„ฑ๋Šฅ์ ์ธ ์ด์ ๋„ ๊ณต์œ ํ–ˆ๋‹ค.

๊ณต์œ ํ•œ ๋‚ด์šฉ์ค‘์— ์‹œ๊ฐ„ ์ธก์ •์— API ์‘๋‹ต์‹œ๊ฐ„๋„ ํ•จ๊ป˜ ํฌํ•จ๋˜์–ด์žˆ๋˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ , ์กฐ๊ธˆ ๋” ์ •ํ™•ํ•œ ์ธก์ •์„ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๊ณ , ์ด์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ ํ›„์— ์ •ํ™•ํ•˜๊ฒŒ ์–ผ๋งˆ๋‚˜ ์„ฑ๋Šฅ์ ์ธ ์ด์ ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์„์ง€ ๋‹ค์‹œ ์ธก์ •ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.

MMKV๊ฐ€ ์™œ ๋น ๋ฅธ์ง€, ๋˜ ์ œํ’ˆ์— ์ ์šฉํ•˜๋ฉด์„œ ๊ณ ๋ คํ–ˆ๋˜ ์  ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ 8์›”์— ์ œํ’ˆ์— ๋ฐ˜์˜ํ•œ ํ›„์— ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

์ œํ’ˆ ๋‚ด ๋กœ๋”ฉ ์ƒํƒœ ๊ฐœ์„ ํ•˜๊ธฐ

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

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

๋กœ๋”ฉํ™”๋ฉด์ด ์žˆ๋Š”๋ฐ ๊นœ๋นก์ธ๋‹ค๊ณ  ๋Š๊ปด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ํ™”๋ฉด ์กฐํšŒ๋ฅผ ์œ„ํ•œ API ์‘๋‹ต์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋น ๋ฅผ ๋•Œ ์˜คํžˆ๋ ค ๋กœ๋”ฉ ์ƒํƒœ ํ™”๋ฉด์ด ๋‚˜์™”๋‹ค ์‚ฌ๋ผ์ง€๋Š” ์†๋„๊ฐ€ ๋นจ๋ผ์„œ ๊นœ๋นก์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๋ผ๊ฒŒ๋œ๋‹ค. ์ด์— ๋Œ€ํ•œ ๊ฐœ์„  ๋ฐฉ๋ฒ•์œผ๋กœ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋Š”๋ฐ ํ•˜๋‚˜๋Š” ๋กœ๋”ฉ ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๋Š” ์ตœ์†Œ์‹œ๊ฐ„ ์„ค์ • ๋ฐฉ๋ฒ•๊ณผ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์นด์นด์˜ค ํŽ˜์ด์ง€์˜ ๋ฌด์กฐ๊ฑด ์Šค์ผˆ๋ ˆํ†ค ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๋Š”๊ฒŒ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋„์›€์ด ๋ ๊นŒ์š”? ๊ธ€์—์„œ ์†Œ๊ฐœ๋œ ์ผ์ • ์‹œ๊ฐ„ ๋‚ด ์‘๋‹ต์ด ์˜ค๋ฉด ๋กœ๋”ฉํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค.

๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์žฅ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์˜ ์žฅ์ ์€ ์œ ์ €๊ฐ€ ์•„๋ฌด๋ฆฌ ๋นจ๋ผ๋„ ์ตœ์†Œ์‹œ๊ฐ„ ์„ค์ •์ด ์žˆ์œผ๋‹ˆ๊นŒ ํ†ต์ผํ™”๋œ ๋กœ๋”ฉ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜์žˆ์ง€๋งŒ, ๋‹จ์ ์œผ๋กœ ๋น ๋ฅธ ์‘๋‹ต์„ ๋ฐ›์•˜์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋กœ๋”ฉํ™”๋ฉด์ด ๋” ์˜ค๋ž˜ ๋ณด์—ฌ์ง€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์˜ ์žฅ์ ์€ ๋น ๋ฅธ ์‘๋‹ต์„ ๋ฐ›์•˜์„ ๋•Œ ๋กœ๋”ฉํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ์ง€ ์•Š์•„ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋” ์ข‹์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋‹จ์ ์œผ๋กœ ํ•ด๋‹น ์‹œ๊ฐ„ ์ด์ƒ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋ฉด์„œ ์–ผ๋งˆ ์ฐจ์ด๊ฐ€ ๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๊นœ๋นก์ด๋Š” ํšจ๊ณผ๋ฅผ ๋˜๋‹ค์‹œ ๋Š๋‚„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค๋Š” ์ ์ด๋‹ค. (๊ธฐ์ค€ 200ms ์ด๋‚ด๋Š” ๋ณด์—ฌ์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด 300ms ์‘๋‹ต์ด ์™”์„ ๋•Œ ๋กœ๋”ฉ์€ 100ms๋™์•ˆ ๋ณด์ด๋ฉด์„œ ๊นœ๋นก์ž„์„ ์—ฌ์ „ํžˆ ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค.)

ํ•ด๋‹น ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•˜๊ณ  ์ผ๊ฐ ๋ชฉํ‘œ๋ฅผ ๊ณ ๋ฏผํ–ˆ์„ ๋•Œ ์ตœ์†Œ ์‹œ๊ฐ„ ์„ค์ •์„ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์นด์นด์˜ค ํŽ˜์ด์ง€์˜ ๊ธ€๊ณผ, ์ฑ•ํ„ฐ์› ๋ถ„๋“ค๊ป˜ ๋ฐฉํ–ฅ์„ ๊ณต์œ ๋“œ๋ฆฌ๋ฉด์„œ ์ด๋ฏธ ๋น ๋ฅธ๋ฐ ์ผ๋ถ€๋กœ ๋Š๋ฆฌ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ๋” ์ œํ’ˆ์— ์•ˆ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋“ฃ๊ณ , ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ๋‹ค. ์ด์ œ ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์„ ์ •ํ•˜๋ฉด์„œ ๋กœ๋”ฉํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๋Š” ์‹œ๊ฐ„์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ• ์ง€, ์–ด๋–ค ํ™”๋ฉด์— ์ ์šฉํ• ์ง€ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณ ๋ฏผ์„ ํ•˜๋ฉด์„œ ์ ์šฉ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ๋กœ๋”ฉ ๊ฒฝํ—˜ ๊ฐœ์„ ์„ ์œ„ํ•ด React Query๋ฅผ ์ด์šฉํ•ด ๋น„๋™๊ธฐ ์ƒํƒœ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•ด๊ฐ€๊ณ  ์žˆ๋‹ค. ๊ทธ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๊ณต๋ถ€ํ•˜๊ณ  ์ ์šฉํ•ด๋ณด๋ ค ํ•˜๋Š” ๋ฐฉ์‹์€ ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” suspense์˜ ๋„์ž…์ธ๋ฐ, suspense๊ฐ€ ์™œ ์ข‹์€์ง€, ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ธ์ง€ ๋“ฑ์„ 8์›” ์ค‘์— ๋ฐœํ‘œํ•ด๋ณด๊ณ  ์ฑ•ํ„ฐ ๋‚ด ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š”๋ฐ ๊ธฐ์—ฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

ํ•˜์ง€ ๋ชปํ•œ ์•ก์…˜์•„์ดํ…œ

ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์•ก์…˜์•„์ดํ…œ๋“ค๋กœ๋Š” ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ์ž‘์—… ๊ณต์œ ์™€ ํŽ˜์ด์ง€๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ  ํ•ด๊ฒฐํ•ด๋ณด๊ธฐ๊ฐ€ ์žˆ์—ˆ๋‹ค.

ํŽ˜์ด์ง€๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ  ๋ฌธ์ œ๋Š” ์ฑ•ํ„ฐ ๋™๋ฃŒ ๋ถ„๊ป˜์„œ Zustand๋ฅผ ๋„์ž… ์ž‘์—…์„ ํ•ด์ฃผ์‹œ๋ฉด์„œ ๋„๋ฉ”์ธ ๊ฐ„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•ด์ฃผ์…”์„œ, ๋‹ค์Œ ๋‹ฌ์—๋Š” ๋‚จ์•„์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„๋ถ€๋ถ„์„ ๋” ๊ณ ๋ฏผํ•˜๊ณ  ํ•ด๊ฒฐํ•ด๋ณด๋ ค ํ•œ๋‹ค.

์ƒˆ๋กญ๊ฒŒ ์ง„ํ–‰ํ–ˆ๋˜ ํ™œ๋™๋“ค

์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— contributionํ•˜๊ธฐ

7์›”์—๋Š” ํŠน๋ณ„ํ•œ ๊ฒฝํ—˜๋“ค์„ ๋งŽ์ด ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ๋จผ์ € ํ† ์Šค์˜ es-toolkit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— contribution์„ ํ–ˆ๋‹ค. ์ฑ•ํ„ฐ์›๋ถ„๊ป˜์„œ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด์ฃผ์‹œ๋ฉด์„œ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค๋ฉฐ ์Šฌ๋ž™์— ๊ณต์œ ํ•ด์ฃผ์…จ๋‹ค.

ํ‰์†Œ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์‹ถ์ง€๋งŒ, ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ์ง€ ๋ชปํ•ด, ๋Š˜ ๋ถ„์„๋งŒ ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์ข‹์€ ๊ธฐํšŒ๋ผ ์ƒ๊ฐํ•ด ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๋“ค์„ ๋ณด๊ฒŒ๋˜์—ˆ๋‹ค.

์ž˜ ์„ค๋ช…๋œ ๋ฌธ์„œ๋“ค๊ณผ ์ œํ’ˆ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋˜ lodash๋ฅผ ์ตœ์‹  ECMAScript์— ๋งž๊ฒŒ, ์„ฑ๋Šฅ๊ณผ ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ๋ฅผ ํ–ฅ์ƒ์‹œํ‚จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค ๋ณด๋‹ˆ ์ƒ๋Œ€์ ์œผ๋กœ ์–ด๋–ค ํŒจํ‚ค์ง€๋ณด๋‹ค ๋‚˜์—๊ฒŒ ํ—ˆ๋“ค์ด ๋‚ฎ์•„ ๋ณด์˜€๋‹ค.

์ž‘์—…์ด ํ•„์š”ํ•œ ์ด์Šˆ๋“ค๊ณผ ์ด๋ฏธ ์™„๋ฃŒ๋œ PR, ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํ•„์š”ํ•œ ์ž‘์—…์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€ ํŒŒ์•…ํ•˜๊ณ , ์ด๋ฏธ ๋ณ‘ํ•ฉ๋œ PR๋“ค์„ ๋ถ„์„ํ•ด๋ณด๋ฉด์„œ ์–ด๋–ค ์ ๋“ค์„ ๊ณ ๋ฏผํ•˜๋ฉด ์ข‹์„์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๋„๊ฐ€ ๋†’์—ฌ๊ฐ”๋‹ค.

์ด 7๊ฐœ์˜ PR์„ ์˜ฌ๋ ธ๊ณ , ๊ทธ์ค‘ 3๊ฐœ๋Š” ์ˆ˜์ •์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜, ๋ถˆํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋…ผ์˜ ๋์— closeํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , 4๊ฐœ์˜ PR์€ merge๋˜๊ฒŒ ๋˜์—ˆ๋‹ค.

[๋‚ด๊ฐ€ ์˜ฌ๋ ธ๋˜ PR]

es-toolkit-๋‚ด๊ฐ€ ์˜ฌ๋ ธ๋˜ PR
es-toolkit-๋‚ด๊ฐ€ ์˜ฌ๋ ธ๋˜ PR

์ด๋ ‡๊ฒŒ ์—ฐ์ดˆ๋ถ€ํ„ฐ ๊ฐœ์ธ์ ์œผ๋กœ ๋ชฉํ‘œ๋กœ ์žก๊ณ  ์žˆ์—ˆ๋˜ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ฟŒ๋“ฏํ–ˆ๊ณ , ์ด์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ์•˜์œผ๋‹ˆ ์•ž์œผ๋กœ๋„ ๊ณ„์†ํ•ด์„œ ๊ด€์‹ฌ์žˆ๊ฒŒ ๋ณด๊ณ  ๋‚ด๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ๋ฌธ์ œ๋“ค์„ ์ฐพ์•„์„œ ๊ธฐ์—ฌํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

ํ† ์Šค FE Accelerator ๋ฉ˜ํ† ๋ง

์šฐ์—ฐํžˆ ๋งํฌ๋“œ์ธ์—์„œ ๋ณด๊ฒŒ๋œ ํ† ์Šค FE Accelerator ํ”„๋กœ๊ทธ๋žจ์— 6์›” ๋ง์— ์ง€์›ํ•ด ํ…Œ์ŠคํŠธ, ๋ฉด์ ‘๊ณผ์ •์„ ๊ฑฐ์ณ 7์›”๋ถ€ํ„ฐ ๋ฉ˜ํ† ๋ง ๊ณผ์ •์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๋งํฌ๋“œ์ธ ๋ชจ์ง‘ ๊ธ€
๋งํฌ๋“œ์ธ ๋ชจ์ง‘ ๊ธ€

ํ† ์Šค slash ๊ฐœ๋ฐœ์ž ์ปจํผ๋Ÿฐ์Šค๋ฅผ ์—ด์‹ฌํžˆ ๋“ฃ๋˜ ์• ์ฒญ์ž๋กœ์„œ ํ† ์Šค๋Š” ์–ด๋–ป๊ฒŒ ์ผํ•˜๊ณ  ์žˆ๋Š”์ง€, ํšŒ์‚ฌ ๋ฐ–์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์˜ ๊ณ ๋ฏผ๊ณผ ์ข‹์€ ์ฝ”๋“œ๋Š” ์–ด๋–ค ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋˜ ๋‚˜์—๊ฒŒ ๋„ˆ๋ฌด ์ข‹์€ ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๋‹ค.

ํ•จ๊ป˜ ์กฐ๋กœ ๋ฐฐ์ •๋œ ๋‹ค๋ฅธ ํšŒ์‚ฌ์˜ FE ๊ฐœ๋ฐœ์ž๋ถ„๋“ค๊ณผ ํ† ์Šค ๋ฆฌ๋“œ๋ถ„๊ณผ ํ•จ๊ป˜ ๋งค์ฃผ์ฐจ ์˜คํ”„๋ผ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋ฉด์„œ ์„œ๋กœ ๊ฐ™์€ ๊ณผ์ œ๋ฅผ ๋‘๊ณ  ์™œ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€, ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์—†์„์ง€ ๋“ฑ์„ ํ•จ๊ป˜ ์ด์•ผ๊ธฐ ํ•˜๋ฉด์„œ ๋งค์ฃผ์ฐจ ํ•˜๋‚˜์˜ ์ฃผ์ œ์— ๋Œ€ํ•œ ๊นŠ์ด๋ฅผ ๋”ํ•ด๊ฐ€๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

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

ํ•˜์ง€๋งŒ ๋ฉ˜ํ† ๋ง ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋งค์ฃผ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ œ๋Š” ๋ชจ๋‘๊ฐ€ ๊ฐ™๋‹ค๋ณด๋‹ˆ, ๋ฐฐ๊ฒฝ์ด ๋™์ผํ•œ ์ƒํ™ฉ์—์„œ ์ด๊ฒƒ ์ €๊ฒƒ ๋ฌผ์–ด๋ณด๋‹ค ๋ณด๋‹ˆ, ๋งค์ฃผ ๋‚ด๊ฐ€ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„, ๋‚ด๊ฐ€ ๋†“์นœ ๋ถ€๋ถ„๋“ค์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด๊ฒŒ ๋˜๋Š” ์‹œ๊ฐ„์ด ๋˜๊ณ  ์žˆ๋‹ค.

7์›”์— ์ง„ํ–‰ํ•œ ์ฃผ์ œ๋“ค

7์›”์€ 2๊ฐ€์ง€ ์ฃผ์ œ, ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ์™€ ํผ๋„๊ฐ„ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ์ฃผ์ œ๋กœ ํ•œ์ฃผ์”ฉ ์ง„ํ–‰ํ–ˆ๋‹ค. 3์›” ํšŒ๊ณ  ๋•Œ๋ถ€ํ„ฐ ์–ธ๊ธ‰ํ–ˆ๋˜ ํผ๋„๊ฐ„ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ๊ณ ๋ฏผํ•˜๋˜ ๋‚˜์—๊ฒŒ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ, ํผ๋„๊ฐ„ ์ƒํƒœ๊ด€๋ฆฌ๋ผ๋Š” ๊ด€์‹ฌ์‚ฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์šฐ์•„ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

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

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

๊ณผ์ œ์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋“ค๋„ ๋‹ค ํ†ต๊ณผํ–ˆ๊ณ , ๊ธฐ์กด ํ”ผ๋“œ๋ฐฑ์— ๋”ฐ๋ผ ์ž˜ ์ˆ˜์ •ํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์˜ค๋žซ๋™์•ˆ ๊ณ ๋ฏผํ–ˆ๋˜ ์ฃผ์ œ์˜€๊ณ  ์ด๋ฒˆ์— ๊ณต๋ถ€ํ•˜์ง€ ์•Š์œผ๋ฉด ์ดํ›„์—๋„ ๊ณ„์†ํ•ด์„œ ๋งˆ์Œ ํ•œ์ผ ์— ๋‚จ์•„์žˆ์„ ๊ฒƒ ๊ฐ™์•„ useFunnel ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ์ ์šฉํ•ด๋ณด๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

useFunnel ๋ฌธ์„œ
useFunnel ๋ฌธ์„œ

useFunnel ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๋ณด๊ณ , ๋ฐœํ‘œ๋‚ด์šฉ์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋“ค์œผ๋ฉด์„œ, ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ คํ•˜๋Š” ํ›…์ธ์ง€, ์™œ ์ฝ”๋“œ๊ฐ€ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ํ•œ๋•€ ํ•œ๋•€ ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ณผํ•œ๊ฐ€ ์‹ถ์—ˆ์ง€๋งŒ ๋ถ„์„ํ•˜๊ณ  ์ง์ ‘ ์ ์šฉํ•ด๋ณด๋ฉด์„œ ๋„ˆ๋ฌด ์ข‹์€ ๊ฒฝํ—˜์ด์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๋‹ค.

2์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ๋น„๋ก ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„ํ•œ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ํ˜„์žฌ ๊ณผ์ œ์— ๋งž๊ฒŒ ์–ด๋Š์ •๋„ ๊ตฌํ˜„ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ๊ฐ€์ ธ๊ฐ”๊ณ , ํ•จ๊ป˜ ๊ณต์œ ํ–ˆ์„ ๋•Œ ์ข‹์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์‹ค์ œ ์‚ฌ๋‚ด ์ œํ’ˆ์—๋„ ์ ์šฉํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค.

useFunnel์„ ์กฐ๊ธˆ ๋” ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„์„ํ•œ ํ›„์— ์˜คํ”ˆ์†Œ์Šค ๋ถ„์„๊ณผ์ •์„ ๊ณต์œ ํ•˜๋Š” ๊ธ€์„ ์ž‘์„ฑํ•ด๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

๋ฒŒ์จ 2์ฃผ๋‚˜ ํ˜๋ €์ง€๋งŒ ์•ž์œผ๋กœ ๋‚จ์€ ๊ณผ์ •๋“ค์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ, ๋‹จ์ˆœํžˆ ๋‚ด๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ๋ฐ”์šด๋”๋ฆฌ ๋‚ด์—์„œ ์ตœ์„ ์ด ์•„๋‹ˆ๋ผ, ์กฐ๊ธˆ์€ ๊ณผํ•˜๊ฒŒ ๊ณ ๋ฏผํ•˜๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๋ฉด์„œ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์„ ๋” ๋งŽ์ด ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

8์›”์˜ ์•ก์…˜์•„์ดํ…œ

7์›”์˜ ๋‹ค์–‘ํ•œ ์ƒˆ๋กœ์šด ํ™œ๋™๊ณผ ํ•จ๊ป˜ ์•„๋ž˜์™€ ๊ฐ™์ด 8์›”์˜ ์•ก์…˜์•„์ดํ…œ์„ ์„ ์ •ํ–ˆ๋‹ค.

  • MMKV ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ ์šฉ ํ›„ ์„ฑ๋Šฅ ๊ฐœ์„  ๊ฒฐ๊ณผ ์ •๋ฆฌํ•˜๊ธฐ
  • React Query๋ฅผ ์ด์šฉํ•œ ๋น„๋™๊ธฐ ์ƒํƒœ ๊ฐœ์„  ๋ฐฉํ–ฅ ๊ณต์œ ํ•˜๊ธฐ
  • useFunnel ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถ„์„ ํ›„ ์˜คํ”ˆ์†Œ์Šค ๋ถ„์„ ๊ณผ์ • ๊ณต์œ ํ•˜๊ธฐ
  • ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ์ถ”๊ฐ€ ์ž‘์—… ์ง„ํ–‰ํ•˜๊ธฐ

ํ•˜๋˜ ๊ฑธ ๊พธ์ค€ํžˆ ์ž˜ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๋” ์ž˜ํ•˜๊ธฐ ์œ„ํ•ด ์ง€๊ธˆ ๋ณด๋‹ค extra mile์„ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒŒ ์ง€๊ธˆ ์‹œ์ ์— ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

์ƒˆ๋กœ์šด ์‹œ์•ผ์™€ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋” ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด 8์›”์—๋„ ๋…ธ๋ ฅํ•ด๋ณด๋ ค ํ•œ๋‹ค.

@Troy
๋งค์ผ์˜ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฐœ๋ฐœ์ผ์ง€์ž…๋‹ˆ๋‹ค.