Pull to refresh

Technotext

Реализации машины в qemu

Reading time5 min
Views8K

В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк для эмуляции не поддерживал требуемую платформу.

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

Читать далее

Reactive Spring ABAC Security: безопасность уровня Enterprise

Reading time23 min
Views9.1K

Что такое безопасность уровня Enterprise? Встречается огромное разнообразие схем конфигурации безопасности инфраструктуры. Например: валидация и кэширование токена только в сервисе Gateway с прямой отправкой логина и списка ролей сервисам или ретрансляция токена с Gateway в сервисы для активации функций Spring Security через распаковку токена в логин и роли с проверкой только подписи токена и т.д. и т.п.

На самом деле, любую существующую схему безопасности можно отнести к Enterprise. Базовая конфигурация Spring Security, предоставляемая по умолчанию, не выдерживает ни высоких ни средних нагрузок. Данный фактор стал одним из главных причин разнообразия подходов к безопасности, возникших в поиске оптимального способа поддержки высоких нагрузок в рамках существующей инфраструктуры и технологий.

В статье рассматриваются основные аспекты конфигурирования корпоративной безопасности с поддержкой высоких нагрузок в реактивном стеке технологий. Подробно описана модель безопасности attribute-based access control (ABAC), которая применяет совокупность абстрактных правил к определённому типу действий с учётом роли, при необходимости.

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

Читать далее

Апскейл, который смог

Reading time15 min
Views78K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →

Конфиденциальность пользователей Telegram снова нарушена. Представители мессенджера требуют не раскрывать подробностей

Reading time9 min
Views129K

В конце февраля 2021 года выходит обновленный релиз клиента Telegram с заголовком: ‘Автоудаление, виджеты и временные ссылки для приглашений’.

На красивой, художественной обложке к пресс-релизу новой версии Tg-мессенджера пользователи видят корзину с таймером и уничтоженными данными, а так же лицезреют главных героев из культового хакерского сериала Мистер Робот. Но действительно ли все так круто с зачисткой следов как и в сериале? Подробности об одной щекотливой bug bounty в этой статье.

Читать далее

Должен ли out-параметр быть проинициализирован до возврата из метода?

Reading time15 min
Views19K

0800_OutParamsCs_ru/image1.png


Наверняка каждый, кто писал на C#, сталкивался с использованием out-параметров. Кажется, что с ними всё предельно просто и понятно. Но так ли это на самом деле? Для затравки предлагаю начать с задачки для самопроверки.

Читать дальше →

Создаем текстовый редактор на React.js

Reading time17 min
Views44K

Привет! Меня зовут Данила, и я фронтенд-разработчик в KTS.

Однажды в одном из своих проектов мне потребовалось реализовать кастомный текстовый редактор на React.js. Задача показалась мне довольно интересной, и я решил рассказать о своем опыте. В статье я поэтапно покажу, как можно создать текстовый редактор с базовыми функциями.

Надеюсь, информация будет полезной и сэкономит кому-то время и силы.

Читать далее

Новая концепция диабета 2 типа: опасный, но обратимый

Reading time12 min
Views38K

Исторически сахарный диабет считался страшным заболеванием — в тяжёлых стадиях ему сопутствуют такие побочные эффекты, как слепота и гангрена конечностей. Большую часть истории диабета, известного ещё врачам Древней Греции как минимум 2500 лет назад, он считался неизлечимым. Терапия диабета уколами инсулина появилась только в XX веке: в следующем году исполнится 100 лет первому уколу инсулина, которым в 1922 году канадский доктор спас умиравшего от диабета 14-летнего мальчика. Однако инсулинотерапия — это лечение только для диабета 1 типа, при котором в организме человека нарушена выработка собственного инсулина. При более распространённом диабете 2 типа уколы инсулина — это не лечение, а симптоматическая терапия, которая только замедляет развитие болезни. Причины этого были открыты позже.

В XXI веке, благодаря развитию эндокринологии (науки о гормонах) представления о диабете 2 типа поменялись радикально. С одной стороны, список сопутствующих развитию диабета проблем только вырос и теперь включает сердечно-сосудистые заболевания, многие случаи рака и болезнь Альцгеймера. С другой — появившееся представление о пропущенном звене, их общем метаболическом корне — гормональном сбое, известном как инсулинорезистентность, привело к пониманию не только как диабет развивается, но и как это развитие остановить и обратить вспять, не доводя до инсулиновой иглы.
Симптоматику предиабета следует знать всем, кому за 30

Утечка памяти: цена одной маленькой ошибки

Reading time10 min
Views11K

Всем привет, меня зовут Алена Коваленко, я Java-разработчица одной из команд направления Warehouse Management System (WMS) компании Lamoda. Наша команда занимается автоматизацией складской системы и реализацией новых фич для улучшения работы сотрудников склада. В том числе мы занимаемся техническими импрувментами системы, такими как вынесение из монолита функциональности, связанной с идентификацией товара и приемкой возвратов, в отдельный сервис — Inbound Service.

После релиза Inbound Service на проде склад заметил долгий отклик системы. В процессе исследования проблемы мы обнаружили утечку памяти, связанную с конфигурацией приложения, в том числе внутренних очередей в ActiveMQ Artemis.

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

Читать далее

Быстрый старт: гайд по автоматизированному тестированию для Android-разработчика. JVM

Reading time36 min
Views11K

Привет! Меня зовут Сергей Иванов, я ведущий разработчик Android в Redmadrobot. С 2016 использую автотесты различных категорий и успел в этом набить немало шишек. Именно поэтому решил поделиться опытом. Возможно, кому-то статья поможет систематизировать знания или начать применять эту практику в работе. 

Читать далее

Встречаем ровер третьего поколения: история создания робота-курьера Яндекса

Reading time18 min
Views85K


Встречайте! Мы выпустили на улицу роботов третьего поколения — модель R3 уже можно встретить в Москве, Иннополисе и США. До конца года мы планируем произвести больше сотни таких роботов, и в дальнейшем будем расширять флот за счёт них.

Меня зовут Алексей, я работаю в Yandex Self-Driving Group: несу ответственность за разработку железа трёх (с половиной) поколений роботов Яндекса. В этой статье я не только коротко расскажу про новое поколение, но и поделюсь историей создания роботов-курьеров. Вы сможете взглянуть их глазами на велосипедиста, узнаете, как собрать прототип из фанеры и трёх гироскутеров, а также почему мы выбрали менее дальнобойные лидары. Всё это я дополню роликами и фотографиями разных этапов разработки. Поехали!
Читать дальше →

Гексагональные тайловые миры

Level of difficultyHard
Reading time32 min
Views39K

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

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

Читать далее

Моя история реализации офлайн приложения Хабра

Reading time6 min
Views5.1K

Создание своего приложения Хабра уже вошло в традицию среди хабрюзеров. Я решил не отставать и сделать своё.

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

Читать далее

Самый простой способ разместить IP-камеру на сайте в 2022 году

Reading time5 min
Views17K

Ранее в статье "Самый простой (для знающих Linux) и дешевый способ разместить IP-камеру на сайте для небольшой аудитории" я уже делился с сообществом своим видением, как быстро и просто разместить видео с камеры на своем сайте. Минусов у того подхода, к сожалению, было много. Это и запуск исключительно под Linux, и отсутствие полноценной поддержки Safari и Яндекс.Браузера для MacOSX, и необходимость проделать дополнительную работу, чтобы привести скрипт в боевое состояние. Установить Apache, PHP, FFMpeg. Сгенерировать вручную ссылки (немного не актуально – я недавно выложил генератор ссылок для того скрипта). В общем, в новом году хочется чего-то совсем простого, что настраивается в пару кликов и работает почти везде. Плюс в комментариях к статье были справедливые упоминания о технологии HLS. Вот такую программу я и написал, чем с вами сегодня и поделюсь.

Читать далее

Цифровой рентген: наушники аудиофила за 662 рубля?

Reading time3 min
Views26K

При выборе новых наушников можно потратить 4-5 часов на изучение обзоров, мнений и в итоге ни на чем не остановиться. Недавно вот коллега показал свои внутриканальные наушники (IEM) с алиэкспресса за 7-8 тысяч рублей!

Я немного прифигел от такого расклада. В голове не укладывались вместе слова алиэкспресс = аудиофилия. Пытливый ум потребовал разобраться, что же там внутри и почему они такие дорогие - благо в распоряжении есть наш настольный микротомограф (тут про него писал). Полную томограмму делать по каждым "ушам" было лень — поэтому в статье в основном видео с оборотом на 360 градусов.

Enjoy!

Читать далее

Причины спекуляций в строительной отрасли. Монополии корпораций над данными. Войны лоббистов и развитие BIM. Часть 6

Reading time19 min
Views9K

Причиной отсутствия роста производительности и распространения спекуляций в строительной отрасли является качество данных, которыми оперируют участники процессов строительства. В чем основная проблема данных в строительстве? В первую очередь, в отсутствии доверия и прозрачности в системах 3D-7D, что ведёт к появлению рисков, связанных с человеческим фактором, и созданию многоуровневой бюрократии в основных бизнес-процессах строительных компаний.

Сегодня при обмене данными между различными 3D-7D системами мы доверяем хранение наших данных корпорациям. Для поддержания своего влияния на строительную отрасль корпорации, которым невыгодна прозрачность и интероперабельность данных, монополизировали хранение и обработку данных. Вследствие этого поставщики основных CAD и ERP решений постоянно повышают цены за пользование своими продуктами, а простые пользователи вынуждены платить “комиссию” на каждом этапе передачи данных в системах 3D-7D: за подключение, импорт, экспорт и работу с данными, которые пользователи сами создали. 

Читать далее

Как открыть 1500 шлагбаумов Москвы

Reading time5 min
Views137K

Случилось как-то, что рядом с офисом Postuf жильцы соседнего дома поставили себе шлагбаум. С парковкой в центре Москвы и так проблемы, а если еще и офисное здание неподалеку...в общем, жильцов можно понять. Но не давало покоя ощущение, что доступ к таким системам могут получить не только жильцы дома.

А кто еще?

Как написать FizzBuzz на собеседовании

Reading time31 min
Views59K

Здравствуй, Хабр.


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

Читать дальше →

Основы Unity + Mirror

Reading time16 min
Views60K

UPD. Актуализировал на момент 26.11.2022.

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

Читать далее

Изготавливаем самодельный электролюминесцентный индикатор

Reading time11 min
Views25K
В прошлый раз я показывал вам свою коллекцию советских электролюминесцентных индикаторов. Я капитально подсел на эту тему и последние три месяца пытаюсь изготовить самодельный индикатор удовлетворительного качества.

Дерпи Хувс ловит маффины. Стекло. Эпоксидка. Зелёный люминофор.

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

Думаю ещё через несколько месяцев я смогу написать уже Исчерпывающее руководство по изготовлению самодельных индикаторов, с подробным обоснованием всех возможных комбинаций материалов, но пока же ограничусь описанием проведённых экспериментов и полученными текущими результатами^
Читать дальше →