ΠΠ°Π»ΠΈΡΠ½Π° Π΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° JavaScript Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ elk 2.0.9, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠ»Π°ΡΠΊΠΈ ESP32 ΠΈ Arduino Nano Ρ 2 ΠΠ RAM ΠΈ 30 ΠΠ Flash. ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, ΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ 100 Π±Π°ΠΉΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ 20 ΠΠ ΠΌΡΡΡΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv2. ΠΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΌΠΎ C ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ β Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° IoT ΡΡΡΡΠΎΠΉΡΡΠ²Π° Mongoose OS, JavaScript Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ mJS ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ. ΡΠ΅Π± ΡΡΡΠ²ΡΡ Mongoose (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ΠΈ Qualcomm).
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° Elk Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠΈ Π·Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π½Π° JavaScript, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈ Π·Π° Π²Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° JavaScript ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° C/C++. ΠΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π² ΡΠ²ΠΎΡ ΠΊΠΎΠ΄, Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π² ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΉΠ»Π° elk.c, Π΄Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²Π½ΠΈΡ ΡΠ°ΠΉΠ» elk.h ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ js_eval. Π Π°Π·ΡΠ΅ΡΠ°Π²Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ JavaScript ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° Π½Π° C/C++, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. JavaScript ΠΊΠΎΠ΄ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π² Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΊΠΎΠ΄ ΡΡΠ΅Π΄Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π±Π°ΠΉΡ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°.
Π Elk Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΌΠ°Π»ΠΊΠΎ, Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Ecmascript 6. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅, Π½ΠΎ Π½ΡΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ°ΡΠΈΠ²ΠΈ, ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ, ΠΈΠ·ΡΠ°Π·ΠΈ this, new ΠΈ delete. ΠΠΌΠ΅ΡΡΠΎ var ΠΈ const ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° let, Π° Π²ΠΌΠ΅ΡΡΠΎ do, switch ΠΈ for β while. ΠΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Ρ.Π΅. Π½ΡΠΌΠ° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ Date, Regexp, Function, String ΠΈ Number.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
