LINUX.ORG.RU

Javascript


143

13

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

Вышел 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

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

>>> Источник (gnu.org)

contra_sperm_spero
()

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

 , javascript. intel,

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

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

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

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

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

>>> Подробности (forbes.com)

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$.

>>> Подробности (tessel.io)

DiKeert
()

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

 , ,

Группа Open Source

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

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

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

>>> Подробности (gopherjs.org)

nagibator
()

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

 ,

Группа Open Source

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

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

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

>>> Подробности (scala-lang.org)

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
  • Различные мелкие исправления

>>> Подробности (coffeescript.org)

redhat
()

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

 , ,

Группа Open Source

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

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

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

>>> Подробности (github.com)

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 тысяч строк.

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

>>> Подробности (blogspot.ru)

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

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

>>> Подробности (wordpress.com)

Xroft
()

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

 , , ,

Группа Mozilla

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

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

>>> Подробности (arewefastyet.com)

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.

>>> Источник (gnu.org)

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.

>>> Подробности (ki-lang.org)

vi0
()

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

 , haste,

Группа Open Source

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

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

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

>>> Подробности (haste-lang.org)

vi0
()

Анонсирован GNU ease.js 0.2.0

 ,

Группа GNU's Not Unix

Релиз содержит захватывающие новые возможности, парочку багфиксов и обширную зачистку тестовых примеров. Кроме этого, проект перелицензирован под GNU GPLv3+ с целью помощи в борьбе против несвободного JavaScript.

Изменения по сравнению с версией 0.1.1:

  • [лицензия] смена лицензии с LGPLv3+ на GPLv3+;
  • [багфикс] this.__super теперь отображает стек вместо того, чтобы быть полностью уничтоженным после вызова методов ease.js;
  • [багфикс] защищённые члены переопределяют супер-супертипы и теперь корректно обрабатываются;
  • [планы] поддержка trait'ов и mixin'ов:
    • начата разработка поддержки trait'ов/mixin'ов (в значительной степени вдохновлено Scala), на текущий момент ещё не задокументирована в руководстве;
    • полная документация будет доступна, как только будут распределены все TODO по trait'ам; пока можно ознакомиться с test/Trait/*Test.js, содержащими подробные примеры и обоснования. Тесты производительности для сравнения с без-trait'овым использованием доступны в директории test/perf.
    • реализация является стабильной, но неполной; для более подробной информации см. README.traits;
  • методы работы с прокси и связанное с ними ключевое слово proxy теперь задокументированы (работа с прокси была представлена в версии 0.1.1);
  • все старые тестовые примеры JS, не связанные с производительностью, теперь являются частью нового набора:
    • обширная зачистка тестов и приведение форматирования к единому виду;
    • все тесты теперь содержат обоснования (как часть предваряющего блока комментариев);
  • теперь используются autotools; инструкции см. в README;
  • версия 0.1 (под LGPL) больше не поддерживается; пользователям желательно обновиться до 0.2.0 и обратить внимание на положения новой лицензии.

Новая домашняя страница проекта - https://www.gnu.org/software/easejs; на easejs.org размещён редирект на неё.

>>> Источник (gnu.org)

MiniRoboDancer
()

SICP, теперь и на JavaScript

 ,

Группа Документация

Избранные главы уникального учебника по начальному обучению программированию теперь доступны в виде интерактивного курса прямо в вашем браузере.

Любая часть кода из материалов курса теперь выполняется по клику мыши, что придает чтению учебного материала динамику и наглядность.

>>> Подробности (nus.edu.sg)

anonymous
()

MetaJS — первый Lisp, который угадывает мысли

 , , ,

Группа Open Source

На GitHub выложен исходный код нового языка программирования MetaJS. Синтаксис языка близок к Clojure, MetaJS также как ClojureScript компилируется в JavaScript, но без внешних зависимостей.

MetaJS разрабатывается в рамках проекта Coect.net, поставившего амбициозную задачу заменить электронную почту, XMPP (Jabber) и социальные сети открытым универсальным протоколом.

MetaJS полностью реализован на MetaJS и может перекомпилировать себя. MetaJS обладает рядом интересных возможностей, среди которых можно выделить специальный синтаксис для упрощения последовательных вызовов методов одного объекта (часто применяется, например, в jQuery). MetaJS поддерживет стандартный для Lisp-языков синтаксис определения макросов, короткие анонимные функции в стиле Clojure #(> %1 %2) и деструктуризацию параметров.

Но главная особенность MetaJS — способность в определенных случаях угадывать мысли программиста и генерировать недостающий код. Демонстрация и разоблачение.

>>> Подробности (coect.net)

dogada
()

Вышел Amber 0.11.0

 , ,

Группа Open Source

Amber — это современная реализация языка программирования Smalltalk, компилирующаяся в JavaScript и предназначенная для работы прямо в браузерах. Amber предоставляет разработчику классическое Smalltalk-окружение, которое включает в себя браузер классов, REPL, а также интерфейс для работы с юнит-тестами (SUnit).

Amber позволяет вести инкрементальную разработку в лучших традициях Smalltalk: все изменения в коде подхватываются системой «на лету». Код компилируется в эффективный JavaScript и сохраняется на сервере с помощью протокола WebDAV.

Amber прозрачно интегрируется с библиотеками на JS: разработчику доступно всё многообразие библиотек JavaScript.

В новой версии, помимо традиционных улучшений производительности и исправлений ошибок, вниманию разработчиков так же представляется новый вариант IDE под названием «Helios» (демо доступно в архиве, файл «helios.html»). В рамках работы над новой IDE продолжается разработка пошагового отладчика смолток-кода (ветка «debugger» в репозитории).

Немного статистики по данной версии:

  • 433 коммита от 13 разработчиков (общее число разработчиков достигло 25);
  • 50 новых юнит-тестов в ядре системы (общее число юнит-тестов достигло 313);
  • исправлено 60 известных проблем.

Домашняя страница проекта

>>> Подробности (google.com)

yoghurt
()

DevConf 2013 пройдет 14 июня в Москве — 71 заявка, секции Python,Ruby,JS, PHP и новая Android секция.

 , , , ,

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

Напоминаем что продолжается прием заявок на доклады по python, ruby,js, php, mobi.

Интересные заявки на доклады:

Prehistoric Python: Patterns Past their Prime Lennart Regebro, автор книги «Porting to Python 3»

Tulip — новый стандарт на асинхронный код Андрей Светлов, Python Core Developer. Участвует в создании tulip.

UI нового поколения с Leap Motion и Python'ом Павел Коломиец. Любит Python3 (!), zeromq, redis и другие прогрессивные технологии.

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

Полный список заявок на доклады и мастер-классы

>>> Подробности (devconf.ru)

devconf
()

jQuery 2.0

 ,

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

Вышла новая версия популярной JavaScript библиотеки jQuery — 2.0.

Основные изменения:

  • Удаление поддержки браузеров Internet Explorer 6-8, благодаря чему библиотека стала меньше и быстрее. По сообщениям авторов, наиболее проблемными из поддерживаемых браузеров являются старые версии WebKit, используемые в Android 2.x.
  • Возможность собрать собственную версию библиотеки, выбрав только часть из ее 12 модулей.
  • Совместимость API с jQuery 1.9.

Поддержка версии 1.x будет также продолжена, выпуск 1.10 с исправлениями ошибок состоится в течение двух ближайших месяцев.

>>> Подробности (jquery.com)

maxcom
()

Обновление GNU LibreJS до 4.9.3

 ,

Группа GNU's Not Unix

Выпущена версия 4.9.3 GNU LibreJS.

GNU LibreJS является свободным расширением для браузеров, основанных на Mozilla, таких как GNU IceCat и т. п., нацеленным на решение проблем JavaScript, указанных в статье Ричарда Столлмана JavaScript Trap.

GNU LibreJS разрешает выполнение только тех скриптов JavaScript, которые являются, согласно определениям из указанной статьи, свободными и/или тривиальными. В новой версии исправлены несколько ошибок.

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

Загрузить новую версию

>>> Подробности (gnu.org)

record
()