[Udemy] JavaScript: The Advanced Concepts - ์„น์…˜ 2 : JavaScript Foundation

** โš  priv | ๊ฐ•์˜๋…ธํŠธ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ๋‚ด์šฉ์€ ๋ฐœํ–‰์ด ๋ชฉ์ ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ˜€ ์ •์ œ๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹น.** 11. Inside the V8 Engine V8 ์—”์ง„์€ C++๋กœ ์ž‘์„ฑ๋จ ๊ตฌ๊ธ€ ํฌ๋กฌ, Node JS ์—์„œ ์‚ฌ์šฉ V8์—”์ง„ ์ž‘๋™์›๋ฆฌ? JS ์†Œ์Šค์ฝ”๋“œ → Parser ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด์„œ AST _(Abstract Syntax Tree - ์ถ”์ƒ๊ตฌ๋ฌธํŠธ๋ฆฌ : ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ)_๋กœ ๋ณ€ํ™˜ - ์ด๋•Œ scope๋„ ํ˜•์„ฑ๋œ๋‹ค๊ณ ํ•จ AST๋ฅผ ๊ฐ€์ ธ๊ฐ€๋‹ค๊ฐ€ ignition ( V8 interpreter ) ํ•œํ…Œ ๋„˜๊ธฐ๊ณ  ์–˜๊ฐ€ JS์ฝ”๋“œ๋ฅผ ๋ฐ”์ดํŠธ์ฝ”๋“œ ( Bytecode ) ๋กœ ๋ณ€ํ™˜ Profiler ๋Š” ์ด ์ค‘ ์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ์ฝ”๋“œ๋ฅผ ์ฐพ์Œ(ํ•จ์ˆ˜,๋ณ€์ˆ˜์˜ ํ˜ธ์ถœ๋นˆ๋„๋ฅผ ๋ชจ์•„์„œ) ๊ทธ๊ฑธ ๋“ค๊ณ  TurboFan (์ตœ์ ํ™”..

[๊ฐ•์˜๋…ธํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์•Œ์•„๋ณด๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1

** โš  priv | ๊ฐ•์˜๋…ธํŠธ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ๋‚ด์šฉ์€ ๋ฐœํ–‰์ด ๋ชฉ์ ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ˜€ ์ •์ œ๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹น.** ๐ŸŒž ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ˆœ์ˆ˜ํ•จ์ˆ˜ ํ•ญ์ƒ input์ด ๊ฐ™์œผ๋ฉด output๋„ ๊ฐ™๋‹ค ๋ถ€์ˆ˜ํšจ๊ณผ๊ฐ€ ์—†๋‹ค(์™ธ๋ถ€์— ์˜ํ–ฅ์„ ๋ผ์น˜๊ฑฐ๋‚˜ ๋ฐ›์ง€ ์•Š์Œ ex)์™ธ๋ถ€๋ณ€์ˆ˜๋ฅผ ๋ณ€ํ˜•,์ด์šฉํ•˜์ง€์•Š๋Š”๋‹ค. console.log ๋“ฑ๋„ ๋ถ€์ˆ˜ํšจ๊ณผ) ๋ชจ๋“ˆํ™”์™€ ์กฐํ•ฉ ๋™์‹œ์„ฑ ๋น„๋™๊ธฐ์— ์œ ๋ฆฌ ์ผ๊ธ‰ํ•จ์ˆ˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋žจ์˜ ๋Œ€ํ‘œ์  ์˜ˆ์ œ add_maker ๐Ÿ”ธ ๋ช…๋ นํ˜•์„ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ user๋“ค์˜ name, age๋ฅผ ๊ฐ€์ง„ ๊ฐ์ œ๋ฅผ ํŠน์ • ์กฐ๊ฑด์œผ๋กœ ๋ถ„๋ฅ˜ ์‘์šฉํ˜• (์ ์šฉํ˜•)ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋ฅผ ๋ฐ›์•„์„œ ์›ํ•˜๋Š” ์‹œ์ ์— ํ‰๊ฐ€ํ•ด์„œ ๋กœ์ง์„ ์™„์„ฑ filter ->์‘์šฉํ˜•(์ ์šฉํ˜•) ์‘์šฉํ˜• ํ•จ์ˆ˜ ๊ณ ์ฐจํ•จ์ˆ˜์ด๊ธฐ๋„ํ•จ (ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๊ฑฐ๋‚˜ ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ด) filter๋กœ ๋ฆฌํŒฉํ† ๋ง..

[JS] #๋ชจ์˜๊ณ ์‚ฌ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต

๋ฌธ์ œ ์„ค๋ช… ์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€์˜ ์ •๋‹ต์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์€ ๋ฐฐ์—ด answers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘..

๊ณต๋ถ€/JS 2020. 7. 12. 07:05