Joyful Daunโs Blog
/
Posts
Search
Share
๐
Posts
๋ฆฌ์คํธ ๋ณด๊ธฐ
2024๋ ์ ์๊ฐ์ ์ ๋ ๋ ๋น ๋ฅด๋ค. 1๋ถ๊ธฐ๋ ์ด๋์ ๋ง๋ฌด๋ฆฌ๊ฐ ๋์๊ณ , ๋๋ ๊ทธ ๋์ ๋ญ ํ์๋์ง ์ ๊ธฐ์ต์ด ๋์ง ์์์ ์ผ๋จ์ ๋ธ๋ก๊ทธ ๊ธ๋ก๋ผ๋ ์ ๋ฆฌ๋ฅผ ํ๋ฉฐ ์ด๋ค ์๊ฐ์ด์๋์ง ํ๊ณ ํ ํ์๊ฐ ์์๋ค.
์ด๋ค์์ผ๋ก ํ๊ณ ํ ์ง ๊ณ ๋ฏผ์ด ๋๋ ์ฐจ์ ์ํ์์ ๋ง์น ๋์๊ฒ ํ๊ฒํ ๋ ๊ฒ ๊ฐ์ ์ํฐํด์ ๋๋ฅด๊ฒ ๋๋ค. ์ถ์ด ์์ ํ ์ ๊ทธ๋ ์ด๋ ๋ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ ์์ฑํด๋ณด๋ ๊ฒ๋ ์ฌ๋ฐ๊ฒ ๋ค ์ถ์ด์ ์์์ ์ผ๋ถ ๊ฐ์ ธ์๋ดค๋ค.
ํ๊ณ ์ด๋ณด๋ฅผ ์ํ, '์ถ์ ์์ ํ ์ ๊ทธ๋ ์ด๋'ํ๋ 18๊ฐ์ง ์ง๋ฌธ
์ข์ ์ถ์ด๋ ๋ฌด์์ผ๊น์?ย ์ฌ๋์ ์๋งํผ์ด๋ ๋ต๋ณ์ ๋ค์ํ๊ฒ ์ง๋ง ๋ณดํธ์ ์ผ๋ก ์ข์ ์ถ์ด๋ผ...
๊ธ์์ ์๋ ค์ฃผ๋ 18๊ฐ์ง์ ์ง๋ฌธ๋ค
์ ์ง๋ฌธ๋ค์ ์์ฑํด์ฃผ์ ์์ฑ์๋ถ๊ป์๋ ํผ์ ์ผ์ ํ๋ ์ฌ๋๋ค์ ์ํ ๊ธ์ ์ฐ์๋ ๋ถ์ด๋ค๋ณด๋ ๋ค์ ๊ฐ์ธ์ ์ธ ์์ญ์ ๋ํ ์ง๋ฌธ๋ค๋ ํฌํจ๋์ด์๋ ๊ฒ ๊ฐ์ง๋ง, ์ฌ์ค ์ผ๊ณผ ์ถ์ ๊ฒฝ๊ณ๊ฐ ๋ชจํธํ๋ค๊ณ ์๊ฐํ๋ ๋์ ์ ์ฅ์์ ์ด๋ฐ ์ง๋ฌธ๋ค์ ์ถ์ ๋ณตํฉ์ ์ผ๋ก ์ดํดํ๋ ๋ฉด์์ ์ ์ตํ๋ค ๋๊ปด์ง๋ค.
๊ทธ๋ผ ์ง๋ฌธ์ ๋ฐ๋ผ ๋ต์ ์์ฑํด๋ด์ผ๊ฒ ๋ค.
๊ฑด๊ฐ
โข
2023๋ ์ค๋ฐ์ ๋๋ถํฐ ํ์ด / ์์์ ์์ํ๊ฒ ๋์๊ณ , ์ด์ ๋ ํ์ด๋ง ๊พธ์คํ ์งํํ๊ณ ์๋ค. ์์์๋ง ์ผํ๋ ์ง์ ์ด๋ค๋ณด๋ ์ต๋ํ ์ฃผ๋ง์ด๋ ํ์ผ ์ค์ ํ๋์ ์ธ ์ทจ๋ฏธ๋ฅผ ๊ฐ์ ธ์ผ๊ฒ ๋ค๋ ์๊ฐ์ ๊พธ์คํ ํด์ค๊ณ ์๊ณ ์ข์ํ๋ ์ด๋์ด์ด์ ์คํธ๋ ์ค ๊ด๋ฆฌ์๋ ๊ฝค๋ ๋์์ด ๋ง์ด ๋๋ ๊ฒ ๊ฐ๋ค.
โข
์๋ ๋ง๋ถํฐ ์์ด ์กฐ์ ์ ํตํ ๋ค์ด์ดํธ๋ฅผ ํด์๋๋ฐ, ๊ทธ ๋ ์์ต๊ด๊ณผ ์๋ฉด์ ๋ํ ์ค์์ฑ์ ๊ต์ฅํ ๋ง์ด ๋๊ผ๋ค. ์ ์ ๋น์ด ์ฐ๋ฆฌ ๋ชธ์ ๋ฉด์ญ๊ณผ ๊ท ํ์ ๋ฌด๋๋จ๋ฆฌ๊ฒ ๋๋ ๋ถ๋ถ๋ค๊ณผ ์์์ ๋ถ๊ท ํ์ด ๊ฐ์ ธ์ค๋ ๋ฌธ์ / ์๋ฉด์ ์ง์ด ์ถ์ ๋ฏธ์น๋ ์ํฅ๋ค์ ๋ํ ์์๋ค์ด ํ๋์์ ์ ํ๋ธ์ ์ง์์ ์ผ๋ก ๋ ธ์ถ๋์๋ค. (์์ฆ์๋ ์ ํ๋ธ๋ ์ธ์คํ๊ทธ๋จ์ ์ถ์ฒ ๋ชฉ๋ก์ ์ดํด๋ณด๋ฉด ํ ์ฌ๋์ด ๊ฝค๋ ํ์ ๋๋ ๊ฒ ๊ฐ๋ค.)
โข
๊ด์ฌ์ ๊ฐ์ ธ์์ธ์ง ์ง์์ ์ผ๋ก ๊ฑด๊ฐํ ์ํ์ ๋ชธ๊ณผ ์ ์ ์ ์ ์งํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค. ์ง์์ ์ผ๋ก ๋ ๋์ ๊ฑด๊ฐ์ ์ ์งํ๊ธฐ ์ํด ์ด์ ๋ PT๋ ๋ฑ๋กํ์ฌ ํ๋ฌ๊ฐ๋ ๋ชธ์ ๋จ๋ จํ๋ ค ํ๋ค. ์์ด๊ฐ ๊ณง ์ถ์ํ๊ฒ ๋๋ ๊ฒ ๋๋ฌธ์๋ผ๋ ์ด์ฌํ ์ฒด๋ ฅ์ ๊ธฐ๋ฅด๋ ค๋ ์ฐธ์ด๋ค.
๊ด๊ณ
โข
2024-1Q ํ๊ณ ํ๊ธฐ
๋ฒ์จ 2023๋ ์ ๋ง๋ฌด๋ฆฌํ๋ ์๊ธฐ๊ฐ ๋๋ํ ์ฌ์ค์ด ์์ง๋ ์ด์ํ๊ธฐ๋ง ํ๋ค.
์ง๋ ํ๊ณ
์์๋ ๋ฒค๋ํธ๋ก ์ด์ง ํ์ 1๋ ์ ๋๋์๋ณด๋ค๋ณด๋, 22-23๋ ์ ๊ฑธ์ณ ํ๊ณ ํ๊ฒ ๋์์๋๋ฐ, ์ด์ 1๋ ๋จ์๋ก ๋ค์ ํ ํด๋ฅผ ๋ฐ์ถํด๋ด์ผ๊ฒ ๋ค.
Events
Concierge Product Release
์ฌํด ์ด, ์ปจ์์ด์ง ์ ํ์ ๊ฐ๋ฐ์ ๊ฐ์์ค๋ ์ฐธ์ฌํ๊ฒ ๋์ด ์ ํ์ ๋ฐฑ์๋๋ฅผ ๋งก์ ๋ง๋ค๊ฒ ๋๋ค. ํ ์ ํ์ ์จ์ ํ ๋ท๋จ์ ๋งก์ ๊ฑด ์ฒ์์ด์์ง๋ง ๋ง์ ๋์๋ค ๋์ ๋คํํ ํ๋ก๋ํธ๊ฐ ๋ฆด๋ฆฌ์ฆ ๋ ์ ์์๋ค.
๋ฆฐ ๊ณ ๊ฐ ๊ฐ๋ฐ์์ ๋งํ๋ ์ ํจํ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ์ํ ์กฐ์ฌ ๋ฐฉ์
ํ์ง๋ง ์ ๋ฌ๋ ์ ํ์ด ๊ณ ๊ฐ์ ๊ฐ๋ ค์ด ๋ถ๋ถ์ ๊ธ์ด์ฃผ๊ธฐ์ ๊ธฐํ๋จ๊ณ์์๋ถํฐ ์์ฑํ ๋ถ๋ถ์ด ๋ง์๋ ์ ํ์ด ์๋์๋ ์ถ๋ค. ์ ํ์ ๋ง๋๋ ๊ณผ์ ์์ ๊ฐ๋ฐ์๋ถ์ ๋ฆฌํ ์ ์ด ๋จ์ด์ ธ ๋ ๋๋ณด๋ด๊ฒ ๋๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ธฐ๋ ํ์๊ณ , ํ๊ฒน๊ฒ ์ถ์ํ์์์๋ ์ค์ ์ ํ์ ํตํด ๋งค์ถ์ด ๋ฐ์ํ๋ ๊ฑด์ ์์ ๊ผฝ์์์ ์ ๋(ํ์ฌ๋ ๋คํํ๋ ํ์ฉํ๋ ๊ณ ๊ฐ์ด ๋ํ๋์ ์ด์๋ฅผ ๊ฐ๋์ฉ ์ฒ๋ฆฌํ๊ณค ํ๋ค..
๐ฅน
)๋ก ์์ฌ์์ด ๋ง์ด ๋จ๋ ํ๋ก๋ํธ๋ค.
Working As Squad(6 Sprints & 1 Kanban)
์ด์ ์ง์ฅ์์๋ถํฐ ์ค์ฟผ๋๋ก ์ ์์ผํ๊ฒ ์ผํ๊ณ ์ถ๋ค๋ ์ด๋ง์ ๊ฐ์ก์๋ ๋์๊ฒ ๋ฒค๋ํธ์์ ์กฐ์ง ๋ณ๊ฒฝ์ ๋ฌด์ฒ์ด๋ ์ํฉํธ๊ฐ ์๋ ์ฌ๊ฑด์ด๋ค. ๊ทธ๋ฌ๋ ์ง์ ํ ์ค์ฟผ๋๋ก ์ผํ๊ธฐ ์ํด์๋ ๋ง์ ์์๋ค์ด ๊ฐ์ถฐ์ ธ์ผ ํ๋ค.
์ค์ฟผ๋ ๊ตฌ์ฑํ๊ธฐ
ํ ๋ณ๊ฒฝ ์์ ์ ํ๋ก๋ํธ ํ์ ๋ ๊ฐ์ ์ค์ฟผ๋๋ก ๋ถ๋ฆฌํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค. ๋น์ ํ๋ก๋ํธ ํ์ ์กฐ์ง ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์๋ค.
ํ์คํ 3๋ช / ๋ฐฑ์๋ 1๋ช / ํ๋ก ํธ 2๋ช / ๋์์ด๋ 1๋ช / PM 1๋ช
๋์์ด๋์ PM์ด ๊ฐ๊ฐ 1๋ช ์ฉ ๋ฟ์ด์๊ธฐ ๋๋ฌธ์ ๋ ์ค์ฟผ๋์์๋ ๊ฐ๋ฐ์๊ฐ PM ์ญํ ์ ๋งก๊ธฐ๋ ํ๊ณ , ํ๋ก ํธ์๋ ์์ง๋์ด๊ฐ ๋์์ธ์ ๋ด๋นํ๊ธฐ๋ ํ๋ค. ์ด๋ ํ ๋ช ์ด ์ฌ๋ฌ ์ญํ ์ ์ํํ๋ ์ด๋ ค์์ ์ผ๊ธฐํ๋ค.
2023 Review
๋ฒค๋ํธ์์ ํจ๊ปํ๊ฒ ๋ ์ง ์ด๋์ 1๋ ์ด ๋์๊ณ , ๊ฐ๋ฐ์๋ก์ ์ผํ๊ฒ ๋์ง๋ ๋ง์ผ๋ก 4๋ ์ด ๋์๋ค.
๊ทธ๊ฐ์ ๊ฐ๋ฐ์๋ก์์ ์ฑ์ฅ๊ณผ์ ์ ์ดํด๋ณด๊ณ , 1๋ ๊ฐ์ ํ์ฌ ์ ์๊ธฐ & ์ฑ์ฅ๊ธฐ๋ฅผ ์ ์ด๋ณด๋ฉฐ ๋๋ฆ์ ํ๊ณ ์ ์์ผ๋ก ๋์๊ฐ ๋ฐฉํฅ์ ์๊ฐํด๋ณด๊ณ ์ ๊ธ์ ์ ๋๋ค.
์์
๋ฒค๋ํธ์ ์ ์ฌํ๊ธฐ๊น์ง ์ฌ์ค ๋ณ๋ค๋ฅธ ์ด์ง์์ฌ๊ฐ ์์๋ค. ๊ทธ๋ฌ๋ ์ค ํค๋ํํ ์ ํตํด ๋ค์ด์จ ์ ์์ ์ํด ์ธ๋ถ์์์ ํ๊ฐ๋ฅผ ์ฒ์์ผ๋ก ๊ฒฝํํด๋ณด์๋ ์๊ฐ์ ๊ณํ์๋ ์๋ ์ด์ง ๋ฉด์ ์ ์งํํ๊ฒ ๋๋ค.
๊ธฐ๋ ์ด์์ ๋ฉด์ ๊ฒฝํ๊ณผ ๋ํ๋์ ๋น์ ์ ๋๊ฐํ๊ฒ ๋๋ ๋ฐ๊ฐ ์ปธ๊ณ , CTO๋ฅผ ๋น๋กฏํ ๊ฐ๋ฐ์กฐ์ง์ ๋ํ ๊ธฐ๋๊ฐ ์์ด ๋์ปฅ ํ์ฌ์ ์ ์ฌ ํ๊ธฐ๋ก ๋ง์๋จน์๋ค.
์ฒ์ 3๊ฐ์
ํ์ฌ์์ ๋ด๊ฒ ๊ธฐ๋ํ๋ ์ญ๋์ ๋ํด ๋ด๊ฐ ์ ํ ์ ์์์ง์ ๋ํ ๊ณ ๋ฏผ์ด ์ปธ๋ค. ์ด์ ํ์ฌ์์๋ ์ ์ ์ผ๋ก ์์ํ์๊ณ , ๋๋ถ๋ถ์ ํ๋ก์ ํธ ๊ถํ๋ค์ด ๋ด๊ฒ ์๋ ์ํฉ์์ ๋ชจ๋ ๊ฒ ์ฒ์ ์๋ํ๋ฉฐ ํด๊ฒฐํ๋ ๋ฌธ์ ๋ค์ด ๋๋ถ๋ถ์ด์๊ณ , ๊ทธ ํ๊ฒฝ ์์ฒด์์ ์ต์ํด์ก๋ ํ์ ์๋ก์ด ํ๊ฒฝ์์ ๋ญ๊ฐ๋ฅผ ๋ฐฐ์๊ฐ๊ณ ์ด๋ฏธ ์๋ ํ๋ก์ ํธ๋ค์ ๋ฌธ์ ์ ์ ์ฐพ์ ๊ฐ์ ํด ๋๊ฐ๋ ์ผ์ด ํ ๋์ ์กํ๋ ๊ฒ์ ์๋์๊ธฐ์ ๋๋ ค์์ด ์กฐ๊ธ์ ์์ฐ๋ ๊ฒ ๊ฐ๋ค.
ํน๋ณํ ํค์ค์คํฌ์ ๊ด๋ จ๋ ๊ฒฝํ์ ํ์ฌ์์๋ ๋๊ฒ ํ๊ฐํด์ฃผ์์๊ณ , ํด๋น ์์ญ์ ๋ ๋ํ ๋ง๋ ํ ๊ธฐ์ฌํ๊ณ ์ ํ๋ ์๊ฐ์ด ์์๋ค. ๋๋ถ์ด, ์๋ฒ ๊ฐ๋ฐ์๋ ์ฐธ์ฌํ๋ ๊ฒฝํ์ด ์์๊ณ , ํ์คํ์ ๋ํ ์๊ฐ์ด ์์๊ธฐ์ ์๋ฒ์ชฝ์ผ๋ก๋ ๊ด์ฌ์ ๊ฐ์ง๋ฉฐ ์์ ์ ์ฐธ์ฌํ๊ณ ์ ํ์๋ค.
์ฒซ ์ด๋ ค์
๋ฒค๋ํธ๋ ๋ชจํ ์ ๋น๋กฏํ ์๋ฐ์ฐ์ ์์ ๊ณ ํต๋ฐ๊ณ ์๋ ์ ์ฃผ๋ถ๋ค์ ์์ ๋กญ๊ฒ ํ๊ณ ์ ์๋ํ ์๋ฃจ์ ์ ๊ฐ๋ฐํ๋ ํ์ฌ๋ค. ๋ด๊ฐ ์ ์ฌํ ์์ ์ ๋ฒค๋ํธ์ ์ ํ์ ํฌ๊ฒ 3๊ฐ์ง๋ก, ํด๋ผ์ฐ๋(Room Management Service, RMS)์ ํค์ค์คํฌ, ๋ถํน์์ง(์์ฒด ์์ฝ ์ฌ์ดํธ)๊ฐ ์์๋ค.
๋น์ ํค์ค์คํฌ์ ๊ฒฝ์ฐ MVP๋ก ๋ง๋ค์ด์ก๋ ์ฒซ๋ฒ์งธ ๋ฒ์ ์ ์์ค๋ฅผ ๋ค๋กํ๊ณ ์ ์ง๋ณด์์ฑ๊ณผ ๋ณด์์ ์ํ Electron ๋ฒ์ ์ ์ ๋ฐ์ดํธ ๋ฑ์ ์ด์ ๋ก V2๊ฐ ๊ฑฐ์ ์์ฑ๋์ด๊ฐ๊ณ ์๋ ์์ ์ด์๋ค.
์ด์ ํ์ฌ์์ Electron์ ์ด์ฉํด ํค์ค์คํฌ๋ฅผ ๊ฐ๋ฐํ ๊ฒฝํ์ด ์๋ ๋์๊ฒ ๋ค๋ฅธ ํค์ค์คํฌ ํ๋ก์ ํธ๋ฅผ ์ฐธ์ฌํ๊ฒ ๋๋ ๊ฒฝํ์ ๊ฝค๋ ๊ธฐ๋๋๋ ์ผ์ด์๋ค.(
๋๊ตฌ๋ ๊ณํ์ ์๋ค. ์ฒ๋ง๊ธฐ ์ ๊น์ง๋..
)
๋ฒค๋ํธ์์ ํค์ค์คํฌ๋ ๋จ์ํ ์์ฝ์ฒดํฌ์ธ์ ๋ฌผ๋ก ํ๋์จ์ด๋ฅผ ํต์ ํด์ผ ํ๋ ๋ถ๋ถ์ด ๋ฌด์ฒ์ด๋ ๋ง๋ค. F&B๋งค์ฅ์ ํค์ค์คํฌ์ ๊ฒฝ์ฐ ๋จ์ ์นด๋๊ฒฐ์ ์ ๋ํ ๋ถ๋ถ๋ง ์ ๊ฒฝ์ผ์ผ๋ฉด ๋์๊ณ , ์ฌ์ง์ด ํด๋น ๋ถ๋ถ์ ๊ฒฝ์ฐ Windows DLL์ ๋ค๋ฅธ ์๋์ฐ์ฆ ๊ฐ๋ฐ์ ๋ถ๊ป์ ์์ผํต์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ wrapper๋ฅผ ๋ง๋ค์ด์ฃผ์ ์ ํฌ๊ฒ ๋ฌธ์ ์์ด ๋จ์ ํ๋ฉด์ ์ ๊ฒฝ์ฐ๋ ๊ฒ ์์ฃผ๋ก ์์ ํ์๋๋ฐ, ์ฌ๊ธฐ์์๋ ํ๊ธ์ ์ถ๊ธ๊ธฐ๋ฅผ ๋น๋กฏํ์ฌ ์นด๋ ๋ฐ๊ธ๊ธฐ์ ์นด๋ฉ๋ผ, ์๋ฉด์ธ์ ๋ฑ ๋ค๋ค์ผํ ํ๋์จ์ด ๊ธฐ๊ธฐ๊ฐ ๋๋ฌด๋๋ ๋ง์๊ณ , SerialPort๋ก ํด๋น ๊ธฐ๊ธฐ๋ค์ ๋ชจ๋ ์ง์ ํต์ ํด์ผ ํ๋ค๋ณด๋ ๊ธฐ์กด ์ฝ๋๋ฅผ ํ์ ํ๋๋ฐ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ๋ค.
๊ทธ ์ธ์๋ ๋น์ V2๋ก ์ฎ๊ฒจ์ง๋ ์์ ์์ Typescript ์ ํ์ด ์์๋๋ฐ, ๋๋ถ๋ถ์ ํ์ ๋ค์ด Any๋ก ์ฒ๋ฆฌ๋์ด ์์๊ณ , API์ ๊ฒฝ์ฐ Graphql ์ ์ฌ์ฉ์ค์ด์๋๋ฐ, ํด๋น ํ์ ๋ํ ๋ง๋ ํ ์์ฑ๋ ๋ถ๋ถ์ด ์์ด์ ์์๋ก ํ๋ก ํธ์์ ์์ฑํ ํ์ ๋ง์ ๋ฏฟ๊ณ ์์ฑ๋๋ค๋ณด๋ ์ฝ๋๋ฅผ ์ ๋ขฐํ๊ธฐ๋ ๋งค์ฐ ์ด๋ ค์ด ์ผ์ด์๋ค.
์ด์ง 1๋ ์ฐจ ํ๊ณ
๋ชฉ์ฐจ
Why Agile?
์ ์์ผ์ ๋ง๋๊ฒ ๋๋ ์๊ฐ
โข
๊ฐ๋ฐ์๋ฉด ๋น์ฐํ ์ ์์ผ์ ํ๋๋ฒ ๋ค์ด๋ณธ ์ด์ผ๊ธฐ
โข
์ถ๊ทผํด๋ณด๋ ์ ์์ผ์ ํ๊ณ ์๋๋ฐ?
โข
์คํํธ์ ์ ์๋ ์ ์์ผ ํ๋ค๊ณ ํ๋๋ฐ?
โข
์คํํธ์ ์ด๋ผ ์ ์์ผ ํด์ผ์ง ํฌ์๋ฐ์ ์ ์์ด์
โข
๊ณํ์ ์ธ์ธ ์ ์๋ ๊ฒ์ด ์ ์์ผ์ด๋ผ๊ณ ํ๋๋ฐ?
โข
ํ์ฌ ํ๋ก์ธ์ค์ ์ ๋ฌด ๊ตฌ์กฐ๋ก๋ ๋ชป ์ด์๋จ์ ๊ฒ ๊ฐ์์
โข
๋ญ๊ฐ ๋ฏผ์ฒฉํ๊ฒ ๋์ํด์ผ ํ ๊ฒ ๊ฐ์์
โข
์ฐ๋ฆฌ์ ์ฑ์ฅ์ ์ํด์๋ ๊ทผ๋ณธ์ ์ธ ๋ณํ๊ฐ ํ์ํด ๋ณด์ฌ์
What is Agile?
์ ์์ผ์ ํ๋ก์ ํธ๋ฅผ ๋ ์์ ๋ฐ๋ณต์ฃผ๊ธฐ๋ก ๋๋๋ ํ๋ก์ธ์ค๋ค. ๊ฐ ๋ฐ๋ณต ์ฃผ๊ธฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ธก์ ํ์ฌ ์ง์์ ์ผ๋ก ์ผ์ ์ ํ๊ฐํ๋๋ฐ ์ฌ์ฉํ๋ค. ๊ธฐ๋ฅ์ ๋น์ฆ๋์ค ๊ฐ์น ์์๋๋ก ๊ตฌํํ๋ฏ๋ก ๊ฐ์ฅ ์ค์ํ ๊ฒ์ด ๋จผ์ ๊ตฌํ๋๋ค. ํ์ง์ ๊ฐ๋ฅํ ํ ๋๊ฒ ์ ์งํ๋ค. ์ผ์ ์ ์ฃผ๋ก ๋ฒ์๋ฅผ ์กฐ์ ํ์ฌ ๊ด๋ฆฌํ๋ค. ์ด๊ฒ์ด ์ ์์ผ์ด๋ค. - Clean Agile, Robert C.Martin
Agile ๊ฐ๋ฐ
์คํ์ปจํ ์คํธ๏ผ
๋ง์ด ๋ค์ด๋ ๋ดค๊ณ ์ฑ ์์๋ ์ฝ์์ง๋ง ๋ณผ๋๋ง๋ค ์กธ์์ด ์์์ง๋ ๋ด์ฉ.
์คํ์ปจํ ์คํธ์ ๋ด์ฉ์ ์ฌ์ค ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐํ์ํ๊ฒฝ์ ์ดํดํ๊ธฐ ์ํด์๋ ํ์์ ์ธ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ฝ์ฌ๋ฆฌ ๋์ด๊ฐ ์ ์์ผ๋ฉฐ, ์ฌ์ค ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์ด๋ผ๋ฉด ์ด๋ฏธ ์์ฐ์ค์ ์คํ์ปจํ ์คํธ์ ๊ฐ๋ ์ ์ ์ดํดํ ์ ์๋ ๋ฐํ์ ๊ฐ๊ณ ์๋ค๊ณ ๋ณผ ์ ์๋ค.
์คํ ์ปจํ ์คํธ(Execution Context)๋ scope, hoisting, this, function, closure ๋ฑ์ ๋์์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํต์ฌ์๋ฆฌ์ด๋ค. ์คํ ์ปจํ ์คํธ๋ฅผ ๋ฐ๋ก ์ดํดํ์ง ๋ชปํ๋ฉด ์ฝ๋ ๋ ํด๊ฐ ์ด๋ ค์์ง๋ฉฐ ๋๋ฒ๊น ๋ ๋งค์ฐ ๊ณค๋ํด ์ง ๊ฒ์ด๋ค. -
https://poiemaweb.com/js-execution-context
์ค์์
ECMAScript ์คํ
์ ๋ฐ๋ฅด๋ฉด ์คํ ์ปจํ ์คํธ๋ฅผย
์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ํ์ํํ๊ณ ๊ตฌ๋ถํ๋ ์ถ์์ ์ธ ๊ฐ๋
์ด๋ผ๊ณ ์ ์ํ๋ค. ์ข ๋ ์ฝ๊ฒ ๋งํ์๋ฉดย
์คํ ์ปจํ ์คํธ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ํด ํ์ํ ํ๊ฒฝ
ย ์ด๋ผ๊ณ ๋งํ ์ ์๊ฒ ๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
โข
์ ์ญ ์ฝ๋ : ์ ์ญ ์์ญ์ ์กด์ฌํ๋ ์ฝ๋
โข
Eval ์ฝ๋ :ย
eval ํจ์
๋ก ์คํ๋๋ ์ฝ๋
โข
ํจ์ ์ฝ๋ : ํจ์ ๋ด์ ์กด์ฌํ๋ ์ฝ๋
โข
๋ชจ๋ ์ฝ๋: ๋ ๋ฆฝ์ ์ธ ๋ชจ๋ ์ค์ฝํ ๋ด์ ์กด์ฌํ๋ ์ฝ๋
์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ์๋์ ๊ฐ์ด ์คํ ์ปจํ ์คํธ ์คํ์ด ์์ฑ๋๊ณ ์๋ฉธํ๋ค. ํ์ฌ ์คํ์ค์ธ ์ปจํ ์คํธ์์ ์ด ์ปจํ ์คํธ์ ๊ด๋ จ ์๋ ์ฝ๋(์๋ฅผ ๋ค์ด ๋ค๋ฅธ ํจ์)๊ฐ ์คํ๋๋ฉด ์๋ก์ด ์ปจํ ์คํธ๊ฐ ์์ฑ๋๋ค. ์ด ์ปจํ ์คํธ๋ ์คํ์ ์์ด๊ฒ ๋๊ณ ์ปจํธ๋กค(์ ์ด๊ถ)์ด ์ด๋ํ๋ค.
๋ ผ๋ฆฌ์ ์คํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ์คํ์ปจํ ์คํธ ์คํ
1.
์ปจํธ๋กค์ด ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ก ์ด๋ํ๋ฉด ๋ ผ๋ฆฌ์ ์คํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ์๋ก์ด ์คํ ์ปจํ ์คํธ ์คํ์ด ์์ฑ๋๋ค. ์คํ์ LIFO(Last In First Out)์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ๋์ด ๊ตฌ์กฐ๋ค.
์คํ์ปจํ ์คํธ ํบ์๋ณด๊ธฐ
Yarn Berry๋?
Yarn Berry๋ Node.js์ ์๋ก์ด ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ผ๋ก, Yarn v1์ ์ฃผ์ ๊ฐ๋ฐ์์ธ
Maรซl Nison
์จ๊ฐ ๋ง๋ค์์ต๋๋ค. 2020๋ 1์ 25์ผ ์ ์๋ฒ์ (v2)์ด ์ถ์๋์ด, ํ์ฌ๋
Babel
๊ณผ ๊ฐ์ ํฐ ์คํ์์ค ๋ ํฌ์งํ ๋ฆฌ์์๋ ์ฑํํ๊ณ ์์ต๋๋ค. Yanr Berry๋ GitHub
yarnpkg/berry
ย ๋ ํฌ์งํ ๋ฆฌ์์ ์์ค์ฝ๋๊ฐ ๊ด๋ฆฌ๋๊ณ ์์ต๋๋ค.
Yarn Berry๋ ๊ธฐ์กด์ โ๊นจ์ ธ ์๋โ NPM ํจํค์ง ๊ด๋ฆฌ ์์คํ ์ ํ์ ์ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค.
NPM ๋ญ๊ฐ ๋ฌธ์ ์ผ?
NPM์ Node.js ์ค์น ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต๋์ด ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ์์ผ๋, ๋นํจ์จ์ ์ด๊ฑฐ๋ ๊นจ์ ธ ์๋ ๋ถ๋ถ์ด ๋ง์ต๋๋ค.
๋นํจ์จ์ ์ธ ์์กด์ฑ ๊ฒ์
NPM์ ํ์ผ ์์คํ ์ ์ด์ฉํ์ฌ ์์กด์ฑ์ ๊ด๋ฆฌํฉ๋๋ค. ์ต์ํ node_modules ํด๋๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ํน์ง์ธ๋ฐ์. ์ด๋ ๊ฒ ๊ด๋ฆฌํ์ ๋ ์์กด์ฑย ๊ฒ์์ ๋นํจ์จ์ ์ผ๋ก ๋์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด,ย
/Users/toss/dev/toss-frontend-libraries
ย ํด๋์์ย
require()
ย ๋ฌธ์ ์ด์ฉํ์ฌย
react
ย ํจํค์ง๋ฅผ ๋ถ๋ฌ์ค๋ ์ํฉ์ ๊ฐ์ ํฉ์๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ๊ธฐ ์ํด ์ํํ๋ ๋๋ ํ ๋ฆฌ์ ๋ชฉ๋ก์ ํ์ธํ๋ ค๊ณ ย ํ ๋,ย Node.js์์ ์ ๊ณตํ๋ย
require.resolve.paths()
ย ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.ย ์ด ํจ์๋ NPM์ด ๊ฒ์ํ๋ ๋๋ ํ ๋ฆฌ์ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
๋ชฉ๋ก์์ ํ์ธํ ์ ์๋ ๊ฒ์ฒ๋ผ, NPM์ ํจํค์ง๋ฅผ ์ฐพ๊ธฐ ์ํด์
๊ณ์ ์์ ๋๋ ํ ๋ฆฌ์ node_modules ํด๋๋ฅผ ํ์ํฉ๋๋ค.
๋ฐ๋ผ์ ํจํค์ง๋ฅผ ๋ฐ๋ก ์ฐพ์ง ๋ชปํ ์๋ก readdir, stat๊ณผ ๊ฐ์ ๋๋ฆฐ I/O ํธ์ถ์ด ๋ฐ๋ณต๋ฉ๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ I/O ํธ์ถ์ด ์ค๊ฐ์ ์คํจํ๊ธฐ๋ ํฉ๋๋ค.
TypeScript 4.0๊น์ง๋ node_modules๋ฅผ ์ด์ฉํ ํจํค์ง ํ์์ด ๋๋ฌด ๋นํจ์จ์ ์ธ ๋๋จธ์ง, ํจํค์ง๋ฅผ ์ฒ์์ผ๋ก import ํ๊ธฐ ์ ๊น์ง๋ node_modules ๋ด๋ถ์ ํ์ ์ ๋ณด๋ฅผ ์ฐพ์๋ณด์ง ์๊ธฐ๋ ํ์ต๋๋ค. (
TS 4.0 Changelog
)
ํ๊ฒฝ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๋์
Yarn Berry, ์ ๋ node_modules์ ๊ตฌ์์์ธ๊ฐ?
์๋ ฅ๋ ์ฌ๋์ ์ง๊ด๋งํผ ์ฝ๋์ ๋์๋ฅผ ๋งก๋ ์ ํํ ๊ธฐ์ค์ ์๋ค.
1. ๊ธฐ์ดํ ์ด๋ฆ
Mysterious Name
โข
ํจ์ ์ ์ธ ๋ฐ๊พธ๊ธฐ
โข
๋ณ์ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ
โข
ํ๋ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ
์ด๋ฆ๋ง ์์ง์ด๋ ๋ฌธ๋งฅ์ ํ์ ํ๋๋ผ ํด๋งฌ ์๊ฐ์ ํฌ๊ฒ ์ ์ฝํ ์ ์๋ค.
2. ์ค๋ณต ์ฝ๋
Duplicated Code
โข
ํจ์ ์ถ์ถํ๊ธฐ
โข
๋ฌธ์ฅ ์ฌ๋ผ์ด๋ํ๊ธฐ
โข
๋ฉ์๋ ์ฌ๋ฆฌ๊ธฐ
3. ๊ธด ํจ์
Long Function
์ฝ๋๋ฅผ ์ดํดํ๊ณ , ๊ณต์ ํ๊ณ , ์ ํํ๊ธฐ ์ฌ์์ง๋ค๋ ์ฅ์ ์ ํจ์๋ฅผ ์งง๊ฒ ๊ตฌ์ฑํ ๋ ๋์ค๋ ๊ฒ์ด๋ค.
โ ํ์ง๋ง, ๊ฒฐ๊ตญ ํจ์ ์ด๋ฆ์ ์ ์ง์ด๋์ผ๋ฉด ๋ณธ๋ฌธ ์ฝ๋๋ฅผ ๋ณผ ์ด์ ๊ฐ ์ฌ๋ผ์ง
โข
ํจ์ ์ถ์ถํ๊ธฐ
โข
์์ ๋ณ์๋ฅผ ์ง์ ๋ณ์๋ก ๋ฐ๊พธ๊ธฐ
์ฝ๋์ ๋์
IndexedDB๋๏ผ
IndexedDB
๋ ํ์ผ์ด๋ ๋ธ๋กญ ๋ฑ ๋ง์ ์์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ์ฅํ๊ธฐ ์ํ ๋ก์ฐ ๋ ๋ฒจ API์ ๋๋ค.
โข
ํธ๋์ญ์ ์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
โข
JavaScript ๊ธฐ๋ฐ์ ๊ฐ์ฒด์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค
โข
์ธ๋ฑ์คย
ํค
๋ฅผ ์ฌ์ฉํด ์ ์ฅํ๊ณ ํ์
โข
๊ตฌ์กฐํ๋ ๋ณต์ฌ ์๊ณ ๋ฆฌ์ฆ
์ ์ง์
IndexedDB ์ฌ์ฉํ๊ธฐ
๊ธฐ๋ณธํจํด
1.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐ
2.
๊ฐ์ฒด ์ ์ฅ์(Object) ์์ฑ
3.
Transaction ์์ํ๊ณ , ๋ฐ์ดํฐ ์ถ๊ฐ or ์ฝ๊ธฐ ์์ ์์ฒญ
4.
DOM ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒญ ์๋ฃ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ธฐ
5.
๊ฒฐ๊ณผ๋ก ์์ ํ๊ธฐ
์น์ด ์ ๊ณตํด์ฃผ๋ IndexedDB ์์๋ณด๊ธฐ
์ง๋์จ ๊ธธ
โข
์ฝ๋ ํฐ๋ ํฌ์ค ๊ฐ๋ฐ(3~8์)
โข
ํ๋ก์ ํธ ํ์ฅ
โข
์จ์ดํ ์๋น์ค ๊ฐ๋ฐ (9์ ~ 10์)
โข
๋ฉค๋ฒ์ญ ์๋น์ค ๊ฐ๋ฐ( 11์ ~ 12์)
โข
ํ ํ์ฅ( 2๋ช โ 1๋ช โ 3๋ช )
์ข์๋ ์ ๋ค
โข
๋๋ฉ์ธ์ ๋ํ ์ดํด๋ ํ์คํ ์ด์ ๊ณผ ๋น๊ตํ์ฌ ๋ง์ด ์ข์์ง๊ฒ ๊ฐ์.
โข
js์ ๋ํด ์กฐ๊ธ์ ๋ ์๊ฒ๋์๋๊ฒ ๊ฐ์ง๋ง, ๋ถ๋ช ํ๊ฑด ๊ณต๋ถํ ๊ฒ ์์ง๋ ๋ฌด๊ถ๋ฌด์ง ํจ.
โข
ํ์๋ค์ด ๋์ด๋จ์ ๋ฐ๋ผ ๊ณต๋ถ๋ ํจ๊ป ํ๊ณ ์๊ฒฌ์ ๋๋ ์ ์๋ ์ฌ๋์ด ์์ด์ ๊ฐ์ฌํ๋ค.
โข
๋จ์ํ ๋ด ์ผ์ ํด์ผํ๋ ๊ฒ์ ๋์ด์ ๋ค๋ฅธ ์ฌ๋์ ์ ๋ฌด๋ฅผ ๊ด๋ฆฌํ๋ ์ฐจ์์ ๋ํด ์๊ฐํด ๋ณผ ์ ์๋ ๊ธฐํ์๋ ๊ฒ ๊ฐ๋ค.
์์ฌ์ ๋ ์ ๋ค
โข
๊ณต๋ถํ ์๊ฐ์ ์ถฉ๋ถํ ๋ง๋ จํ์ง ๋ชปํ๋ค... (๊ฒฐํผ์ ํ๊ณ๋ก) ํ์ฌ์ผ๋ ๋ฐ๋นด์ด์, ํ์๋ค๊ณผ ์ถฉ๋ถํ ์คํฐ๋์๊ฐ์ ํ๋ณดํ์ง ๋ชปํด์ ์์ฌ์ ๋ค.
โข
KDP, Hyosung ๋ฑ ์ธ๋ถ ์ ๋ฌด๋ก ์ธํด ์ ์ ์์ฒด ์๋น์ค ๊ฐ๋ฐ์๋ ์ง์ง๋ถ์งํ๋ ๊ฒ ๊ฐ๋ค.
2021 Review