Рубрика «open source» - 129

Все мы давным давно хотим нормальную инкапсуляцию в JS, которую можно было бы использовать без лишних телодвижений. А ещё мы хотим удобные конструкции для объявления свойств класса. И, напоследок, мы хотим что бы все эти фичи в языке появились так, что бы не сломать уже существующие приложения.

Казалось бы, вот оно счастье: class-fields-proposal, который спутся долгие годы мучений коммитета tc39 таки добрался до stage 3 и даже получил реализацию в хроме.

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

Читать полностью »

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.30.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.30.0 вам достаточно выполнить:

$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.30.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.30.0

Rust 1.30 — выдающийся выпуск с рядом важных нововведений. Но уже в понедельник в официальном блоге будет опубликована просьба проверить бета-версию Rust 1.31, которая станет первым релизом "Rust 2018". Дополнительную информацию об этом вы найдете в нашей предыдущей публикации "What is Rust 2018".

Процедурные макросы

Еще в Rust 1.15 мы добавили возможность определять "пользовательские derive-макросы". Например, с помощью serde_derive, вы можете объявить:

#[derive(Serialize, Deserialize, Debug)]
struct Pet {
    name: String,
}

И конвертировать Pet в JSON и обратно в структуру, используя serde_json. Это возможно благодаря автоматическому выводу типажей Serialize и Deserialize с помощью процедурных макросов в serde_derive.

Rust 1.30 расширяет функционал процедурных макросов, добавляя возможность определять еще два других типа макросов: "атрибутные процедурные макросы" и "функциональные процедурные макросы".

Читать полностью »

Мне нравится технология COM. Но речь пойдет не о технологии, восхвалении или недостатках COM, а опыте переноса и реализации на Linux. Велосипед? Целесообразность? Читать полностью »

Данный пост несет информационную составляющую и не содержит ссылок на незаконный контент!

Утечка исходников Mortal Kombat - 1

В сети выложили исходники нескольких версий файтинга Mortal Kombat.

Дамп включает в себя:

  • Mortal Kombat 3 для Playstation One и PC (Windows)
  • Mortal Kombat Trilogy N64

В архивах все файлы, необходимые для запуска игр в эмуляторе приставки или под Windows.

Разумеется, утечка является незаконной и нарушает закон об авторском праве.
Читать полностью »

Чуть более месяца тому назад создатель самого успешного проекта с открытым кодом — ядра Linux, объявил о своем решении взять перерыв от руководства проектом. В частности — от на время отошел от управления linux-next, оставив ее второму человеку в проекте, мейнтейнеру стабильной серии выпусков ядра, Грегу Кроа-Хартману.

Линус бэк

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

Читать полностью »

Автоматизированный программист Repairnator сделал патчи достаточно хорошие для того, чтобы ввести в заблуждение людей

«В этом мире ничего нельзя заявить определённо, кроме неизбежности смерти и налогов», — писал Бенджамин Франклин в 1789. Если бы он жил сегодня, он мог бы ещё добавить в этот список ошибки в программах.

Современные компьютерные программы настолько сложны, что ошибки неизбежно появляются в них в процессе разработки. Поэтому их поиски и написание патчей, их исправляющих – обычная часть любого графика разработки ПО. Существуют даже компании, предлагающие разработчикам такой сервис – например, Travis.

Но поиск ошибок и написание патчей – дело долгое, забирающее значительные ресурсы. Различные исследователи разрабатывали ботов для автоматизации этого процесса, но они обычно работают медленно или выдают код плохого качества, не проходящий инспекцию. Поэтому разработчикам бы очень хотелось положиться на быстрый и качественный бот, сканирующий код на предмет ошибок и пишущий к ним патчи.
Читать полностью »

Ричард Столлман опубликовал «Руководство по приятному общению в проектах GNU» - 1Президент Фонда свободного программного обеспечения (FSF) Ричард Столлман опубликовал первую версию документа под названием GNU Kind Communication Guidelines, то есть «Руководство по приятному общению в проектах GNU». Он попросил всех членов FSF и участников движения open source прислушаться к этим советам, чтобы проекты свободного ПО не были столь отталкивающими для женщин, как сейчас.

В списке рассылки info-gnu Ричард Столлман объяснил предысторию появления этого документа: «В августе среди мейнтейнеров пакетов GNU началась дискуссия о проблеме, что разработка GNU часто отталкивает женщин. 1) Очевидно, что ничего хорошего в этом нет. 2) Некоторые мейнтейнеры выступали за принятие “Кодекса поведения” со строгими правилами общения. Некоторые другие проекты open source сделали это, преодолев некоторое сопротивление. 3) Несколько мейнтейнеров пакетов GNU сказали, что в случае принятия таких правил сразу уйдут. Мне самому не понравился такой карательный подход и я решил выступить против него. Однако я не хотел, чтобы это стало предлогом для игнорирования данной проблемы».

Поэтому Ричард Столлман решил попробовать другой подход. Он определил некоторые шаблоны текстовых коммуникаций, которые «похоже, отпугивают женщин… и некоторых мужчин тоже». Некоторые такие шаблоны проявились непосредственно в вышеупомянутой дискуссии в августе.
Читать полностью »

Привет! Меня зовут Николай Ижиков, я работаю в компании «Сбербанк Технологии» в команде развития Open Source решений. За плечами 15 лет коммерческой разработки на Java. Я коммитер Apache Ignite и контрибьютор Apache Kafka.

Под катом вас ожидает видео и текстовая версия моего доклада на Apache Ignite Meetup о том, как использовать Apache Ignite вместе с Apache Spark и какие возможности мы для этого реализовали.

Apache Ignite + Apache Spark Data Frames: вместе веселее - 1
Читать полностью »

Приветствую вас, коллеги!

Пару-тройку месяцев назад я начал приглядываться к Golang с целью использовать его для десктопных приложений. Язык понравился, объем и тематика написанных для него пакетов произвели впечатление, но вот с GUI дело обстоит не так радужно. Не буду сейчас подробно останавливаться на деталях, достаточно будет сказать, что после чтения нескольких обзоров и беглого просмотра существующих GUI-пакетов решил написать свой — тем более, что опыт в этом у меня есть.

Первая мысль была — пойти по уже проторенному пути: написать набор соответствующих функций на С, точнее, адаптировать уже готовый — то, что я писал когда-то для Harbour и C++, сделать привязку к нему с помощью cgo (C API для Golang) и дружелюбную обертку. Я даже начал это делать, получил первое окошко, но как представил, сколько впереди еще работы, отдельно для Windows, отдельно для Linux, работы чисто технической, поскольку я это уже проходил, энтузиазм несколько поостыл.

И тогда пришла другая идея.Читать полностью »

GNU Arm Embedded Toolchain + PVS-Studio

Встраиваемые системы давно и прочно вошли в нашу жизнь. Требования к их стабильности и надежности очень высоки, а исправление ошибок обходится дорого. Поэтому для embedded разработчиков особенно актуально регулярное использование специализированных инструментов для обеспечения качества исходного кода. Эта статья расскажет о появлении поддержки GNU Arm Embedded Toolchain в анализаторе PVS-Studio и дефектах кода, найденных в проекте Mbed OS.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js