๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
-
๐ฆ ์นํฉ(Webpack) 2 | ์นํฉ๊ณผ ๋ฐ๋ฒจ๋ก CRA ๊ตฌํํ๊ธฐwebpack 2021. 12. 12. 05:58
Creact-React-App ๋ฆฌ์กํธ์์๋ es6 ๋ฑ ์ต์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์นํฉ๊ณผ ๋ฐ๋ฒจ์ด ํ์ํ๋ค. ์นํฉ์ ํ์ผ๋ค์ ํ๋๋ก ๋ฌถ์ด ๋น๋์์ผ์ฃผ๊ธฐ ์ํด ํ์ํ๊ณ , ๋ฐ๋ฒจ์ ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ๋ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์ ์ ๋์ํ ์ ์๋๋ก ํด์ฃผ๊ธฐ ์ํด ํ์ํ๋ค. ํ์ง๋ง create-react-app, CRA๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์์์ ์ธํ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์นํฉ๊ณผ ๋ฐ๋ฒจ ์ธํ ์ ํ์ง ์์๋ ๋๋ค. CRA์์ด ์ง์ React ํ๋ก์ ํธ ์์ํ๊ธฐ CRA๊ฐ ์๋๋๋ ์๋ฆฌ๋ฅผ ์๊ธฐ ์ํด CRA์์ด ์ง์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด์. 1. ํ์ํ ํด๋, ํ์ผ๋ค ์์ฑํ๊ธฐ ์ง์ creact-react-app์ผ๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด ์๋์ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ public ํด๋๋ ์ ์ ํ์ผ(ht..
-
โ๏ธ TDD | Jest ์ฌ์ฉํด๋ณด๊ธฐtdd 2021. 12. 7. 19:42
Jest ์ด๊ธฐ ์ธํ Jest๋ ๊ฐ๋จํ ์๋ฐ์คํฌ๋ฆฝํธ ํ ์คํธ ํ๋ ์์ํฌ์ด๋ค. babel, typescript, node, react, angular, vue ๋ฑ์ ์ฌ์ฉํ๋ ์ฌ๋ฌ ํ๋ก์ ํธ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ค. 1. installing Jest using npm npm install --save-dev jest 2. ์์ ํ์ผ sum.js ์์ฑ //sum.js function sum(a,b){ return a + b; } module.exports = sum; 3. ํ ์คํธ ์์ ํ์ผ sum.test.js ์์ฑ ์ด ๋ __test__ ๋๋ ํ ๋ฆฌ ์์ ์๋ ํ์ผ์ด๋ test.js๋ก ๋๋๋ ํ์ผ๋ค์ ๋ชจ๋ ํ ์คํธ ํ์ผ๋ก ์ธ์ํ๋ค. const sum = require('./sum'); test('add 1 + 2 to..
-
๐์๋ฐ์คํฌ๋ฆฝํธ 3 | Lexical Environment, Scope Chain์๋ฐ์คํฌ๋ฆฝํธ 2021. 11. 15. 19:01
function a(){ let b = 10; function c(){ console.log(b); } c(); } a(); console.log(b); ์์ ์ฝ๋๊ฐ ์คํ๋ ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋์๊ฐ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๋จผ์ ์ ์ญ ์ค์ฝํ์ ์์นํ๊ณ ์๋ ๋ณ์ a๋ฅผ ๋ด๊ณ , ๋ณ์ a์๋ ์ ์๋์ด์๋ ํจ์๋ฅผ ํ ๋นํ๋ค. 2. ๊ทธ ๋ค์ a ํจ์๊ฐ ํธ์ถ๋๊ณ ์ ์ญ ์ปจํ ์คํธ์์ a๊ฐ ์คํ๋์ด let b = 10 ์ฝ๋๊ฐ ์คํ๋๋ค. 3. ์ด์ call stack memory์ aํจ์๊ฐ ์ ์ฅ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ณ์ b์ c๊ฐ callstack์ ์ ์ฅ๋๋ค(b : 10, c : function(){}). 4. ๋ค์ cํจ์๊ฐ ํธ์ถ๋๊ณ console.log(b)๋ฅผ ๋ง๋๋ค. ํ์ฌ ํ์ฑํ ์ํ์ธ c ์ปจํ ์คํธ์์ b๋ฅผ ๊ฒ..
-
๐์๋ฐ์คํฌ๋ฆฝํธ 2 | ์ค์ฝํ(scope), let vs var vs const์๋ฐ์คํฌ๋ฆฝํธ 2021. 11. 15. 17:39
์ค์ฝํ(scope) ์ค์ฝํ๋ ์ฝ๊ฒ ๋งํด ๋ณ์์ ์ ํจ๋ฒ์์ด๋ค. function start(){ for (let i = 0; i < 5; i++){ console.log(i); } console.log(i); } start(); ์์ ์ฝ๋๋ฅผ ์คํ ์์ผ๋ณด๋ฉด for ๋ฌธ ์์ console.log(i) ๋ ์ ์คํ๋ ๋ฐ๋ฉด, for ๋ฌธ ๋ฐ์ console.log(i)๋ i๊ฐ ์ ์๋์ด ์์ง ์๋ค๊ณ ์๋ฌ๊ฐ ๋ฌ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ทธ ์ด์ ๋ i๊ฐ for ๋ฌธ ์์์๋ง ์ ํจํ ๋ณ์์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์์ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ณ ์ถ๋ค๋ฉด ์๋์ ๊ฐ์ด ๋ณ์๋ฅผ ์์ ๋ฐ์์ ์ ์ธํ์ฌ ์ค์ฝํ์ ๋ฒ์๋ฅผ for๋ฌธ ๋ฐ์ผ๋ก ํ์ฅ์ํฌ ์ ์๋ค. function start(){ let i = 0; for(i = 0; i < 5; i++){ console...
-
๐์๋ฐ์คํฌ๋ฆฝํธ 1 | ๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ์๋ฐ์คํฌ๋ฆฝํธ 2021. 11. 13. 16:09
๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ๊ตฌ๋ถํ๋ ๊ธฐ์ค ๋ฐ์ดํฐ ํ์ ์ ์ข ๋ฅ๋ ํฌ๊ฒ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ 2๊ฐ์ง๋ก ๋๋๋ค. ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ๊ตฌ๋ถ ์ง๋ ๊ฐ์ฅ ํฐ ์ ์ ์ค์ ๊ฐ ์ ์ฒด ๋ณต์ฌ vs ์ค์ ๊ฐ์ด ๋ค์ด์๋ ์ฃผ์ ๊ฐ ๋ณต์ฌ์ด๋ค. - ๊ธฐ๋ณธํ (copy value of a) let a = 1; let b = a; a += 10; console.log(a) //11 console.log(b) //1 ์์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด a์ ๊ฐ์ด ๋ณํ๋๋ผ๋ b์ ๊ฐ์ ๊ทธ๋๋ก ์ธ ๊ฒ์ ๋ณผ ์ ์๋ค. let b = a; ์ฝ๋๋ฅผ ํตํด a๊ฐ ์ ์ฒด๊ฐ ๋ณต์ฌ๋์ด b๋ผ๋ ๋ณ์์ ๋ด๊ฒผ๋ค. a, b๋ ์๋ก ์ํฅ์ ๋ฐ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ธฐ๋ณธํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋๋ ์๋์ ๊ฐ์ ์์๋ก ์ ์ฅ๋๋ค. 1. ๋ณ์ ์์ญ์์ ๋น ๊ณต๊ฐ(@1003 : ์์์ ..
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 4 | ๋ณํฉ ์ ๋ ฌ(merge sort)data structure 2021. 1. 19. 09:05
๋ณํฉ ์ ๋ ฌ(merge sort) ๋ณํฉ ์ ๋ ฌ ๋๋ ํฉ๋ณ ์ ๋ ฌ์ ๋น๊ต ๊ธฐ๋ฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ฌ๋ ๋ ๊ฐ์ ๋ฐฐ์ด์ด ์๋ค๊ณ ํ์. let arr1 = [4,6,7,8]; let arr2 = [1,5,6,7]; let result = []; ์ ๋ ฌ๋ ๋ ๋ฐฐ์ด์ ํ๋์ ๋ฐฐ์ด๋ก ํฉ์น๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น? ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ๋ ๋ฐฐ์ด์ด ์ ๋ ฌ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ์์ ๊ฐ๋ผ๋ฆฌ ๋น๊ต๋ฅผ ํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ๊ฐ์ฅ ์์ ๊ฐ์ 0๋ฒ์งธ ์ธ๋ฑ์ค์ ์์นํ ์์์ด๋ค. ์ฒ์์๋ 4์ 1์ ๋น๊ตํ๋๋ฐ 1์ด 4๋ณด๋ค ์์ผ๋ฏ๋ก result์ 1์ด ๋จผ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. 4 > 1 result.push(1); ๊ทธ ๋ค์ ๋น๊ต๋์์ 4์ 1์ ๋ค์ ์ซ์์ธ 5์ด๋ค. 4 < 5 result.push(4); ๋ ์์ ..
-
๐๏ธ ์๋ฃ๊ตฌ์กฐ ๊ณต๋ถํ๊ธฐ 3 | ์ฐ๊ฒฐ ๋ฆฌ์คํธ (Linked List)data structure 2020. 12. 29. 14:09
์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List) ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ํฌ๊ธฐ๊ฐ ๋์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ก, ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์์ธ ๋ ธ๋(Node)์ ์ฐ๊ฒฐ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ์ด ๋ค์ด์ฌ ๋๋ง๋ค ๋ ธ๋๋ฅผ ๋ง๋ค์ด ์ ์ฅํ๊ฒ ๋๋ค. ๋ ธ๋(Node) ๋ ธ๋๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ ๊ฐ๋ฆฌํค๋ ๋ฐ, ๋ ธ๋์ ๊ตฌ์ฑ์ ํฌ๊ฒ ๋งํฌ, ๋ฐ์ดํฐ ํ๋๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๋ฆฌ์คํธ(List) ์๋ฃ๊ตฌ์กฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ดํดํ๊ธฐ ์ ์ ๋ฆฌ์คํธ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ดํดํด๋ณด์. List๋ Dynamic Array๋ก ๋์ ์ธ ์ด๋ ์ด๋ฅผ ๋ปํ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ ๋๋ง๋ค ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ฆฌ์คํธ ์๋ฃ๊ตฌ์กฐ๊ฐ ์๋ ์ ์ ์ธ ์ด๋ ์ด(๋ฐฐ์ด) ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฑ ์ฐ๋ฆฌ๊ฐ ์ง์ ํด์ค ๋งํผ์ ๊ณต๊ฐ์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๊ธฐ ์ฝ๋ค๋ ..
-
๐ฆ ์นํฉ(Webpack) 1 | ์นํฉ์ ๊ฐ๋ , ๋ฒ๋ค๋ฌ(Bundler), ์นํฉ ์ฌ์ฉ๋ฐฉ๋ฒwebpack 2020. 12. 27. 18:54
์น ๊ฐ๋ฐ์ ๊ณต๋ถํ ๋ ์์ฃผ ๋ฑ์ฅํ๋ ๋จ์ด '์นํฉ', ์นํฉ์ด๋ ๋ฌด์์ผ๊น? ํ๋์ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ .sassํ์ผ(css), .jsํ์ผ, .htmlํ์ผ, .jpg ์ด๋ฏธ์ง ํ์ผ ๋ฑ ์๋ง์ ํ์ผ์ด ์๊ฒจ๋๋ค. naver.com ํ์ด์ง์ ์ ์ํ๋๋ผ๋ ๊ต์ฅํ ๋ง์ JS,CSS, Img ํ์ผ๋ค์ ๋ถ๋ฌ์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ๋ง์ ํ์ผ์ ์๋ฒ์ ๊ณ์ ํต์ ํ๋ฉฐ ๋ฐ์์ฌ ๊ฒฝ์ฐ, ๋ ๋๋ง ์๋๊ฐ ๋๋ ค์ง ๊ฒ์ด๋ค. ๋ํ, ๊ฐ์ ๋ณ์๋ช ์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํ์ผ์ด ์๋ค๋ฉด, ๋ฎ์ด์์์ง๋ ๋ฑ ๋ฌธ์ ์ ์ด ์๊ธด๋ค. ๋ฐ๋ก ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋์ ๋ ๊ฐ๋ ์ ๋ชจ๋(module)์ด๋ค. ์คํฌ๋ฆฝํธ์ ํ์ ์ ๋ชจ๋๋ก ๋ฐ๊พผ ํ, export, import๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ๋ณ์๋ฅผ ๊ฐ์ง๊ณ ์๋๋ผ๋ ๊ฐ๊ฐ ๋ถ๋ฆฌํด์ ์ฌ์ฉํ ์ ์๋ค. ..