๐ฏ ์ํ์์ ๊ณต๋ถํ ๊ฒ
- [ํจ์ํ ํ๋ก๊ทธ๋๋ฐ] ์ ๋๋ ์ดํฐ์ ์ดํฐ๋ ์ดํฐ
- [ํจ์ํ ํ๋ก๊ทธ๋๋ฐ] map, filter, reduce, go, pipe, curry, range, take
- [ํจ์ํ ํ๋ก๊ทธ๋๋ฐ] ์ง์ฐ ํ๊ฐ
- [JavaScript] ๋น๊ตฌ์กฐํ ํ ๋น
๐ง ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ๋ฐฐ์ด ๊ฒ
- const, let ์ ์ ํ ์ฌ์ฉํ๊ธฐ
- JavaScript์์ ๋ฐฐ์ด, ๊ฐ์ฒด๋ ์ฐธ์กฐํ ํ์ ์ด๊ธฐ ๋๋ฌธ์ const๋ก ์ ์ธํ๊ณ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด ๋ด์ ๊ฐ์ ์์ ํด๋ ๋ฌธ์ ๊ฐ ์๋ค. const๋ก ์ ์ธํ์.
- ์์ธ ์ฒ๋ฆฌ ๊ณ ๋ฏผํด๋ณด๊ธฐ
- ๊ฒ์์ด ๋ฆฌ์คํธ์ ์๋ ๊ฐ์ ๋ฃ์์ ๋, ๊ฒ์์ด ๋ฆฌ์คํธ์ ์๋ ๊ฐ๋ณด๋ค ๋ ํฐ ๋ฌธ์์ด์ ๋ฃ์์ ๋, ์ ๋ ฅํ ๊ฐ์ ๊ณต๋ฐฑ์ด ์์ ๊ฒฝ์ฐ ๊ณต๋ฐฑ ์ ๊ฑฐ ๋ฑ
- ๋ณ์ ๋ช
๋ช
์ปจ๋ฒค์
๊ณ ๋ คํ๊ธฐ [์ฐธ๊ณ ๋ฌธ์]
- ํจ์๋ช , ๋ณ์๋ช -> camelCase
- class, struct, ์์ฑ์ ํจ์ -> PascalCase
- ์์ ๊ฐ -> UPPER_SNAKE_CASE
- ์ง์ญ ๋ณ์ / private ๋ณ์ -> ์ธ๋๋ฐ(_)๋ก ์์
- ๋ ์ ํํ ํํ ๊ณ ๋ฏผํ๊ธฐ
while(stack.length !== 0)
๋ณด๋ค๋while(stack.length > 0)
this.root === null
๋ณด๋ค๋if(!this.root)
: null, undefined ๋ ๋ชจ๋ ํ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ค
- ํ๋์ ํจ์๊ฐ ํ๋์ ๊ธฐ๋ฅ๋ง ํ ์ ์๋๋ก ๋ฉ์๋ ๋ถ๋ฆฌ
- ํ ๋์ ์์๋ณผ ์ ์๋๋ก ๊ตฌ์ฒด์ ์ด๊ณ ๋ช ํํ ๋ณ์๋ช ์ง๊ธฐ
- class์์ ๋ฉ์๋๋ฅผ ์ ์ํ ๋ arrow function ์ฌ์ฉ ์ง์ [์ฐธ๊ณ ๋ฌธ์]
- if๋ฌธ์์ ํ ์ค ์ง๋ฆฌ ์ฝ๋์ ๊ฒฝ์ฐ, {}๋ฅผ ์๋ตํ ์ ์์ง๋ง ๊ฐ๋ ์ฑ ์ธก๋ฉด์์ {}๋ฅผ ์๋ตํ์ง ์๋ ๊ฒ์ ๋ ์ ํธํ๋ค๊ณ ํ๋ค. [์ฐธ๊ณ ๋ฌธ์]
- return ๊ฐ์ ๋ํด์
return false;
์return;
์ ๋ค๋ฅด๋ค!- ์ถ๋ ฅ๋ง ํ๊ณ return ๊ฐ์ ๋ฐํํ๊ณ ์ถ์ง ์์ ๋
-
// bad return console.log("๋"); // good console.log("๋"); return;
- ์๋ฌ๋ฅผ ์ถ๋ ฅํ๊ณ ์ถ์ ๋
-
// bad // ํ ํจ์ ์์์ ๋ฐํํ์ด ํผ์ฌ๋์ด ์๋ ๊ฒ์ ์ข์ง ์์ const result = []; // ๊ฒฐ๊ณผ๊ฐ์ ๋ด์ ๋ฐฐ์ด if (๊ฒ์์ด ๋ฆฌ์คํธ์ ์๋ ๊ฐ์ ์ ๋ ฅํ๋ค๋ฉด) { return "๊ฐ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค."; } else if (๊ฒฐ๊ณผ๋ฅผ ์ ๋๋ก ๋์ถํ๋ค๋ฉด) { return result; } // good // ํ ํจ์ ์์์ ๋ฐํํ์ ํต์ผํด์ฃผ๊ณ ์๋ฌ๋ ๋ฐ๋ก ๋์ ธ์ฃผ๋ ๊ฒ์ด ์ข์ const result = []; // ๊ฒฐ๊ณผ๊ฐ์ ๋ด์ ๋ฐฐ์ด if (๊ฒ์์ด ๋ฆฌ์คํธ์ ์๋ ๊ฐ์ ์ ๋ ฅํ๋ค๋ฉด) { console.error('๊ฐ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.'); return []; } else if (๊ฒฐ๊ณผ๋ฅผ ์ ๋๋ก ๋์ถํ๋ค๋ฉด) { return result; }
๐ ์ ๋ฆฌํด์ผ ํ ๊ฒ
- Map๊ณผ Set
- ์ ๋๋ ์ดํฐ์ ์ดํฐ๋ ์ดํฐ
- ๋น๊ตฌ์กฐํ ํ ๋น
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ์ด ๊ฒ์๊ธ์ ๋์ค๋ ์ง๋ฌธ๋ค์ ๋ํ ๋ต๋ณ ์ฐจ๊ทผ์ฐจ๊ทผ ์ ๋ฆฌํ๊ธฐ
๐ Reflection
- ๋ฐฐ์ด ๊ฒ์ ๋๊ฒ ๋ง์๋ฐ ์ ๋ฆฌํ๋ ค๊ณ ํ๋๊น ์๋๊ฐ ์๋์ ์ ๋ฆฌ๋ฅผ ๋ชปํ๋ค. ์ง๊ธ ๊ฐ์๊ฐ ๋๋ฌด ๋ฐ๋ ค ์์ด์ ์ ๋ฆฌํ ์ฌ์ ๊ฐ ์๋๋ฐ ๋ค์์ฃผ ์์์ผ์๋ ๋ฒํผ ์๊ฐ์ ๊ฐ๋๋ค๊ณ ํ๋๊น ์ฃผ๋ง ์ฌ์ด์ ์ข ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค.
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ 1์ผ์ฐจ๋ ์ฌ๋ฐ๊ฒ ๋ค์๋๋ฐ 2์ผ์ฐจ๋ ์? ์ถ๋ค๊ฐ 3์ผ์ฐจ์์ ํ... ํ๊ณ ์๋ ์ํ๋ค. ๊ทธ๋์ ํ๋ก๊ทธ๋๋ฐ์ ํจ์ํ์ผ๋ก ํด์ผ ํ๋, ๊ฐ์ฒด ์งํฅ์ผ๋ก ํด์ผ ํ๋ ํ๋ ์ง๋ฌธ์ด ์๊ธฐ๋๋ฐ ๋ต๋ณ์ ๋ ๋ค ์ ์ ํ ํผํฉํด์ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ..... ์ด ๋ต๋ณ์ ๋ค์ผ๋ ๋ ๋ชจ๋ฅด๊ฒ ๋ค!
- ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฌ๋ฆฐ PR์ ๋ดค๋๋ฐ ๋๊ฒ ๋ง์ด ๋ฐฐ์ ๋ค. ์ด๋์ ์ฝ๋ ๋ฆฌ๋ทฐ, ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋ ๋ณด๋ค.
- ๋ง์ง๋ง ์๋ด์ ํ๋๋ฐ ๊ธฐ๋ถ์ด ์ฑ์ญ์์ญํด์ ธ์ ๋ณ๋ก ๊ณต๋ถ๋ฅผ ๋ชปํ๋ค. ๋๋ ์ฌ๋๋คํํ ๊ธฐ๋ฅ ๋ง๊ณ ์กด์ฌ๋ก ๋ณด์ด๊ธฐ๋ฅผ ์ํ๋๋ฐ ์คํ๋ ค ๋๋ ๋๋ฅผ ๊ธฐ๋ฅ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ค๋ ์ฑํฅ์ด ์๋ค๋ ๋ง์ ๋ค์๋ค. ์์ฒญ ๊ณต๊ฐ์ด ๋๊ณ ์ด๋ป๊ฒ ๊ณ ์น ์ ์์์ง ์ ๋ชจ๋ฅด๊ฒ ์ด์ ๋๊ฒ ์ฌํ๋ค.
- ๋จ์ฌ์ผ์์ ์ค๋นํด์ฃผ์ 30๋ถ์ง๋ฆฌ ๋ฉด์ ์ปจ์คํ ์ ์ฐธ์ฌํ๊ณ ๊ธฐ์ ๋ฉด์ ์ ์ํด ํ์ ๊ฐ๋ ๋ค์ ์ดํดํ๊ณ ์ค๋ช ํ ์ ์์ ์ ๋๋ก ๋ด์ฉ์ ์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
- ๋ฉํ ๋๊ณผ ๋ฉํ ๋ง์ ํ๋ค. ๊ฐ์ ๋ค์ผ๋ฉด์ ํผ์ ์ฝ๋ ์ณ๋ณด๊ณ ํ๋ ๊ฒ๋ค์ ์ฐ์ ๊ทธ๋ฅ github์ ์ฌ๋ ค๋ด์ผ๊ฒ ๋ค. ๋ฉํ ๋ฐ์ฌ์ญ์ด ๋์ ๋๋ ๋ฌ๋ฆฌ๊ธฐ๋ฅผ ํด๋ณด์! ์ ์๋ ์คํธ๋ ์ค ์์ด๋ฉด ์ฝ์ธ๋ ธ๋๋ฐฉ ๊ฐ๊ฑฐ๋ ์์ ๊ฑฐ ๋ผ์ด๋ฉํ๊ฑฐ๋ ํ๋ฉด์ ํ์๋๋ฐ ์ด์ ๋ ์ฝ์ธ๋ ธ๋๋ฐฉ๋ ๋ชป๊ฐ๊ณ ๋ด๊ฐ ๋๋ฌด ์ฐ๊ผญ๋๊ธฐ์ ์ด์์ ์ง์ ์ฌ๋ ์์ ๊ฑฐ ๋๊ณ ์ง๊น์ง ๋ฑ๋ฐํ ์๊ฐํ๋ฉด ์์ ๊ฑฐ ๋ผ์ด๋ฉ์ ์๋ํ ์๋๊ฐ ์๋๋ค. ๊ทธ๋๋ ๋ ์ด ๋ ์ ์ ํด์ง๋ฉด ์์ ๊ฑฐ ํ๋ ๊ฒ๋ ๋ค์ ์๋ํด๋ด์ผ๊ฒ ๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[WIL] 20210815 2์ฃผ์ฐจ ํ๊ณ (0) | 2021.08.15 |
---|---|
[TIL] 20210814 (0) | 2021.08.14 |
[WIL] 20210808 1์ฃผ์ฐจ ํ๊ณ (2) | 2021.08.08 |
[TIL] 20210803 (4) | 2021.08.04 |
[TIL] 20210802 (2) | 2021.08.02 |