Кто ложится спать с собаками, встает с блохами

остроили новый полностью роботизированный завод. Идет экскурсия по цехам. Экскурсовод: ...

Google ограничит доступ Huawei к своим сервисам для Android
Mon, 20 May 2019 08:35:29 +0300

Названы открытые образовательные проекты, получившие 15 млн долларов от фонда XPRIZE
Sun, 19 May 2019 09:39:29 +0300

Cloudflare, Mozilla и Facebook развивают BinaryAST для ускорения загрузки JavaScript
Fri, 17 May 2019 20:13:47 +0300

Microsoft открыл код библиотеки векторного поиска, используемой в Bing
Fri, 17 May 2019 10:18:44 +0300

Фонд свободного ПО сертифицировал звуковые карты и WiFi-адаптеры ThinkPenguin
Fri, 17 May 2019 09:08:30 +0300

Фонд Khronos создаёт рабочую группу по развитию открытых стандартов 3D-коммерции
Thu, 16 May 2019 22:32:19 +0300

В Firefox будут убраны настройки для отключения многопроцессного режима
Thu, 16 May 2019 08:24:50 +0300

Intel развивает открытую прошивку ModernFW и гипервизор на языке Rust
Wed, 15 May 2019 23:41:59 +0300

Проект по избавлению GNOME от ошибок и недоработок, проявляющихся при работе поверх Wayland
Wed, 15 May 2019 12:14:47 +0300

В OpenBSD-CURRENT добавлена утилита sysupgrade для автоматического обновления
Tue, 14 May 2019 00:05:09 +0300

GitHub ввёл в строй реестр пакетов, совместимый с NPM, Docker, Maven, NuGet и RubyGems
Sat, 11 May 2019 15:36:17 +0300

Linux-дистрибутиву MagOS исполнилось 10 лет
Sat, 11 May 2019 06:35:35 +0300

В Chrome появится защита от передачи сторонних Cookie и скрытой идентификации
Fri, 10 May 2019 10:30:06 +0300

Сделка по покупке NGINX компанией F5 Networks успешно завершена
Thu, 09 May 2019 21:30:19 +0300

Релиз WordPress 5.2 с поддержкой проверки обновлений по цифровой подписи
Wed, 08 May 2019 14:41:39 +0300

Новости OPENNET
Новости

Состоялся релиз языка системного программирования Rust 1.34, развиваемого проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime.

Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo, позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек поддерживается репозиторий crates.io.

Основные новшества:

  • В пакетный менеджер Cargo добавлены средства для работы с альтернативными реестрами пакетов, которые могут сосуществовать с публичным реестром crates.io. Например, разработчики закрытых приложений теперь могут использовать собственный приватный реестр, который можно использовать при перечислении зависимостей в Cargo.toml, и применять для своих продуктов модель версионирования, схожую с crates.io, а также ссылаться в зависимостях как на crates.io, так и на собственный реестр.
  • Для добавления внешних реестров в .cargo/config (расположенном в $HOME либо в директории с пакетом)

    предусмотрена секция "[registries]", а для использования внешнего реестра в описании каждой зависимости в Cargo.toml появилась опция "registry". Для подключения к дополнительному реестру достаточно поместить токен аутентификации в файл ~/.cargo/credentials и выполнить команду

    "cargo login --registry=my-registry", а для публикации пакета - "cargo publish --registry=my-registry";
  • Добавлена полноценная поддержка использования оператора "?" в тестах doctests, позволяющих использовать код примеров из документации в качестве тестов. Ранее оператор
  • "?" можно было использовать для обработки ошибок в процессе выполнения тестов только при наличии функции "fn main()" или в функциях "#[test]";
  • В определяемых при помощи процедурных макросов собственных атрибутах (custom attribute) обеспечена возможность использования произвольных наборов токенов ("#[attr($tokens)]", "#[attr[$tokens]] и #[attr{$tokens}]"). Ранее элементы могли задаваться только в древовидном/рекурсивном виде c использованием строковых литералов, например "#[foo(bar, baz(quux, foo = "bar"))]", а теперь возможно использование перечислений ('#[range(0..10)]') и конструкций вида "#[bound(T: MyTrait)]";
  • Стабилизированы типажи (trait) TryFrom и TryInto, позволяющие выполнять преобразования типов с обработкой ошибок. Например, методы, подобные from_be_bytes, с целочисленными типами в качестве входных данных используют массивы, но данные часто поступают c типом Slice, а преобразование между массивами и слайсами проблематично делать вручную. При помощи новых типажей указанная операция может быть совершена на лету через вызов .try_into(), например, "let num = u32::from_be_bytes(slice.try_into()?)". Для преобразований, которые всегда завершаются успешно (например, из типа u8 в u32) добавлен тип ошибок Infallible, позволяющий прозрачно использовать
  • TryFrom для всех существующих реализаций "From";
  • Объявлена устаревшей функция CommandExt::before_exec, позволявшая выполнить обработчик перед запуском exec, который выполнялся в контексте дочернего процесса, ответвлённого после вызова fork(). В подобных условиях некоторые ресурсы родительского процесса, такие как файловые дескрипторы и отражённые области памяти, могли быть дублированы, что могло привести к неопределённому поведению и неверной работе библиотек.
  • Вместо before_exec рекомендуется использовать unsafe-функцию CommandExt::pre_exec.

  • Стабилизированы знаковые и беззнаковые атомарные целочисленные типы размером от 8 до 64 бит (например, AtomicU8), а также знаковые типы NonZeroI[8|16|32|64|128].
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы Any::type_id, Error::type_id, slice::sort_by_cached_key, str::escape_*, str::split_ascii_whitespace, Instant::checked_[add|sub] и SystemTime::checked_[add|sub]. Стабилизированы функции iter::from_fn и iter::successors;
  • Для всех целочисленных типов реализованы методы checked_pow, saturating_pow, wrapping_pow и overflowing_pow;
  • Добавлена возможность включения оптимизаций на этапе связывания через указание сборочной опции "-C linker-plugin-lto".

64.6327 72.2464 0.5895 9.3492

НОВОСТИ: Проект по избавлению GNOME от ошибок и недоработок, проявляющихс ... Wed, 15 May 2019 12:14:47 +0300

Ганс Де Гоеде (Hans de Goede), разработчик Fedora Linux, работающий в компании Red Hat, представил проект "Wayland Itches", нацеленный на устранение ошибок и решение проблем, возникающих при повседневной работе с рабочим столом GNOME, функционирующим поверх Wayland.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome