Выходя за рамки JUnit. Создаем сложные расширения

Переход от JUnit4 к новой версии во многом изменил способ расширения функциональных возможностей тестов. Напомню, что в JUnit4 основным механизмом расширения были правила (Rule), которые могли обернуть выполнение теста в дополнительную логическую обработку (например, в реализации абстрактного класса ExternalResource встраивали два дополнительных вызова методов инициализации (который также мог возвращать объект для взаимодействия с создаваемым окружением, например обертку вокруг Android Activity) и финализации (вызывается после выполнения теста и используется для очистки ресурсов). Модель JUnit 5 существенно дополнена и в этой статье мы рассмотрим как можно создавать собственные расширения для JUnit Platform.

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/T41vysi

ЕС рассматривает законопроект, который обяжет IT-компании вкладываться в создание инфраструктуры связи

Европейский союз рассматривает законопроект, который заставит IT-компании, использующие больше всего трафика, такие как Netflix или Alphabet, вкладываться в интернет-инфраструктуру следующего поколения. Проект документа предполагает, что компании будут вносить средства в фонд для компенсации затрат на строительство мобильных сетей 5G и оптоволоконной инфраструктуры, сообщает Bloomberg.

Читать далее

The following blog post ЕС рассматривает законопроект, который обяжет IT-компании вкладываться в создание инфраструктуры связи is available on Хабр / Посты с меткой «google»

Простой пример написания Dockerfile. Использование многоэтапной сборки

Всем привет! В данной статье хочу показать простой пример написания Dockerfile, объяснить как это все работает, а также показать на примере использование многоэтапной сборки.

Для понимания данной статьи необходимы минимальные знания Docker, а также для использования примеров – установленный Docker Desktop локально на компьютере.

Вначале немного теории.

Dockerfile – это файл, который содержит инструкции для сборки образа. На основании образа создается и запускается контейнер.

Обратимся к официальной документации https://docs.docker.com/get-started/overview/

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/cyPLxad

Community News: Latest PECL Releases (01.31.2023)

Latest PECL Releases:

  • protobuf 3.22.0RC1
    * See github.com/protocolbuffers/protobuf/releases/tag/v22.0-rc-1 for release notes.

  • sqlsrv 5.11.0beta1
    [Added]
    – Support for PHP 8.2
    [Fixed]
    – Pull request [#1408](https://ift.tt/dwzSETc) – Fixed right truncation issue, unit test added by talkinnl
    [Limitations]
    – No support for inout / output params when using sql_variant type
    – No support for inout / output params when formatting decimal values
    – In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
    – Always Encrypted requires [MS ODBC Driver 17+](https://ift.tt/Rl21SNL)
    – Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    – Issue [#716](https://ift.tt/eW3d16o) – With Always Encrypted enabled, named parameters in subqueries are not supported
    – Issue [#1050](https://ift.tt/oCATwjz) – With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
    – [Always Encrypted limitations](https://ift.tt/eBg79XU)
    [Known Issues]
    – This preview release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
    – Connection pooling on Linux or macOS is not recommended with [unixODBC](https://ift.tt/SIG9Kxr) < 2.3.7
    – When pooling is enabled in Linux or macOS
    – unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    – due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://ift.tt/OtEqCVA)

  • pdo_sqlsrv 5.11.0beta1
    [Added]
    – Support for PHP 8.2
    [Fixed]
    – Pull request [#1408](https://ift.tt/dwzSETc) – Fixed right truncation issue, unit test added by talkinnl
    [Limitations]
    – No support for inout / output params when using sql_variant type
    – No support for inout / output params when formatting decimal values
    – In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
    – Always Encrypted requires [MS ODBC Driver 17+](https://ift.tt/Rl21SNL)
    – Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    – Issue [#716](https://ift.tt/eW3d16o) – With Always Encrypted enabled, named parameters in subqueries are not supported
    – Issue [#1050](https://ift.tt/oCATwjz) – With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
    – [Always Encrypted limitations](https://ift.tt/eBg79XU)
    [Known Issues]
    – This preview release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
    – Connection pooling on Linux or macOS is not recommended with [unixODBC](https://ift.tt/SIG9Kxr) < 2.3.7
    – When pooling is enabled in Linux or macOS
    – unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    – due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://ift.tt/OtEqCVA)

from PHPDeveloper.org https://ift.tt/9bewvJi
via IFTTT

В ходе атаки на GitHub захвачены ключи для подписи приложений GitHub Desktop и Atom

GitHub раскрыл сведения о компрометации репозиториев, в которых велась разработка приложений GitHub Desktop и Atom. Среди прочего, атакующим удалось получить доступ к сертификатам, используемым в GitHub Actions при заверении публикуемых релизов GitHub Desktop для macOS и Atom цифровой подписью. Так как ключи были дополнительно зашифрованы с использованием паролей, их использование для вредоносных действий оценивается как маловероятное, тем не менее GitHub принял решение отозвать проблемные сертификаты, что приведёт к неработоспособности некоторых версий GitHub Desktop и Atom, начиная со 2 февраля.

from OpenNews.opennet.ru: Проблемы безопасности https://ift.tt/cUQ7izK
via IFTTT

Tarantool Data Grid + Java = …

В последнее время всё большую популярность набирает Tarantool — платформа in-memory вычислений с гибкой схемой данных, включающая в себя NoSQL-базу данных и сервер приложений. В этой статье я хочу рассказать об одной из его реализаций — Tarantool Data Grid (TDG).

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/c2KJP1v

Монетка на триллион долларов, красный диплом для нейросети, а также надежный заработок на NFT

Почти всё самое важное, что произошло за неделю в мире финансов как в России, так и в мире: переход Билла Гейтса в режим Джейсона Стэтхема, планы по официальному вводу сюра в Южной Америке, а также вся правда про маленькие члены и быстрые тачки.

Читать далее

The following blog post Монетка на триллион долларов, красный диплом для нейросети, а также надежный заработок на NFT is available on Хабр / Посты с меткой «google»

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

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

А какой у вас уровень?

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/Q6oIu9C

Зависимость времени выполнения инструкций от данных на CPU ARM и Intel

Эрик Биггерс (Eric Biggers), один из разработчиков шифра Adiantum и мэйнтейнер подсистемы ядра Linux fscrypt, предложил набор патчей для блокирования проблем с безопасностью, возникающих из-за особенности процессоров Intel, не гарантирующей постоянное время выполнения инструкций для разных обрабатываемых данных. В процессорах Intel проблема проявляется начиная с семейства Ice Lake. Аналогичная проблема наблюдается и в процессорах ARM.

from OpenNews.opennet.ru: Проблемы безопасности https://ift.tt/WBJmEk2
via IFTTT

Intel прекратил разработку гипервизора HAXM

Компания Intel опубликовала новый выпуск движка виртуализации HAXM 7.8 (Hardware Accelerated Execution Manager), после чего перевела репозиторий в архив и объявила о прекращении сопровождения проекта. Intel больше не будет принимать патчи и исправления, участвовать в разработке и формировать обновления. Лицам, желающим продолжить разработку, предложено создать форк и развивать его самостоятельно.

from OpenNews.opennet.ru: События https://ift.tt/dfTYrGv

Представлен Carbonyl, консольный браузер на основе движка Chromium

Представлен новый консольный web-браузер Carbonyl, основанный на движке Chromium и способный отображать в терминале любые сайты, в том числе YouTube. Браузер поддерживает почти все Web API, включая WebGL, WebGPU и средства для воспроизведения видео, звука и анимации. Работа возможна как при прямом запуске терминала, так и при подключении через SSH. Обвязка вокруг движка Chromium написана на языках TypeScript, C++ и Rust.

from OpenNews.opennet.ru: Основная лента https://ift.tt/9fgOSwT
via IFTTT

Увольнения в Google коснулись лидеров, продвигавших открытые проекты

Продолжает поступать информация о результатах массового сокращения персонала в компании Google, в результате которого под увольнение подпало около 12 тысяч сотрудников (6% от всего персонала). Кроме увольнения части разработчиков ОС Fuchsia, о котором сообщалось ранее, под сокращение также попали некоторые выдающиеся деятели, продвигавшие открытое ПО и курировавшие открытые проекты компании. Например, под сокращение попали Кристофер ДиБона (Chris Dibona), с 2004 года занимавший пост директора по инжинирингу и Open Source проектам в Googlе (во многом благодаря Кристоферу появились такие проекты, как Android, Chromium, Kubernetes, Go и Tensorflow), Джереми Эллисон (Jeremy Allison), создатель проекта Samba, Кэт Аллман (Cat Allman), менеджер программ Open Source Outreach и Making & Science, и Дэйв Лестер (Dave Lester), определявший стратегию Google в отношении открытого кода и продвигавший инициативу по усилению безопасности открытых проектов.

from OpenNews.opennet.ru: События https://ift.tt/Okn7aQW

Выпуск web-браузера CENO 2.0, использующего P2P-сеть для обхода блокировок

Компания eQualite опубликовала выпуск мобильного web-браузера CENO 2.0.0 (CEnsorship.NO), предназначенного для организации доступа к информации в условиях цензуры, фильтрации трафика или отключения сегментов интернета от глобальной сети. Браузер построен на основе движка GeckoView (применяется в Firefox для Android), расширенного возможностью обмена данными через децентрализованную P2P-сеть, в которой пользователи участвуют в перенаправлении трафика к внешним шлюзам, обеспечивающим доступ к информации в обход фильтров. Наработки проекта распространяются под лицензией MIT. Готовые сборки доступны в Google Play.

from OpenNews.opennet.ru: Основная лента https://ift.tt/GMJsgmv
via IFTTT

Retry or No?

В этой статье разберем вариант реализации функционала перезапроса сообщений из семейства resilience шаблонов. Мы поговорим о retry. Точнее обсудим:

1. Что такое устойчивость и какое влияние на нее имеет retry?

2. Анализируем, где применять retry;

3. Реализуем retry;

4. Пишем unit-тесты с wiremock;

5.Делаем starter;

Читать

from Java – Объектно-ориентированный язык программирования https://ift.tt/mv1yt6U

[Перевод] Устранение неисправностей в приложении Java под Kubernetes

Когда взаимодействуют разработчики и операторы

Предположим, вы написали приложение на Java и развернули его в Kubernetes в среде разработки. Рано или поздно это приложение уйдёт в продакшен, и вам придётся узнать, каково оно на деле. Затем начинают возникать новые неожиданные проблемы. Причин у таких проблем может быть множество: слишком много пользователей, утечки памяти, условия гонки, и на этапе разработки такие проблемы выявить сложно.

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

В Kubernetes всё устроено немного иначе. Вам наверняка рекомендовали добавить отдельную конечную точку для проверки работоспособности, поэтому k8s уже успеет перезапустить под до вашего вмешательства. После этого под выглядит свежим, и в нём потеряна вся информация, которая вам требовалась. В этом посте будет показан очень простой способ, позволяющий снять информацию в такой ситуации. Читать дальше →

from Java – Объектно-ориентированный язык программирования https://ift.tt/PesjVBt

Выпуск языка программирования Rust 1.67

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

source https://www.opennet.ru/opennews/art.shtml?num=58558

Компания Canonical объявила о готовности сервиса Ubuntu Pro

Компания Canonical объявила о готовности к повсеместному использованию сервиса Ubuntu Pro, предоставляющего доступ к расширенным обновлениям для LTS-веток Ubuntu. Сервис предоставляет возможность получать обновления с исправлениями уязвимостей на протяжении 10 лет (штатный срок сопровождения LTS-веток 5 лет) для дополнительных 23 тысяч пакетов, помимо пакетов из репозитория Main. Ubuntu Pro также открывает доступ к live-патчам, позволяющим на лету применять обновления к ядру Linux без перезагрузки.

from OpenNews.opennet.ru: События https://ift.tt/xf0rI6y

В Wine добавлена поддержка HDR для Vulkan

В код Vulkan-драйвера для Wine добавлена поддержка Vulkan-расширения VK_EXT_hdr_metadata, предназначенного для обработки метаданных расширенного динамического диапазона (HDR), включающих сведения о первичных цветах, точке белого и диапазоне яркости, в составе виртуальных фреймбуферов (SwapChain) Vulkan. Предложенный патч для Wine необходим для работы с HDR в играх, работающих на основе графического API Vulkan, таких как Doom Eternal, а также в играх на основе графического API Direct3D с поддержкой HDR, использующих DXVK или VKD3D-Proton, которые “на лету” преобразуют вызовы Direct3D в системные вызовы Vulkan.

from OpenNews.opennet.ru: События https://ift.tt/qoiJWgp

Поломали сайт Альфа-Банка в «прямом эфире»: записи митапа Alfa Backend Stories Meetup #1

6 декабря мы провели митап Alfa Backend Stories с общей темой «отказоустойчивость»: поделились «весёлыми» историями про падения и убытки, о том, как смягчать последствия этих падений, как сэкономить, переехав с одной БД на другую, «в прямом эфире» (почти) поломали сайт Альфа-Банка. Для тех, кто не смог прийти — прикладываем записи докладов (и ссылку на фотоотчет по традиции).

Читать далее

from Java – Объектно-ориентированный язык программирования https://ift.tt/qgDYwnx

Google даст пользователям в Индии выбирать сторонние методы оплаты в Google Play и настраивать поиск на Android

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

Читать далее

The following blog post Google даст пользователям в Индии выбирать сторонние методы оплаты в Google Play и настраивать поиск на Android is available on Хабр / Посты с меткой «google»

Back to Top