Социальные сети Рунета
Среда, 24 апреля 2024

Разбираем Log4j уязвимость в деталях… с примерами и кодом Все о той же критической уязвимости в Log4j, но с примерами и кодом. Читать далее

Разбор одного таска или как найти сайт по favicon.ico? На написание данной статьи меня подтолкнуло участие в соревнованиях по информационной безопасности - Capture the Flag (CTF). Это был MCTF 2021 , проводимый Московским Техническим Университетом Связи и Информатики. Читать далее

От Prototype Pollution к RCE на ZeroNights X В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Secu...

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

Мультиплеер в Unreal Engine: Игровой процесс Привет Хабр!В данной статье я бы хотел разобрать мультиплеер со стороны игрового процесса. Опорой для написания статьи выступает популярный Network Compendium. Читать далее

Эволюция отмывания денег: от болгарского рестлера с чемоданом бабла до крипто-рэперши Только на этой неделе бахнули два громких скандала, связанных с отмыванием денег: досталось и швейцарцам из Credit Suisse, и незадачливому крипто-хакеру из России, закрысившему $4,5 миллиарда. В этой статье разбираем нюансы превращения грязных денег в чистые, а также кекаем ...

Прикручиваем авторизацию на основе KeyCloak к веб-приложению Жизненный цикл разработки корпоративного приложения в нашей компании привел меня к, по сути, банальной задаче - “прикручиванию” пользовательской авторизации к фронту приложения. Пользователями приложения должны быть сотрудники компании, а идентификационным провайдером должен...

Круче кучи! Разбираем в подробностях проблемы heap allocation Для подписчиковНекоторые уязвимости возникают из-за ошибок с управлением памятью, выделенной на куче. Механизм эксплуатации этих уязвимостей сложнее, чем обычное переполнение на стеке, поэтому не все умеют с ними работать. Даже курс Cracking the perimeter (OSCE) не заходил д...

Чем жить будем? Обзор российского экспорта На написание материала меня подтолкнула статья на Хабре — “Что происходит в экономике? Порция объективного оптимизма”. Это действительно воодушевляющий текст, который начинается заголовком “Великой депрессии в России не будет.” Далее описываются источники прибыли российской ...

Windows 11: минусы дизайна В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним. Читать далее

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

Security Week 49: критическая уязвимость в Zoho ManageEngine 3 декабря компания Zoho, разработчик ПО и сервисов для совместной работы, раскрыла данные о критической уязвимости в программе Zoho ManageEngine Desktop Central. Это приложение для централизованного управления парком устройств в организации. Уязвимость CVE-2021-44515 позволя...

Security Week 46: новая уязвимость в Exchange Server На прошлой неделе, 9 ноября, компания Microsoft выпустила очередной набор патчей для собственных продуктов. Он закрывает 55 уязвимостей, из них 6 критических. Особое внимание уделено новой уязвимости в почтовом сервере Microsoft Exchange. Уязвимость CVE-2021-42321 (описание ...

Особенности удалённого грумминга Статья коллеги про отношение к вынужденной удалёнке вдохновила меня рассказать о самом серьёзном испытании, с которым я столкнулся в первые полгода такого режима: грумминг сложных задач стал невыносим. Под катом я постарался не только рассказать о проблеме, но и поделиться с...

[Перевод] Как проверить, зависит ли Java проект от уязвимой версии Log4j Если ваше приложение использует Log4j с версии 2.0-alpha1 до 2.14.1, вам следует как можно скорее выполнить обновление до последней версии (2.16.0 на момент написания этой статьи - 20 декабря).Log4j уязвимость отслеживаться как CVE-2021-44228 (также известный ...

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

Работа с картами. GMAP C# На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.Стояла задача визуализировать на карте положение объектов по известным координатам для дальнейшего анализа и выявления каких-либ...

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

Selenium python как сохранить данные сессии и установить кастомный путь до профиля Chrome При создании своего бота я столкнулся с одной неприятной проблемой, заключалась она в том, что авторизация на сайте слетала на следующий день. Для корректной работы бота требовалось чтобы авторизация не слетала больше месяца, как при работе с обычным браузером.В статье будет...

Если мошенники украли деньги с банковской карты — не спешите в полицию Мне давно надоели эти банки, но инфопространство постоянно забито историями, как мошенники в очередной раз украли деньги, причём даже без социальной инженерии. Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл дракон...

Как я винду по-реверсерски чинил Ваша винда не работает как хотелось бы? Все советы из поисковика перепробовали установили Linux, а оно всё равно не работает? Вы реверс-инженер или кто вообще, ну в самом деле!? Применим свои навыки владения отладчиком, поможем Шиндовс нормально (по мере её сил) работать!На ...

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

Уязвимость Docker Escape: побег из контейнера всё ещё возможен Как и любое другое программное обеспечение, в Docker присутствуют различные уязвимости. Одной из самых известных уязвимостей считается «Docker escape» — побег из контейнера Docker. Данная уязвимость позволяет получить доступ к основной (хостовой) операционной системе, тем са...

Security Week 2203: wormable-уязвимость в Windows На прошлой неделе, 11 января, компания Microsoft выпустила очередной ежемесячный набор патчей для собственных продуктов. Всего было закрыто 97 уязвимостей. Девять уязвимостей классифицированы как критические, а из них наибольший интерес представляет проблема CVE-2022-21907 в...

Извлечение NTLM hash пользователя из процесса lsass.exe с помощью уязвимого драйвера Приветствую вас, дорогие читатели! Сегодня я хочу рассказать о том, как с помощью уязвимого драйвера получить NTLM hash пользователя. NTLM hash находится в памяти процесса lsass.exe операционной системы Windows. Процесс lsass.exe отвечает за авторизацию локального пользовате...

Управление данными в системе автоматизации на Vue и Vuex и решение проблем тестирования с помощью Jest Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, кладовщиков и других. Все фото кроссовок, которые вы видите в интернет-магаз...

Нарастающий итог в SQL с разрывами в данных Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно. Ч...

СheckKarlMarx: утилита для поиска уязвимостей в продовых сборках Всем привет! Меня зовут Дмитрий Терёшин, в СберМаркете я занимаюсь Application Security — безопасностью веб- и мобильных приложений.Во время аудитов мобильных приложений я часто натыкался на плавающие уязвимости: они появляются только в конечной сборке, которая отправляется ...

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

Тильда против фронтенда: 6 главных мифов о конструкторе Бывает так: заказчику нужен лендинг еще вчера. К фронтендеру обращаться не хочется — долго, дорого, дизайнеру не понравятся отступы, а вся задача превратится в череду долгих согласований.Привет, меня зовут Соня! Я – UX/UI дизайнер в hh.ru. В этой статье мы разбираем популярн...

Интеграция с amoCRM — паранойя безопасности «Заставь дурака Богу молиться — он лоб разобьёт»Здравствуйте! Хочу поделиться накипевшим - головной болью интеграции с API сторонних приложений. В этой статье - c авторизацией для API достаточно популярной amoCRM, без кода и лишних деталей. Читать далее

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

Worker Services в .NET Написание воркер-сервисов на .NET часто сопряжено с написанием большого количества повторяющегося boilerplate-кода. Однажды мне это надоело и я попытался успростить этот процесс, перенеся часть бойлерплейта в отдельную библиотеку, которой и посвящена эта статья. Читать далее

Log4HELL! Разбираем Log4Shell во всех подробностях Для подписчиковЕще недавно про средство логирования Log4j помимо специалистов мало кто слышал. Найденная в этой библиотеке уязвимость сделала ее центром внимания на последние месяцы. Мы в «Хакере» уже обсуждали ее импакт и рассказывали о том, как разные компании сражаются с ...

Размышления о написании пользовательских историй Всем привет! Меня зовут Максим, и я работаю бизнес-аналитиком на проекте Швейцарских Железных Дорог. За последние пять лет я описал больше четырех сотен пользовательских историй, экспериментируя со структурой и форматом. Под катом рассказ о том, какие проблемы у меня возника...

Почему пользователи не читают документацию или как можно улучшить руководство пользователя Часть перваяДанная статья не предполагает каких-то заумных и крайне неочевидных советов по написанию и проверке технической документации. Многие из перечисленных «советов» многим покажутся очевидными, но из раза в раз, анализируя документацию наших пользователей, мы сталкива...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

Spring4Shell RCE — критичная уязвимость в Java Spring Framework Не успел мир отойти от Apache Log4j2, как в сети появились сообщения о новых 0-day уязвимостях. В Spring Framework для Java обнаружено сразу несколько уязвимостей "нулевого дня", позволяющих, в том числе, выполнять произвольный код (RCE). Читать далее

Автоматическая многоязычная модерация сообщений для миллионов пользователей Как мы все знаем, слова обладают силой. Ими можно вдохновить людей, но можно и навредить. Мы в Badoo и Bumble стараемся оградить пользователей от неприятных ситуаций, поэтому внедрили инструмент Rude Message Detector. Это многоязычный детектор грубых высказываний, работающий...

Terraform-модуль для инициализации Vault При настройке CI/CD для приложений мы в компании, как правило, используем Vault от HashiCorp. К тому же сами приложения зачастую используют Vault для хранения секретных данных. Но для того, чтобы начать использовать Vault, сначала необходимо произвести его настройку. Раньше ...

Сушилка из ведра сделай сам!!! Затраты на изготовление менее 1000 р!!! В общем на написание этого статьи меня толкнула эта статья "Опыт сушки пластика." одного камикадзе! И это не оскорбление а констатация факта! Который засунул несколько бухт в духовку и ушёл на работу. А вернувшись увидел это   Просто счастливчик  что увидел это а не это  ! Я...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

Венец Творения Two Trees. Обзор на Sapphire Plus Всем доброго времени суток. В данной статье рассмотрим принтер Two trees Sapphire Plus. Это не первый принтер у меня от этой компании. Про другие принтеры вы можете посмотреть тут: TT-1S, Bluer plus ч1, ч2. Один не плохой, второй до сих пор недоделанный стоит. Данный же прин...

Простая аутентификация на PHP Многие новички до сих пор попадают в тупик при написании простейшей аутентификации в PHP. На Тостере с завидной регулярностью попадаются вопросы о том, как сравнить сохраненный пароль с паролем полученным из формы логина. Здесь будет краткая статья-туториал на эту тему.Discl...

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

Применение автотестов в ежедневных релизах. Установка Cypress и Allure Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим...

Почему Вы так не любите Chrome? Привет!Я много лет посещал Хабр в режиме "рид онли", но сегодня, читая очередную новость про новую версию Google Chrome 96 и комментарии к ней, я всё же решился на написание статьи.Я работаю в в офисе достаточно крупной Кампании, и для просмотра видео на ютуб по работе посто...

Отображение данных из подписанного ЭЦП PDF-файла в Joomla На Joomla CMS сделано очень много сайтов для образовательных учреждений самого разного уровня и сложности. На сайты образовательных учреждений распространяется (на момент написания статьи) Приказ Рособрнадзора от 14.08.2020 №831, согласно которому документация должна быть на...

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

Какие задачи не решаются bat-файлами? Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.Вместе с тем, в bat-файле можно использовать переменные, условия, циклы и подпрограммы...

Это Gaidai какой-то. Сервис HTTP сценариев Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов ...

Недельный геймдев: #56 — 6 февраля, 2022 Из новостей на этой неделе: Epic Games приобрела RD-Textures, Blender Studio выпустила Watchtower, Valve объявила об изменениях в правилах установки скидок для разработчиков, вышли Blender 3.1 Beta, Particle Illusion 2022 и ZBrush 2022.0.4.Из интересностей: разбор рендери...

[Перевод] Невидимый Javascript-бэкдор Несколько месяцев назад мы увидели пост в сабреддите r/programminghorror: один разработчик рассказал о своих мучениях с поиском синтаксической ошибки, вызванной невидимым символом Unicode, скрывавшемся в исходном коде на JavaScript. Этот пост вдохновил нас на мысль: что есл...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Как я не стал программистом Мне уже больше 50, с работой и семьей все хорошо. Но в свободное время сейчас я помогаю брату-близнецу с написанием сайта для его мобильного приложения. У него тоже с работой (не связанной с программированием) и семьей все хорошо. Как-то так получилось, что мы оба занялись в...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

Kubernetes: трансформация к SecDevSecOpsSec Данная статья — взгляд на то, как Kubernetes способен повысить уровень безопасности, упростив управление ею и ускорив внедрение механизмов безопасности с точки зрения специалиста по ИБ, который большую часть своей карьеры занимался наступательной безопасностью. Сейчас на при...

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

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

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

Собираем генератор данных на Blender. Часть 1: Объекты Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой ста...

Как один разработчик PVS-Studio защищал баг в проверяемом проекте Мы в PVS-Studio часто проверяем открытые проекты и пишем статьи об этом. Иногда при написании статьи случаются интересные ситуации или попадаются особенно эпичные ошибки, тогда хочется написать про это отдельную небольшую заметку. Сейчас совпали оба случая. Читать далее

Деплоим приложение на Django в Kubernetes с нуля Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.Сегодня мы на практике разберем, что нужно делать, чтобы ваше приложение оказалось в Инте...

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

Неполное руководство по DevOps Привет! Меня зовут Кирилл Цветков. Я DevOps, инженер, линуксовый админ – именно через запятую и никак иначе. В этой статье я попробую последовательно рассказать вам что такое DevOps, и примирить два конфликтующих стереотипа, которые это слово окружают. Читать далее

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

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

Как я опять Хабр сломал Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведном взломе через iframe src , я, как и автор поста @Maxchagin, решил исследовать функционал Хабра на предмет уязвимостей.Начать решил с нового редактора, рассуждая следу...

Чаты на вебсокетах. Теперь про бэкенд Продолжаем рассказывать про чаты на вебсокетах, но уже со стороны бэкенда. Когда-то использовали сторонний сервис, но было важно решить ряд моментов, которые он не мог покрыть. Выбирать особо не пришлось, и мы принялись разрабатывать собственное решение.Ниже подробности о то...

[Перевод] Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики Важно отслеживать показатели и работоспособность приложения: это помогает нам повышать производительность, лучше им управлять и замечать неоптимизированное поведение. Мониторинг каждого сервисного модуля важен для поддержания системы, состоящей из множества микросервисов.В э...

[Перевод] Как работает DeepMind AlphaFold2? На мой взгляд DeepMind AlphaFold2 и Github Copilot являются одними из самых значимых достижений науки и техники в 2021 году. Спустя два года после их первоначального прорыва команда из DeepMind фактически смогла решить (с небольшими оговорками) задачу фолдинга белка, оставав...

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

2000000$ за найденную уязвимость Эксперт в области информационной безопасности Гехард Вагнер получил рекордное вознаграждение в размере 2000000$ от команды блокчейн проекта Polygon. Найденная исследователем уязвимость угрожала потерей 850000000$. Вознаграждение стало рекордным в истории DeFi. Гехард Вагнер ...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

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

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

Ракета на палочке Всем привет! Меня зовут Илья!Если вы читали мою прошлую статью, то наверное уже знаете что я увлекаюсь любительским ракетостроением. Это сложная и долгая тема. Давайте сейчас не будем строить большую ракету, а в этой статье давайте поговорим о чём-нибудь попроще. Ну, наприме...

Node.js: разрабатываем сборщик модулей Привет, друзья! Вам когда-нибудь хотелось узнать, как работают сборщики модулей (module bundlers) JavaScript типа Webpack или Parcel, что называется, под капотом. Если хотелось, тогда эта статья для вас. В данном туториале мы разработаем простой сборщик модулей на Node.js,...

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

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

Technical Product Manager или Business Product Manager. Кто приносит больше пользы на практике? Всем привет. Хотел бы в рамках данной статьи рассмотреть такой вопрос, как построение команды продакт-менеджеров и выбор правильной конфигурации навыков у тех специалистов, которых мы бы хотели видеть в своей команде. Надеюсь, что данная статья будет полезна руководител...

DevOps Cookbook: как построить процессы с нуля Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проек...

[Перевод] Вселенная Стивена Вольфрама Примерно полтора года назад я опубликовал на Хабре перевод статьи Стивена Вольфрама: "Кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна". С тех пор Вольфрам и его коллеги по Physics Project продвинулись далеко вперед в своих исследованиях теории в...

Technical Product Manager или Business Product Manager? Часть 2 Всем привет. Как и обещал, публикую вторую часть статьи на тему того, кто приносит больше пользы, Business Product Manager или Technical Product Manager. Напомню, что первую часть статьи, где я рассказываю, какая ситуация сложилась у меня в бизнесе и какой управленчески...

Быстрый способ получить данные об организациях пользователя при авторизации через Госуслуги В рамках одного из проектов команда PHP-разработки DD Planet столкнулась со сложностью в процессе интеграции с ЕСИА. Была необходимость получать данные по юридическим организациям, которые числятся за пользователем. В документации Госуслуг не было достоверного описания, и на...

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

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Тычем палкой в итераторы Итераторы – мощные и очень полезные составляющие Python. Цель этой статьи в их изучении подручными инструментами. Сразу предупреждаю, что в исследовательском арсенале у меня не швейцарский нож, а палка-копалка. Как известно, она предназначена для разрыхления почвы, но для не...

Карма на Хабре. Практика Комментарии под популярной статьей на Хабре. Photo: Warner Bros.Без интриг и лонгрида - да, на Хабре можно не писать статьи и только на комментариях дотянуть до уровня, где вы сможете давать оценку статьям, озеленять комментарии и поднимать карму другим пользователям.Дл...

Мини ПК Topton Mini PC на базе AMD Ryzen 5000U серии Небольшой обзор китайского мини ПК Topton Mini PC на базе мобильного процессора AMD Ryzen 5000U серии. Конкретно мой экземпляр оснащён процессором AMD Ryzen 3 5400U (4 ядра, 8 потоков, 2.6 - 4.0 ГГц, интегрированное видео AMD Radeon Vega 6).Компьютер приобретался пустой (bar...

Как приготовить техночизкейк или сушка пластика в домашних условиях. Проект сушилки с претензией на безопасность. Всех приветствую!В этот раз хочу описать свой опыт изготовления сушилки для пластика на базе кухонной мини-печи. К написанию статьи меня сподвиг тот факт, что я не смог найти на ресурсах 3D-Today интересующего меня проекта сушилки пластика.Хотелось бы ещё в качестве вступлен...

Tidy stemming велосипед, который поехал Когда в NLP задачах речь доходит до стемминга, то никто особо не заморачивается - берет готовую реализацию, и она работает. Правда работает она только в тех случаях, когда текст является "классическим", то есть это человекочитаемый текст без огромного числа сокращений сл...

Выводим программных роботов на третью космическую скорость, или RPA в Linux Программные роботы (RPA) с каждым годом всё больше проникают в IT-инфраструктуру компаний, а доля роботизированных процессов в бизнесе постоянно растет. Чтобы поддерживать увеличивающееся количество автоматизированных процессов организациям необходимы дополнительные вычислит...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

Module Federation: простая загрузка динамических модулей Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы мож...

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

Флоптика (LS-120) Этот пост навеян отличной статьей про трискеты, которая в первые минуты чтения и меня заставила задуматься, а не пропустил ли я чего в истории средств хранения данных? Поэтому расскажу про необычные дискеты с треугольной шторкой (много фото). Читать далее

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

Green server для PET-проектов на базе Raspberry Pi – часть третья (сравнение с нетбуком) В двух предыдущих статьях я рассказывал как создавал мини-сервер из Rasbperry Pi model B и его старшего брата Raspberry Pi 4B. В комментариях часто писали, что стоило остановиться на б/у устройствах(нетбуках, ноутбуках, неттопах и т.д.). Данные устройства можно было найти по...

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

Сегодняшний UI хабра У меня накопилось несколько пожеланий к сабж, которые я ленилась выкладывать по одному под статьями редакции хабра (а где же ещё?), да и вообще, я не очень уверена, что пожелания общественно ценные. Мне бы хотелось сначала их обсудить. И если выяснится, что нас таких много, ...

Кейс: как soft skills повлияли на карьерный рост Привет! Меня зовут Миша Ларченко, я разработчик в Sytac B.V. Последние 7 лет живу и работаю в Нидерландах. В этой статье я расскажу, как складывался мой путь от верстальщика в бобруйской газете до разработчика в нидерландской компании. Спойлер: в этом как-то замешаны soft sk...

Security Week 2209: криптография в смартфонах На прошлой неделе исследователи из Тель-Авивского университета опубликовали научную работу, в которой сообщили об обнаружении серьезных недостатков в системе шифрования данных смартфонов Samsung. Уязвимости, на данный момент исправленные, были найдены в защищенном приложении...

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

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

Рецепты Nginx: авторизация через auth0 Для приготовления авторизации через auth0 нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, set-misc, echo, json, evaluate и jwt. Можно также воспользоваться готовым образом. Для начала

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

HTB EarlyAccess. Эксплуатируем веб-уязвимости и мисконфиги Docker Для подписчиковВ этой статье я покажу процесс эксплуатации нескольких веб-сервисов через разные уязвимости и техники, начиная с XSS и SQL-инъекций и заканчивая LFI и инъекцией команд ОС. А потом мы выберемся из Docker на основную систему и зайдем в другой Docker, чтобы эту с...

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

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

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Устройства Samsung подвержены опасной уязвимости, если их не обновить Устройства Samsung под управлением Android версий с 9 по 12 могут быть подвержены серьезной программной уязвимости, которая позволяет локальным приложениям имитировать действия на уровне системы.Вредоносные приложения могут использовать критически важные защищенные функции, ...

8 правил, которые пригодятся при описании Git-коммитов Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «)...

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

Как настроить «Планфикс» с нуля и почему именно он Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. Hola, Amigos!Меня зовут Артем, и я TeamLead компании Amiga. Сегодня расскажу, как мы настроили процессы взаимодействия с коман...

Присматриваемся к одноплатникам на RISC-V, обзор модуля Sipeed Lichee RV на процессоре Allwinner D1 Одноплатные компьютеры на RISC-V процессоре сравнительно новое веяние. Поднебесная активно работает над снижением зависимости от западных информационных систем и технологий, именно поэтому новая открытая архитектура RISC-V одна из ключевых ставок Китая. Для продвижения в м...

Фантастические формулы и как они работают В прошлой статье я рассказывал о том, как мы реализовали на основе Google Sheets собственную диаграмму Ганта для работы над игровыми проектами. Если вам зашла такая реализация или просто интересно глубже понять принципы устройства таблиц и формул, сейчас мы будем разбирать и...

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

Google выпустила срочное обновление Chrome Компания Google выпустил срочное обновление фирменного браузера Chrome для Windows, macOS и Linux. Апдейт закрывает две уязвимости нулевого дня, активно использовавшихся злоумышленниками, а также ещё пять уязвимостей попроще.   Речь идёт об уязвимостях под маркиро...

Ментор в беде не бросит: как онбордить новичка, чтобы он тестил в свое удовольствие Всем привет. Меня зовут Ильмир, я QA Manual Engineer в inDriver. В статье расскажу о своем опыте менторства. Я занимаюсь этим уже больше 2 лет и хочу поговорить про этапы, которые могу выделить как основные. В статье будут затронуты не проблемы методик и инструментов дл...

Обзор уязвимостей CVE ПО POSTGRESQL 11,12,13,14 версиям за 2021 Внимание! Статья имеет ознакомительный характер и предназначена для специалистов по обеспечению информационной безопасности. Автор не несёт ответственности за любой вред, причиненный с применением изложенной информации. Помните, распространение вредоносных программ, нарушени...

Кибербезопасность для самых маленьких Добрый день. Данная статья будет очень полезна для тех, кто впервые поднимает свое приложение, которое будет доступно всему этому большому и замечательному Миру и хочет сделать его как можно более безопасным, устойчивым к разным атакам. Цель статьи - поделиться практиками, к...

Как CrowdSec помогает справиться с  уязвимостью в Log4j Привет, Хабр! Обнаружение уязвимости нулевого дня в Log4j (CVE-2021-44228) привело к резкому росту числа атак на различные сервисы, использующие эту популярную библиотеку Java. Это связано в первую очередь с простотой, с которой уязвимостью могут воспользоваться даже сравнит...

Настройка Opennebula с Ceph RDB, CephFS Данная статья расскажет о том, как установить Ceph на несколько нод и установить Opennebula, а так же произвести интеграцию Opennebula с Ceph. Читать далее

[Перевод] От Java 8 до Java 15 за 10 минут В данной статье рассмотрены крупные нововведения Java начиная с 8 по 15 версии. Читать далее

Бесплатный левел-дизайн, или как строить ландшафт в реальном времени на UE4 Всем привет! Меня зовут Влад Маркелов, и сегодня я расскажу, как можно бесплатно и быстро создавать огромные игровые уровни и как в реальном времени строить ландшафт по информации из Интернета.Но прежде, чем перейти к сухим техническим деталям, будет небольшое лирическое отс...

Главная ложь SCRUM. Откуда берётся карго-культ Всем привет. Меня зовут Рома, я-разработчик. За короткое время, в одной команде, на одном проекте, я поработал в трёх разных вариациях скрама. Ощущались они по-разному, и каждый новый вариант нравился мне меньше предыдущего. В этой статье я поделюсь своим опытом и выводами. ...

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

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

Модуляризация DI в проекте с UDF-архитектурой Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-...

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

Открытый проект файловой системы для внутренней  памяти STM32H Зачем ставить внешнюю IC памяти или SD карту если в микроконтроллере осталось много свободной Flash памяти! Микроконтроллеры семейства STM32H снабжены двумя независимыми банками Flash памяти и это очень удобно. В одном банке можно расположить программный код, а в другом...

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

Реверс уязвимого приложения от Delivery Club: результаты конкурса Привет! Меня зовут Илья Сафронов, я руковожу направлением информационной безопасности Delivery Club. Третьего дня мы запустили конкурс по реверсу и поиску уязвимости в тестовом Android-приложении. Целью было выполнение кода на бэкенде (RCE). За время конкурса APK скачали бол...

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

Как подружить Wi-Fi Mikrotik и TP-Link с помощью RADIUS Хочу поделиться опытом использования нового User Manager в Mikrotik ROS 7 для Wi-Fi. Многое в статье типично, но есть моменты, найденные опытным путем.Задача - покрыть Wi-Fi трехэтажное здание, подключить около 100 пользователей поэтапно с небольшими вложениями.Все начиналос...

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

363 дня одного года на Хабре. Что лежит в Pocket у модератора? Парадоксальная ситуация: я просматриваю практически все статьи на Хабре и читаю все в Песочнице, но при этом у меня не остаётся времени, чтобы в течение рабочего дня с удовольствием и полным погружением прочитать то, что мне интересно. Поэтому я поступаю точно так же, как мн...

[Перевод] Mikrotik CHR на хостинге vpsserver.com Mikrotik CHR на vpsserver.comРазвертывание виртуального устройства Mikrotik может иметь разные задачи. В моем случае предстоит настройка собственного VPN т.к. доверия к сторонним у меня нет (и нет, я не параноик).Вроде бы достаточно простая задача, есть куча инструкций... но...

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

Google озвучила сумму, которую выплатила в 2021 году за обнаружение уязвимостей в своих продуктах Многие ведущие компании тратят серьезные суммы денег за обнаружение уязвимостей в их продуктах.Google, естественно, находится в их числе. Поисковый гигант проводит программы вознаграждения за нахождение уязвимостей (VRP) для Android, Google Play, Chrome и веб-сервисов.Сейчас...

Девять избранных статей с конференции NeurIPS 2021. Часть 2 Мы продолжаем разбирать статьи с конференции NeurIPS 2021, крупнейшей конференции по машинному обучению. Первая часть разбора была посвящена около-рекомендательным статьям. Во второй части мы собрали работы, не объединенные общей тематикой: они просто показались нам интересн...

Big O нотация в Swift Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространств...

[Перевод] Стилизация однофайловых Vue компонентов Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем компоненте. Они позволяют разработчикам группировать код более логическими способами, а не разбивать компоненты по используемому языку (HTML, CSS или JavaScript)....

Разбираем алгоритмы компьютерной графики. Часть 3 – анимация «Пламя» Рассмотрим алгоритм рисования простейшего пламени. Придуман он довольно давно и использовался в огромном количестве демо и игр. Читать далее

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

Включение метрик Apache Camel в Spring Boot Actuator Prometheus В данной статье я привёл решение проблемы интеграции Apache Camel метрик с Spring Boot Actuator Prometheus, которое мне не встречалось в интернете. Читать далее

Расчет ППМ для АФАР В данной статье хочу поделиться своим опытом расчетов ППМ для АФАР. Читать далее

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

Ботнет Dark Mirai эксплуатирует RCE-уязвимость в роутерах TP-Link По данным экспертов Fortinet, операторы ботнета Dark Mirai (он же Manga или Dark.IoT) активно злоупотребляют недавно обнаруженной уязвимостью в маршрутизаторах TP-Link.

Почему я против enum Меня зовут Саша Терентьев, я из команды ленты ВКонтакте. В этой статье поделюсь мыслями о проблемах кода, где используются enum и сопоставления типов. Часто встречаю такой код в проектах, ресурсах, примерах. Мы обсуждали это с кол...

Топ-10 ошибок, найденных в C#-проектах за 2021 год За 2021 год разработчики PVS-Studio написали ряд статей, в которых разбирали странности, найденные анализатором в Open Source проектах. Год подходит к концу, а значит, пришло время представить традиционный разбор 10 самых интересных ошибок. Приятного просмотра! Читать далее

Как написать тысячу автотестов за пару дней Меня зовут дядя Вова, я ведущий инженер по автоматизации тестирования и, как писал уже несколько раз, неизменный фанат Robot Framework. Даже когда-то контрибьютил в его исходный код и иногда помогаю новичкам в официальном slack-чате этого инструмента. Но, как я уже упоминал...

Проверка на прочность. Как я исследовал защиту LKRG с помощью уязвимости в ядре Linux Для подписчиковВ январе 2021 года я нашел и устранил пять уязвимостей в ядре Linux. В этой статье я расскажу, как я доработал свой прототип эксплоита и с его помощью исследовал средство защиты Linux Kernel Runtime Guard с позиции атакующего, как мне удалось найти новый метод...

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

Обновление данных в ClickHouse Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться ...

Правда о Черной пятнице: разбираем “секреты” продавцов Ежегодный бум скидок в ноябре на Черную пятницу – долгожданное событие для всего мира. Это время славиться неимоверным ажиотажем вокруг акционных предложений.  Читать далее

Как создать образ диска в Linux с несколькими разделами, не имея физического образца Здравствуй дорогой читатель данного руководства. Меня зовут Андрей, и нет, я не алкоголик, а разработчик встраиваемых систем на базе Linux.Данная статья является кратким руководством по созданию образа диска с несколькими разделами, куда можно было бы записать всякую всячину...

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

[Перевод] Сделайте Linux похожим на Windows 95 Темы и наборы иконок Linux, вдохновлённые другими операционными системами, существуют с тех пор, как в Linux появился графический интерфейс. Иногда эти темы становятся очень похожими на оригинал. Но… Что, если бы вы могли сделать свой рабочий стол Linux почти таким же, как W...

HTB Horizontall. Захватываем веб-сервер через уязвимости в Strapi и Laravel Для подписчиковСегодня мы с тобой пройдем легкую машину Horizontall с площадки Hack The Box. Для победы нам понадобится проэксплуатировать ряд уязвимостей в Strapi, а затем повысить привилегии через уязвимость в Laravel 8. Погнали!

Моя первая NFT-коллекция на Solidity + Hardhat — «Сизифов Труд» На момент написания статьи я работаю Frontend-разработчиком в VK (Delivery Club) на Vue и плавно перехожу на iOS-разработку. Уже около 4 лет считаю себя поверхностно приближенным к сфере крипты: участвовал в разработке P2P-платформы (BTC-обменника), изучал основы и идеологию...

Хабр не делай больно писателям Хабр! Добро пожаловать снова.Сегодня я расскажу о том как писатели хабра теряют свои статьи из за ошибок в работе редактора Хабра. Мне бы очень хотелось чтобы разработчики Habr или Chromium услышал меня и исправили эту проблему как можно скорее. Читать далее

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

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

Зачем CI/CD тестировщикам? Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в ...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

Как завести XCRemoteCache, или Кэши из топора Всем привет! Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-mar...

Самообучаемый чат-бот python, который умеет искать ответы в Wikipedia Написание телеграмм бота, обучающегося при общении с Вами и умеющим искать ответы на Ваши вопросы в Википедии. Читать далее

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

Как я запускал Spring Cloud Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил э...

Решение задач по JavaScript на bigfrontend (BFE): throttle и debounce В этой серии статей я хочу решать BFE задачи (https://bigfrontend.dev) и разбирать решения. BFE - это сайт с задачками, которые позволяют подготовиться к фронтовому интервью и прокачать свои знания в JavaScript.Сегодня я хочу рассмотреть 2 задачи, это throttle и debounce. Чи...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 2 В предыдущей статье я рассказал о подготовке данных для тестирования, что данные лучше генерировать, а не клонировать. Теперь стоит подробно разобрать, как их генерировать. Есть несколько подходов к генерации данных: c SQL, Python, сериализацией. У всех из них есть свои плюс...

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

GraphQL-gRPC API Gateway на Java В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus. Читать далее

Консольные изображения ( от ЧБ до 24bit ) В данной статье будет рассмотрен прогресс от ЧБ картинки в консоли до 24 bit изображения в ней жеЧёрно белое -> 48 цветов -> 216 цветов -> 24 bit Читать далее

Engineering Manager: Место в структуре организации, задачи, плюсы и минусы Данная статья поможет разобраться в том, что из себя представляет позиция Engineering Manager, причём тут Tech Lead и как с этим жить? Читать далее

(Net)-NT(LM)v[12] Очень часто встречаю, что люди путают разные типы хэшей и думают, что NTLM и NTLMv1/v2 это одно и тоже, а NTLMv1/v2 и Net-NTLMv1/v2 разные типы. Данная статья заметка предназначена для того, что бы разобраться со всем этим. Читать далее

Релизим фронтенд несколько раз в день Меня зовут Петр Солопов, я руковожу фронтенд-разработкой в SuperJob. В этой статье хочу рассказать об опыте ежедневных релизов у нас в компании, зачем мы это делаем и почему это не так страшно, как кажется.История разбита на пять частей: что нас к этому привело, как это сдел...

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

Справочники в iOS: храним, обновляем, используем Всем привет! Меня зовут Саша, и я iOS-разработчик в hh.ru. Страны, города, профобласти, языки, валюты – всё это названия справочников внутри нашего мобильного приложения. Они очень редко меняются, но используются повсюду, а поэтому обязаны быть актуальными и не должны т...

[Перевод] Что такое MLOps и различные MLOps-инструменты  (часть 2) По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать б...

Как я разблокировал Upwork профиль и заработал более $250k за год Мне было страшно писать об этом до недавнего времени. Upwork стал одним из основных источников дохода для меня лично и для моего агентства, поэтому после восстановления аккаунтов я боялся, что если я опубликую это - меня снова заблокируют.Но в этой статье я поделюсь историей...

Становление IT-шника Эта статья и не статья вовсе. А рассказ о жизни. Я такое обычно не пишу, потому что сложно рассказать о жизни так, чтобы не свалиться к нытью или в преукрашивание. Честный байопик создать сложно.Но после прочтения этой статьи и предыдущей статьи автора захотелось как-то отве...

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

«Международный  отчёт по качеству»: тренды QA и опыт ПСБ Привет, Хабр!Меня зовут Татьяна Бельская, я работаю управляющим по обеспечению качества в Промсвязьбанке. Мы с коллегами отвечаем за процессы, которые влияют на качество работы всех наших систем.У меня возникла потребность исследовать мировые тенденции QA, чтобы понимать, ка...

Анализ финансовых ботов, можно ли заработать? Разбираю разные подходы к созданию ботов и смотрю на их эффективностьЗаработает ли бот достаточно денег? Будет ли стабильный заработок? Достигнет ли он когда-нибудь годового дохода в $100,000? В этом посте я отвечу на эти вопросы и дам вам несколько советов, как двигаться да...

Аудиомодификации для Android смартфонов Предыдущая статья была посвящена теме качества мобильного звука в Android смартфонах. Углубляясь в эту тему мы подробно рассмотрим что из себя представляют аудиомодификации, требования для их установки, принципы работы magisk модуля и способы улучшения качества звука на прим...

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

CSS в Oxygen XML для гуманитариев Всем привет!Меня зовут Татьяна и я старший технический писатель в компании Orion Innovation. В нашей уже немаленькой команде мы используем довольно обширный стэк инструментов и технологий, но наиболее востребованы и удобны в работе - XML-редакторы с поддержкой DITA архитекту...

Шаринг сокет-соединения между вкладками В каждом современном сервисе должны быть сториз и чат, и для начала мы решили запилить в hh.ru переписки. Меня зовут Влад Коротун, я фронтенд-разработчик. В этой статье расскажу, как неординарный подход к использованию Web Workers помог нам решить эту задачу.Для желающих пос...

Bitrix и Kafka: настраиваем интеграцию с брокером очередей Привет! Меня зовут Саша Шутай, я тимлид в AGIMA. В прошлой статье я рассказывал, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента сайта. А в этой помогу разобраться, как на Bitrix-проекте произвести интеграцию с брокером очередей ...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

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

Ремонт  Sony WH-H910N h.ear on 3 В статье Вы узнаете как починить "не подлежащие ремонту" наушники за сущие копейки. Статья написана по большей части для таких же заложников ситуации как я. Читать далее

ЕГРЮЛ, доходы и расходы, налоги, количество сотрудников в XML и JSON бесплатно Налоговая отдаёт данные ЕГРЮЛ  по организации в виде PDF. Посредники за автоматический доступ по API хотят денег. На многих сайтах часть данных закрыто, часть функций недоступны бесплатно, и полно рекламы. Особенно интересно, что на некоторых сайтах предоставляющих...

Как за час построить CI/CD для высоконагруженного проекта в облаке SberCloud.Advanced Привет, Хабр! Меня зовут Кирилл Шеховцов, и я технический лидер в SberCloud. Сегодня расскажу, как быстро интегрировать пайплайн Continuous Integration/Continuous Delivery (CI/CD) и продуктовый подход к проектированию приложений в облаке SberCloud.Advanced. Эта обзорная стат...

Построение отказоустойчивого решения на базе BGP с использованием облачной платформы Привет, Хабр!Меня зовут Евгений, и с недавних пор я являюсь членом команды развития инфраструктуры в Домклике. Больше всего опыта у меня в области сетевых технологий, в простонародье я «сетевик». На сегодняшний день наша команда, да и не только наша, активно прорабатывает во...

Как создавать собственные библиотеки элементов Привет! Меня зовут Сергей Кузнецов, я руковожу отделом Frontend-разработки в AGIMA. Сегодня хотелось бы рассказать о разработке собственных библиотек элементов для крупных проектов. В статье объясню, зачем они нужны, почему собственные библиотеки могут быть полезнее готовых ...

Применение алгоритма Гровера для поиска гамильтоновых циклов в графе Вариант применения квантового алгоритма Гровера для решения задачи поиска гамильтоновых циклов в графе. Решения является учебным, оно не даст так называемого «квантового превосходства», возможно вдохновит кого-либо на поиск более оптимального решения. Читать далее

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности ...

Парсинг FIT файлов c данными тренировок Мне стало интересно проанализировать данные о своих тренировках за последние несколько лет, и я понял, что обычного функционала приложений типа Garmin Connect или бесплатной версии Strava будет недостаточно. В этой статье я расскажу как получить свои персональные данные о тр...

Как устроен вывод Generic-типов в Java Добрый день! Меня зовут Владислав Верминский, я отвечаю за развитие профессии JVM-разработчика в Райффайзенбанке. В этой статье я расскажу про неоднозначность вывода типов в Java. На первый взгляд с ним всё очевидно, но когда сталкиваешься со странным поведением, возникают в...

Как мы подходим к поддержке ML-моделей в синтезе речи Всем привет! Меня зовут Александра Сорока, я занимаюсь синтезом речи в Тинькофф. А это — мой текст о том, зачем вообще думать о долгосрочной поддержке кода и ML-моделей. Я расскажу, почему мы отказались от опенсорсных решений, как работаем с датасетами и разными версиями мод...

Security Week 50: драма вокруг log4j На прошлой неделе, 9 декабря, были обнародованы детали уязвимости в Apache log4j, библиотеке для сбора и обработки логов. Уязвимость CVE-2021-44228 приводит к выполнению произвольного кода и эксплуатируется тривиально, о чем свидетельствует самый высокий рейтинг по шкале CVS...

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

Понятие растворимости, растворения. Процесс растворения. Факторы, влияющие на процесс растворения Понятие растворимости, растворения. Процесс растворения. Факторы, влияющие на процесс растворенияВ данной статье мы постараемся не только максимально раскрыть теорию растворения, но и обобщить, систематизировать сведения из различных источников о процессе растворения и влиян...

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

Выбираем инструмент для разметки текста (и не только!) Рано или поздно перед любой компанией которая хочет внедрить системы машинного обучения в свою инфрастуктуру встает вопрос разметки данных. Чистые данные в достаточно большом количестве - залог хорошей модели, все мы прекрасно знаем правило "Garbage in - garbage out". Т...

Я устал вручную удалять мобильное приложение с устройства и написал расширение для VS Code Каждый мобильный разработчик рано или поздно сталкивается с тем, что его начинают утомлять некоторые рутинные операции. Скажем, дебажишь авторизацию в приложении. Или проверяешь перехват UTM-метки при первой установке. Или пытаешься понять, работает ли корректно очередная ми...

KC868-Uair: пролетая над гнездом кукушки. Часть 2. Подключаем nRF24 и LoRa С устройством и схемотехникой Kincony KC868-Uair мы разобрались в предыдущей статье, в этой статье мы продолжим знакомство с этим контроллером, разберём его распиновку и попробуем подключить к нему популярные беспроводные модули nRF24L01. KC868-Uair и сам по себе достаточн...

Разбор задачи Титаник на Kaggle (Baseline) В статье я покажу как искать зависимости и проверять гипотезы. Мы познакомимся с данными и реализуем предсказание на основе одной логики=) Читать далее

Идеальный кандидат: миф или реальность? Привет, Хабр! Меня зовут Арина Кретова, я IT-рекрутер в Lamoda. Время от времени у наших кандидатов возникает вопрос — кто для нас идеальный кандидат и как им стать? Думаю, пришло время поговорить на эту тему и расставить все точки над i. В статье я расскажу о качествах...

Хватит терять клиентов! Или как разработчику тестировать сайт, на примере PVS-Studio. Часть 1 Сайт с багами – горе для бизнеса. Всего одна 404-я или 500-я ошибка может лишить вашу компанию солидной суммы денег и хорошей репутации. Но есть способ избежать этого: тестировать сайт. О том, как это сделать, расскажет данная статья. Прочитав её, вы узнаете, как тестировать...

NEO4J – графовые базы данных В данной статье будет рассмотрена графовая система управления базами данных в Neo4j, а именно: Читать далее

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

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

Кэш в асинхронных python приложениях Всем привет! Кэш один из "слонов" современного веба. Так почему мы так мало его используем на уровне приложения, нашего кода? Тому, кто хочет восполнить этот пробел и не хочет ударить в грязь лицом при написании очередного декоратора - добро пожаловать под кат Читать далее

Индекс Лепрекона Всем привет! Меня зовут Оюна Любимова, я занимаюсь продуктовой аналитикой в Юле и Объявлениях ВКонтакте. Я отвечаю за сбор и интерпретацию данных, чтобы наша команда могла принимать уверенные решения о развитии продукта. В статье я расскажу об аналитике безопасности взаимоде...

Самые громкие события инфосека за 2021 год 2021 пообещал много веселья ещё до того, как начался: за пару недель до его наступления выяснились детали масштабной атаки на SolarWinds, которую будут разбирать еще полгода. Под катом мы подводим итоги ушедшего 2021 в примечательных ИБ-событиях каждого месяца. Читать далее

Разбираем алгоритмы компьютерной графики. Часть 5 – Анимация «Shade Bobs» Алгоритм, который рассмотрим сегодня, не имеет нормального названия. Иногда его называют "Shade Bobs", а вообще это один из многочисленных алгоритмов генерации "плазмы". Когда что-то на экране видоизменяется и переливается.Из множества алгоритмов "плазм", представленный экзе...

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

Покупка битов и сила договора Что происходит в тот момент, когда вы нажимаете "Согласен с условиями" при первом запуске ОС? Действительно ли в этот момент вы обязуетесь выполнять все, что написано в огромном соглашении? Соглашаетесь использовать устройство только для разрешенных производителем целей и об...

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

Микросервисный фреймворк Flogo — собираем систему из кирпичиков Для создания микросервисной архитектуры на Go может использоваться фреймворк Flogo, основанный на идеях потока сообщений/данных между микросервисами и реакции на события. В этой статье мы рассмотрим его возможности на примере простой задачи обработки данных телеметрии. Читат...

Паттерны асинхронных обменов на платформе Авито Привет! Меня зовут Павел Агалецкий, я старший инженер в команде архитектуры. Одна из областей ответственности нашей команды — синхронное (RPC) и асинхронное взаимодействие между сервисами. В этой статье я расскажу о том, как можно связать сервисы друг с другом и как это...

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

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1 Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?Меня...

Фальсифицируем выборы в государственную думу 2021 года, а потом отменяем фальсификации с помощью машинного обучения Предыдущая статья на тему выборов в государственную думу: «Восстанавливаем результаты выборов 2021 с помощью машинного обучения» вызвала интерес. Вместе с тем к статье было много критических комментариев. В некоторых из этих комментариев были подняты спорные вопросы, кото...

Исследования звучания скрипок Страдивари — разбираем несколько теорий Считается, что Страдивари и другие кремонские мастера изготавливали скрипки по необычной технологии, поэтому их инструменты звучат по-особенному. На протяжении десятилетий музыканты, лютьеры, химики и физики пытаются разгадать «секретную формулу». Сегодня обсуждаем различные...

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

Как я самостоятельно раскрутил закрытую группу в FB и что из этого получилось Вопрос работы в Facebook с закрытыми группами и страницами у меня возник, так как средств на копирайтера и отдельного маркетолога у меня нет. Потому пришлось самостоятельно изучать, что и как работает. Сначала для клиентов, а потом и для себя.В этой статье я делюсь личным оп...

[Перевод] В Steam 44 тысяч разработчиков. Кто они? Краткий обзор На момент написания статьи в Steam есть 44 тысяч разработчиков, выпустивших или объявивших о выпуске игры. В сумме они создали почти 70 тысяч игр Steam. В этой статье мы узнаем, кто эти разработчики, какие игры они делают и какую прибыль приносят эти игры. Большинство раз...

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Уязвимость Dirty Pipe позволяет получить root-права почти во всех дистрибутивах Linux Раскрыты данные об уязвимости локального повышения привилегий в Linux, получившей название Dirty Pipe. Для проблемы, которая представляет угрозу почти для всех дистрибутивов, также опубликован PoC-эксплоит.

Samsung Galaxy A23 получит 50-Мп камеру с OIS Сетевые инсайдеры поделились подробностями о смартфоне Samsung Galaxy A23, который еще не был представлен официально. Итак, устройству прочат основную камеру с четырьмя модулями, как и в Galaxy A22. Главный модуль получит 50-Мп датчик изображения SK Hynix и оптическую стабил...

Material You: раскладываем по полочкам обновление дизайн-системы Material Персонализация смартфона, свежая палитра цветов Material, обновлённые компоненты — от кнопок до диалогов.Всё это — про Material You, новую дизайн-систему от Google для мобильных и веб-приложений! Разбираем новую систему цветов и все нововведения Material. Читать далее

Финишные покрытия. Часть 2: типы покрытий СВЧ плат Привет! Меня зовут Олеся, и это вторая часть про покрытия. В этой статье расскажу про финишные и защитные покрытия СВЧ печатных плат. далее

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

03. С прозрачными воротами и яркою звездой Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:Реверс черного тессеракта01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжуюПолучив в прошлой ст...

Вы «продоете теплых кросовок»: ищем идеальную пару обуви с помощью Elasticsearch Привет, эту статью мы пишем вместе — Дмитрий Генинг, руководитель направления разработки R&D, и Александр Желубенков, руководитель направления ранжирования и навигации в компании Lamoda. Одна из самых важных систем, с которой мы работаем — это поиск. Ежедневно на La...

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

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

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

Как мы индекс в Elasticsearch строили Всем привет! Меня зовут Данил, и мы в Just AI разрабатываем платформу для создания различных чат-ботов. И для того, чтобы максимально упростить этот процесс, а именно процесс написания сценария работы бота, мы имеем свой собственный DSL.С его помощью можно описать поведение ...

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

NBomber как альтернатива JMeter для .NET разработчика Как и многие разработчики, впервые столкнувшиеся с нагрузочным тестированием, я начал с JMeter. Для ознакомления и простых сценариев JMeter полностью меня устраивал, но с усложнением задач и потребностью в большем контроле я начал задумываться о поиске более удобной альтерна...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

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

В чем риски перевода крупной организации на опенсорс Привет, Хабр! Меня зовут Дмитрий Комиссаров, я член совета директоров и основатель МойОфис. За годы работы в ИТ я не раз наблюдал, как перед разработчиками встает дилемма: задействовать СПО или написать весь код самостоятельно «с нуля»? На этот вопрос нет универсального от...

Серия Samsung Galaxy S23 разрабатывается под кодовым названием Project Diamond Прошел всего месяц с тех пор, как серия Galaxy S22 поступила в продажу, но похоже, что Samsung уже работает над своей следующей версией. Как стало известно, корейская компания сейчас разрабатывает новую серию Galaxy S23 под названием «Project Diamond». Серия Galaxy S22 ра...

Стабильность develop в Android Всем привет! Меня зовут Костя, я тимлид платформенной мобильной команды в hh.ru. Мы уже рассказывали о практиках, которые помогают нам выпускать еженедельные релизы мобильных приложений: автоматизация тестирования, Release Train, GitHub Flow, Continuous Integration. И нам ст...

Топ 5 самых громких событий инфосека за декабрь 2021 Декабрь для безопасников выдался насыщенным. Нашумевшая уязвимость Log4j, умные часы и приложения, которые следят за вашими детьми внимательнее вас, блокировка Тора и многое другое — всё это под катом. Читать далее

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

Уязвимости из-за обработки XML-файлов: XXE в C# приложениях в теории и на практике Как простая обработка XML-файлов может стать дефектом безопасности? Каким образом блог, развёрнутый на вашей машине, может стать причиной утечки данных? Сегодня мы ответим на эти вопросы и разберём, что такое XXE и как эта уязвимость выглядит в теории и на практике. Читать ...

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого. Читать далее

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

7 ошибок маркетинговых исследований, которые лишают бизнес денег и клиентов Какие сбои бывают при анкетировании, проведении опросов и фокус-групп? Консультант по маркетингу и креатор Анастасия Серегина разбирает ошибки формы и содержания, которые влияют на проведение исследования — и корректность его результатов...

Гудбай AV/EDR или как обойти защиту EDR в Windows При проведении Red Team операций часто возникает вопрос обхода средств защиты. В данной статье будет рассмотрен один из методов отключения антивирусов и EDR. Читать далее

Настройка маршрутизации в сети с неподконтрольным роутером В данной статье описано как можно настроить прозрачное для клиентов использование ресурсов из луковой сети (The Onion Router aka TOR) и VPN соединение с другими сетями если провайдер предоставил вам роутер с минимальными возможностями настройки, сохраняя при этом возможность...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

[recovery mode] Видеоcъемка и фотосъёмка на Raspberry pi в облако Здравствуйте дорогие читатели моего блога.Сегодня статья посвещана организации процесса фото - и видиосъёмки с микрокомпьютера Raspberry pi с последующим сохранением данных в облако в атоматическом режиме.У меня стояла задача создать систему фото- и видеонаблюдения за птицам...

DWH как продукт: платформа, инструменты, масштабирование команды Меня зовут Женя, в Авито я руковожу юнитом DWH. Мы отвечаем за работу с аналитическим хранилищем, которое помогает нашим сотрудникам принимать решения, основанные на данных. В статье расскажу, как продуктовый взгляд помогает нам развивать DWH и быть полезнее для по...

Как разработчикам начать вести Телеграм-канал Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года....

HTB Hancliffe. Разбираем технику Socket Reuse Для подписчиковВ этой статье я покажу прохождение хардовой по сложности машины под названием Hancliffe. На этот раз мы не только найдем и модернизируем готовые эксплоиты, но и напишем свой, который поможет получить управление в привилегированном контексте.

Стратегии оптимизации HDL-кода и синтезатора нетлиста для FPGA В статье будет рассмотрена работа синтезатора нетлиста, его возможности по оптимизации кода и трудности, с которыми он может столкнуться. Показаны две техники написания кода логических схем на Verilog в зависимости от преследуемых целей оптимизации проекта на этапе синтеза. ...

Terraform модуль для создания RBAC правил Начиная с Kubernetes 1.6, RBAC политики включены по умолчанию. К тому же использование этих политик помогает безопасно управлять вашим кластером. Раньше нам приходилось вручную создавать подобные политики, сервисные аккаунты и пользователей. Для каждого нового проекта мы п...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

Эволюция рекомендаций ресторанов в Delivery Club. Часть 1 Всем привет! Меня зовут Иван Максимов, я работаю Lead Data Scientist’ом в команде рекомендаций и A/B-тестирования Delivery Club. Это первая из серии статей про нашу рекомендательную систему. Я расскажу о том, как мы определили проблемы предыдущего подхода к рекомендациям, и ...

В России представлена отечественная система управления аутентификацией и авторизацией RooX UIDM В России представлена отечественная система управления аутентификацией и авторизацией RooX UIDM. RooX UIDM — отечественная система управления аутентификацией и авторизацией. Она разработана для защиты доступа к финансам ...

Утечка домена. Как мы получили доступ к корпоративной переписке через оставленный .git и wpad.dat При  проведении тестов на проникновение мы часто встречаемся с пренебрежением и халатным отношением к сайту компании. Для многих руководителей сайт является галочкой в репутационом портфолио. По мнению руководства и системных администраторов, сайт не приносит дохода и е...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens VDO Dayton CARMiNРеверс черного тессеракта01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо Читать далее

«Магнитофон» для ZX Spectrum на базе Arduino Есть у меня аналог Спекки — персональный компьютер «Мастер». Он прошел несколько модернизаций, так что сейчас работает от обычного USB и с любым телевизором по SCART. Но вот с загрузкой программ есть небольшие сложности: магнитофона у меня уже нет, ноут для этих целей развор...

Как я создал Spring Boot startup analyzer Ни для кого не секрет, что приложения на Spring могут задумываться на старте. Особенно это заметно с развитием проекта: новый сервис стартует быстро и радует отзывчивостью, потом начинает обрастать функционалом, появляются всё новые и новые зависимости, а итоговый дистрибути...

Финишные покрытия. Часть 1: покрытия корпусов для СВЧ Привет! Меня зовут Олеся и работаю СВЧ инженером. Пишу это, чтобы читателям был примерно понятен мой бэкграунд и мотивация. В статье описаны типы покрытий, которые я использую в своей работе. далее

reveal.js: HTML-презентации Привет, меня зовут Александр, я старший разработчик ПО в Центре разработки Orion Innovation и я люблю делиться своими мыслями с людьми, разумеется, любимые форматы – статьи на Хабре и доклады на конференциях и митапах. Сложно представить доклад без презентации, о них и хочу ...

Div на div’е не сидит и div’ом не погоняет: пишем семантически верные индикаторы загрузки на Angular Сверстать собственный индикатор загрузки — одна из самых простых задач, с которой может столкнуться веб-разработчик. Для получения рабочего решения пригодятся базовые знания HTML и CSS, а JS будет нужен лишь для управления процентом выполненной задачи.Однако эта простот...

Уязвимости в системе лицензирования J-Link, или Почему так важно исследовать безопасность устройств Бреши в устройствах не всегда можно закрыть, в отличие от уязвимостей в софте. Однако это не повод для фрустрации! Исследовать безопасность IoT, телефонов, планшетов, блоков управления и т. д. все равно нужно. По крайней мере, можно предупредить поль...

Синаптические веса в нейронных сетях – просто и доступно Этой статьей начинается серия статей, рассказывающих просто и доступно о нейронных сетях и искусственном интеллекте.В статье рассказывается о сути синаптических весов на простом наглядном примере. Читать далее

Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft. Читать далее

Большой обзор Яндекс.Станции Мини и Модуля В этом обзоре я расскажу сразу о двух устройствах, входящих в экосистему умного дома Яндекс и взаимодействующих между собой. Речь пойдет об умной беспроводной колонке Яндекс.Станция Мини и небольшом устройстве Модуле с Яндекс.ТВ, подключающимся в виде приставки к обычному ...

[Перевод] Базовые принципы Availability О чем статьяВ этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.Вся информация основана на парах книг...

Почему видеографы выбирают Андроид? Привет, камрады, киноделы и просто читатели!Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для видеосъёмки на телефон.Внезапные 100K прочтений моей первой статьи о недостатках телефонов Андроид побудили меня написать эту статью-р...

Тысячная статья про принципы SOLID Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (п...

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

Ардуино Тайм трекер додекаэдр Во время удаленной работы бывает тяжело сохранить прежнюю производительность. Мне в этом деле помогло отслеживание своего потраченного времени. Для этой цели я сделал себе тайм трекер куб. Каждая сторона куба отвечает за тот или иной вид деятельности. Затем, я понял, что шес...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Разбираем алгоритмы компьютерной графики. Часть 4 – Анимация «Салют» Еще немного в копилку красивых эффектов и алгоритмов.Вы в своей жизни наверняка видели салют, когда в ночном небе взрывает огненный шар и от него во все стороны медленно разлетаются огни.Давайте попробуем проанализировать то, что мы с вами видим с точки зрения физики и прогр...

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

[Перевод] У SDET — сердце разработчика Я Software Engineer in Test (SET). Многие не совсем понимают, что это значит. Разработчики часто называют меня «тестировщиком» или «QA», а бывший директор однажды подумал, что я занимаюсь DevOps. Хотя моя работа и охватывает данные области, они не являются моим основным напр...

Обнаружена уязвимость PwnKit! 12-летняя LPE в большинстве Linux-дистрибутивов В новый год с новыми старыми уязвимостями! 25 января командой Qualys был опубликован отчет об уязвимости класса memory corruption (https://cwe.mitre.org/data/definitions/787.html) в утилите pkexec из компонентов Polkit (бывший PolicyKit). Успешная эксплуатация уязвимост...

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Новая глава. Как AGIMA меняет подход к кадрам Привет! Меня зовут Александр Богданов, я основатель компании AGIMA. Эта статья очень важна для меня, всей нашей команды и IT-специалистов, которые сейчас оказались на распутье. Санкции против России существенно повлияли на весь бизнес в стране и, конечно же, на рынок IT. А п...

Что там у PVS-Studio c покрытием Toyota ITC Benchmark? Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchma...

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com. Практика показывает, что далеко не все ...

[Перевод] Сериализуемость транзакций В этой статье рассмотрим, что такое "Сериализуемость" (Serializability) и какие гарантии она предоставляет.В реляционных СУБД уровень изоляции Serializable (сериализуемость), как следует из названия, обеспечивает сериализуемость транзакций. Однако, как вы увидите далее, в не...

Молодым везде у нас дорога, везде ли старикам почет? Привет Хабр!В этой статье я хочу поделится своими соображениями по поводу перспектив роста и развития «пожилых» (в возрасте более 40 лет) разработчиков. Статья будет полна субъективизма и антитолерантности, так что всем желающих похоливарить – добро пожаловать в комментарии....

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Большая статья о переезде на остров Пенанг, Малайзия. Часть 2 В первой статье я рассказывал о переезде в Малайзию. Здесь я расскажу о ценах в Малайзии и каких-то вещах о жизни. Цены буду писать в малайзийских рингитах, поделив эти цифры на 5, вы получите цены в евро. Читать далее

OWASP Top Ten и Software Composition Analysis (SCA) Категория A9 из OWASP Top Ten 2017 (ставшая A6 в OWASP Top Ten 2021) посвящена использованию компонентов с известными уязвимостями. Для её покрытия в PVS-Studio разработчикам придётся превратить анализатор в полноценное SCA-решение. Как же анализатор кода будет искать уязвим...

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

Angular vs React глазами новичка В 2021 году на рынке фронтенд-технологий лидируют React, Angular и, с некоторым отставанием, Vue. В нашей компании для унификации подбора разработчиков сделан упор на React, но ряд крупных систем разрабатываются с помощью современных версий Angular. В связи с конкуренцией эт...

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

Как мы перешли с kotlinx.synthetics на Android View Binding Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers объявили, что android-kotlin-extensions plugin для Gradle больше не дружит с...

Разбираем задачу T9 (predictive text) Привет, Хабр! На днях ко мне обратился ученик на одном из ресурсов, где я выступаю в качестве frontend-ментора, с просьбой разобрать одну задачу. Суть задачи состояла в следующем:Найти все доступные комбинаций предложений, полученных методом T9 (predictive text)Вводные данны...

G.Skill выпускает модули памяти линейки Trident Z5 DDR5 с частотой 6000 МГц G.Skill представила самый быстрый на сегодняшний день комплект памяти DDR5. Новейший двухканальный комплект памяти от G.Skill предлагает скорости DDR5-6000 с таймингами CL30-40-40-96 с двумя модулями по 32 ГБ, что в сумме дает 64 ГБ памяти DDR5. Комплект памяти G.Sk...

[Перевод] Пишем Python-расширение на Ассемблере (зачем?) Прим. Wunder Fund: в жизни каждого человека случается момент, когда ему приходиться позаниматься реверс-инжинирингом. В статье вы найдёте базовые особенности работы с ассемблером, а также прочитаете увлекательную историю господина, который решил написать Питон-библиотеку на ...

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

[Перевод] Технология солнечных модулей из старейшей фотоэлектрической системы в Нидерландах Солнечная панель, выставленная в музее науки в Нидерландах, является одной из 2748, которые использовались для самой старой фотоэлектрической системы страны. Модуль имеет КПД около 9% и выходную мощность 18 Вт. Он был произведен немецкой компанией AEG-Telefunken в 1982 году....

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

25+1 лучших OSINT расширений для Google Chrome Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.Сегодня мы разберем расширения для Google Chrome которые помогут нам собирать и анализировать данные из открытых источников, ну и в целом улучшат наш ...

Что там у ReactOS? 16 декабря сего года, команда разработчиков ReactOS, спустя долгое время после последнего релиза (с последнего прошло почти полтора года) выпустила новую версию под номером 0.4.14. Это все еще альфа-версия.В данной статье мы рассмотрим основные новшества как со стороны разра...

Погромист. Мои самые эпичные провалы за всю карьеру Я люблю критику. Если вы не заметили, я, как старый дед, всё [поливаю грязью](https://habr.com/ru/post/594601/) и всем [недоволен](https://habr.com/ru/post/550088/).Забавно, но в то же время я люблю, когда критикуют меня самого, потому что именно в такие моменты я что-то нач...

Электроника всем начинающим Хабр! Добро пожаловать снова. Сегодня мы сделаем одно из самых бесполезных устройств из тех что можно собрать, но как показывает жизнь лучше сделать что-то чем не сделать ничего тем не менее в защиту этой бесполезности можно сказать только что-то вроде: много ли интерес...

Вам посылка, или Как мы доставляем сообщения с сервера на клиент в реальном времени Меня зовут Алексей Комаров, я — старший frontend-разработчик в SuperJob. Хочу поделиться опытом реализации механизма обновления данных в реальном времени у нас на сайте. Под катом — подробности о выборе подхода, о проблемах, с которыми мы столкнулись при разработке, о наших ...

Обеспечение качества чат-бота: разбираем на примере слоёного пирога В Ozon поступают сотни тысяч заказов в день — при таком масштабе у пользователей неизбежно возникают очень разнообразные вопросы, которые они пишут в чат поддержки: как оплатить баллами «Спасибо», как вернуть не понравившуюся кофту или есть ли доставка в Норильск. При этом б...

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

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

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

[Перевод] 30 команд Git, необходимых для освоения интерфейса командной строки Git Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих п...

3 простые вещи, которые сделают вашу жизнь лучше Цель данной статьи довольно проста — принести пользу людям, дав им в руки несколько действительно рабочих инструментов, которые проверены на практике.Три простых вещи, о которых пойдёт речь в данной статье это:· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для ...

Разбор алгоритмических задач с собеседований в Google, Facebook, Amazon Всем привет! В данной статье пройдемся по двум задачам, взятым с leetcode.com из списка часто встречаемых задач на собеседованиях в FAANG:1. Guess the word2. Number of Good Ways to Split a StringЯ надеюсь на то, что вам понравятся задачки, и возможно, вы напишете свое лич...

Новые возможности в WinAPI на Windows 11 С выходом новой операционной системы, у Microsoft изменились приоритеты в дизайне - теперь у интерфейса появились анимации, да и в целом он стал менее острым. В данной статье я поделюсь некоторыми нововведениями, с которыми столкнулся в процессе работы с WinAPI. Читать далее

FOSS News №103 — дайджест материалов о свободном и открытом ПО за 20—26 декабря 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

Классификация текста с использованием моделей трансформеров Модели трансформеров на данный момент являются state-of-the-art решениями в мире обработки естественного языка. Новые, более крупные и качественные модели появляются почти каждый месяц, устанавливая новые критерии производительности по широкому кругу задач. В данной статье м...

Можно ли автоматизировать автоматизацию тестирования? В своем докладе на конференции TestDriven Conf 2022 Станислав Васенков предлагает за минуту создать из ручного теста проект с автотестами в боевой инфраструктуре. О том, как разрабатывался генератор, можно узнать из интервью.Кроме того, мы обсудили актуальные проблемы соврем...

Как я визуализировал граф билда. Build Graph for Xcode Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что п...

Выходим в Интернет с помощью модуля на SIM800L Привет всем неравнодушным! Сегодня предлагаю поговорить о миниатюрных GSM-модемах на базе чипа SIM800L. Области применения таких модулей весьма обширны: охрана дачи или дома, сигнализация в машине и многое другое, где требуется удаленная связь, а возможности подключиться к W...

[Перевод] Сравнение типов данных VARCHAR(max) и VARCHAR(n) в SQL Server Тип varchar(max) часто используется как в обычных, так и во временных таблицах. Да, с ним можно не беспокоиться о длине строк или появления ошибки "Произойдет усечение строковых или двоичных данных" (String or binary data would be truncated).Но стоит ли использовать varchar(...

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

[Перевод] Уязвимости в Linux допускают возможность атаки «в один клик» Группа исследователей CrowdStrike Intelligence обнаружила несколько уязвимостей, влияющих на LibVNCClient в Linux. В некоторых широко используемых средах рабочего стола (например, Gnome) эти уязвимости можно эксплуатировать одним кликом мыши. Детали под катом. Читать да...

Электропривод с ШИМ – способ улучшения динамики контура тока В продолжение темы модельно ориетированного проектирования, публикую очередную статью Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. В новой статье раскрываются рецепты лечения "вялого" электропривода. Данный текст ...

Охота на Вампуса. Переосмысление классической игры для Алисы Привет! Меня зовут Кирилл Богатов, я дизайнер голосовых интерфейсов в команде TORTU и заядлый геймер. Когда эти две страсти сталкиваются, рождаются необычные концепты для голосовых игр.Месяц назад я выпустил игру «Охота на Вампуса» для голосового ассистента Алисы. Игра получ...

Разработка без ТЗ Техническое задание штука сложная и долгая. Написание ТЗ многих вгоняет в уныние. А чтение ТЗ некоторых доводит до трясучки. Так же и в нашей компании. После месяцев страданий и обвинений друг-друга во всех мыслимых и не очень проблемах родился подход. Спустя время подход до...

C++ Builder. Есть ли жизнь после смерти? Мнение одного динозавра В этой статье я опишу собственные впечатления о последних версиях среды разработки RADStudio от Embarcadero и, возможно, постараюсь помочь кому-то в ответе на вопрос: «А оно мне надо?».Сразу оговорюсь. Все описанное в этой статье является моим личным мнением и любые сравнени...

[Перевод] Путь к пониманию декораторов в Python Прим. Wunder Fund: В этой статье разбираемся, что такое декораторы в Python, зачем они нужны, и в чем их прикол. Статья будет полезна начинающим разработчикам.Материал рассчитан на начинающих программистов, которые хотят разобраться с тем, что такое декораторы, и с тем, как ...

Быстрый, резкий, как пуля, дерзкий. Как работать над перфомансом сайта, чтобы нравиться пользователям и Гуглу Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфей...

[Перевод] Постигаем WebAssembly, рисуя кривую дракона Познакомьтесь с WebAssembly на примере этого простого туториала, требующего лишь самых общих знаний в веб-разработке. Весь инструментарий, который понадобится вам, чтобы составить впечатление о Wasm на основе готовых к запуску примеров кода – это редактор кода, любой совреме...

Как взломать систему через тестовую среду Безопасность на реальных примерах всегда интересна.Разговор будет идти о взломе систем через тестовые среды. В приведенном ниже примере из тестирования на проникновение для одного нашего клиента был получен прямой доступ в облако с полным доступом сразу к нескольким лайв сис...

Тестирование офисных пакетов Р7-Офис, МойОфис, LibreOffice и MS Office Всем доброго времени суток. В рамках импортозамещения или точнее ухода от MS Office, на работе, возникла необходимость в рассмотрении российиских аналогов офисных пакетов и пакета LibreOffice, т.к. он автоматически установлен в дистрибутивах astra linux. Здесь хочу поделитьс...

CloudSec 2021: никому не доверять, в облаках не витать Привет, Хабр! Каждый год Trend Micro проводиn глобальную конференцию по облачным технологиям и кибербезопасности CloudSec, чтобы вдохновить всех участников на непрерывное изучение тенденций отрасли, передового опыта и новых технологий, которые помогут защитить цифровую инфра...

БДСМ с БД ПМО или как я работал с госданными Росстат ежегодно публикует порядка 4 тысяч показателей государственной статистики. Они доступны всем без каких-либо ограничений по статусу, правам доступа и т.п. Но публикуя данные, Росстат прежде всего ориентируется на то, что пользователи будут работать с ними вручную (гла...

Пишем свои модули для Ansible на Python Для жаждующих знаний и прогресса собрали материал из урока Дениса Наумова, спикера курсов Ansible и Python для инженеров. Немного разберёмся с теорией и посмотрим как написать модуль для создания пользователей в базе данных.Материал объёмный. Рекомендуем сразу открыть итогов...

[Перевод] Безопасность в транспортных средствах с IoT В данной статье будет представлена методика повышения безопасности путем применения определенных правил приоритизации, использования цифровых сертификатов и применения политик доверия и репутации для обнаружения угнанных транспортных средств.  Читать далее

Топ 10 самых интересных CVE за февраль 2022 года ДИСКЛЕЙМЕР!Внимание! Вся представленная информация предназначена для ознакомительного изучения. Автор не несет никакой ответственности за причиненной вред с использованием изложенной информации.Заканчивается второй месяц 2022 года, пора подвести итоги самых интересных уязвим...

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

Что вы делали прошлым летом: на лыжах по городу Прошлым летом я тестировал батарейку. Я уже здесь писал о своей шайтан-арбе, которую я сделал весной. Но батарейки, которые у меня были, позволяли проехать чуть больше 25 км — маловато будет. Захотелось мне разжиться новой. О том и история, но будьте готовы к тому, что в ...

Databaser. Возвращение легкости стартапа Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – ра...

Security Week 47: обновленная атака Rowhammer на модули памяти DDR4 На прошлой неделе исследователи из Высшей технической школы в Швейцарии (ETH Zurich) опубликовали работу (пост в блоге команды, сама работа, исходники на GitHub), описывающую новый метод атаки типа Rowhammer на модули памяти стандарта DDR4. Атака получила название Blacksmith...

Wireguard VPN, Yggdrasil, ALFIS DNS и AdGuard На написание этой статьи спровоцировала вот эта статья, с кучей странностей, и необязательных действий. Если коротко, то автор не понимает зачем он ставит те или иные программы, а именно - Unbound и dnsproxy. Но так как кроме исправления недочётов той статьи хочется добавить...

[Перевод] Введение в язык программирования Leo Основная Leo — это основанный на Rust язык программирования со статической типизацией, созданный для написания частных приложений. Он предназначен для разработчиков, которые могут интуитивно строить блокчейн Aleo, обеспечивая основу для частной децентрализованной э...

Дефицит есть, а денег не дают. Почему? Мы уже выяснили, что у нас есть дефицит рабочих рук во всех отраслях. На примере СССР увидели, что дефицит легко закрывается деньгами и плюшками, что сейчас и происходит в IT. Однако при дефиците рабочих рук в остальных отраслях зарплаты остаются на уровне Румынии и никак не...

Что нужно клиентам Прочтя на хабре очередную статью о том, как мы и так, и эдак удовлетворяли заказчиков, прокомментировала. Я написала "дайте клиентам уверенность и спокойствие" (цит. по памяти). Просто отстаньте от нас, клиентов. От нас, лояльных. Делайте то, что у вас уже покупают. Стабильн...

04. The Gold-Bug A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out. ...

Мой первый Pet-проект — Regexoop Спустя некоторое время я увидел интересный метод "12 проектов за 12 месяцев". Суть метода состоит в том, что ты каждый месяц делаешь 1 продукт и показываешь его людям. Неважно насколько он готов.Regexoop - переосмысление подхода написания regex. 30 сентября я подумал - "Хм, ...

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

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

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

Этапы развития продакт-менеджера. От разработки фич до выхода на новый рынок Меня зовут Наталья Царёва, вот уже 4 года я работаю в компании ISPsystem на должности product manager. Сейчас я полностью отвечаю за DCImanager —  это платформа для управления оборудованием. Как CEO, только не компании, а продукта. Но такой уровень ответственности и спи...

Этапы погружения junior-разработчика Всем привет! Меня зовут Иван Сёмин, я руковожу несколькими командами разработки в компании Домклик. На данный момент в моём подчинении 28 человек, часть из которых приходила на junior-позицию. Хочу поделиться своим видением погружения новых сотрудников в процессы компании и ...

Return to Hogwarts: смотрим спецвыпуск «Гарри Поттера» и разбираем английский Новогодние праздники — отличный повод пересмотреть любимые кинофраншизы. И чаще всего это либо «Властелин колец», либо «Гарри Поттер». А тут пару дней назад компания HBO подогнала отличный подарок фанатам истории про «мальчика-который-выжил» — документальный фильм «Возвращен...

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

[Перевод] Выходим за рамки тестового покрытия Зачем вы пишете автотесты для проекта? Надеюсь, для того, чтобы с их помощью найти дефекты. Написание тестов — не бесплатная штука, кто-то должен их разработать и поддерживать. Выполнение этой работы стоит недешево, поэтому вложения должны приносить пользу. Как доказать, что...

FOSS News №102 — дайджест материалов о свободном и открытом ПО за 13—19 декабря 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4j...

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

Статья для тех, кто как и я не понимает, зачем нужен std::common_type В данной статье мы рассмотрим, зачем в стандартной библиотеке нужна конструкция для вывода общего типа, как она реализована и как она работает. Читать дальше →

ХPath: что нужно делать, а что нет Привет, Хабр! В прошлый раз мы уже поднимали тему написания селекторов на XPath для автоматизации тестирования веб-сервисов. Сегодня мне хотелось бы поговорить о практиках работы с XPath. Этот пост будет том, какие приемы хорошо работают, а каких вещей лучше избегать, если в...

Вирус-похититель криптовалют обнаружен в Telegram В мессенджере Telegram появился новый вирус, направленный на владельцев криптовалют. По данным аналитиков распространение программы Echelon, ориентированной на похищение идентификационных данных криптовалютных кошельков, осуществляется через аккаунт Smokes Night. Способен ви...

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

Авторизация для бедных или как сделать RBAC для REST API с помощью OPA Когда речь заходит про права доступа в приложении, то из этой ситуации появляется два результата:Либо в коде приложения появляются привязки к неким ролям/scope’ам;Либо разработчик обрастает бородой и начинает сыпать фразами вроде abaс, xacml и матрица доступа; Если вам ...

Парсим NFT транзакции на OpenSea Примерно раз в год у меня появляется неутолимая жажда накопать много данных и что-то с ними сделать. В этот раз мой выбор пал на маркетплейс NFT OpenSea. Меня осенило что блокчейн - это про открытые данные, а учитывая 1.2 миллиона транзакций в сети ETH каждый день - то это е...

Security Week 2205: эскалация привилегий в Linux и Windows Важной новостью прошлой недели стало обнаружение уязвимости в PolKit — открытом ПО, использующемся в большинстве популярных дистрибутивов Linux для контроля пользовательских привилегий. С 2009 года в коде входящей в состав PolKit утилиты pkexec существовала ошибка, вызывающа...

Zynq 7000. Прикручиваем Wi-Fi модуль RTL8822CS с использованием SDIO через EMIO Наконец-то пришла пора продолжить изучение возможностей платы Zynq QMTech и SoC XC7Z020. Следующая интересная задача, которую я для себя придумал в качестве обучающей - оснастить плату Wi-Fi модулем Realtek RTL8822CS и, если Wi-Fi модуль будет не нужен, а нужна будет ещё одн...

Вышло важное обновление браузера Google Chrome для компьютеров Компания Google выпустила очень важное обновление браузера Google Chrome, закрывающее массу уязвимостей.Обновление Google Chrome вышло для операционных систем Windows, macOS и Linux. Апдейт закрывает сразу две уязвимости нулевого дня, а также пять уязвимостей попроще.В перву...

Мой опыт собеседования в Amazon О чем эта статьяЭто не история успеха, потому что в Амазон меня не взяли, но и не история полного лузера, который бомбит из-за своей тупости, ибо позже я прошел в Майкрософт, о чем будет отдельный пост. Это история о моем опыте собеседования в Амазоне, почему мне в цело...

Как скрестить Intel с Эльбрусом: Обзор новой линейки СХД АЭРОДИСК Всем доброго здравия! В этой статье мы проведем обзор обновленной линейки систем хранения данных АЭРОДИСК Восток-5 и АЭРОДИСК Engine-5. В новых СХД мы уделили много внимания управлению большими хранилищами в многоконтроллерных конфигурациях на разных процессорных архитектура...

HTB Spider. Эксплуатируем инъекцию шаблонов и уязвимость в XML Для подписчиковВ этой статье я покажу, как проводятся атаки server-side template injection, SQL injection и XML external entity injection (XXE). В этом мне поможет машина Spider сложного уровня с площадки Hack The Box. Приступим!

Что вижу, то и программирую Не знаю, как у вас, в большом мире программирования, а у нас, в 1С, очень распространён подход «что вижу, то и программирую». Есть более удобоваримое название: «программирование от данных». Однако, чаще всего это называют говнокод. Хотя, тут я не согласен – до говнокода ещё ...

Performance review как инструмент для оценки результатов работы и развития сотрудников Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.Статья будет полезна, если вы задаётесь вопросами: •Как оценить вклад каждого сотрудник...

5 причин, почему я не напишу статью на тему: " 10 причин, почему я не куплю AMD/Intel/NVidia" Оценим субъективность написания статей подобного рода и рассмотрим, стоит ли вообще таким статьям доверять (минимум картинок).

[Перевод] Как миграция с Oracle на PostgreSQL в облако влияет на сторадж? Вы когда-нибудь задумывались о том, чтобы перенести крупномасштабное программное решение с Oracle на PostgreSQL, а затем развернуть его в общедоступном облаке? Если Вы планируете реализовать подобное, возможно, Вам поможет наш опыт. Данная статья подробно рассказывает о наше...

Мирная Олбания. Казнить нельзя помиловать? Буду краток и без картинок. Мне нравится Хабр. Читателем являюсь давно. В 18 году решился оставить комментарий, а в 19 прилетело НЛО и присвоило медаль Автора. Теперь я «автор» 4х публикаций, так характерный для ресурса. Если хватит сил и смелости, то после этого поста будет...

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

Как сделать красивый вывод текста на C# Прошлый пост на счет сердечка посмотрело много людей и у меня возникла идея сделать еще одну простенькую, но достаточно красивую штуку, а именно такой вот вывод текста(можно сказать анимированного, но язык не поворачивается). Данный пост подходит для новичков, можно потренир...

4600 мА ·ч, 120 Вт, Snapdragon 8 Gen 1, экран AMOLED 2K, три датчика по 50 Мп, 4 динамика и Android 12 с MIUI 13. Представлен Xiaomi 12 Pro Компания Xiaomi сегодня представила не только Xiaomi 12, но и модель, стоящую на ступень выше – Xiaomi 12 Pro Max. До выхода Xiaomi 12 Ultra в первом квартале следующего года именно Xiaomi 12 Pro будет самым топовым смартфоном компании. Главное отличие Xiaomi 12 ...

Большой дисплей. Замороженный проект Прочитали заголовок? Я думаю, вы все неправильно поняли. Проект заморожен в буквальном смысле — залит водой и охлажден до температуры около -10°C. Сначала — отказ от ответственности. Все персонажи являются вымышленными и любое совпадение с реально живущими или когда-либо ...

Как я, спустя 4 года фриланса, устраивался в найм Фриланс это… Пока я писал эту статью, меня отвлекали сообщения от клиентов 24 раза.P.S. Писал я её в нерабочее время. Читать далее

Собираем свою библиотеку для SSR на React. Роутинг В прошлой статье мы создали библиотеку, которая позволяет запускать сервер для рендеринга React-приложения.В этой статье добавим механизм роутинга и получения данных на сервере и прокидывания их на фронт. Как и в первой части, будем ориентироваться на практики, применяемые в...

Я учусь на тестировщика. Сравнение двух онлайн школ Сегодня на рынке огромное количество курсов, предлагающих легко и быстро стать тестировщиком, но так ли это, все ли курсы одинаково полезны? Когда я решила изменить свою жизнь и снова пошла учиться, всё оказалось совсем непросто. Окончив половину годового курса и получив пре...

Управление освещением через BLE Mesh Обзор возможностей BLE модуля JDY-10 на базе TLSR8266 с прошивкой поддерживающий mesh сети. Читать далее

Уехать в Германию на финишной прямой до пенсии, отыскать там СССР Уехать в Германию на финишной прямой до пенсии, отыскать там СССР или как сбежать из тюрьмы, и чтобы тебе за это ничего не было Март 2022. События последних недель разделили нашу жизнь на ДО и ПОСЛЕ, а наше общество – на тех, кто ZА и ПРОТИВ. Воздержавшихся, кажется, уже не...

Парсинг для взрослых или Инфраструктура для промышленного парсинга В студенческие годы я написал на заказ много парсеров магазинов и социальных сетей. Со временем парсеры усложнялись и из скриптов превращались в полноценные веб-приложения c базой данных и Rest API. В статье описан шаблон веб-приложения, который использую для создания парсео...

[Перевод] U-boot. Процедура инициализации по шагам В предыдущей статье был описан процесс настройки IDE Eclipse для кросс-платформенной отладки загрузчика U-boot. В данной статье описывается устранение последних ограничений, препятствовавших полноценной его отладки. После чего, получив возможность полноценной отладки кода, п...

ЕГРЮЛ, ЕГРИП в виде архивов ФНС, csv, xml, json (API) и анализ данных С началом войны РФ с Украиной мои статьи потеряли смысл на фоне этого ада. Продуктивно работать почти невозможно. Кто-то потерял дом, кто-то детей. Миллионы беженцев.Два из трёх этажей своего дома я отдал под размещение двух семей беженцев с детьми. Если у вас есть возможнос...

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

И еще немного про авто-тесты в QEMU Привет, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Dannie и мы тут делаем умные камеры. По долгу службы, мне потребовалось завести эмуляцию прошивки для чипа из семейства MIPS. В рамках разработки проекта мы обозначили для себя задачу получения быс...

Смартфоны линейки Galaxy S21 начнут обновляться до One UI 4.1 в феврале В подробностях One UI 4.1 мы разбирали материалом ранее. Читать полную статью

50 оттенков нагрузочного тестирования С нарастающими скоростями и распределёнными системами всё сложнее бывает создать приложение удобным для конечного пользователя. Программы обладают кучей фич. Но выполняют ли они то, что нужно юзерам? А скорость их выполнения достаточная? А производительность при выполнении н...

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

Node.js: шаблон сервера для аутентификации и авторизации Привет, друзья! На досуге разработал шаблон Node.js-сервера для аутентификации/авторизации, которым хочу с вами поделиться. Надеюсь, кому-нибудь пригодится. Обратите внимание: шаблон — это всего лишь хорошая отправная точка, с которой можно начать разработку собственного с...

Патч для уязвимости в библиотеке Log4J сам содержит уязвимость Злоумышленники уже активно пользуются ей

Microsoft обнаружила уязвимость macOS "Shrootless", уже доступно исправление Компания Microsoft раскрыла подробности уязвимости macOS, которую она обнаружила и сообщила Apple. Уже выпущено исправление для ОС macOS Monterey, Catalina и Big Sur

Ещё одна статья про дизайн-системы (в продуктовом дизайне) Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме. И да, я решил написать ещё одну статью по дизайн-системам, в довесок к 7 млн уже существующих. Я думаю, эта статья будет бесполезна для любого, кто сталкивался с ДС вживую. Но с другой стороны, мне регулярно ...

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

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

Как научиться слушать всех и не превратиться в будку гласности Меня зовут Александр Глухов, я в финтехе с 2013 года. Сейчас работаю в Ак Барс Банке и оптимизирую процессы в мидл-офисе и бэк-офисе. Мы делаем разные продукты для банка, один из них — универсальное рабочее место сотрудника. Это внутренний сервис для сотрудников банка, котор...

Нано-статья о том, как я в SAS NULL-ключи джойнил Привет, Хабр! Меня зовут Сергей Барановский, я руководитель проектов по аналитике в Блоке по клиентскому опыту и сервису и сегодня я хочу поделиться наболевшим. Джойн таблиц — одна из самых базовых вещей в аналитике. Казалось бы, допустить здесь ошибку почти невозможно. И пр...

Повышаем эффективность работы с Word В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе. Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Conflue...

Сборка мусора в Unreal Engine В данной статье описывается сборка мусора как в общих словах, в плане алгоритмов которые она использует и проблем, которые решает, так и реализация в движке Unreal Engine в частности. Дополнительно будут даны практические советы по работе со сборкой мусора и разбор самый час...

Как переориентировать продуктовый подход облачного провайдера на быстрые изменения Привет, Хабр! Меня зовут Николай, я работаю менеджером по продукту в ИТ.  В прошлом году я перешел из компании поменьше в DataLine, где как раз начались интенсивные изменения в управлении продуктами.  В этой статье вместе с нашим операционным директором @abagaev ...

Как упростить работу с базами данных в Node.js с помощью Objection.js Objection.js — сравнительно молодая и минималистичная ORM-библиотека для Node.js, которая сильно упрощает взаимодействие с базами данных и не перегружена дополнительными функциями, как Sequelize или TypeORM. Разбираемся, в чем ее специфика и как строить запросы с ее помощью....

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

Вы снова здесь, изменчивые тени. О поисках истинно четырехмерных объектов Ранее в этом блоге я уже рассказывал о современных научных представлениях по поводу четвертого измерения. Особо упомяну статью «Большой взрыв и песочные часы, или куда на самом деле течет время», где я писал о математически смоделированной двухмерности времени. В рамках теор...

«Слабые» ссылки в CPython Модуль weakref позволяет создавать "слабые" ссылки на объекты."Слабой" ссылки не достаточно, чтобы объект оставался "живым": когда на объект ссылаются только "слабые" ссылки, сборщик мусора удаляет объект и использует память для других объектов. Однако, пока объект не удалён...

Взгляд на легаси со стороны «пассажира» Всем привет! Меня зовут Виктория, в Typeable я занимаюсь вопросами архитектуры приложений. На сей раз у нас возник спор о том как бизнес воспринимает проблему легаси и понимает ли суть этой проблемы. Поскольку для технических специалистов тайны в этом нет, то назначение этой...

Alien & Predator: новый шпионский софт охотится на данными на Android Вероятнее всего, вредоносное ПО разрабатывалось в Северной Македонии.

Экстренные патчи для Chrome устраняют несколько 0-day уязвимостей Компания Google выпустила Chrome 95.0.4638.69 для Windows, Mac и Linux. В браузере исправили две уязвимости нулевого дня, которые активно использовались злоумышленниками.

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

Свободный поиск по вашим правилам В последнее время активно ходят слухи о том, что в основанных на Chromium браузерах скоро станет невозможно удалять поисковые системы, установленные в браузерах по умолчанию. Ожидается, что такое счастье наступит в жизни пользователей Google Chrome, Microsoft Edge, Brave и O...

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

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

[Перевод] Практическое руководство по методу максимального правдоподобия Вам наверняка доводилось когда-либо в своей жизни принимать решение о покупке, основываясь на отзывах о товарах. Как социальным существам нам свойственно покупать вещи, которые рекомендуют другие покупатели.Недавно, в поисках новых наушников, я просмотрел все товары, которые...

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

Kubernetes в НСПК Всем привет! Меня зовут Назаров Алексей, я работаю в отделе администрирования инфраструктурных сервисов автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем. Читать далее

Линукс-порт Far Manager: что нового за 2021 Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.Буфер обмена в консольной версииТеперь far2l, как и mc, умеет использ...

Как заинтересовать 120+ HR всего за месяц. Или как захантить к себе аналитика данных За месяц поиска работы собрал много полезной информации и хочу с вами ею поделиться.В начале немного статистики по прохождению этапов отбора в компанию:1 этап "Собеседование с HR-ом": 120+ HR-ов (рекрутеров) написало мне за месяц2 этап "Собеседование с руководителем" (знаком...

[Перевод] Прощай Evernote Прощай EvernoteПеревод статьи об альтернативе сервису ведения заметок Evernote Читать далее

Игровые автоматы в казино PlayFortuna Для азартных игроков свои услуги предлагает онлйан казино Плей Фортуна. Это виртуальный клуб работает уже много лет, он один из первых освоил работу в онлайн режиме и позволил геймерам не выходя из дома посещать казино. Клуб имеет богатый опыт работы в сети и предлагает клие...

Байесовская Сеть Доверия: Практика Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этой статье.В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на при...

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

Для 0-day уязвимости в Chrome вышел экстренный патч Разработчики Google выпустили новую версию Chrome для Windows, Mac и Linux (96.0.4664.110), в которой устранили серьезную уязвимость нулевого дня, уже находящуюся под атаками.

[Перевод] Как я написал алгоритм сортировки, который быстрее std::sort. Часть 3 Публикуем третью часть перевода материала о быстром алгоритме сортировки. Вот, на всякий случай, ссылки на первую и вторую части. В тех материалах мы говорили о теории сортировки, об особенностях работы нового алгоритма, разбирали тесты его производительности. Сего...

Фотоэлектрические модули для Sinopec будет поставлять Risen Energy Компания Risen Energy Co., Ltd., ведущий производитель фотоэлектрических модулей в Китае, выиграла тендер на поставку фотоэлектрических модулей TITAN мощностью 650 Вт для демонстрационного проекта компании Sinopec по производству зеленого водорода, который будет реализован в...

2021 год: новый рекорд по количеству уязвимостей Привет, Хабр! Сегодня мы хотим поделиться интересной статистикой о количестве уязвимостей, которые были обнаружены в самом различном ПО на протяжении 2021 года. И хотя он еще не закончился, мы уверенно приближаемся к новому рекорду. Показатели уже выше, чем в прошлом, позапр...

С 2 лет до 6 месяцев: как мы ускорили “доставку” почтового ПО в 4 раза Всем привет! Меня зовут Антон, я системный архитектор отдела разработки курьерских сервисов в Почтатехе. Мы разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. Команда нашего отдела создаёт и ра...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

Классификация признаков транзакций в моделях поведенческого скоринга На основании материалов хакатона AlfaBattle 2.0 в настоящей статье рассмотрены:•   подходы к классификации признаков транзакционных данных, применимость отдельных признаков под задачи предсказания потребительского поведения,• решение бизнес задачи  поведенческо...

Сколько стоит СВЧ лаборатория? Приветствую! Я СВЧ-инженер, и я разрабатываю различные устройства. Кроме того, в мои обязанности входило и входит подбор измерительного оборудования, так что мне эта тема близка и интересна. Сейчас же, у меня дома есть мини-лаборатория.В этой статье я расскажу о минимальном ...

Хакеры потеряли интерес к уязвимости Log4Shell Специалисты организации ICS SANS отмечают, что атаки на уязвимость Log4Shell, еще недавно крайне популярную среди хакеров, почти сошли на нет.

Все сложно с омонимами в английском Омонимы — это буквально баг в лингвистике. Лексемы, которые случайно получили одинаковое написание или произношение. Или сразу с древних времен, или на протяжении истории развития языка. Так или иначе, к ним привыкли и не стали менять. Но проблемы остались. Многие нейти...

«Сюрприз, сюрприз», — основатель Binance утверждает, что Россия легализует криптовалютные платежи Генеральный директор криптовалютной биржи Binance Чанпэн Чжао (Changpeng Zhao) опубликовал в Twitter сообщение о том, что Россия скоро разрешат платежи в криптовалюте на законодательном уровне. Россия легализует криптовалютные платежи. Сюрприз, сюрприз Чанпэн Чжао После...

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:1) реализация табличного источника данных (UITableViewDataSo...

Восприятие цвета в интерфейсе: почему мы видим его по-разному Про инклюзивность в интерфейсах и то, как дизайнеру учесть особенности цветового зрения.Привет! Меня зовут Николай Комиссаров, я руковожу командой дизайна Пульса (pulse.mail.ru) и медиапроектов в VK, а также занимаюсь социальными проектами компании. Недавно, работая над...

Renesas разрабатывает микроконтроллеры нового поколения с поддержкой спецификации Bluetooth 5.3 с Low Energy Некоторое время назад компания Renesas Electronics объявила о разработке микроконтроллеров нового поколения, которые будут поддерживать недавно принятую спецификацию Bluetooth 5.3 Low Energy (LE). Они пополнят семейство Renesas Advanced (RA), куда входят 32-разрядные ми...

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

[Перевод] Flutter 3: что нового Представляем перевод статьи о свежем релизе Flutter с комментариями Евгения Сатурова, Head of Flutter в Surf. Читать далее

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

Security Week 2211: новый вариант Spectre Исследования об уязвимостях Spectre и Meltdown были опубликованы в январе 2018 года. С тех пор появилось множество работ, развивающих общую идею использовать механизм предсказания ветвлений в процессоре (или других аппаратных особенностей) для выполнения произвольного кода и...

Топ вопросов работодателю от Android-разработчика Представьте: вы на собеседовании, только что закончили отвечать на кучу вопросов и были на высоте. Наконец наступает ваш черед задавать ваши вопросы работодателю. Не знаю как вы, а я в таких ситуациях часто начинал теряться и забывал самое важное, о чем стоило бы спросить. О...

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

Оумуамуа — решение парадокса Ферми (2) Предыдущая статья Оумуамуа — решение парадокса Ферми вызвала довольно живой интерес несмотря на свою довольно узкую специализацию. Изначально она задумывалась довольно короткой, но оказалось, что довольно сложно лаконично описать. Это также отчасти является причиной критики ...

Как победить scroll в javascript Привет, Хабр!В этой статье я хочу поделиться с вами головной болью, с которой я сталкивался при работе со скроллом и различными путями решения данных проблем. Я считаю, что в итоге получилось достаточно неплохое руководство для начинающих разработчиков, также включающее в с...

MikroTik: IPsec IKEv2 VPN между роутерами MikroTik (site-2-site) Данная статья является результатом нескольких лет изучения, тестирования и внедрения VPN на оборудовании MikroTik на основе чистого IPsec IKEv2 между несколькими сетями с динамической маршрутизацией. Используя данный метод можно выстроить связную структуру сети с достаточным...

Как облачный сервис превращается в тыкву На одном из форумов то-ли Cелигер, то-ли iВолга выдали нам "пордарок" устройство переводящее компьютер в спящий режим. Смысл был с том чтобы при нажатии на кнопку комьютер засыпал. В то время по моему мению компьютер должен был засыпать автоматически спустя какое то время бе...

Кастомный корпус ПК из советского радиоприёмника Ленинград-002 Вступление Здравствуйте, друзья айтишники и им сочувствующие! Меня зовут Артем и я работаю разработчиком мобильных приложений  под iOS в компании Orion Innovation. Но сегодня я не буду грузить вас дебрями управления памятью или ребрами ядовитых змей (профессиональный юмор...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

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

Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая Привет! Меня зовут Андрей Шоколов, я Android-разработчик KODE. К нам обратилась компания Forward Leasing с запросом разработать мобильное приложение по готовому дизайну. Прототип содержал дугу, которая по задумке должна была сжиматься в одну линию при скролле. За основу реши...

МВД отжал у меня телеграмм, или о дыре в защите Хабр не жалобная книга, однако мой опыт может быть полезен другим. Съездил в РБ, отсидел, потерял аккаунт в телеге. Читать далее

Конвертер из HDMI/DP++ в MIPI DSI Доброго времени суток, Хабр! Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми сто...

Топ 10 самых интересных CVE за март 2022 года ДИСКЛЕЙМЕР!Внимание! Вся представленная информация предназначена для ознакомительного изучения. Автор не несет никакой ответственности за причиненный вред с использованием изложенной информации.Третий месяц 2022 года подходит к концу, а это значит пора подвести итоги по выше...

[Перевод] Нужна система с низкими задержками? Выбираем Java вместо C++ Все разработчики знают, что есть два способа сделать дело: первый — вручную, медленно, нервно, сложно, либо второй – автоматизировано, быстро и еще сложнее. Например, я мог бы продолжить писать эту статью о том, почему стоит использовать Java вместо C++ при программировании ...

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

Просто о шаблонах C++ Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором. Читать далее

Neovim: модульность для разработчика В этой статье речь пойдёт про некоторые его преимущества, которые, на мой взгляд, наиболее важны для конечного пользователя. Читать далее

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

[Перевод] Наведите порядок! Очистка вашего PHP-приложения с помощью PHPStan За то время, что я работаю PHP-разработчиком, способ написания и доставки кода сильно изменился. В ранних приложениях Symfony и Zend Framework группы PHP-FIG не существовало, а стандарты кодирования определялись на усмотрение того, кто их писал. На протяжении тех лет, когда ...

[Перевод] Эмоциональный код Я зарабатываю программированием с 1979 года, и большую часть этого времени мне приходится работать с чужим кодом. Поначалу было: "Добавьте эту маленькую функцию к тому, что у нас уже есть". Теперь — "как мы можем стать лучше" и " стоит ли сохранять данный код?". Прочтение ко...

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

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

Свой инструмент в Tableau для scrum-команд с Bug Policy и Scope Drop Привет! Меня зовут Анастасия Никонорова, я аналитик в Авито. Рассказываю, как мы сделали инструмент в Tableau для наших scrum-команд разработки.Сначала опишу, как мы работаем по Agile и Scrum, потом — как подготавливали данные и создавали инструмент, как его внедряли и какие...

Карьера в IT: из менеджера по интернет-рекламе в ИТ-директора Карьерная лестница в IT — не просто путь от джуна до сеньора. Это сфера, в которой рано или поздно может надоесть засиживаться в разработке и захочется пробовать себя в управлении процессами. К счастью, сегодня карьера айтишника — продукт, который с самого начала можно строи...

Как Angular загоняет фронтенд разработчиков в enterprise-кабалу В последние годы, рабство фронтенд разработчиков, использующих современные фреймворки, стало обыденностью. И данная статья рассказывает о том, как Angular буквально заставляет разработчиков удовлетворять свои прихоти, погружая их в enterprise кабалу.Если пару лет назад шли в...

Циклы маршрутизации Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации. Читать далее

Apple Watch, статистика и Siri — как мы провели iOS-хакатон Всем привет, меня зовут Семён, я iOS-разработчик в Ситимобиле.

Бабушки, аудиты и брутфорс — истории о безопасности Wi-Fi-сетей Привет, Хабр! Мы в CTI 20 лет строим и тестируем беспроводные сети. Время от времени сталкиваемся с забавными ситуациями, которые показывают серьёзную уязвимость в клиентском Wi-Fi. Причём о некоторых вещах мы узнали только в процессе работы. Всё это совершенно неочевидные м...

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

Как справиться с отсутствием личных проектов Постоянно читая статьи на тему того, как %user% буквально на коленке научил свою кофеварку выгуливать собаку, начинаешь чувствовать себя немного неуютно. Складывается ощущение, что вокруг тебя взрослый мир и все вокруг знают больше тебя, умеют лучше и т.д.  Читать далее

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