avatar

Page 25

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

    ## ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, Linked List ๋Š” ๊ฐ ๋…ธ๋“œ๋“ค์ด ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ (๋‹ค์Œ ๋…ธ๋“œ์˜ ์ •๋ณด)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ `O(1)`์— ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน์ • n๋ฒˆ ์งธ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ์—๋Š” `O(n)`์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ๋„ ์žˆ๋‹ค. ![๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ...

    3๋ถ„
  • Nodejs์—์„œ์˜ ์•”/๋ณตํ˜ธํ™”

    ### Nodejs์—์„œ์˜ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™” ๋งŒ์•ฝ ๊ฐ™์€ ํ…์ŠคํŠธ๋กœ ์•”ํ˜ธํ™”๋ฅผ ๋™์ผํ•˜๊ฒŒ ์‹œ๋„ํ–ˆ์„ ๋•Œ, ์•”ํ˜ธํ™”๋œ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜จ๋‹ค๋ฉด ์ด ์•”ํ˜ธํ™”๋Š” ๊ต‰์žฅํžˆ ์•ฝํ•œ ์•”ํ˜ธํ™”๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธํ™”๋Š” ๋งค๋ฒˆ ์•”ํ˜ธํ™”๋ฅผ ์‹œ๋„ํ•  ๋•Œ๋งˆ๋‹ค (์„ค๋ น ๊ฐ™์€ ํ…์ŠคํŠธ๋ผ ํ• ์ง€๋ผ๋„) ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™€์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก , ์–ด์จŒ๋“  ์•”ํ˜ธํ™” ๋˜์–ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค ๋งŒ์œผ๋กœ๋„ ๋งŒ์กฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ...

    3๋ถ„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šคํ‚ฌ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ 10๊ฐœ์˜ ์งˆ๋ฌธ

    ## ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šคํ‚ฌ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ 10๊ฐœ์˜ ์งˆ๋ฌธ [10 JavaScript Quiz Questions and Answers to Sharpen Your Skills](https://typeofnan.dev/10-javascript-quiz-questions-and-answers/) ์˜ ์งˆ๋ฌธ์„ ๋ณด๊ณ , ๋‹ต์— ๋Œ€ํ•œ ํ•ด์„์„ ์ œ๋ฉ‹๋Œ€๋กœ ์จ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ### 1....

    6๋ถ„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ๋„ค๋ ˆ์ดํ„ฐ

    ## Generator ์ œ๋„ค๋ ˆ์ดํ„ฐ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ ์ „์—, ๋จผ์ € ๋ฐ˜๋ณต์ž (Iterator)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ### 0. Iterator ๋ฐ˜๋ณต์ž๋Š”, ๋‘๊ฐœ์˜ ์†์„ฑ (`value`์™€ `done`)์„ ๋ฐ˜ํ™˜ํ•˜๋Š” `next()`๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ [Iterator protocal](https://developer.mozilla.org/en-US/docs/W...

    4๋ถ„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ

    ## ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ### 0. ์„ค๋ช…์ž ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์„ค๋ช…์ž(Descriptor)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์„ค๋ช…์ž๋ž€, ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์—ด๊ฑฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ค๋ช…์ž๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, [Object.getOwnPropertyDescriptor(obj, propName)](https://develo...

    4๋ถ„
  • var let const, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ…

    ## var let const, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ… ### var ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋‘ ์•„๋Š” `var` ํ‚ค์›Œ๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 1. ํ•จ์ˆ˜๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, `var`๋กœ ์„ ์–ธ๋œ ํ‚ค์›Œ๋“œ๋Š” ํ•จ์ˆ˜๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๋Š”๋‹ค. ```javascript var ...

    6๋ถ„
  • javascript ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ์ฐจ์ด

    ES6์—์„œ๋ถ€ํ„ฐ ์ƒ๊ธด `arrow function`์€ ์ผ๋ฐ˜์ ์œผ๋กœ `()=>{}`์˜ ๋ชจ์–‘์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์ž‘๋„ ๋น„์Šทํ•ด๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋‘ ์„ ์–ธ๋ฐฉ์‹์€ ๋‘๊ฐ€์ง€ ๋ถ„๋ช…ํ•œ ์ฐจ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ์ „์— this๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.

    3๋ถ„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ private

    ์ด ๊ธ€์€ [์€๋‹‰์„ ํ–ฅํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ฌ์ •](https://meetup.toast.com/posts/228)์„ ์š”์•ฝํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ## History ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ์ฒด์— private ํ•œ ์†์„ฑ์„ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ์ž๋Š” privateํ•œ ๊ฒƒ์ด๋‹ค ๋ผ๋Š” ์•ฝ์†์œผ๋กœ `_` prefix๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•˜๊ณ ๋Š” ํ–ˆ์—ˆ๋‹ค. ```javas...

    4๋ถ„
  • ๋ฆฌ๋•์Šค ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ (3) - ์šฉ์–ด

    https://redux.js.org/glossary#state ## ์šฉ์–ด ๋ชจ์Œ ### State (์ƒํƒœ) ```typescript type State = any ``` State (State tree๋ผ๊ณ  ๋„ ๋ถˆ๋ฆฌ์šด๋‹ค)๋Š” Redux API์—์„œ๋Š” ๋ณดํ†ต ์Šคํ† ์–ด์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , `getState()`์— ์˜ํ•ด ๋ฐ˜ํ™˜๋˜๋Š” ๋‹จ์ผ ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๊ด€๋ก€์ ์œผ๋กœ, ๊ฐ€์žฅ...

    10๋ถ„
  • ๋ฆฌ๋•์Šค ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ (2) - ๋ฆฌ๋•์Šค์˜ ํƒ„์ƒ, ํ•ต์‹ฌ ๊ฐœ๋… ๊ทธ๋ฆฌ๊ณ  3๊ฐ€์ง€ ์›์น™.

    ## ๋ฆฌ๋•์Šค์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ https://redux.js.org/introduction/motivation **์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ ์  ๋ณต์žกํ•ด ์ง์— ๋”ฐ๋ผ์„œ, ์šฐ๋ฆฌ์˜ ์ฝ”๋“œ๋Š” ๊ทธ ์–ด๋А ๋•Œ ๋ณด๋‹ค๋„ ๋” ๋งŽ์ด ์ƒํƒœ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์„ ๋А๋ผ๊ณ  ์žˆ๋‹ค.** ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์ƒํƒœ์—๋Š” ์„œ๋ฒ„ ์‘๋‹ต, ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ์„œ๋ฒ„์— ์•„์ง ์š”...

    9๋ถ„
  • ๋ฆฌ๋•์Šค ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ (1) - ๊ฐœ์š”

    ## ๋ฆฌ๋•์Šค ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ 1 [๋ฆฌ๋•์Šค ๊ณต์‹๋ฌธ์„œ](https://redux.js.org/introduction/getting-started)๋ฅผ ์Šค์Šค๋กœ ๋Œ€์ถฉ ๋ฒˆ์—ญํ•ด๋ณธ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋•์Šค๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•ฑ์„ ์œ„ํ•œ **์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๊ด€๋ฆฌ ์ปจํ…Œ์ด๋„ˆ**๋‹ค. ๋ฆฌ๋•์Šค๋Š” ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๋™์ž‘ํ•˜๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ํ™˜๊ฒฝ (ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ๋„ค์ดํ‹ฐ๋ธŒ)์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ํ…Œ์ŠคํŠธํ•˜๊ธฐ ...

    7๋ถ„