๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+48] ๊ฐ•์ œํœด์‹... D+48 - ๊ฐ•์ œ ํœด์‹ - (์‰ฌ๋Š” ๋‚ ...) ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ์ฝ”์Šค๋ฅผ ๋งž์ดํ•œ ๋’ค ์ฒ˜์Œ ๋งž๋Š” ์ฃผ๋ง์ด๋‹ค. ๋ณดํ†ต์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด ์ฃผ๋ง ์•„์นจ์— ์ผ์–ด๋‚˜ ์ƒ์พŒํ•œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ฒ ์ง€๋งŒ ๋‚œ ์ฃผ๋ง์— ๋…ธํŠธ ๋ถํ‚ค๊ณ  ํ•ธ๋“œํฐ ํ•˜๋Š” ๋ณ‘์— ๊ฑธ๋ ค ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ† ์š”์ผ ๋‚ฎ๋ณด๋‹จ ๊ธˆ์š”์ผ๊ณผ ํ† ์š”์ผ ๋„˜์–ด๊ฐ€๋Š” ์ƒˆ๋ฒฝ์— ์ฃผ๋กœ ์˜ฌ๋นผ๋ฏธ์ฒ˜๋Ÿผ ๊ณต๋ถ€๋ฅผ ํ•œ๋‹ค. ์ด๋ฒˆ์—๋„ ์ƒˆ๋กœ์šด ์ฝ”์Šค๋ฅผ ์ž…๋ฌธํ–ˆ๊ธฐ์— ๋”์šฑ ์—ด์‹ฌํžˆ ํ•˜๊ฒ ๋‹ค๋Š” ๋‹ค์ง ํ›„ ๋…ธํŠธ๋ถ์„ ์ผฐ๋Š”๋ฐ.... ???? ๋จธ์•ผ...? ์™œ์•Š๋˜?.... ๋‚˜์˜ ๋œจ๊ฑฐ์šด ๋‹ค์ง์€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•˜๋ฉด์„œ ๋‚˜๋ฝ์œผ๋กœ ๋–จ์–ด์ ธ ๋ฒ„๋ ธ๊ณ  ์—ฐ๊ฒฐ์„ ์„ฑ๊ณต ํ›„ ๋ฐ˜๋“œ์‹œ ๊ณต๋ถ€ํ•˜๊ฒ ๋‹ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ๋งŒ์กŒ์ง€๋งŒ ์‹คํŒจํ–ˆ๋‹ค... ๊ทธ๋ ‡๊ฒŒ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด๋ฒ„๋ฆฐ ๋‚˜๋Š” 4์‹œ๊นŒ์ง€ ์ž ์„ ๋ชป ์žค๊ณ  ๊ฒฐ๊ตญ ์“ฐ๋Ÿฌ์ง€๋‹ค์‹œํ”ผ ๊ธฐ์ ˆํ•ด ๋ฒ„๋ฆฐ ๋‚˜๋Š” ์ผ์–ด๋‚˜ ๋ณด๋‹ˆ 12์‹œ๊ฐ„์ด๋‚˜ ์ž๋ฒ„๋ ธ๋‹ค..... ๋‚˜์ค‘์— .. 2020. 10. 24.
[D+47] Linked List์™€ Hash Table D+47 - Linked List์™€ Hash Table - (Linked List, Hash Table) Linked List •ํฌ๊ธฐ๊ฐ€ ๋™์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ • ๋…ธ๋“œ(๋ฐ์ดํ„ฐ ํ•„๋“œ + ๋งํฌ)์˜ ์—ฐ๊ฒฐ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ ํ•„๋“œ - ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ ๋งํฌ - ๋‹ค์Œ ๋…ธ๋“œ์˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ณณ Singly Linked List (๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๋…ธ๋“œ ์•ˆ์— ๋งํฌ๊ฐ€ 1๊ฐœ์ด๊ณ , ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ๋…ธ๋“œ ์•ˆ ๋งํฌ๊ฐ€ 1๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „ ๋…ธ๋“œ๋กœ ๊ฐˆ ์ˆ˜ ์—†๋‹ค. Doubly Linked List (์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๋…ธ๋“œ ์•ˆ์— ๋งํฌ๊ฐ€ 2๊ฐœ ์ด๊ณ  ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์ด๋‹ค. Circular Linked List (ํ™˜ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๊ฐ€ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌ์ผœ์„œ ๊ณ„์† ํšŒ์ „ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค.. 2020. 10. 23.
[D+46] ์Šคํƒ๊ณผ ํ D+44 - ์Šคํƒ๊ณผ ํ - (์Šคํƒ, ํ) ์Šคํƒ (Stack) ์Šคํƒ์€ LIFO(Last In First Out)์œผ๋กœ ๋‚˜์ค‘์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ผ์ƒ ์†์—์„œ ์˜ˆ๋ฅผ ์ฐพ์•„๋ณด์ž๋ฉด ์Œ“์•„๋†“์€ ์ ‘์‹œ๋ฅผ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๋†’์ด ์Œ“์—ฌ์ ธ ์žˆ๋Š” ์ ‘์‹œ์—์„œ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ ธ๊ฐˆ ๋•Œ ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต ์ค‘๊ฐ„์ด๋‚˜ ๋ฐ”๋‹ฅ์—์„œ๋ถ€ํ„ฐ ๊ฐ€์ ธ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ€์žฅ ์œ„์— ์˜ฌ๋ ค์ ธ ์žˆ๋Š” ์ ‘์‹œ๋ฅผ ๊ฐ€์ ธ๊ฐ„๋‹ค. ์ด๋•Œ์˜ ๋‚ด๊ฐ€ ๊ฐ€์ ธ๊ฐ€๋Š” ์ ‘์‹œ๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ์˜ฌ๋ ค์ ธ ์žˆ๋Š” ์ ‘์‹œ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์Šคํƒ๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์Šคํƒ ์šฉ์–ด •pop( ) : ๋„ฃ์–ด๋‘” ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ์ด๋•Œ ๊บผ๋‚ด์ง€๋Š” ์ž๋ฃŒ๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋„ฃ์€ ์ž๋ฃŒ๋ถ€ํ„ฐ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. •push(element) : ์ž๋ฃŒ๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋„ฃ์€ ์ž๋ฃŒ์ผ์ˆ˜๋ก ์œ„์— ์œ„์น˜ํ•œ๋‹ค. •si.. 2020. 10. 22.
[D+45] ESlint ์„ค์น˜ํ•˜๊ธฐ D+45 - ESlint ์„ค์น˜ํ•˜๊ธฐ - (ESlinet ์„ค์น˜ํ•˜๊ธฐ) ESlint ์„ค์น˜ํ•˜๊ธฐ ESlint๋Š” ์ฝ”๋“œ์˜ ๋„์–ด์“ฐ๊ธฐ๋‚˜ ์ค„ ๋ฐ”๊ฟˆ ๋“ฑ์˜ ๊ทœ์น™๋“ค์„ ๋งž์ถ”๋Š” ๋ฐ์— ๋„์›€์ด ๋˜๋Š” Linter๋ผ๊ณ  ํ•˜๋ฉฐ, ์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ๋Š” ECMAScript/JavaScript ์ฝ”๋“œ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๊ณ  ๋ณด๊ณ ํ•˜๋Š” ๋„๊ตฌ๋กœ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ESlint๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ์„ค์น˜๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด ์„ค์น˜๋ฅผ ํ•ด๋ณด์•˜๋‹ค. Getting Started with ESLint Getting Started with ESLint ESLint is a tool for identifying and reporting on p.. 2020. 10. 21.
[D+44] call, apply, bind ๋ฉ”์†Œ๋“œ D+44 - call, apply, bind ๋ฉ”์†Œ๋“œ - (call, apply, bind) call ๊ณผ apply call๊ณผ apply๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ ๋ช…์‹œ์ ์œผ๋กœ this๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹ถ์„๋•Œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฒซ๋ฒˆ์งธ ์ธ์ž๊ฐ€ ํ•ญ์ƒ this๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๋‘˜์˜ ์ฐจ์ด์ ์€ .apply๋Š” ๋ฐฐ์—ด๋กœ ๊ฐ’์„ ๋„˜๊ฒจ์ฃผ๊ณ , .call์€ ๊ทธ๋ƒฅ ๋‹จ์ˆœํžˆ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด ๋„˜๊ฒจ์ค€๋‹ค๋Š” ์ฐจ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. function add(x, y) { return x + y; } add.apply(null, [2, 8]); // 10 add.call(null, 2, 8); // 10 bind .bind๋Š” .call๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ this ๋ฐ ์ธ์ž๋ฅผ ๋ฐ”์ธ๋”ฉ ํ•˜์ง€๋งŒ ๋‹น์žฅ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ฐ”์ธ๋”ฉ ๋œ ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ฒซ ๋ฒˆ.. 2020. 10. 20.
[D+44] ํ™”์‚ดํ‘œ ํ•จ์ˆ˜, ๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น, this D+44 - ํ™”์‚ดํ‘œ ํ•จ์ˆ˜, ๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น, this - (ํ™”์‚ดํ‘œ ํ•จ์ˆ˜, ๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น, this) ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ const add = function (x, y) { return x + y } ๋งŒ์•ฝ ๋งค๊ฐœ๋ณ€์ˆ˜ x, y๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‘ ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ• ๋•Œ ์šฐ๋ฆฌ๋Š” ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์ƒ๊ฐํ•  ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น์ฝ”๋“œ๋Š” ๊ธฐ์กด์— ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ•ด๋‹น ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ๋”์šฑ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ const add = (x, y) => { return x + y } ๋ฐ”๋กœ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์ด๋‹ค. const add = (x, y) => x + y const add = (x, y) => (x + y) // O, ์ •์ƒ ์ž‘๋™(์†Œ๊ด„ํ˜ธ ์‚ฌ์šฉ๊ฐ€๋Šฅ) const add = (x, .. 2020. 10. 20.