Архив за 23 марта 2019 - 2

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

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

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

+БОНУС: как включать классы друг в друга в C++

Привет! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу через индексацию при помощи лишь стандартной библиотеки C++, проще говоря, научились самостоятельно парсить XML-подобные штуки. Напомню, что процесс парсинга, или синтаксического анализа/разбора состоит из двух этапов: лексического разбора (разбора текста на токены) и построения AST. Если первый мы рассмотрели очень подробно, с примерами и исходниками, то описание второго похоже на пустую куколку бабочки, у которой есть только оболочка, а прекрасное содержимое автор извлёк перед публикацией. На то была причина, для HTML построить дерево действительно просто, нужно всего 4 класса: пустой тег, блок, текстовый узел и корень документа, наследуемый от блока. Сегодня мы оставим такую простоту позади и построим дерево, где свойства элементов, и пустых, и блочных, будут содержаться не в атрибутах тегов, а непосредственно в классах, а для этого классов придётся создать много. Действительно много. Строить будем не из простых известных языков разметки, а создадим свой, с правилами, показанными на изображении под катом. Плюс в конце ещё переведём, или, говоря правильнее, транслитируем документ с предыдущей статьёй, размеченной нашим языком, в HTML, а в качестве бонуса я отвечу начинающим программистам C++ на тривиальный, но труднонаходимый вопрос: как включать классы «друг в друга»?
Читать полностью »

Зачем нужна закалка стали: испытание молотом Тора

Источник

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

Управление ЖК-матрицей F-51543NFU-LW-ADN - PWB51543C-2-V0 (от ленточной библиотеки) - 1

И снова привет! Сделав перевод статьи об управлении ЖК-модулем с драйвером, но без собственного видео-ОЗУ, я решил перевести ещё одну публикацию на ту же тему. Здесь модуль уже попроще, монохромный, но «оживить» его не менее интересно.Читать полностью »

Строительство первой очереди космодрома Восточный практически завершено

Генеральный директор государственной корпорации Роскосмос Дмитрий Рогозин заявил, что создание первой очереди космодрома Восточный близится к завершению.

Фотографии Роскосмоса

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

Синтез как один из методов улучшения производительности PostgreSQL - 1

Философское вступление

Как известно, существует всего два метода для решения задач:

  1. Метод анализа или метод дедукции, или от общего к частному.
  2. Метод синтеза или метод индукции, или от частного к общему.

Для решения проблемы “улучшить производительность базы данных” это может выглядеть следующим образом.
Читать полностью »

IETF одобрили стандарт Automatic Certificate Management Environment (ACME), который поможет автоматизировать получение SSL-сертификатов. Расскажем, как это работает.

IETF одобрили ACME — это стандарт для работы с SSL-сертификатами - 1Читать полностью »

Откуда берут фотографии для тестирования систем распознавания лиц - 1
Аннотированная фотография из набора данных Diversity in Faces от IBM

Недавно компания IBM подверглась критике за то, что для обучения нейросетей без разрешения взяла общедоступные фотографии с фотохостинга Flickr и других сайтов, куда пользователи выкладывают свои снимки. Формально всё по закону — все фотографии опубликованы под лицензией Creative Commons — но люди чувствуют дискомфорт из-за того, что ИИ обучается на их лицах. Некоторые даже не знали, что их сфотографировали. Как известно, для съёмки человека в общественном месте не нужно спрашивать у него разрешения.
Читать полностью »

О статье

Перед вами очередное руководство по Mockito. В нём я, с одной стороны, попытался описать функционал этой библиотеки так, чтобы незнакомый с нею читатель сразу получил возможность полноценно ею пользоваться, а не только общее представление о ней. С другой — я хотел сделать его достаточно компактным и структурированным, чтобы можно было быстро прочесть его целиком и быстро найти в нём что-то единожды прочитанное, но подзабытое. В общем, эта такая статья, какая бы пригодилась мне самому, когда я только столкнулся с этой библиотекой и не очень понимал, как она работает.

Полагаю, она и сейчас может пригодиться мне же — иногда я забываю что-то из этого, а вспоминать материал удобнее всего не по официальной документации или чужим статьям, а по собственному, скажем так, конспекту. Вместе с тем я старался построить текст так, чтобы он был удобен прежде всего для знакомства с Mockito с нуля, и кое-где подробно разбираю вроде бы очевидные вещи — не все из которых были для меня очевидными с самого начала.

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

Певец науки: Ким Стэнли Робинсон и его книги

Путь писателя

Ким Стэнли Робинсон родился 23 марта 1952 года в провинциально городке Уокиган (штат Иллинойс), однако, будучи совсем ещё малышом, вместе с семьёй переехал в округ Ориндж на юге Калифорнии. Именно с этим местом связана почти вся жизнь Робинсона — здесь разворачивается действие ряда книг писателя либо его герои родом отсюда.

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


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