Elk ํ”„๋กœ์ ํŠธ๋Š” ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์šฉ ์†Œํ˜• JavaScript ์—”์ง„์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

2.0.9KB RAM ๋ฐ 32KB ํ”Œ๋ž˜์‹œ๋ฅผ ๊ฐ–์ถ˜ ESP2 ๋ฐ Arduino Nano ๋ณด๋“œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์™€ ๊ฐ™์ด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ Elk 30 JavaScript ์—”์ง„์˜ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ณต๋˜๋Š” ๊ฐ€์ƒ๋จธ์‹ ์„ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” 100๋ฐ”์ดํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ์™€ 20KB์˜ ์ €์žฅ๊ณต๊ฐ„์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด C ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ข…์†์„ฑ์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” IoT ์žฅ์น˜ Mongoose OS, mJS JavaScript ์—”์ง„ ๋ฐ ๋‚ด์žฅํ˜• Mongoose ์›น ์„œ๋ฒ„(Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ๋ฐ Qualcomm๊ณผ ๊ฐ™์€ ํšŒ์‚ฌ์˜ ์ œํ’ˆ์— ์‚ฌ์šฉ๋จ)์šฉ ์šด์˜ ์ฒด์ œ ๊ฐœ๋ฐœ์ž์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ).

Elk์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋‹ค์–‘ํ•œ ์ž๋™ํ™” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” JavaScript๋กœ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์šฉ ํŽŒ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์—”์ง„์€ C/C++ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— JavaScript ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋‚ด์žฅํ•˜๋Š” ๋ฐ์—๋„ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์†Œ์Šค ํŠธ๋ฆฌ์— elk.c ํŒŒ์ผ์„ ๋ฐฐ์น˜ํ•˜๊ณ  elk.h ํ—ค๋” ํŒŒ์ผ์„ ํฌํ•จ์‹œํ‚จ ํ›„ js_eval ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. JavaScript ์Šคํฌ๋ฆฝํŠธ์—์„œ C/C++ ์ฝ”๋“œ์— ์ •์˜๋œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. JavaScript ์ฝ”๋“œ๋Š” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์ฝ”๋“œ์™€ ๊ฒฉ๋ฆฌ๋œ ๋ณดํ˜ธ๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Elk๋Š” Ecmascript 6 ์‚ฌ์–‘์˜ ์ž‘์€ ํ•˜์œ„ ์ง‘ํ•ฉ์„ ๊ตฌํ˜„ํ•˜์ง€๋งŒ ์ž‘์—… ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๊ธฐ๋ณธ ์—ฐ์‚ฐ์ž ๋ฐ ์œ ํ˜• ์ง‘ํ•ฉ์„ ์ง€์›ํ•˜์ง€๋งŒ ๋ฐฐ์—ด, ํ”„๋กœํ† ํƒ€์ž…, this, new ๋ฐ delete ์‹์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. var ๋ฐ const ๋Œ€์‹  let์„ ์‚ฌ์šฉํ•˜๊ณ , do ๋Œ€์‹  switch ๋ฐ for๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Date, Regexp, Function, String ๋ฐ Number ๊ฐ์ฒด๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€