LINUX.ORG.RU

Javascript


142

12

Всего сообщений: 93

OdessaJS'2017

Группа Конференции и встречи

Всем привет! Приглашаем на JavaScript конференцию в Одессе 1–2 июля. В программе зарубежные и украинские спикеры, крутые воркшопы, возможность выступить со своей темой, конкурсы, подарки и афтерпати.

Присоединяйтесь к группе мероприятия в Facebook, чтобы оперативно узнавать обо всех интересных активностях и новостях!

>>> Подробнее о конференции и билеты

 , , , ,

mifaer
()

WebGear

Группа Интернет

Состоялся первый релиз написанного на Perl HTML5-парсера с поддержкой JS.

>>> Репозиторий на GitHub

 , , , webgear

novikovag
()

В Tor Browser (и Firefox) обнаружена 0-day уязвимость

Группа Безопасность

Обнаружен JavaScript-эксплоит для Tor Browser (клиента анонимной сети Tor), использующий 0-day уязвимость. После выполнения скрипта может быть выполнен произвольный код в системе пользователя. Готовый эксплоит работает в Windows, но может быть модифицирован для работы в других системах.

Компания Mozilla подтвердила наличие уязвимости в коде Firefox.

До того как уязвимость будет исправлена, для защиты от вредоносного кода рекомендуется блокировать JavaScript на сайтах, не заслуживающих доверия. Также для снижения рисков вредоносного влияния эксплоита можно использовать дистрибутив Whonix.

>>> Подробности

 , , ,

Deleted
()

Вышел Typescript 2.0

Группа Open Source

Новая версия Typescript включает множество дополнений, направленных на статический анализ программ и выявление ошибок на этапе компиляции в JavaScript. Для этого добавлен параметр --strictNullChecks, при использовании null и undefined с этим параметром необходимо явно указывать, что переменной можно присваивать эти значения. Исключение составляет тип any.

( читать дальше... )

>>> Подробности

 ,

grim
()

Duktape 1.5.0 — встраиваемый движок JavaScript

Группа Open Source

Состоялся релиз Duktape 1.5.0 — легковесного встраиваемого JavaScript-движка (полностью поддерживается ECMAScript 5, частично — шестая версия), который может работать на платформах с 64КБ системной RAM и 256 КБ flash. Среди преимуществ можно отнести также и простоту встраивания в программы на C/C++ (для этого нужно добавить в проект всего 3 файла — duktape.c, duktape.h и duk_config.h); имеется встроенный отладчик, поддержка Unicode, встроенный движок регулярных выражений. Всё это требует минимального числа зависимостей.

В новой версии улучшен отладчик и снижено потребление памяти.

Официальный сайт

>>> Подробности

 , ,

cetjs2
()

Релиз Blend4Web 16.01

Группа Интернет

Первый релиз этого года. Разработчики Blend4Web объявили о выходе новой версии своего фреймворка, предназначенного для создания браузерных 3D-приложений. В этой сборке появилось немало полезных и интересных возможностей:

  • Библиотека материалов. Началась разработка пользовательской библиотеки материалов. В течение ближайших месяцев планируется реализовать основные типы материалов: дерево, металлы, стекло и т.д. Это позволит значительно сократить время на создание приложения. Разработчики подготовили специальную сцену и окружение для демонстрации создаваемой библиотеки.
  • Изменения в визуальном редакторе логики. В настоящий момент насчитывается более двух десятков готовых узлов логики. Ранее все они были доступны из одного общего меню программы, теперь же они рассортированы по тематическим каталогам, что удобнее. Кроме того, добавлены две новые ноды: Tranform Object (перемещение, вращение и масштабирование объекта в локальных или глобальных координатах) и String Operation (позволяет выполнять стандартные операции над строковыми константами или переменными).
  • Рендеринг линий. В API движка была добавлена возможность рисования линий в 3D-пространстве. При этом можно указывать цвет, толщину, прозрачность и тип прорисовки. Работу новой функции можно увидеть в этой демонстрации.
  • Продолжилась работа над поддержкой шлемов виртуальной реальности: добавлен механизм коррекции дисторсии и устранения хроматической аберрации.

>>> Подробности

 , ,

prand
()

Исходный код JavaScript-движка ChakraCore выложен на GitHub

Группа Open Source

Компания Microsoft открыла исходный код ключевых компонентов JavaScript-движка Chakra, работающего в Microsoft Edge.

В репозитарии ChakraCore можно обнаружить полностью поддерживаемый открытый и изолированный движок JavaScript с теми же характеристиками, что и движок Chakra в Microsoft Edge, который можно встраивать в свои проекты. Исходники распространяются под лицензией MIT.

Исходный код

>>> Подробности

 , ,

Jack-Laphroaig
()

Вышел GNU ease.js 0.2.6

Группа GNU's Not Unix

Это минорный выпуск, сосредоточенный на одной проблеме с совместимостью. Он продолжает версию 0.2.5, вышедшую 28 мая 2015 года, без ломающих обратную совместимость изменений и с продолжением поддержки ECMAScript 3+.

Изменения между 0.2.5 и 0.2.6:

  • Пути `require` в index.js изменены для совместимости с Browserify (Browserify теперь корректно распознаёт все необходимые модули; ранее она останавливалась после обработки index.js).

История примечаний к выпускам доступна на https://www.gnu.org/software/easejs/release-notes.html

( читать дальше... )

>>> Источник

 , ,

contra_sperm_spero
()

Выявлен новый вид JavaScript-атак на кэш-память процессора

Группа Безопасность

Исследователи из Колумбийского университета опубликовали отчет об успешном получении детальных сведений о действиях пользователя по содержимому кэш-памяти центрального процессора.

Созданный ими эксплоит требует для работы компьютер с одним из современных процессоров Intel - Ivy Bridge, Sandy Bridge и Haswell (отмечается, что из-за особенностей архитектуры процессоров AMD проведение атаки на них крайне маловероятно), а также браузер с поддержкой HTML5. Вредоносный код в виде JavaScript подгружается через баннерные сети. Атака заключается в измерении времени, требуемого для доступа к кэш-памяти (кэш L3 является общим для всех ядер процессора и его совместно используют все процессы, включая ядро).

Сам код сначала сбрасывает кэш, ждёт действие пользователя, и замеряет время, потребовавшееся для запроса к памяти. Если искомые данные уже в кэше, запрос выполняется существенно быстрее. Из этого злоумышленник может вычислить соответствие запрашиваемых областей памяти с нажатиями клавиш и движениями мыши.

Уже создан рабочий вариант эксплоита, но подробности будут держаться в тайне до тех пор, пока разработчики браузеров не придумают способ защиты.

>>> Подробности

 , javascript. intel,

anonymous
()

Technical Machine анонсировало Tessel 2 — плату, программируемую с помощью Node.js

Группа Hardware and Drivers

Теперь «помигать светодиодом» можно и на JavaScript. Technical Machine анонсировало плату для разработчиков, которая программируется с помощью JavaScript и Node.js.
Доступны дополнительные API на Python и Ruby.

Доступно множество модулей расширения, таких как:

  • Bluetooth;
  • Cell;
  • Camera;
  • Cellular;
  • Акселерометры, IR-DA модули, различные датчики.

Доступны различные модули от сообщества. Проект разрабатывается в рамках инициативы Open Source Hardware, поэтому возможна разработка своих собственных плат расширения.

Технические характеристики платы:

  • 580MHz Mediatek MT7620n;
  • Linux built on OpenWRT;
  • 802.11bgn WiFi;
  • WEP, WPA, WPA2-PSK, WPA2-Enterprise;
  • 64MB DDR2 RAM;
  • 32MB Flash;
  • 16 pins GPIO, 7 of which support analog in;
  • 2 USB 2.0 ports with per-port power switching.

Плата доступна для предзаказа за 35$.

>>> Подробности

 , , ,

DiKeert
()

GopherJS — транслятор Golang -> JS

Группа Open Source

Основная цель проекта — позволить создавать приложения как для браузеров, так и для nodejs, используя привычное окружение и инструменты.

На данный момент реализована поддержка большого числа модулей из стандартной библиотеки. Кроме того, реализована поддержка goroutines. Некоторые модули реализованы не полностью (net/http), некоторые доступны только для nodejs (os).

Также доступна «песочница», позволяющая протестировать возможности проекта.

>>> Подробности

 , ,

nagibator
()

Первая стабильная версия Scala.js

Группа Open Source

Представлена новая версия Scala.js, плагина компилятора языка программирования Scala, создающего в результате компиляции Javascript вместо обычного байт-кода JVM. Выпущенная версия 0.6 лишилась флага «экспериментальной версии» и стала первой стабильной сборкой проекта.

Scala.js позволяет программировать для браузера с использованием всех возможностей языка, включая макросы и большую часть стандартной библиотеки. Разработчики могут пользоваться готовой инфраструктурой сборки и тестирования, а также писать код который может исполняться как в браузере, так и на серверной стороне в JVM.

За два года существования проект обзавелся экосистемой, включающей модули для интеграции с различными браузерными фреймворками, средствами тестирования и отладки.

>>> Подробности

 ,

maxcom
()

Вышел CoffeeScript 1.9.0

Группа Open Source

Спустя полгода после последнего релиза, вышла мажорная версия CoffeeScript 1.9.0.

CoffeeScript — это язык программирования, транслируемый в JavaScript. CoffeeScript добавляет синтаксический сахар в стиле Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер. CoffeeScript позволяет писать более компактный код по сравнению с JavaScript.

Список изменений:

  • Поддержка ES6 генераторов
  • Более надежный и устойчивый к ошибкам парсинг
  • Улучшены сообщения об ошибках для строк и регулярных выражений, особенно, что касается интерполяции
  • Изменена стратегия генерации имен переменных во время компиляции
  • Исправлена совместимость REPL с последними версиями Node и io.js
  • Различные мелкие исправления

>>> Подробности

 , ,

redhat
()

markdown-it — парсер markdown с расширяемым синтаксисом

Группа Open Source

Ключевая особенность нового парсера — простота расширения синтаксиса. При использовании маркдауна пользователь рано или поздно упирается в то, что чего-то не хватает и нужно делать HTML-вставки. В markdown-it можно добавлять новые элементы синтаксиса через плагины. В результате сохраняется безопасность сгенерированной HTML-разметки и нет необходимости использовать сложные валидаторы вроде owasp для защиты от XSS.

Парсер написан на javascript, и работает как в браузере, так и на node.js. Несмотря на язык программирования и заложенную гибкость, markdown-it имеет очень высокую скорость, уступая только скомпилированным вариантам на С.

Другой приятной особенностью парсера является следование спецификации CommonMark.

>>> Подробности

 , ,

Vit
()

Google представил Lovefield — SQL- подобный движок запросов к БД на основе Javascript

Группа Google

Сегодня Google представил релиз библиотеки с SQL-подобным синтаксисом, написанную на языке Javascript.

Поскольку начиная с 2010 года сообществу так и не удалось выработать стандарта WebSQL, в этой области не существовало реляционной БД, которая могла обеспечить полноценную кросс-браузерность.

Имеющиеся решения — IndexedDB и LocalStorage были по сути объектно-ориентированными хранилищами и не имели свойств,которыми обладают реляционные БД.

Lovefield создан, чтобы заполнить этот пробел в подобном ПО.

Он предоставляет мощный и гибкий движок запросов. В качестве бэкэнда в нем используется IndexedDB.

Синтаксис самих SQL-запросов декларативен, т.е. отсутствует прямой парсинг запросов, что делает систему устойчивой к SQL-инъекциям, а также простой в изучении для разработчиков, уже хорошо знакомых с традиционным SQL.

На данные момент движок Lovefield реализует такую функциональность:

  • Поддержка запросов select, insert, update и delete;
  • Простая семантика транзакций для обеспечения атомарности операций;
  • Возможность задания ограничений для проверки сохранения целостности (primary key, unique, nullable/not-nullable).
  • Поддержка агрегатных функций(count, min, max, sum, avg, stddev, distinct);
  • Поддержка группировки в SELECT-запросах через выражение «group by»;
  • Возможность формирования запросов, охватывающих несколько таблиц (INNER JOIN, OUTER JOIN);
  • Более простой, чем в IndexedDB, механизм изменения схемы данных;
  • Кроссбраузерность — поддерживаются браузеры Chrome, Firefox, IE10.

В плане производительности новый движок использует оптимизатор запросов, который оценивает различные варианты выполнения и выбирает наиболее эффективный.

Lovefield обеспечивает приемлемую производительность для БД размером до 50 тысяч строк.

В ближайшем будущем разработчики планируют добавить поддержку таких возможностей как внешние ключи, самосоединения таблиц, каскадное добавление/удаление записей и другое.

>>> Подробности

 , , ,

Twissel
()

Новый высокопроизводительный движок JavaScript Higgs

Группа Open Source

Вышла новая версия высопроизводительного движка JavaScript Higgs, написанного на D. Тестирование новой версии показало, что практически во всех тестах движок значительно обходит в производительности TraceMonkey и v8.

Результаты теста for-in loops:

  • Higgs 2.91s
  • V8 3.29.66 (baseline) 4.98s
  • V8 3.29.66 (Crankshaft) 4.95s
  • TraceMonkey 4.12s

Автор движка отмечает, что несмотря на то, что в ряде тестов движок показывает крайне высокую производительность, он все еще не завершен и имеет ряд узких мест.

>>> Подробности

 , higgs,

Xroft
()

SpiderMonkey вышел в лидеры в тестах JS

Группа Mozilla

Об этом свидетельствует сайт http://arewefastyet.com
Так, на kraken (тест от самих мозилловцев) SpiderMonkey вырвался вперед еще прошлым летом. А уже в августе нынешнего года обошел всех в sunspider (тест от Safari). И вот, несколько дней назад ему покорился octane (тест от Google).

Таким образом, в гонке интерпретаторов js новый лидер.

>>> Подробности

 , , ,

special-k
()

Вышел GNU ease.js 0.2.4

Группа GNU's Not Unix

ease.js — классический объектно-ориентированый фреймворк для JavaScript, предназначенный для избавления от шаблонного кода и упрощения перевода на JavaScript с других объектно-ориентированных языков.

Это служебный релиз, исправляющий ряд ошибок, большинство из которых появились в версии 0.2.3 и в первую очередь представлены несовместимостью с ECMAScript 3. Пользователи, которым нужна поддержка сред ES3 (в частности, IE≤8), рассматривают версию 0.2.3 как сломанную. Версия 0.2.3 вышла на прошлой неделе 28 июля.

Изменения:

  • [багфикс] ссылки method.super в ease.js и тестовых примерах теперь ES3-совместимы
  • [багфикс] прототип Global, представленный в версии 0.2.3, использовал реализацию, которую не поддерживал IE≤8; теперь используется альтернатива
  • [багфикс] Interface.isInstanceOf теперь отрабатывает корректно, как задокументировано в разделе совместимости руководства
    • Когда передан объект, чей конструктор не является классом ease.js, он теперь откатывается в Interface.isCompatible (как и должно быть)
  • [багфикс] исправлен тест, сломанный Node.js 0.10.27
    • Для подробностей, что же изменилось в Node.js, см. коммит cef45cd0
  • Поддержка trait сейчас в разработке и будет раздокументирована к версии 0.3.0; в настоящее время она включена для ознакомления, функционирует и всесторонне оттестирована, но не завершена.
  • [превью] [багфикс] неаргументные trait'ы теперь применяют для «__mixin» пустой массив вместо «undefined», неподдерживаемого ES3.

>>> Источник

 , ,

MiniRoboDancer
()

ki - смешиваем Clojure и JavaScript

Группа Open Source
var nums = ki (take 6 (map (fn [x] (js x * 2)) (range 1000)));

Идёт разработка ещё одного языка программирования, транслируемого в JavaScript: ki. ki дополняет JavaScript приёмами функционального программирования и неизменяемыми структурами данных. На ki можно писать целые приложения, отдельные компоненты или просто функциональные «однострочники».

Синтаксис, семантика и структуры данных языка вдохновлены Clojure и ClojureScript.

>>> Подробности

 , ,

vi0
()

Haste - компилятор Haskell в JavaScript

Группа Open Source

Идёт разработка Haste (HASkell To Ecmascript) - компилятора из Haskell в JavaScript.

Перед проектом стоит цель создать практичный компилятор из Haskell в Javascript.

( читать дальше... )

>>> Подробности

 , haste,

vi0
()