LINUX.ORG.RU

Scala


82

3

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

Gradle 7.2

Группа Java

Не прошло и полутора месяцев с предыдущего релиза 7.1.1, как на свет появилась новая версия Gradle 7.2 — системы сборки, наиболее популярная среди разработчиков на Java и на других языков программирования JVM, включая разработчиков под Android.

Среди интересных изменений следующие:

  • Gradle может компилировать под Java 17 (сейчас есть RC, релиз в сентябре).
  • Java toolchain теперь поддерживает ещё и Scala.
  • Добавлена новая аннотация @NormalizeLineEndings позволяющая нормализовать формат конца строки. За счёт использования этой аннотации уже улучшена производительность задачи JavaCompile.
  • Улучшена поддержка аутентификации доступа к репозиториям по HTTP. Автоматически поддерживаются параметры <rep_name>AuthHeaderName и <rep_name>AuthHeaderValue (где <rep_name> - название репозитория), значения которых используются во время аутентификации через HTTP-заголовки.
  • В дополнении к Copy.expand(Map) был добавлен метод Copy.expand(Map,Action), позволяющий копировать файлы без преобразования escape-последовательностей. Для этого нужно установить escapeBackslash = true.
  • Попытки повторить HTTP-запросы во время удалённой сборки теперь происходят не только для HTTP GET, но и для HTTP PUT.
  • HTTP-редиректы во время удалённой сборки теперь поддерживаются по умолчанию.

Также исправлено 50 ошибок.

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

 , , , ,

hummer
()

Релиз Scala 3.0

Группа Разработка

После 8 лет работы, 28000 коммитов, 7400 пулл-реквестов и 4100 закрытых вопросов Scala 3 наконец-то вышла. С момента первого коммита 6 декабря 2012 года более ста человек внесли свой вклад в проект. Сегодня Scala 3 включает в себя последние исследования в области теории типов, а также промышленный опыт использования Scala 2. Основываясь на этом опыте, разработчики создали третью версию языка, простую в использовании, изучении и масштабировании.

В Scala 3 появилось много новых функций, и вы можете задаться вопросом, с чего начать изучать всё это? Основным местом для изучения Scala 3 является документация. Одна вещь полностью изменилась в Scala 3 по сравнению с Scala 2: это макросы. Здесь вы можете узнать больше о том, как они работают в Scala 3.

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

>>> Список нововведений

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

 

ymn
()

Вышла Scala 2.13.4

Группа Open Source

Язык программирования Scala продолжает своё развитие в рамках ветки 2.13. Очередной релиз Scala 2.13.4 включает в себя несколько интересных нововведений, среди которых:

  • экспериментальная поддержка библиотек, написанных на Scala 3;
  • улучшена проверка на полноту (exhaustivity) веток при сопоставлении с образцом. Теперь эта проверка работает и при использовании охранных выражений и пользовательских экстракторов;
  • изменено поведение ExecutionContext по умолчанию (как в версии 2.12).

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

 

ymn
()

Kaitai Struct 0.9

Группа Open Source

Cовсем недавно вышла очередная версия Kaitai Struct 0.9 — языка описания и инструментария парсинга всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.). Несмотря на несерьезно выглядящий номер версии 0.9 — это крупный релиз, включающий в себя наработки за последние 2.5 года. За это время язык вырос до целого семейства проектов:

Язык признан GitHub и используется сейчас в более, чем 400 free / open source проектах для парсинга всевозможных экзотических форматов данных, начиная от реверс-инжиниринга файлов данных проприетарных игр, кончая разбором протоколов связи спутников.

Из основных новшеств языка 0.9 стоит выделить:

  • поддержка новых целевых языков (Python через библиотеку Construct, Nim, генерацию документации в HTML)
  • полноценную поддержку современных C++ (smart pointers, отсутствие необходимости вручную управлять памятью, исправление всех известных вариантов утечек памяти)
  • поддержку адресации вложенных типов через синтаксис вида foo::bar::baz
  • поддержку валидации прочитанных данных по описанным условиям (valid)
  • вычисление размеров статических структур данных в байтах и битах (операторы sizeof и bitsizeof)
  • формальное описание языка в виде JSON-схемы, из которой теперь генерируется документация

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

 , , ,

GreyCat
()

Опубликованы видео со всех конференций ontico 2019 + TeamLeadConf 2020

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

записи с предыдущих конференций можно найти на их канале в youtube

 , , , ,

router
()

Apache Kafka 1.0

Группа Open Source

1 ноября вышла версия 1.0 Apache Kafka — распределённого программного брокера сообщений с открытым исходным кодом, написанного на Scala, от Apache Software Foundation.

Изменения:

  • Улучшены streams API, позволяющие упростить отладку и код клиентов.
  • Добавлены новые метрики, призванные облегчить мониторинг состояния элементов системы; улучшены старые.
  • Добавлена поддержка Java 9.
  • Улучшена обработка ошибок при SASL-аутентификации. Раньше некоторые условия возникновения ошибок аутентификации были неотличимы от ошибок брокера.
  • Реализовано сохранение частичной функциональности при отказе дисков. Раньше отказ диска приводил к полной остановке брокера.
  • Внесены изменения, позволяющие повысить производительность при использовании idempotent producer.

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

 ,

Deleted
()

Typelevel Scala 2.12.1

Группа Open Source

Выпущена новая версия форка тулчейна языка программирования Scala от компании typelevel.

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

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

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

 , , typelevel

feofan
()

Scala 2.12

Группа Open Source

Выпущена новая версия языка программирования Scala.

Основной темой релиза стала интеграция с платформой Java 8 и использование полезных возможностей этой JVM.

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

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

 ,

maxcom
()

Очередная встреча Scala Moscow User Group

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

29 июня пройдет очередная встреча Scala User Group в Москве.

Список докладов:

  • «Пример реализации CRUD на базе Play и Slick», Александр Ларин и Александр Макоед.
  • «Тайпклассы в Scala», Николай Татаринов.
  • «Выпьем Vodka», Алексей Фомкин.

Встреча начнётся в среду, 29 июня, в 19:00 по адресу ул. Рочдельская, 15, стр.17-18, 3 этаж (Тех-хаб Ключ).

Участие бесплатное.

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

 ,

ymn
()

Play Framework 2.5 «Streamy»

Группа Open Source

Вышла новая версия фреймворка Play для разработки веб-приложений на Scala и Java.

Главное новшество этой версии — перевод всего стриминга, вебсокетов и всего асинхронного I/O с Play Iteratees на Akka Streams. Данный шаг позволил перейти к простому и стандартизированному API, общему для Scala и Java-разработчиков, получить back-pressure и существенно расширить возможности асинхронной обработки данных. Инструкции по миграции на новую платформу описаны на отдельной странице.

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

  • Использование функциональных типов данных Java 8 вместо самописных библиотек.
  • Java-разработчики получили API для разработки собственных фильтров и Body-parser'ов.
  • Повышение производительности на 20% благодаря серии оптимизаций.
  • Логгирование направляется в SLF4J. Logback теперь опционален. Поддержка логгирования SQL-запросов с анализом производительности.
  • HTTP-стэк переведён на Netty 4.0. Ранее использовалась Netty 3.x. Так же продолжается работа в сторону переезда с Netty на akka-http.
  • Переход на AsyncHttpClient 2.0 и Scalatest 3.0.
  • Scala-2.10 больше не поддерживается. Окончательно удалён Plugins API. Переход на Dependency Injection близится к завершению.

Для пользователей play-2.4.x доступно руководству по обновлению на 2.5.

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

 , ,

shahid
()

Play Framework 2.4 «Damiya»

Группа Open Source

Вышла новая версия Play Framework — фреймворка для построения веб-приложений на Scala и Java.

Основное изменение этой версии — поддержка dependency injection (DI). В прошлых версия Play многие компоненты были реализованы в виде глобальных синглтонов, DI поддерживался только для пользовательского кода и добавлялся сторонними плагинами. В этой версии для управления зависимостями был выбран Google Guice, а компоненты Play теперь стали доступны через него. Также была сохранена возможность смены реализации DI, в том числе возможна реализация статического связывания компонентов без использования сторонних фреймворков.

Добавление DI существенно облегчает написание тестов и должно помочь в написании приложений, состоящих из отдельно разрабатываемых модулей.

Также в этой версии:

  • URL routing теперь можно задавать не только в конфигурационном файле, но и с использованием Routing DSL. Предполагается, что такой способ будет более удобен для написания REST-сервисов.
  • Переход на Java 8, который позволил существенно упростить Java API. Также добавлена поддержка новых типов дат в Play JSON.
  • Опциональная возможность использования стандартной для sbt схемы размещения исходных файлов проекта вместо принятой в Play.
  • Продолжена модуляризация компонентов Play: API для работы с базами данных, Anorm и Ebean, были вынесены в отдельные компоненты.
  • Поддержка TLS SNI в http-клиенте WS.
  • Экспериментальная реализация HTTP-backend'а на базе akka-http и реализация Reactive Streams API для работы с HTTP-потоками.

Для пользователей Play 2.3 подготовлено руководство по переходу на 2.4.

Релиз назван “Damiya” в память о Kate von Roeder.

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

 , , ,

maxcom
()

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

Группа Open Source

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

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

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

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

 ,

maxcom
()

Январская встреча московской группы пользователей Scala

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

Очередная встреча московской группы пользователей Scala состоится в пятницу, 23 января, в 19-30.

Программа мероприятия:

  • «The dragons, It ain't the time» — программирование: переход от частного к общему в разрезе языков и соответствующих им платформ. Mike Taranov, HF Labs.
  • «Frontend-разработка на Scala» — рассказ о Scala.js. Алексей Фомкин, iDecide.
  • «Новости с PNWScala» — неформальный рассказ про самую хипстерскую Scala-конференцию и другие вести из-за океана. Успенский Владимир.

Место проведения: НИИ «Восход», г. Москва, ул. Удальцова, д. 85.

Участие бесплатное. Необходима предварительная регистрация (пройти смогут только граждане России и Беларуси, по причине того что место проведения конференции - режимный объект).

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

 ,

ymn
()

Третья встреча Java-разработчиков Екатеринбурга JUG.EKB

Группа Java

Встреча пройдет в Екатеринбурге 13 ноября в Коворгинге «Соль», начало в 19-30.

На эту встречу к нам приезжает спикер из Санкт-Петербурга – Владимир Иванов. Владимир Иванов — ведущий инженер Oracle, работает в группе разработки виртуальной Java-машины HotSpot. Специализируется на JIT-компиляции и поддержке альтернативных языков на платформе Java.

Программа встречи:

  1. Владимир Иванов из Санкт-Петербурга (компания Oracle) c докладом «Динамическая (JIT) компиляция в JVM».
  2. Евгений Пальмов из Екатеринбурга (компания Naumen) c докладом «Наскальное программирование».
  3. Lightning talks— это серия пятиминутных докладов от Вас, заявиться на них можно в любое время, хоть за 5 минут до начала.
  4. Afterparty.

Встреча бесплатная, необходимо зарегистрироваться: http://jugekb.timepad.ru/event/156703/

Официальная часть планируется на 2.5 часа, за это время мы успеем прослушать 2 доклада по 45 минут с вопросами, послушать доклады от Вас на lightning talks, а также обсудить их с докладчиками.

Подробнее на сайте jugekb.ru и в нашей группе вконтакте vk.com/jugekb.

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

 , , , ,

SerCe
()

Опубликованы планы развития Scala 2.11 и 2.12

Группа Java

Разработчики языка программирования Scala опубликовали планы на дальнейшее развитие языка.

Одно из основных направлений развития — интеграция с Java 8. Изменения в компиляторе позволят скрыть различия в реализации лямбда функций и функциональных интерфейсов в Scala и Java 8. Изменения запланированы на 2.12, но так же будут доступны в современной версии, 2.11, с использованием специального экспериментального флага компилятора. При этом 2.11 будет генерировать код совместимый с Java 6, а 2.12 будет поддерживать только Java 8.

Так же запланированы следующие изменения:

  • Интеграция новой реализации оптимизатора и генератора байткода.
  • Интегрированный в компилятор модуль для проверки стиля программирования.
  • Использование реализации fork/join пула из JDK вместо собственной реализации (только в 2.12).
  • Новая реализация поддержки ленивой инициализации.
  • Дальнейшая оптимизация библиотеки коллекций.
  • Улучшения документации.

Выпуск первой тестовой версии 2.12 запланирован на конец 2014, релиз на январь 2016.

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

 ,

maxcom
()

Play Framework 2.3

Группа Open Source

Вышла новая версия Play — фреймворка для разработки веб-приложения на Scala и Java.

Основные изменения в этой версии:

  • Функции по работе со статическими файлами, препроцессингом и генерацией Javascript и CSS были вынесены в отдельный компонент sbt-web. Sbt-web будет развиваться параллельно ядру фреймворка со своим циклом релизов, так же возможно использование подсистемы отдельно от Play.
  • Улучшена производительность отдачи статических файлов.
  • Поддержка версионирования статических файлов, благодаря которой стало возможным использование долговременного кеширования ресурсов в браузере с возможностью их мгновенного обновления.
  • Язык шаблонов также был вынесен в отдельный компонент Twirl и может быть использован отдельно от Play.
  • Поддержка Java 8.
  • Существенно повышена производительность приложений, написанных на Java API.
  • Поддержка Scala 2.10 и 2.11.
  • Утилита «play» была заменена на Typesafe Activator.

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

 , ,

maxcom
()

Встреча Scala Moscow User Group

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

В этот четверг, 29 мая, пройдет четвертая встреча Scala User Group в Москве, в рамках которой анонсированы следующие доклады:

  • Доклад Андрея Неверова о возможностях драйвера ReactiveMongo и его использовании в приложениях на базе Play Framework.
  • Рассказ Александра Соловьёва о том, как и почему он променял Esper на Akka.
  • Доклад Aлександра Мыльцева об основанном на макросах генераторе парсеров Parboiled2.

Встреча пройдет 29 мая в 19:30 на территории НИИ «Восход» по адресу: м. Проспект Вернадского, ул. Удальцова, д. 85.

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

 ,

ymn
()

Scala 2.11.0

Группа Open Source

Состоялся выпуск новой версии языка программирования Scala: 2.11.

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

  • В библиотеке коллекций:
    • У неизменяемых хеш-таблиц и множеств увеличена производительность операций фильтрации, объединения и других подобных. В большем количестве случаев стало возможным использование компонентов исходной таблицы при выполнении операций, создающих новые структуры.
    • Добавлены специализированные реализации хеш-таблиц в которых ключами выступают длинные целые (LongMap) и ссылочные типы (AnyRefMap). Использование этих реализаций позволяет повысить производительность до 2-х и до 4-х раз соответственно.
  • Модуляризация:
    • Размер ядра библиотеки языка Scala уменьшен на 20% за счет выделения в отдельные модули компонентов, связанных с работой с XML, синтаксическим анализом, библиотекой построения пользовательского интерфейса Swing и плагина поддержки ограниченных продолжений.
    • Произведена внутренняя модуляризация компилятора, работа над которой будет продолжена в следующих версиях.
  • Большая работа была произведена в экспериментальной части компилятора — поддержке интроспекции, макросов и quasiquotes.
  • Изменения в back-end компилятора:
    • Новый экспериментальный оптимизирующий back-end для генерации байт-кода GenBCode.
    • Экпериментальный вариант генерации байт-кода для лямбда функций, который позволит в будущем лучше интегрироваться с замыканиями из Java 8.
    • Экспериментальная поддержка генерации Javascript в отдельном проекте Scala-JS.
    • Удалены остатки давно заброшенного модуля для генерации байт-кода .NET
  • Повышена производительность инкрементального компилятора, а так же некоторая оптимизация пакетного компилятора.
  • REPL получил несколько удобных команд для отладки типов высшего порядка. Так же REPL теперь может быть подключен как скриптовый язык через API JSR-223.
  • При сборке теперь будут показываться предупреждения о неиспользуемых локальных переменных и типах, а так же о ситуации когда var может быть заменен на val.

Новая версия является полностью совместимой по исходным текстам для программ, компилирующихся без предупреждений о использовании устаревших конструкций языка при сборке предыдущей версией 2.10. Совместимость экспериментальных функций языка (например интроспекции и макросов) не гарантируется. Новая версия не является бинарно совместимой с предыдущей.

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

 

maxcom
()

Встреча Scala Moscow User Group

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

14 марта 2014 года состоится встреча московской группы пользователей Scala, в рамках которой анонсировано два доклада:

  • «Monadic Bakery with Spray and Scalaz» (Алексей Иванов);
  • «Теория типов, или как мы занимаемся математикой, программируя на Scala» (Владимир Успенский).

Встреча пройдет в офисе компании «Тинькофф Кредитные Системы» (Москва, Ленинградское шоссе, 39А, строение 1).

Участие бесплатное. Необходима предварительная регистрация.

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

 ,

ymn
()

Akka 2.3.0

Группа Open Source

Вышла новая версия Akka — фреймворка для построения параллельных и распределенных приложений для Scala и Java.

Основные изменения этой версии:

  • Akka Persistence: сохранение состояния актора для его восстановления при рестартах и сбоях. Сохранение состояния производится путем записи журнала изменений и периодических «снимков» состояния. Модуль основан на проекте Eventsourced, но имеет ряд важных отличий.
  • Java API был расширен поддержкой лямда функций Java 8
  • В Akka Cluster была добавлена возможность возвращения в кластер узлов, попавших в состояние UNREACHABLE.
  • Переработан Router API.
  • Модуль ассинхронного ввода-вывода Akka IO был объявлен стабильным API.
  • Dataflow, Durable Mailbox'ы, Balanced Dispatcher, STM и Transactor'ы были объявлены устаревшими; модули Pipelines IO и Typed Channels были удалены.

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

 , ,

maxcom
()