Hi.๐Ÿ‘‹ There

I’m Yeonseong, working as a Front-End Engineer.

ํด๋กœ์ €๋Š” ์–ด๋–ป๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ๊ธฐ์–ตํ• ๊นŒ?

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

June 26, 2025

๊ธฐ๋ก, ํšŒ๊ณ , ๊ทธ๋ฆฌ๊ณ  ์•ž์œผ๋กœ

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

June 12, 2025

react-virtualized๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง ์ตœ์ ํ™”ํ•˜๊ธฐ

react-virtualized๋ฅผ ์ ์šฉํ•˜๋ฉฐ ์„ฑ๋Šฅ ๊ฐœ์„ ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๊ฐ€์ƒํ™” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋„์ž…ํ•œ ๊ฒƒ์—์„œ ๊ทธ์น˜์ง€ ์•Š๊ณ , Chrome ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์™€ GC ์ž‘๋™ ๋ฐฉ์‹๊นŒ์ง€ ์ถ”์ ํ•˜๋ฉฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ค ํšจ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”์ง€๋ฅผ ์ง์ ‘ ๋น„๊ตํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง, ๋ฌธ์ œ๋Š” ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ์˜€๋‹ค ํ”„๋กœ์ ํŠธ์—์„œ ์ตœ๋Œ€ 10๋งŒ๊ฐœ์— ์ด๋ฅด๋Š” ์˜ค๋””์˜ค ์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ค˜์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.. ๋ ˆ๊ฑฐ์‹œ ํ”„๋กœ์ ํŠธ์—์„  ๋‹จ์ˆœํžˆ .map()์„ ํ†ตํ•ด ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœ ๋˜์—ˆ์—ˆ์ง€๋งŒ, ์˜ˆ์ƒ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์Šคํฌ๋กค ์‹œ ๋Š๊น€ ํ˜„์ƒ ๋ฐœ์ƒ DevTools์˜ JavasScript Heap ๋ฉ”๋ชจ๋ฆฌ ์ง€์† ์ฆ๊ฐ€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ์ €ํ•˜ ์ด๋Ÿฐ ์ƒํ™ฉ์ด ์กด์žฌํ•˜์—ฌ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋ฆฌ์ŠคํŠธ ๊ฐ€์ƒํ™” ๋„์ž…์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ...

April 2, 2024

WebRTC์—์„œ Agora๋กœ: ์™œ Agora SDK๋ฅผ ์„ ํƒํ–ˆ์„๊นŒ?

์‹ค์‹œ๊ฐ„ ์˜์ƒ ํ†ต์‹ ์„ ์•ˆ์ •์ ์œผ๋กœ ์„œ๋น„์Šคํ•˜๋Š” ๊ฒƒ์€ ์ƒ๊ฐ๋ณด๋‹ค ๋ณต์žกํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ด ๋ถˆ์•ˆ์ •ํ•œ ํ•ด์™ธ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•  ๊ฒฝ์šฐ, ๊ทธ ์–ด๋ ค์›€์€ ๋” ์ปค์ง‘๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ธฐ์กด WebRTC ๊ธฐ๋ฐ˜ 1:1 ์—ฐ๊ฒฐ ๊ตฌ์กฐ์—์„œ Agora RTC SDK๋กœ ์ „ํ™˜ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ์™€, ๊ทธ ๊ณผ์ •์—์„œ ๋„คํŠธ์›Œํฌ ํ’ˆ์งˆ ์ธก์ •๊ณผ Agora ๊ตฌ์กฐ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์™œ Agora SDK ์˜€์„๊นŒ? ๊ธฐ์กด WebRTC ๊ธฐ๋ฐ˜ ์—ฐ๊ฒฐ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. STUN/TURN ์„œ๋ฒ„ ์ธํ”„๋ผ ๊ตฌ์ถ• ๋น„์šฉ ์ฆ๊ฐ€ ํ•ด์™ธ ๋„คํŠธ์›Œํฌ ์ ‘์† ๋ถˆ์•ˆ์ • ์—ฐ๊ฒฐ ์ „ ํ’ˆ์งˆ ์ธก์ •์˜ ์–ด๋ ค์›€ ๐Ÿ‘‰ ์ด์ „ ๊ธ€: ํ•ด์™ธ ์‚ฌ์šฉ์ž ๋Œ€์ƒ WebRTC ์—ฐ๊ฒฐ, ์–ด๋–ป๊ฒŒ ์ง„๋‹จํ–ˆ์„๊นŒ? ...

February 26, 2024

React Native์— CodePush ๋„์ž…๊ธฐ

React Native ๊ธฐ๋ฐ˜ ์•ฑ ํ”„๋กœ์ ํŠธ๋ฅผ ์šด์˜ํ•˜๋ฉด์„œ, Store ์‹ฌ์‚ฌ ์ง€์—ฐ์œผ๋กœ ์ธํ•ด Hotfix ๋ฐฐํฌ๋‚˜ ๊ฐ„๋‹จํ•œ UI ์ˆ˜์ •์กฐ์ฐจ ์ˆ˜์ผ ์ด์ƒ ์†Œ์š”๋˜๋Š” ์ผ์ด ์žฆ์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์‚ฌ์šฉ์ž(๊ทผ๋กœ์ž)์—๊ฒŒ ์ฃผ์ผ ๋งˆ๋‹ค ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„์˜ค๋Š” ์ƒํ™ฉ์—์„œ ์žฆ์€ ๋นˆ๋„๋กœ ์—…๋ฐ์ดํŠธ๋˜๋˜ ์„œ๋น„์Šค์˜€๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ๋ณ‘๋ชฉ์€ ์ „์ฒด ์—…๋ฐ์ดํŠธ ์ผ์ •์— ํฐ ์˜ํ–ฅ์„ ๋ผ์ณค์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด CodePush ๊ธฐ๋ฐ˜์˜ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ CodePush๋ฅผ ๋„์ž…ํ–ˆ๋Š”๊ฐ€ Microsoft์—์„œ ์ œ๊ณตํ•˜๋Š” CodePush๋Š” React Native ์•ฑ์˜ JS ๋ฒˆ๋“ค๋งŒ OTA(Over-the-Air) ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์•ฑ์„ ์žฌ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์Šคํ† ์–ด ์‹ฌ์‚ฌ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ ๋„ ์ฆ‰๊ฐ์ ์ธ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ...

January 20, 2024