๋ฆฌํฉํฐ๋ง 2ํ ์๋
์ ๋ชฉํ๋ก ๋ชจ์ฌ์ ํจ๊ป ์ฝ๋ ๋ถ์คํฐ๋
View Notion
Note
๋ชจ์ฌ์ ํจ๊ป ์ฝ๋ ๋ถ์คํฐ๋๋ ์คํฐ๋ ์๊ฐ์ ์ฃผ์ฐจ๋ณ๋ก ์ ํด์ง ๋ถ๋์ ๊ฐ์ด ์ฝ๊ณ ๋ฐ์ค ์น ๋ถ๋ถ์ ๋ํด ์๋ก ํ ์ํ๋ ๋ฐฉ์์ผ๋ก ์งํ๋๋ฏ๋ก ์ฌ์ ์ ์ค๋นํ ํ์๊ฐ ์์ด ๋ถ๋ด์์ด ์ฐธ์ฌํ ์ ์์ต๋๋ค.
์ฑ ์ ์ฝ๋ ๊ฒ์ ๊ทธ์น์ง ์๊ณ ํ ๋ฒ์ด๋ผ๋ ๋ณธ์ธ์ด ์์ฑํ๋ ์ฝ๋์์ ์ ์ทจ๊ฐ ๋๋ ๋ถ๋ถ์ ์ฐพ์ ๋ฆฌํฉํฐ๋งํด๋ณด๊ณ ๊ฒฝํ์ ๊ณต์ ํ๋ ๊ธฐํ๊ฐ ๋์์ผ๋ฉด ํฉ๋๋ค.
์ด ๋ ํฌ๋ฅผ ๋ณด๊ณ ์ ์ฌํ ์คํฐ๋๋ฅผ ์งํํ๊ณ ์ถ์ ๋ถ๋ค์ ์ํด ์คํฐ๋ ์งํ ์ ์์ ์๊ฐ์ ์์ฑํ๊ณ ๊ฐ๋จํ ํ๊ธฐ๋ฅผ ๋จ๊ฒจ๋์์ผ๋ ๋์์ด ๋์๊ธธ ๋ฐ๋๋๋ค.
๋ฉค๋ฒ | ํ๊ธฐ |
---|---|
@yisu-kim |
๋ฆฌํฉํฐ๋ง ์ฑ
์ ์ฐ์ง๊ฐ ์ธ์ ๋ฐ ์ด๋ฒ์ ๊ผญ ํ๋ฒ ์ฝ์ด๋ณด๊ณ ์ถ๋ค! ์ ๋ง ๋จ์ํ ๋๊ธฐ์์ ์ถ๋ฐํ ์คํฐ๋๊ฐ ์ด๋๋ง ๋ง๋ฌด๋ฆฌ๋์๋ค์. ์ฑ ์ ๋๊น์ง ์ฝ์ด๋ผ ์ ์์๋ ๊ฑด ๋ค์ํ ๋ฐฐ๊ฒฝ์ ๊ฐ์ง ๋ถ๋ค๊ณผ ํ์๋ฆฌ์ ๋ชจ์ฌ ์ฑ ์ ์ฝ๊ณ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ์ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฒ์์ผ๋ก ์คํฐ๋ ๋ชจ์์ ๊พธ๋ฆฌ๋ฉด์ ๋ถ์กฑํ ๋ถ๋ถ์ด ๋ง์๋๋ฐ ์ ์ง์ ์ผ๋ก ๊ฐ์ ํด๋๊ฐ๋ ค๋ ์๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ๋ฐ๋ผ์ค ํ์๋ค ๋๋ถ์ ์ ์ญ๋์ ๋์ด์ ์ฑ ์ ์ํํ ์ ์์์ด์. ๋ค๋ง, ์คํฐ๋ ์งํ์ ๋ํด 1ํ ์ค๊ฐ ์ ๊ฒํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋์ ํตํด ์ ๊ธฐ์ ์ผ๋ก ํผ๋๋ฐฑ์ ๋ฐ์๋ค๋ฉด ๋ ๋ฆฐํ๊ฒ ์ด์ํ ์ ์์ง ์์์๊น ํ๋ ์์ฌ์์ ๋จ์ต๋๋ค. |
@sukyoungshin |
์ฌ ์ด์ ๋ฆฌํฉํฐ๋ง 2ํ์ ์ฝ์ผ๋ ค๋ค๊ฐ ์ฌ๋ฏธ๊ฐ ์์ด์ ์๋ก ๋ง ์ฝ๊ณ ๋ฎ์ด๋จ์๋๋ฐ, ์ด๋ฒ์ ์ข์ ๊ธฐํ๊ฐ ์๊ฒจ ๋๋์ด ๋๊น์ง ์ฝ์ด๋ณผ ์ ์์์ต๋๋ค.๐ ์๊ฐ๋ณด๋ค ๋ด์ฉ์ด ์ด๋ ค์์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๊ณ ๋์ด๊ฐ ๋ถ๋ถ๋ ๋ง์๋ฐ, ๋ค์์ ๋ค์ ์ฝ์ด๋ดค์๋ ์ง๊ธ๋ณด๋ค ์ ์ดํดํ ์ ์๋๋ก ๊พธ์คํ ์ข์ ์ฝ๋์ ๋ํด ๊ณ ๋ฏผํ๋ฉฐ DX์ ์์์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ฑ ์ฝ๊ธฐ ์ธ์๋, ์ข์ ๋ฆฌ๋์ฝ๊ณผ ํ๋ก์์ฝ์ ๋ํด์๋ ์๊ฐํด๋ณผ ์ ์๋ ๋ป ๊น์ ์๊ฐ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์คํฐ๋๊ฐ ์ ์ ์ง๋ ์ ์์๋ ๊ฑด ๋ฆฌ๋๋ฅผ ์งํํด์ฃผ์ ์ด์๋์ด ์คํฐ๋ ๋ฐฉํฅ์ฑ์ ๋ํ ๊ณ ๋ฏผ๊ณผ ์๊ฐํฌ์๋ฅผ ๋ง์ด ํด์ฃผ์ จ๊ธฐ ๋๋ฌธ์ด๊ณ , ๊พธ์คํ ์ฑ์คํ๊ฒ ์ฐธ๊ฐํ๋ ํ์๋ค์ด ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฌดํผ ๋ชจ๋๋ค 2๋ฌ ๋์ ๋๋ฌด๋๋ฌด ๊ณ ์ ๋ง์ผ์ จ์ต๋๋ค. LGTM!๐ |
ํ๋ก์ ํธ์ ์ฐธ์ฌํ๊ธฐ ์ CONTRIBUTING ๋ฌธ์๋ฅผ ์ฝ์ด์ฃผ์ธ์.
- ๊ธฐ๊ฐ: 10/29(ํ ) ~ 12/17(ํ )
- ์คํฐ๋ ๋ฉค๋ฒ: @yisu-kim, @sukyoungshin, @wonjin-dev, @okyungjin, @startdata, @Yummy-sk, @Hyesooo
Note
ํ์ผ ์คํ ์ node ๋ฒ์ ์ 16.14.0์ ์ฌ์ฉํ์ต๋๋ค.
6์ฅ ์ดํ:
- ๊ฐ ํ์ผ์ ์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ์๋ค๋ก ์ด๋ํด๊ฐ๋ฉฐ ๋ฆฌํฉํฐ๋ง ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ํ์ธํ ์ ์์ต๋๋ค.
- ๋ํ js ํ์ผ์ ๊ฒฝ์ฐ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ์์์ ๋ฐ์ดํฐ๋ ํจ์๊ฐ ์ถ๊ฐ๋์ด ์์ผ๋ฉฐ node๋ฅผ ์ด์ฉํด ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.
7์ฅ ์ดํ:
- ์์ ์ฝ๋์ Private class features๋ฅผ ์ ์ฉํ์์ต๋๋ค. ์ด ๋๋ฌธ์ ์๋ณธ ์ฝ๋์ 100% ์ผ์นํ์ง ์์ ์ ์์ผ๋ ์ ์ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
1์ฅ:
- statement ํ์ผ ์คํ์ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ต์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
node --experimental-json-modules ch01/statement.js
-
์ง๋ ์ฃผ ํ์ตํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๋ค์ ๊ฒฝ์ฐ์ ๋ํด ์ ์ฉํ๋ ค๋/์ ์ฉํ ๋ฆฌํฉํฐ๋ง ๊ธฐ๋ฒ๊ณผ ์ด์ ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
- ์ฝ๋์์ ์ ์ทจ๋๋ ๋ถ๋ถ์ ์ฐพ์ ๊ฒฝ์ฐ
- ํ ์คํธ ์ฝ๋๊ฐ ์กด์ฌํ๊ฑฐ๋ ํ ์คํธ ์ฝ๋ ์์ฑ ํ ๋ฆฌํฉํฐ๋งํ ๊ฒฝ์ฐ
- ํ ์คํธ ์ฝ๋ ์์ด ์์ ํ ๋ฆฌํฉํฐ๋ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๊ฒฝ์ฐ
- ์๋ก์ด ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ฆฌํฉํฐ๋งํ ๊ฒฝ์ฐ
-
๊ทธ ์ธ์ ์๋กญ๊ฒ ์๊ฒ ๋ ์ ์ฉํ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๋งํฌ ๋ฑ์ ์์ ๋กญ๊ฒ ๊ณต์ ํฉ๋๋ค.
- ์คํฐ๋ ๋ฆฌ๋๋ ์คํฐ๋ ์์ ์ ์ฑ ์ ์ฝ๊ณ ํด๋น ์ฑํฐ์ ์์ ์๊ฐ์ ์ธก์ ํฉ๋๋ค.
- ์คํฐ๋ ์๊ฐ์๋ ๋คํจ๊ป ์ฑ ์ ์ฝ์ผ๋ฉฐ ๊ฐ์ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ด๋ ์ธ์๊น์ ๋ด์ฉ์ ๋ฐ์ค์ ๊ธ์ต๋๋ค.
- ์์ ์๊ฐ ๋ด์ ๋ชป๋ค ์ฝ์ ์ธ์์ด ์์ผ๋ฉด 5~10๋ถ ๋จ์๋ก ์๊ฐ์ ์ฐ์ฅํฉ๋๋ค.
- ๋ ์ ์๊ฐ์ด ์ข ๋ฃ๋๋ฉด 10๋ถ๊ฐ ํด์ํฉ๋๋ค.
- ์ค๋์ ๋ฐํ์๋ฅผ ๋ฝ๊ณ ๋ฐํ์๋ ์์ฑํฐ ๋จ์๋ก ๋์ด์ ๋ณธ์ธ์ด ๋ฐ์ค ์น ๋ถ๋ถ์ ์ฝ์ต๋๋ค.
- ์ค๋์ ์์ฑ์๋ฅผ ๋ฝ๊ณ ์์ฑ์๋ ๋ฐํ์๊ฐ ๋ฐ์ค ์น ๋ถ๋ถ์ ๊ธฐ๋กํฉ๋๋ค.
- ๋ฐํ๊ฐ ๋๋๋ฉด ๋๋จธ์ง ํ์๋ค์ ๋ณธ์ธ์ด ๋ฐ์ค ์น ๋ถ๋ถ ๋๋ ๋ฐํ์๊ฐ ๋ฐ์ค ์น ๋ถ๋ถ์ ๋ํด ์๊ฐ์ ๊ณต์ ํ๊ณ ์ง๋ฌธํฉ๋๋ค.
- ์์ฑ์๋ ๋๋จธ์ง ํ์๋ค์ด ๋ฐ์ค ์น ๋ถ๋ถ๊ณผ ํ ์ ๋ด์ฉ์ ๋ํด ๊ธฐ๋กํฉ๋๋ค.
- ์์ฑ์๋ ์คํฐ๋ ์ข ๋ฃ ํ ํด๋น ์ฑํฐ ํ์ผ์ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค.
- ์ถ๊ฐ์ ์ธ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ณ ์ถ์ ์คํฐ๋ ๋ฉค๋ฒ ๋๊ตฌ๋ ํ์ผ์ ๋ด์ฉ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ๊ธฐ๋ณธ ํ์ผ ์ธ์ ๊ฐ์ธ ๊ธฐ๋ก ํ์ผ์ ์์ฑํ๊ฑฐ๋ ๋ณธ์ธ์ ๋ธ๋ก๊ทธ, ๋ ธ์ ๋งํฌ๋ฅผ ๋จ๊ธธ ์๋ ์์ต๋๋ค.
- Refactoring - Martin Fowler
- GitHub - WegraLee/Refactoring: ใ๋ฆฌํฉํฐ๋ง, 2ํใ(ํ๋น๋ฏธ๋์ด, 2020)
- ใ๋ฆฌํฉํฐ๋ง 2ํใ ์ ์คํ - Google Docs
- ๋ฆฌํฉํฐ๋ง ์ด๋ฆ ๋น๊ต & IDE๋ค์ด ์ ๊ณตํ๋ ๋ฆฌํฉํฐ๋ง ๋ชฉ๋ก_ใ๋ฆฌํฉํฐ๋ง, 2ํใ(๊ฐ์๋งต์/๋จ๊ธฐํ ์ฎ๊น, ํ๋น๋ฏธ๋์ด, 2020) - Google Sheets
- Refactoring source code in Visual Studio Code
- FE์ฌ๋จ: ๋ฆฌํฉํฐ๋ง ์คํฐ๋ - YouTube Playlist
์คํฐ๋ ์๊ฐ ํ์ด์ง์ ์ธ์ ๋ชจ์ง ๊ทธ๋ฆฌ๊ณ ์จ๋ผ์ธ/์คํ๋ผ์ธ ๋ชจ์ ์ฅ์๋ฅผ ์ง์ํด์ฃผ์ ์ํฐ๋์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.