Социальные сети Рунета
Четверг, 16 мая 2024

Основы репликации в Kafka Привет, Хабр!Репликация в Apache Kafka - это механизм, который обеспечивает доступность и надежность в обработке потоков данных. Она представляет собой процесс дублирования данных с одной части темы в другие, называемые репликами. В этой статье рассмотрим основы репликации в...

Pgpool-II Привет, Хабр!Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их ...

Архивная репликация в PostgreSQL: пошаговая инструкция Разбираем c  Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации. Читать далее

Этому вы обязаны жизнью: репликацию ДНК изучили детально В ходе недавнего исследования ученые раскрыли тайны репликации ДНК — фундаментального процесса, определяющего передачу жизни. Под руководством Марии-Элены Торрес-Падилья исследователи из Мюнхенского института имени Гельмгольца раскрыли сложную хореографию «времени репликации...

Это база: нюансы работы с Redis. Часть 1 Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на т...

[Перевод] Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств...

Без денег, репликации и кеша: ограничиваем нагрузку на сервисы, используя подходы из TCP При росте нагрузки одна из частей системы может подтормаживать. Часто уязвимым местом оказывается база данных. Так произошло и в нашем случае.Я работаю в Mindbox в команде, которая отвечает за выдачу товарных рекомендаций. Наша база периодически деградировала, заливать ее де...

CompletableFuture. Глубокое погружение java.util.concurrent.CompletableFuture - класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.Мы в компании называем их "фьючи". На хабре было много материала по отдельным частям и...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

Обобщённые типы. Часть 1/3. Полиморфные типы высокого рода В предыдущей статье раскрывались некоторые базовые понятия теории типов. В этот раз мы рассмотрим обобщённые типы (generics) – необходимость появления такой абстракции, ключевые особенности и различные сценарии использования в программировании. Читать первую часть

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task. Чита...

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 2 Всем привет! В этой статье (части) рассмотрим вопросы, связанные с великим и могучим TypeScript'ом, которые задают на собеседованиях. Если вы не читали прошлую статью, где описаны вопросы по JS, вот ссылочка. Пожалуйста, не заучивайте вопросы, это вредно для вашего здоровья!...

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

Сказ о том, как РП репликацию на Марии из зеркал состряпал… Нежданно ни гадано, затеяли значит высшие "итишные" силы включить новые заморские очереди Кафка в уже выполненный на 4/3 проект и слава богу, что только для внешних взаимодействий и передачи всякой информации туды-сюды. Главный архитектор дал благословение и понеслось, да н...

Airflow в Kubernetes. Часть 2 Приветствую!В прошлой части мы развернули основные сервисы Airflow в k8s. В этот раз разберемся, как можно синхронизировать код DAD'ов с удаленным репозиторием, поймем, как перманентно сохранять логи, а также настроим HTTPS-соединение для UI! Читать далее

[Перевод] Минималистическая модель живой клетки в браузере Вы когда-нибудь задумывались, как действуют клетки — элементарные единицы живой материи? Я – программист, но одновременно увлекаюсь клеточной биологией. Поэтому я решил смоделировать работу простейшей клетки на TypeScript. Вообще, клетки невероятно сложны; по оценкам учёных,...

UML: обзор основных типов диаграмм, диаграмма объектов. Часть 3 Хабр, привет! В прошлых статьях про UML (Часть 1, Часть 2) мы узнали что такое язык моделирования UML и зачем он нужен, а также рассмотрели диаграмму классов и диаграмму компонентов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмм...

Инсталляция и первичная настройка Sangfor Cloud Platform. Часть 1 В предыдущих статьях мы обсудили Sangfor HCl (Hyper Converged Infrastructure). Рассмотрели установку решения и нюансы типа подключения СХД и настройки aSAN. Сегодня мы расскажем об облачном портале SCP (Sangfor Cloud Platform) — решении для управления ресурсами на базе ...

Наш опыт интеграции внешних DevOps-команд в команды клиента: этапы, процессы, трудности, неочевидные нюансы В этой статье я расскажу, как DevOps-инженеры «Фланта» интегрируются в команду клиента и по каким правилам мы работаем, чтобы сотрудничество было комфортным для всех. Мы пройдемся по каждому этапу внедрения и разберем основные принципы, проблемы и риски при интеграции сторон...

OpenVMS: операционная система для атомных станций. Redis Мы продолжаем погружение в основы операционной системы OpenVMS. В прошлых статьях мы установили её в качестве виртуальной машины, настроили сеть и активировали лицензии. Бонусом поставили туда SSH и даже организовали Web-интерфейс для удобного управления. Теперь пришла пора ...

Обзор языка Erlang и его синтаксиса Привет, Хабр! История Erlang 80-х годах прошлого века в стенах шведской компании Ericsson. Он был разработан первоначально для нужд телекоммуникаций, Erlang задумывался как инструмент для создания распределенных, отказоустойчивых систем с возможностью быстрого обновления код...

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

Перенести проверенную схему бэкапа больших данных из S3 в Yandex Cloud: опыт Битрикс24 Меня зовут Александр, я руковожу направлением больших данных в Битрикс24. Клиенты нашего сервиса хранят миллиарды файлов: от документов до фотографий, — а моя команда предоставляет возможность строить бизнес-аналитику на основе этого множества данных. И нам важно позаботитьс...

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

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

Боремся с блокировками с помощью Trojan TCP на слабых устройствах c OpenWRT В данной статье рассмотрим как:Настроить обход блокировок с помощью Trojan TCP, tun2socks и bird2 (BGP) на устройствах с 8 Мб ПЗУ и 64 ОЗУ (8/64);Настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через Trojan TCP туннель&n...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся...

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

VisionFive2 (ядро Linux) В предыдущей статье мы рассмотрели процесс сборки загрузчика. Теперь мы рассмотрим ядро Linux, исходные коды которого поддерживает компания StarFive в репозитории https://github.com/starfive-tech/linux. Кроме того, мы рассмотрим создание скриптов загрузки ядра (boot.scr) для...

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

База: айсберг A/B-тестов Если вы по кусочкам и фрагментарно изучаете разные аспекты и тонкости A/B-тестирования, но большое множество концепций и идей не ложатся в единую систему, то это статья для вас. Предлагаю разобрать структуру A/B-тестов сверху вниз. Пройдем по основным этапам от наблюдаемой р...

Range Loop в Go: подводные камни, как с ними бороться и что нас ждёт в версии 1.22 Привет, Хабр! Меня зовут Рафаэль Мустафин, я ментор на курсе «Go-разработчик» в Яндекс Практикуме. Эта статья посвящена нюансам цикла range в Go. Мы рассмотрим распространённые подводные камни, лучшие практики и интересные изменения, ожидаемые в Go 1.22. Читать далее

Базовые архитектурные решения для обеспечения масштабируемости и производительности в социальных сетях Привет, Хабр! За последние полгода я очень увлекся созданием социальных сетей и делаю пет-проект в виде социальной сети.Если вам интересна эта тема, то возможно, вы уже видели мою предыдущую статью о базовых принципах проектирования архитектуры социальных сетей на Хабре (есл...

Обзор Simulator — платформы для обучения инженеров безопасности Kubernetes с помощью CTF-сценариев Ранее мы делали обзор инструментов для оценки безопасности кластера Kubernetes. Но что, если нам нужно обучить инженеров основам безопасности Kubernetes на реальных примерах и автоматизировать этот процесс? Недавно компания ControlPlane, специализирующаяся на Cloud Native-ре...

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

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

Как мы внедряли Sentry. Часть 2 — внедрение в разработку В прошлый раз мы рассматривали внедрение Sentry со стороны эксплуатации: устанавливали на сервер self-hosted, делали его высокодоступным при помощи сети доставки td-agent, настраивали мониторинг.Теперь рассмотрим процесс внедрения Sentry со стороны команды разработки. Читать...

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

Кто ты, SwiftData Привет! Я Андрей Зонов, стафф-инженер в Тинькофф и большой фанат CoreData. Моя любовь в CoreData началась на старте карьеры, когда я попал в первый Enterprise-проект. Это были времена iOS 4.3., CoreData не имела parent-контекстов и методов perform. Как-то так сложилось, что ...

Attention is Not All You Need: как менялась архитектура трансформера С момента выхода оригинальной статьи про трансформер прошло уже больше 7 лет, и эта архитектура перевернула весь DL: начав с NLP архитектура теперь применяется везде, включая генерацию картинок. Но та ли это архитектура или уже нет? В этой статье я хотел сделать краткий обзо...

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

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters На сегодняшний день созданы разные большие языковые модели (LLM), которые показывают превосходные результаты, но для раскрытия их полного потенциала необходимо дообучение для точного решения конкретных задач. Традиционный метод файнтюнинга, при котором настраиваются все пара...

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

Высокоточное измерение ЭКГ. Часть 2 В данной статье изложу свою концепцию регистрации и обработки сигналов ЭКГ в носимых устройств для  решения задач обнаружения  опасных состояний сердечно-сосудистой системы человека.   Далее рассмотрю кратко реальную точность измерения ЭКГ и свой вариант ее по...

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

Зыбучие пески или установка песочницы CAPE Привет, Хабр, на связи лаборатория кибербезопасности AP Security. В данной статье предлагаем разобрать процесс установки и первоначальной настройки такой песочницы, как CAPE. Читать далее

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

Postgresso №58(9) Microsoft PostgreSQL 16Наконец, официально вышел релиз PostgreSQL 16. Мы регулярно писали о новом в бетах и релиз-кандидатах, поэтому подробно говорить об официальном нет, кажется, особой необходимости: с тех пор ничего принципиального не ушло и, тем более, не пришло.На...

Дом, милый дом: нюансы работы с ClickHouse. Часть 1 Всем привет, меня зовут Пётр, я инженер компании Nixys. На современных проектах используется огромное разнообразие баз данных: реляционные, ключ-значение, документоориентированные. Особое место среди них занимают колоночные базы данных, ярким представителем которых является ...

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

Hashicorp Vault — собираем непрямую репликацию через ведро Hashicorp Vault - прекрасный продукт для централизованного хранения всех паролей и других секретов компании. При этом, многие знают, что удобная ключница - это идеальный способ потерять все ключи одновременно. Когда я работал в крупном телекоме, то DRP-протоколы с восстановл...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

Как систематизировать работу с входящими документами в компании с помощью OCR-инструментов. Часть 1 Ежедневно компании выполняют операционную и административную работу – неинтересную рутину, но без которой в действительности невозможен никакой бизнес. Крупная часть этой истории – входящий и исходящий документооборот, который может достигать тысяч бумажных копий. Чем быстре...

[Перевод] Концепция Twelve-Factor App и Kubernetes С момента публикации концепции Twelve-Factor App значительно изменилось то, как мы создаём, упаковываем и развёртываем приложения. Контейнеры, Kubernetes и облачные технологии стали основными технологиями, которые позволяют нам создавать переносимые, масштабируемые и надёжны...

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

Основы управления ресурсами в C Привет, Хабр! Управлении ресурсами включает в себя распределение, использование и освобождение различных типов ресурсов. В языке программирования C автоматическое управление памятью отсутствует, эта задача ложится на плечи разработчиков.В этой статьи рассмотрим основные возм...

От каждого по способностям. Как мне удалось прокачать инженерную культуру своей команды, не будучи тимлидом Привет, Хабр! Меня зовут Кирилл Веркин, я Senior QA в СберМаркете. Эта статья о том, как за 1,5 года моя команда прокачала уровень инженерной культуры с нуля до самого высокого среднего балла в компании среди 105 команд. (Да, у нас есть уровни инженерной культуры!) Хочу...

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

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 4 Часть 1 Часть 2 Часть 3 В четвертой части, как и было обещано, рассмотрим ограничения и недостатки Asterisk как голосовой платформы и особенности его взаимодействия с VoiceNavigator. Голосовая платформа – это программно-аппаратный комплекс с функциями синтеза и распоз...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

[Перевод] Выявление ошибок в работе с памятью в C и C++: Сравниваем Sanitizers и Valgrind В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэто...

Мутации в микросервисах: применяем Temporal Всем привет!В прошлой статье была поставлена задача о надёжных мутациях и транзакциях в архитектуре Профи, в этой статье разберём один из вариантов решения — применить workflow-engine Temporal. Читать далее

Классификация и идентификация элементов в HTML и CSS и немного о БЭМ для самых маленьких Классификация и идентификация элементов в HTML и CSS и немного о БЭМ.Основные концепции работы с классами и идентификаторами, а также как применять методологию БЭМ на практике. Читать далее

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

Как собрать свой собственный x86 Wi-Fi роутер Как и обещал в прошлой статье расскажу, как собрал и настроил свой собственный x86 Wi-Fi роутер с OpenWrt. Читать далее

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

Анализ данных КХЛ. Часть 1 — про теорию шести рукопожатий Привет, Хабр! Эта статья посвящена исследованию о том, насколько тесен мир хоккея.Меня зовут Рашит Гафаров, я начинающий дата-инженер и выпускник Яндекс Практикума. Мы с наставницей Юлией Муртазиной и ещё пятью студентами проанализировали с помощью Pytnon связи между хоккеис...

MemSess — очередной сервер для работы с сессиями В этой статье будет рассмотрен самописный сервер для работы с сессиями и пример работы с ним на PHP. Читать далее

«Что? Где? Когда?» в названии багов Хорошее название бага понятно любому:- менеджеру, плохо знающему техническую часть проекта;- джуниору, который только пришел в проект;- разработчику (зачем мне это чинить?)Для этого оно должно отвечать на 3 главные вопроса: Что? Где? Когда?И в этой статье я хочу разобрать ка...

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

Особенности "Шнековой" FGF печати. Часть 1.     Здравствуйте, в связи с ажиотажем вокруг одной статьи: Сама статья про люк , стало понятно что есть необходимость публикаций про нюансы печати больших изделий с помощью шнеков.    Изложенный далее материал основан на личном опыте при освоении печати на шнеке. Было получе...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

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

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

T-test. Зависимость от независимости Привет, Хабр! В статье подробно рассмотрим область применения самого базового статистического критерия Стьюдента. Посмотрим, как он ведёт себя, когда мы не хотим отдавать качество подбора наших групп на волю случая. Читать далее

Merlion Framework или как упростить работу с временными рядами Единственная причина для существования времени — чтобы все не  случилось одновременно.Альберт ЭйнштейнПривет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и о...

Разбираем самый маленький JPEG в мире Недавно на Хабре была опубликована статья Разбираем самый маленький PNG в мире. Интересно, а какой самый маленький файл JPEG? В ответах на StackOverflow и Reddit можно встретить размеры 107, 119, 125, 134, 141, 160 байтов. Все они представляют серый прямоугольник 1 на 1. И к...

TMS на замену TestRail: писали для себя, а выложили в open source В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим ...

Ламповый дисплей для компьютера, часть 5: коллектор, видеоусилитель и изображение Рад приветствовать всех, читающих уже пятую часть цикла статей о ламповом дисплее для компьютера, в которой можно рассмотреть долгожданный результат проделанной опытно-конструкторской работы. Прежде чем перейти к такому описанию, кратко напомню содержание предыдущих частей: ...

Observability. Часть 1, про логи "Пираты журнального моря"Автор — Игорь Овсянников, декабрь 2023 г. DevOps инженер в GFN.AM, преподаватель курса DevOps в OTUS.Каждый раз, решая инцидент или аварию в инфраструктуре, я задумывался: а можно ли было это предусмотреть? Можно ли было быстрее узнать о проблеме, са...

[Перевод] Переменные окружения в Node.js: полное руководство В этой статье мы рассмотрим переменные окружения (environment variables) в NodeJs с примерами. По сути, это пары ключ-значение набора данных, которые хранятся на уровне операционной системы. Они важны, поскольку отвечают за: разделение проблем, безопасность, переносимость, м...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

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

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Логирование в Golang Привет, Хабр!Как в Golang логирование поживает? Рассмотрим этот вопрос в статье.Рассмотрим основные библиотеки и подходы. Читать далее

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто...

«Отучаем» WinFXNet от жадности (часть 1) ПредысторияВ сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.В данной статье буд...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Организация GPU-вычислений для машинного обучения в компании: проблемы и трудности По мере того как компании стремятся использовать возможности искусственного интеллекта, резко возрос спрос на специализированные вычислительные ресурсы, в частности, на графические процессоры (GPU). Графические процессоры раньше ассоциировались в основном с играми и графикой...

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

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

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

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

[Перевод] Тестируем PCIe в новом Raspberry Pi 5 Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5. Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностя...

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

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

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

Крохотные размеры, дизайн Macintosh 1 и настроенный на 35 Вт Ryzen 7 5800U. Представлена новая версия мини-ПК Ayaneo AM01 Мини-ПК Ayaneo AM01, дизайн которого вдохновлён культовым Macintosh 1, поступил в продажу в конце прошлого года. Теперь же компания выпустила более мощную версию.  Изначально покупателям были доступны две модификации: с Ryzen 3 3200U либо Ryzen 7 5700U. Теперь же ...

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

DDD в golang. Превозмогая трудности В последнее время достаточно много выступлений, посвященных реализации подходов Domain Driven Design(DDD) в golang.Я не буду останавливаться на value object, они в golang хорошо реализуются с помощью type defintions. А разберу работу с изменением аггрегатов.Попытаюсь раз...

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрел...

Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании. Часть 1 Для аналитиков, владение SQL — это база. И от познаний в SQL зачастую зависит, отправит ли вам компания, где вы собеседуетесь — оффер.В статье мы обсудим четыре области вопросов, которые могут встретиться на собеседованиях по SQL. А в конце рассмотрим три задачки. Читать да...

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

Cisco TRex на практике В этой статье описывается процесс работы с программным генератором сетевого трафика TRex. Этот инструмент предназначен для генерации различных типов сетевого трафика и анализа данных в режиме реального времени. Trex поддерживает работу на уровнях MAC и IP, позволяя пользоват...

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

Векторные базы данных: простым языком про устройство и принцип работы Только изучили один инструмент, как сразу же появились новые? Придется разбираться! В статье мы рассмотрим новый тип баз данных, который отлично подходит для ML задач. Пройдем путь от простого вектора до целой рекомендательной системы, пробежимся по основным фишкам и внутрен...

Разрабатываем дизайн-концепцию IT-системы: этапы аналитики и дизайна Привет, Хабр! Меня зовут Юлия, я старший аналитик-проектировщик компании SimbirSoft. Работаю в сфере IT более 10 лет, в моем портфолио создание более 20 IT-систем для различных проектов: флагмана металлургии, медицинского проекта (6 стран присутствия), автомобилестроительной...

Keycloak. Standalone-HA в k8s и закрытие админки на ingress-e с переводом на localhost Привет, Хаброжители! Продолжаем делиться с вами экспертизой отдела Security services infrastructure (департамент Security Services компании «Лаборатории Касперского»). Предыдущую статью нашей команды вы можете прочесть вот здесь: Keycloak. Админский фактор и запрет аутентиф...

Максимизируйте эффективность бизнеса: как настроить AmoCRM под себя? AmoCRM — это мощный инструмент, который помогает компаниям управлять клиентскими отношениями, автоматизировать процессы продаж и повышать эффективность работы. Однако, как и любое другое программное обеспечение, его полезность зависит от того, насколько хорошо он настр...

Библиотека libopencm3: Быстрый старт (Часть 3). Работа с USART, прерываниями, I2C и таймерами Часть 1. Настройка окружения для работы с libopencm3Часть 2. Работа с GPIO, SPI, отладка проекта при помощи GDBЧасть 3. Работа с USART, прерываниями, I2C и таймерамиДанная статья является заключительной в цикле, посвященном быстрому старту разработки под STM32 при помощи lib...

[Перевод] Распаковываем архив gzip вручную В этой небольшой статье мы создадим архив gzip, после чего разберём его внутренние составляющие и просмотрим начинку. Избегая лишней сложности, в качестве содержимого для сжатия мы просто запишем в изначальный файл 8 символов a. $ echo "aaaaaaaa" > test.out $ ...

Как работает физика в играх В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? ...

OrangePi 5 с Proxmox 8 В прошлой статье я описал начальную настройку загрузчика для OrangePI 5b (для OrangePI 5 тоже сработает), а так же настройку и запуск Proxmox 7 до состояния "оно запустилось". Виртуалки там я не пробовал и оказалось, что они и не работают без дополнительных телодвижений. В э...

Carbon Majors: На 10 компаний приходится большая часть мировых выбросов CO₂ Высокие уровни выбросов CO₂ во всем мире вызывают серьезные климатические проблемы. Согласно исследованию, за это отвечают в основном около 60 компаний. В этом списке компаний «Газпром» на втором месте, «Роснефть» – в десятке.

Рассматриваем мифический фреймворк C2 Mythic. Часть 1 Привет Хабр, на связи лаборатория кибербезопасности AP Security. В этой статье мы продолжим разбирать C2-фреймворки. На этот раз, мы будем изучать относительно новый фреймворк под названием Mythic. Приятного прочтения! Читать далее

Спутниковая связь от 3GPP: как смартфоны будут звонить через спутник В последнее время выходило много новостей много информации о спутниковой связи с обычных телефонов. Например, MediaTek представила платформу для смартфонов с поддержкой спутниковой связи по стандартам 3GPP. Как это работает?В статье мы (команда кластера развития инфраструкту...

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

Дашборд управления бизнесом (P&L) в Metabase за 5 дней Один из важнейших инструментов в моей работе — дашборд с данными о прибылях и убытках компании P&L (он же БДР, он же отчет о финансовых результатах). Он помогает контролировать рентабельность бизнеса, эффективность отделов компании, прогнозировать прибыль и строить гипот...

Как использовать макросы для систематизации документов «как в Confluence»? Привет! Приятно ведь читать хорошо оформленные статьи на уютном хабре? В которых часть текста спрятана под катом, есть подписи к картинкам, красивые и понятные таблицы и все остальные плюшки? Я думаю очень приятно. Поэтому предлагаю рассмотреть немного полезных советов, о то...

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

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

Автопровижининг телефонов Yealink. Часть 3 Мы продолжаем публикацию цикла статей, посвященных автопровижинингу IP-телефонов Yealink. Первая часть цикла была посвящена обзору функции автопровижининга, во второй части рассмотрен принципы работы с конфигурационными файлами. Завершающая статья цикла посвящена практическо...

Дизайн уровней в DOOM 1993: игра, на которой можно учиться Doom – моя первая игра, которую довелось пройти в детстве, и каждый год хочется её пройти заново. Она внесла вклад в профессию дизайнера уровней, где мне довелось работать. В Doom до сих пор используются методы, делающие уровни качественными, интересными, многие запоминающ...

Это база. Как прокачиваются сервисные инженеры КРОК Привет, Хабр! Меня зовут Жора Дубовец, я сервисный инженер в департаменте инфраструктурных решений и сервисов КРОК. За четыре года я прошел путь от стажера до ведущего специалиста в команде, которая 24/7 поддерживает работоспособность ИТ-инфраструктур компаний от Калининград...

Zyxel XMG1930-30HP: обзор способов управления В прошлой статье мы разобрались с внешним видом, индикаторами и даже заглянули внутрь коммутатора. Теперь пришла пора его подключить и посмотреть, каким образом системные администраторы и сетевые инженеры могут управлять этим устройством и контролировать его параметры. Чита...

Качественные рекомендации в e-commerce — компоненты основных алгоритмов В первой статье цикла мы рассказали про свойства алгоритмов качественных рекомендаций, которые необходимы для практического использования алгоритма. Во второй статье мы рассмотрели компоненты алгоритма «Сопутствующие товары». Но система рекомендаций для интернет-магазина сос...

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor). В предыдущей статье я поделился материалами для подготовки к этапу по классическому машинному обучению.В этой статье рассмотрим ма...

Отопление мегаполиса от ТЭЦ — как успешная реализация коммунистической утопии «общества всеобщего равенства» Отопление мегаполиса Москва от ТЭЦ. Массовая застройка «спальных районов» - как успешная реализация коммунистической утопии «общества всеобщего равенства». В предыдущей статье были рассмотрены вопросы  генерации и распределения электричества в большой стране.https:...

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

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

На что стоит рассчитывать на первой работе: путь стажера (data engineer) Меня зовут Виктор и на данный момент я заканчиваю стажировку и перехожу на должность младшего инженера по работе с данными в компании Sapiens solutions. В этой статье я хочу поделиться опытом и дать несколько рекомендаций людям, которые только начинают свой путь в области ра...

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 2) В предыдущей статье мы уже затрагивали задачу реконструкции 3D-объектов по их 2D-изображениям. В этой же углубимся в реконструкцию с головой! Вообще говоря, как мне кажется, сейчас мы рассмотрим гораздо более концептуально интересные методы, а именно - HSP и Mesh R-CNN. Это ...

Погружаемся в PEB. DLL Spoofing В предыдущей статье мы в первом приближении рассмотрели PEB и разобрались, как подменить аргументы командной строки.Продолжая разбираться с PEB, рассмотрим еще один способ повлиять на исполнение программы, и попробуем подменить вызываемую из DLL функцию. Читать далее

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

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

Обзор библиотеки bleve в Golang Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: текст, числа, даты и логические значения, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.В этой статье рассмотрим основной функционал этой би...

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

На словах ты Лев Толстой, а на деле не можешь развернуть Nginx в Kubernetes Как понять на собеседовании, что человек действительно умеет что-то делать руками, а не просто красиво говорит? В статье расскажу, как мы сделали аналог онлайн-код-интервью для DevOps-инженеров, чтобы точно увидеть уровень навыков и заинтересовать инженеров интересными ...

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи...

Боты и сервисы для разведки данных Вконтакте ВведениеПриветствую всех читателей статьи, рад вас снова приветствовать! Продолжаю серию статей "ШХ" на тему OSINT. В прошлой статье рассмотрели варианты поиска по никнейму, благодаря которому смогли узнать почту и сопоставить аккаунты в социальных сетях. Как раз в этой стат...

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2) Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования,...

Основы Rust: синтаксис и структуры данных Привет, Хабр! Rust - это язык, который становится плюс-минус более популярным в последние годы благодаря своей высокой производительности и безопасности. Он был разработан Mozilla и сообществом разработчиков с целью предоставить инструмент для системного программирования, ко...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

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

Мемоизация в React: я почитал документацию вместо вас В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за...

Кодогенерация и парсинг TypeScript с помощью typescript Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация...

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Как я проходила стажировку в отделе аналитических решений почти без опыта работы с данными Привет, меня зовут Луиза, я инженер данных в ЮMoney — работаю здесь уже год. Мы собираем данные, структурируем их, храним и создаём аналитические решения, например OLAP-кубы и дашборды. Департамент разделён на несколько команд, у каждой своя предметная область. За год я прев...

«Импортозамещение» в видеонаблюдении. Часть четвертая: разбираю камеру от НИЦ “Технологии” сам Наконец пришла моя долгожданная двухмегапиксельная ip-камера, произведенная, как написано на стикере, в Краснодаре. Разберу начинку, ПО и попытаюсь определить насколько она отечественная. Читать далее

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра опер...

[recovery mode] 50 вопросов для опроса удовлетворённости клиентов, для вашего вдохновения Обратная связь от клиентов предоставляет ценные данные, которые помогают компаниям улучшать свои продукты и услуги, оптимизировать взаимодействие с клиентами и, в конечном итоге, повышать их лояльность и удовлетворенность.В этой статье мы сосредоточим внимание на том, как эф...

Делаем crackme. Часть первая: whitebox AES Эта статья первая из цикла, в котором мы будем создавать crackme для linux amd64. В crackme будут реализованы шифрование каждой функции отдельным ключём и наномиты для противодействия отладке. В данной статье мы рассмотрим алгоритм встраивания к...

Большая шпаргалка по Docker: как распилить монолитный проект на части Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли ра...

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

Как приручить нейросеть: практический опыт Итак, в прошлой статье я уже немного рассказывал о том, что с LLM можно работать и даже построить определенный RAG. Как и обещал, перейдем к практике! :)Сегодня мы будем делать простейший локальный и приватный RAG для работы с базой знаний. Все это будет проходить без погруж...

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

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

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

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

[Перевод] Системное мышление: основополагающие концепции В этой серии статей я поделюсь ключевыми идеями и инструментами для развития системного мышления, необходимого для решения комплексных проблем и перехода к экономике замкнутого цикла. В первой части разберём шесть ключевых понятий. Читать далее

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 3 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Актуальные методы проверки работоспособности больших и высоконагруженных сетей. Протоколы мониторинга Привет, Хабр!В данной статье мы рассмотрим актуальные методы проверки работоспособности сетевого оборудования. Конкретно в этой статье мы поговорим про протоколы мониторинга. Статья является переваренным опытом компании Netopia, которая занимается разработкой программного о...

Реализуем touch жесты на vanilla js. Часть 1 (rotate) В рамках этой статьи я пошагово реализую жест поворота в мобильной версии сайта используя ванильный javascript. Для этого мы рассмотрим как устроены touch события мобильного браузера, а также немного вспомним тригонометрию. Читать далее

[Перевод] Как утереть нос NumPy с помощью двумерного БПФ Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.Наиболее частой реализацией, используемой рядовым пользователем, иногда даж...

Аутентификация для WebSocket и SSE: до сих пор нет стандарта? WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events...

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

Многоуровневая группировка в SQL: Grouping sets Описан основной принцип работы конструкции Grouping sets в SQL на примере. Статья будет полезна для тех, кто хочет быстро разобраться с основными принципами группировки с использованием Grouping sets. Читать далее

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

Что такое DAO? Если вы что-то слышали о концепции организации без большого босса, где анонимный владелец нескольких токенов может влиять на будущее компании — это скорее всего про DAO. В этой статье ты узнаешь, что такое децентрализованные автономные организации (DAO), как вообще возможно...

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

Опыт использования бизнес-процессов Битрикс в рамках крупного корпоративного портала Наша команда специализируется на разработке и развитии функционала корпоративного портала группы компаний НЛМК.На практике мы сталкиваемся с самыми разными задачами: от вывода ленты новостей компании и простейших форм обратной связи до функционала оценки качества работы сотр...

Настройка протокола OSPF на оборудовании Cisco и HUAWEI В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат. ...

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 2: Классическое машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).В предыдущей статье я поделился материалами для подготовки к одному из самых волнительных (для многих) этапов - Live Coding.В этой ...

Как начать работать с IPv6 там, где его нет (часть 3) В предыдущих частях цикла статей (часть 1, часть 2) мы настроили подключение к IPv6-брокеру на VDS под управлением операционной системы CHR от Mikrotik. Подготовили туннелирование до устройств сети, которые как умеют, так и нет работать с VPN, используя PPTP, SSTP и статич...

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

Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука Фомичев В.А., полковник запаса, Крюков В.А., гражданское лицо. Живый в помощи Вышняго, в крове Б...

Готовимся к собеседованию по Rust: 4 самых частых вопросов. Часть 1 Привет, Хабр!Rust — язык программирования с акцентом на безопасность, скорость и параллелизм. Rust решает многие проблемы, с которыми сталкиваются на других ЯП, например, управление памятью без сборщика мусора. Очевидно из-за многих преимуществ Rust выбирают все большей комп...

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

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

[Перевод] Как работает радио? Радиокоммуникации играют ключевую роль в современной электронике, но их теорию сложно понять начинающему любителю. Да, у нас есть общее представление: мы знаем о частотах и, вероятно, можем объяснить разницу между амплитудной и частотной модуляциями. Однако большинству из н...

Обзор Polygon zkEVM: как работает L2 решение для Ethereum Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Pol...

Проект «Селенит». Часть 5: Контроллер, встроенное ПО и квадратурный модулятор Аппаратура SDR (Software-defined Radio), как и следует из названия, представляет собой программно-аппаратный комплекс. В предыдущих частях цикла были рассмотрены преимущественно аппаратные решения радиотракта трансивера Selenite Lite. В большей части данной публикации будет...

Диплом специалиста ИБ. Часть №1 — Методика обеспечения безопасности устройств Интернета вещей Привет, Хабр!Так вышло, что я заканчиваю университет в феврале 2024 года (направление 10.05.01 «Компьютерная безопасность» является специалитетом, поэтому студенты выпускаются традиционно зимой после 5,5 лет обучения). Соответственно, уже в прошедшем 2023 году передо мной, к...

Сможет ли IPFS полностью заменить HTTP? Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспер...

Apple Vision Pro на самом деле стоит всего 1500 долларов Apple Vision Pro многие пользователи активно критикуют за то, что шлем дополненной реальности стоит 3500 долларов — это очень высокая цена на самом деле, которую многие считают неоправданно высокой. Но теперь оказалось, что столь высокая стоимость связана с тем, что только н...

Покрытие архитектуры as Code тестами

Поднимаем сотовую сеть NMT-450 в домашних условиях Приветствую всех! 30 мая 2017 года в Котласе, что в Архангельской области, была отключена последняя в мире базовая станция NMT-450. Вместе с этим навсегда ушёл в историю не только этот стандарт, но и аналоговая сотовая связь общего пользования в принципе. И вот, шесть с л...

Быстро или мгновенно — с какой скоростью должен работать ваш продукт. Часть 1 Всем привет! Я Антон Телицын, продакт-менеджер в AI-центре Тинькофф, до этого работал в Miro над движком доски. В обеих компаниях сталкивался с вопросами управления скоростью реакции продуктов в разных ситуациях.Это первая статья про управление отзывчивостью продуктов. Рассм...

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых "дорогих" операциях работы с хранилищем смарт-контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Et...

Большой тест GPT4, GPT3.5, YandexGPT, GigaChat, Saiga в RAG-задаче. Часть 2/2 В первой части статьи я рассказывал о создании цифрового юриста, способного отвечать на вопросы на основе 200-страничного регламента. Цель — работа такого юриста в закрытом контуре организации, без использования облачных технологий.Особенностью эксперимента является в том, ч...

Получение мостов tor из GMail с помощью Python В предыдущей статье была рассмотрена установка и настройка tor в ОС Linux Mint 21.3, а также были рассмотрены несколько способов получения мостов obfs4 с помощью сайта и телеграмм бота. В комментариях был задан вопрос по пово...

Создаем I2C Master Controller на Verilog. FSM, Clock, Output Logic, etc После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно ра...

Как стать SRE-инженером в 2024 году Традиционным ИТ-командам трудно успеть за быстрым ростом масштабов и сложности приложений. Растут и требования, которые предъявляют к приложениям пользователи. В этих условиях крайне важно поддерживать бесперебойную работу инфраструктуры. На помощь приходят SRE-инженеры...

От дощечки к компьютеру. Путь от ткачества к ЭВМ Привет, Хабр! Меня зовут Арина Шахтарина, я — инженер в Сбере, а ещё занимаюсь ткачеством. Сегодня поговорим о том, откуда появились первые компьютеры и разберём одну из версий — путь от ткачества к ЭВМ.Кажется, что компьютеры начали разрабатывать совсем недавно, лет 50-70 н...

Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов Привет! Меня зовут Арсений, я сеньор фронтенд-разработчик. В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и м...

Code smells — обзор на примере PHP Hola, Amigos! Меня зовут Евгений Шмулевский, я PHP-разработчик в агентстве заказной разработки Amiga. В этой статье хотелось бы рассмотреть вопрос качества кода и что из рекомендаций по нему лично для себя использую. Статья адресована начинающим разработчикам. Читать далее

0b10 лет спустя: нырок в девопс Привет, Хабр! На связи автор статьи двухлетней давности «Пожалуйста, прекратите называть админов девопсами». В ней, если помните, я ловил пескарей в процессе поиска работы офигевал от несоответствия реального мира и моих онтологических ожиданий. С те...

Нодовая архитектура на Unity Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContain...

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

Новый взгляд на старые игры. Часть 4. Duke Nukem 3D (1996) + add-ons + EDuke32 (source-port) В этом кратком руководстве будет разобран вариант запуска "Duke Nukem 3D: Atomic Edition" (1996) с наиболее распространённым и актуальным source-портом, а также перечислен список адд-онов, которые могут представлять интерес. Читать далее

Как мы улучшили СУБД промышленного уровня Platform V Pangolin в версии 6.1 Меня зовут Михаил Гелемеев, я лидер команды сопровождения Platform V Pangolin в СберТехе. Platform V Pangolin — реляционная система управления базами данных. Она основана на свободно распространяемой версии PostgreSQL и содержит ряд доработок, обеспечивающих соответств...

Радикальная защита селфхостинга. Уровень: хардвар и хардкор Сейчас у многих есть свой личный сервер. Насколько вы задумывались о безопасности? Настроили вход по ssh-ключам, firewall и на этом всё? Давайте поговорим про РЕАЛЬНУЮ безопасность.Эта статья о том, как запариться, распилить свой ноутбук болгаркой, вставить туда микроконтрол...

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

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

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

Графика древности: пятая волна. Nintendo 64 и PC (часть 3/4) В предыдущих двух частях статьи (тут и тут) мы обсудили общие черты пятого поколения игровых консолей и подробно разобрали особенности первой тройки лидеров поколения — 3DO, Sega Saturn и Sony PlayStation. Однако, всего лишь через три года после начала поколения в новейши...

Как пользоваться Claude: знакомство с главным конкурентом ChatGPT и базовые правила его использования В последние годы мы стали свидетелями стремительного развития и роста популярности чат-ботов на базе искусственного интеллекта. Одним из наиболее известных и широко используемых чат-ботов стал ChatGPT от компании OpenAI, который продемонстрировал впечатляющие возможности в о...

[recovery mode] Развертывание программного комплекса на Asp.net на российских ОС В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотр...

Пишем свой драйвер Molecule без костылей и боли Привет, Хабр! Меня зовут Павел, я инженер по разработке инфраструктуры в компании YADRO. В апреле 2023 года разработчики Molecule представили мажорный релиз инструмента в версии 5.0.0. Помимо множества багфиксов и улучшений, пользователи получили возможность написать свой со...

Что такое Open RAN и зачем он МТС Всем привет! На связи ЦК RnD Блока ИТ, и мы хотим рассказать вам об исследованиях, ведущихся в МТС. Сегодня поговорим о концепции Open RAN и о том, почему она важна для МТС. Её много обсуждают в последние годы, не раз упоминал о ней и президент МТС Вячеслав Николаев. Читать ...

Timeweb Cloud CLI. Часть 1: S3 Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента. В данном мате...

Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции Всем маткульт-привет! В этой статье мы продолжаем и заканчиваем написание консольного инженерного калькулятора. В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токено...

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

[Перевод] Большинство оконных приложений — это недоработанные real-time приложения В приложениях пользовательского интерфейса таких платформ, как Windows, Linux и macOS, скрывается ряд недоработок, которые порой снижают их быстродействие до раздражающе медленного. Сюда относятся нюансы работы в реальном времени, блокирование памяти при доступе к диску и н...

Введение в библиотеку Diffusers и диффузионные модели Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.Всегда хотели стать художником, но у вас лапки? :) Тогда Diffusers этот то, что вам нужно!В этой статье рассмотрим ...

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

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

Цикл статей о Greenplum. Часть 1. GP под капотом Всем привет!Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение...

Видео-сообщение как в Telegram. Часть третья — Контролы и раскрытое состояние Часто ли вы пользуетесь Telegram?Если да, то скорее всего вы хотя бы раз отправляли "кружочки". В этой серии статьей мы напишем небольшой проект с отображением списка видео-сообщений.Для отображения будем использовать ExoPlayer, настроим сохранение видео в кеш, а также напиш...

[Перевод] Что такое API-шлюзы и Gateway API и почему за ними будущее нативных облачных приложений В этой статье мы рассмотрим, почему API-шлюзы стали ключевым элементом экосистемы современных облачных вычислений и как появление Kubernetes API Gateway упростило и стандартизировало работу с ними. Статья составлена на основе сразу двух англоязычных материалов. В первом...

Ламповый дисплей для компьютера, часть 4: блок питания, строчная развертка и первый растр Краткое содержание предыдущих статей цикла: Часть 1 – обзор возможных концепций и постановка задачи Часть 2 – запуск ЭЛТ и фокусировка электронного пучка в ней Часть 3 – построение канала синхронизации и блока кадровой развертки В этой части будет рассказ о тех электрон...

Meilisearch — организация поиска в связке с Laravel Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel. Читать далее

Основы полнотекстового поиска в ElasticSearch. Часть третья Это третья и заключительная статья из цикла, в которой рассмотрим стандартную модель ранжирования документов в Elasticsearch.После того как определено множество документов, которые удовлетворяют параметрам полнотекстового запроса, Elasticsearch рассчитывает метрику релевантн...

Go — 100 вопросов/заданий с собеседований Приветствую тебя, хаброжитель!В этой статье разберём 100 вопросов, они покрывают львиную долю того, что могут спросить на собеседовании джуниор Go-разработчика с практически любой специализацией. Конечно же, в реальной работе на Go требуются немного другие скиллы, чем умение...

Практика замены MS Office: 4 ситуации, когда это невозможно…но вполне получается Привет! На связи Саша Безноздрев, ведущий инженер-разработчик К2Тех. Тематика замены продуктов Microsoft для корпоративных пользователей лежит сегодня на поверхности. Действительно, как быть, если вендор планирует аннулировать все подписки и отключить все, до чего сможет дот...

Что такое MLOps и как мы внедряли каскады моделей Привет, меня зовут Александр Егоров, я MLOps инженер. В статье расскажу о том, как мы в банке выкатываем огромное количество моделей. Разберём не только пайплайн по выкладке отдельных моделей, но и целые каскады. Читать далее

Сборник советов, как упростить работу с YAML-файлами YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использ...

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

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

Автоматические двери: История создания. От механики до магнитной левитации В какой степени прошлое может «объяснить» настоящее, и предсказать будущее? Почему автоматические двери появившиеся в рекламных каталогах производителей в 1910 году, начали использоваться лишь в конце 20 века. В этой статье мы рассмотрим историческую ретроспективу появл...

Распределённые системы на службе ФССП России. Часть 2. Суперсервис «Цифровое исполнительное производство» Привет, Хабр! Меня зовут Дима. Я работаю в отделе разработки систем межведомственного взаимодействия РЕД СОФТ. Представляю вам вторую статью про импортозамещение в АИС ФССП России, в которой я расскажу о проектировании сложных территориально распределённых информационных сис...

9 сервисов для доставки товаров в Россию в 2023 году. Разбираю риски Сейчас сервисов, которые привозят товары в Россию – как грибов после дождя. Среди них много мошенников. Я сам дважды натыкался.За полтора года я поработал с 12 мейлфорвардерами – сервисами по доставке товаров из стран Европы, США, Турции и ОАЭ. Более менее приличные описал н...

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM) На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которы...

[Перевод] Создание сквозного конвейера MLOps с помощью Open-source инструментов MLOps с открытым исходным кодом: TL;DR Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения трад...

Как и зачем компании могут применять ML? Разбираемся на примере Netflix Привет, Хабр! Я Ефим, MLOps-инженер в отделе Data- и ML-продуктов Selectel. В последнее время, куда ни глянешь, только и разговоров, что про ML. Но всегда хочется увидеть результаты работы на практике. Если с IT-гигантами все понятно, то зачем ML, скажем, компаниям из индус...

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

Библиотека dplyr в R Библиотека dplyr в R позволяет манипулировать данными, проводить фильтрацию, выборку, сортировку, группировку данных и многое другое.В этой статье как раз и рассмотрим эту библиотеку. Читать далее

Ory Kratos — коробочный SSO Показываю как базово настроить и про свой опыт использования одного из популярных коробочных open source решений для идентификации пользователей Читать далее

Расслоение Хопфа и квантовая механика В математике существует очень интересная тема, которая носит название "расслоение Хопфа". В 1931 году Хайнц Хопф опубликовал свою работу об открытой им в топологии конструкции, получившей в истории название "Hopf fibration" - расслоение Хопфа. Суть этой конструкции, была о...

Замыкания и декораторы в Python: часть 1 — замыкания Впервые столкнувшись с концепцией замыканий, я мало что понял, и мне потребовалось потратить какое-то время на поиск и изучение дополнительных материалов, чтобы разобраться. Если у вас возникли те же проблемы, я постараюсь коротко, но понятно объяснить эту тему. Читать далее

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

От робототехника до промпт-инженера: кем стать, чтобы быть востребованным в 2024 году Сфера IT остаётся самой быстроразвивающейся и востребованной благодаря глобальному тренду на цифровизацию. Число вакансий в этом сегменте за год выросло на 10%, зарплатное предложение — на 7,9% и показывает наибольший темп роста. Спрос на IT-кадры вырос на 63% по сравнению с...

Не только дискеты, но и MS-DOS: ОС, которой несколько десятков лет, до сих пор востребована На Хабре не раз и не два публиковали новости и статьи о дискетах, которым прочат уход в прошлое много лет подряд. Но они до сих пор в строю, несмотря на то, что этот тип носителей уже не выпускается. Сегодня поговорим о других артефактах технологической культуры прошлого — M...

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

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

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

Дизайн уровней в The Last Guardian: пример геймплейного повествования The Last Guardian поражает своим уникальным подходом как в плане геймплея, так и сюжета, обеспечивая игроку захватывающий опыт и не оставляя равнодушным к второстепенному, но не менее важному, неиграбельному персонажу. Увлекательная реализация искусственного интеллекта живот...

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

[Перевод] Агрегат WITH CUBE В предыдущей статье говорилось о том как  работает агрегат WITH ROLLUP. В этой статье мы рассмотрим, как реализована агрегация WITH CUBE. Как и предложение WITH ROLLUP, предложение WITH CUBE позволяет просчитать несколько «уровней» агрегации в одном опера...

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

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

10 лет Docker: от революционной идеи до современной практики Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.В этой статье я поделюсь кратким обзором истории Docker, его ключевыми концепциями и мисконцепциями. Надеюсь, это...

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

В сети появилось видео с работающей AirPower Компания Apple уже давно отказалась от идеи выпустить свою фирменную беспроводную зарядную станцию. Проект AirPower был отменен в 2019 году. Однако инженеры Apple создали несколько прототипов, которые теперь время от времени попадают в руки к энтузиастам. На днях в X (Twitte...

[Перевод] Как мониторить Jenkins с помощью Prometheus, Node exporter и Grafana Перевели туториал, о том как установить и настроить связку Prometheus, Node Exporter и Grafana для Jenkins. Статья будет полезна тем, кто учится выставить системы мониторинга с помощью этих инструментов. Читать далее

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

Сказ о том, как я собеседования проводила. Часть 2 Привет! На связи Катя из мобильной разработки. Я выпускаю вторую часть статьи про собеседования в Альфе. С первой частью можно ознакомиться здесь. Процесс отбора сотрудников проходит годы становления, как было и у нас. Требования далеко не жёсткие — они меняются, как и сфера...

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

Zalman ZM-VE500 и неподдерживаемые ОС: «швейцарский нож» инженера дата-центра vs винтажные устройства На Хабре уже есть статья про Zalman ZM-VE500, написанная системным инженером ЦОД. Это одно из немногих устройств, которое содержит в себе эмулятор оптического привода и позволяет иметь под рукой сразу коллекцию ISO-образов операционных систем. Вот только любителям ретрокомпь...

«Машинное чтение» цифровых и не только индикаторов без ИИ и нейронок на Python В этой статье рассмотрим простой алгоритм обработки и распознавания значений из массива фотографий с показаниями цифровых индикаторов. Не будет машинного обучения, нейросетей, только стандартные библиотеки Python для работы с изображениями. Чита...

Дисплей для Ариты или тайна четырёх перемычек В прошлой статье цикла мы начали проект по приведению в чувство контроллера NORVI Arita Model 5, лишённого почти всех возможностей — дисплея, Ethernet интерфейса, картридера для microSD карт памяти и т. д. и произвели хирургическую операцию по имплантации в него Ethernet м...

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

Умный мясокомбинат: что можно сделать с инженерными системами? Современные производства за годы эксплуатации «обросли» большим количеством инженерных систем разных производителей.Заставить их работать вместе сложно, еще сложнее — обслуживать «зоопарк» техники.В статье мы рассмотрим несколько решений, которые улучшили работу инженерных с...

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

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Что общего между раком крови, лазерами и нейронными сетями? Доброго времени суток, дорогой Habr, надеюсь вы успели заскучать после 3-х месяцев паузы (ссылка на прошлую статью). На связи снова Николай Иванов и сегодня вы узнаете, что общего между раком крови, лазерами и машинным обучением.  В этой статье мы поговорим с вами о мет...

Разбор монады ContT, или как написать продвинутый goto, генераторы и файберы на хаскеле В этой статье я разберу монаду ContT, и покажу как вернуть return и другие control-flow операторы из императивных языков программирования, которых мне так нехватало, когда я начинал изучать хаскель. Читать далее

Проектирование БД рекомендательной системы по подходу DB-first В данной статье мы рассмотрим проектирование системы по подходу DB-first и то, какие проблемы он помогает не просто решить, а устранить как явление. Читать далее

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

As const в Typescript Привет, Хабр!В разработке часто возникают ситуации, когда точность типов и нежелание допускать неясности в коде становятся первостепенными задачами. В таких случаях, разработчикам приходится искать инструменты, предоставляющие максимальную ясность и строгость в определении д...

В закладки: 50+ полезных ссылок для начинающего QA-инженера Привет, Хабр! Меня зовут Кристина. Я работаю в Яндекс Практикуме ревьюером на курсе «Инженер по тестированию», ментором тестировщиков в Мастерской программирования и руководителем соревновательных видов IT-практики (багатонов, хакатонов и кейс-чемпионатов).В этой статье я по...

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Паркууур: четырёхлапый робот ANYmal может преодолеть почти любое препятствие ANYmal — робот на четырёх «ногах», сконструированный в форме собаки. Его создала команда учёных из швейцарской высшей технической школы ETH с целью поиска и спасения людей под завалами, например, после природных бедствий. Инженеры усовершенствовали робота и научили его базов...

Обзор по LLM В прошлом году(2023) в мире больших языковых моделей(LLM) произошло много нового и нитересного. В новостях появились фразы о гонке искусственных интеллектов, а многие ведущие IT компании включились в эту гонку. Рассмотрим как все начиналось, кто сейчас занимает лидирующие по...

Как правильно настроить Console Cloud Google для индексации страниц через API В статья я постарался подробно описать настройку сервиса Console Cloud Google, который необходимо для быстрой индексации страниц в поисковой системе Google. Читать далее

Как я носил датчик сахара в крови и теперь ем сладкое (часть 1) Сборник лайфхаков про то как есть сладкое, жить долго и продуктивно.Поделюсь своим опытом и наблюдения после месяца с датчиком контроля уровня сахара в крови. Читать далее

Многогранность систем WMS: внедрение, оценка преимуществ и недостатков Системы управления складом (AS WMS) стали неотъемлемой частью эффективной логистики, обеспечивая точный учёт товарных запасов и управление грузовыми потоками. Их разнообразие позволяет компаниям выбирать наилучшее решение, соответствующее их потребностям. Рассмотрим основные...

GPT или GigaChat — ответит RAGAS В предыдущей статье мы разбирались с тем, как RAGAS помогает оценить работу ретриверов в RAG-системах. Продолжая наше исследование, теперь мы переключаемся на другой важный аспект - качество языковых моделей, или LLM. Эти модели играют центральную роль в создании тех ответов...

[Перевод] Java ScopedValue: Ускоренный ThreadLocal В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с в...

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

[Перевод] Vue 3: Ваше первое знакомство с компонентом Transition Мы можем значительно улучшить юзер экспириенс, добавив плавную анимацию перехода между различными состояниями в нашем веб-приложении. Vue.js 3 предоставляет мощный компонент Transition, который упрощает процесс внедрения переходов во Vue-приложениях. В этой статье мы рассм...

Работа с хранилищами в Kubernetes: руководство для инженеров Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания ...

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

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

Троттлинг в Kubernetes. Или как настроить лимиты, чтобы приложения не “тормозили” Главная рекомендация - отказаться от лимитов!А теперь подробнее.Когда у вас много пользователей используют один кластер Kubernetes, возникает вопрос - как задать квоты, чтобы и приложениям хватало ресурса, и не случилось ситуации, когда из-за одного прожорливого соседа страд...

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.В ...

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров Привет, Хабр!Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.Традиционный подход к оптимиза...

Как на самом деле Async/Await работают в C#. Уроки по асинхронному программированию из первой половины работы Несмотря на то, что с предыдущей статьей-переводом мы выяснили что перевод уже есть на Хабре я рискну продолжить анализ этой работы.Теперь это НЕ перевод. Это моя интерпретация тех частей содержания первой половины Поста: Как на самом деле Async/Await работают в C#, которые ...

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

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

HMD дразнит смартфоном Fusion с модульными аксессуарами HMD Global, компания, выпускающая смартфоны под брендом Nokia, представила на MWC2024 концепт под названием Fusion. Теперь же HMD начала публиковать тизеры в социальных сетях в Австралии, Бенилюксе и Франции. Подробностей мало, но Fusion возвращает нас к к концепции мод...

Воплощаю мечту, создавая игру. Часть 2-я Вторая часть статьи про разработку компьютерной игры в одиночку на игровом движке Unreal Engine 5. Вторая часть является заключительной моего знакомства с аудиторией и в ней я высказываю свои мысли по поводу покупных механик и 3D моделей в marketplace, делюсь результатами р...

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

Как построить Observability для инфраструктурной платформы Можно ли сделать классный и удобный мониторинг не для галочки, а с пользой для всех участников разработки? Инженерный опыт подсказывает, что Observability как процесс идеально построить не получится. Но стремиться к этому стоит.Статья подготовлена на основе доклада Владимира...

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.В AdaBoost в качестве базовой модели и...

Вливаемся в Data Science: подробный roadmap что и где изучать Привет, Хабр) В этой статье рассмотрим план становления начинающим дата-сайнтистом. Рассмотрим, что и где изучать, чтобы преисполниться в своём познании. А там и до оффера недалеко Читать далее

[Перевод] Основы программирования на примере исходного кода React Изучите ключевые концепции программирования, лежащие в основе популярной JavaScript-библиотеки React. Понимание этих концепций поможет вам применить лучшие практики программирования в работе. Читать далее

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 1) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью, решил поделиться переводом. Автор материала рассказывает, как добавить Flutter в новый или существующий проект Native iOS и протестировать его на Codemagic CI/CD с ...

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

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

[Перевод] Города в киберпространстве: образ города и разработка ПО Уже почти 200 лет урбанисты проектируют города с учетом потребностей людей. UI/UX дизайнерам есть чему у них научиться.Эта статья — вторая часть моего исследования связи между городами, теорией градостроительства, современными практиками разработки цифровых продуктов и польз...

Как мы переводили проект на CMake В статье мы расскажем о том, как переводили проект с рекурсивной сборочной подсистемы ЗОСРВ "Нейтрино", представляющей собой набор расширений инструмента GNU Make на сборочную систему CMake: с какими нюансами нам пришлось столкнуться, какие преимущества мы получили...

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

[Перевод] Архитектура MMO: источник истины, потоки данных, узкие места I/O и их устранение По воле абсудрных обстоятельств, которые сможет понять лишь тот, чьё хобби полностью совпадает с основной работой, недавно я оказался вовлечён в разработку MMO-игры. Несмотря на то что это приложение идеально вписывается в концепцию «распределённых архитектур», конкретные...

Intel расщедрилась. Функция APO, которая значительно повышает производительность в играх, станет доступна и на процессорах Intel снова выпускает почти то же, что и год назад. Представлена оставшаяся часть линейки процессоров Raptor Lake Refresh Компания Intel всё-таки решила расширить поддержку функции Application Optimization (APO) на более старые процессоры.  Изначально компания зая...

PVS-Studio в 2023 За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-Studio. Читать дальше →

Метод Binoculars обещает высокую точность обнаружения текста от больших языковых моделей ChatGPT пишет не хуже человека, но можно ли обнаружить «машинность» в тексте? Хотя некоторым компаниям было бы выгоднее представить всё так, будто результат работы языковых моделей неотличим от человеческого, исследования в этом направлении активно ведутся. Авторы научной ...

Типичные задачи аналитика. Часть 2. А есть ли тренд? В первой части статьи на Habr мы рассмотрели классические подходы к оценке изменений метрики при условии ее стационарности. В этом контексте статистические критерии, применяемые в A/B тестировании, оказались весьма эффективными.Однако, если существует стабильный тренд, напри...

Doom. Часть 2. В поисках неведомого Кадата или магический реализм, сюрреализм и странные сны. 8 необычных вадов Doom совсем не был бы тем, чем он является, не сопровождай его определённая степень сюрреализма как окружения, так и происходящего, выгодно отличающего его от условно типовых шутеров в стиле милитари, и не менее условных хорроров / психоделических работ, имеющих больше или м...

Уравнение с тремя неизвестными: как отлавливать баги в системах хранения данных Привет! Меня зовут Никита Гуцалов, я инженер в компании YADRO и занимаюсь разработкой ПО для системы хранения данных TATLIN.UNIFIED. Вообще с системами хранения данных (СХД) я работаю уже много лет и люблю эту тему, поскольку она постоянно бросает новые вызовы, заставляя реш...

Исповедь о продуктовых провалах. 6 проектов, которые не стоило запускать, но мы все равно попробовали Решили, что достаточно поднаторели и теперь можем делать продукты не только для клиентов, но и для себя. И… ошиблись в этом. В прошлой статье я делился, как мы хоронили проекты клиентов. А сейчас я хочу рассказать, как потеряли много денег и в итоге закрыли свои продукты. Ч...

Как я разрабатывал веб-сервис по бронированию зарядных станций для электромобилей (часть 2) Всем привет, на связи снова Арсений Елисеев! Продолжаем работу над созданием веб-приложения для управления бронью ЭЗС, которое мы начинали ранее: …. Сейчас мы обратим внимание на практические аспекты: построение математической модели метода, его программная реализация и экон...

Особенности национального DevOps: йети, опенсорс и тяга к облакам Привет, Хабр! Меня зовут Марат Цконян, я из солнечной Испании, университет Аликанте. Компьютерный инженер по образованию, по опыту работы — системный администратор.В прошлом году я наткнулся на исследование отечественного DevOps-рынка за 2022 год: там Холдинг Т1 проводил ана...

Стек протоколов BLE 5 -физический уровень Физический уровень - это нижний уровень стека протоколов BLE, который определяет основные радиочастотные параметры связи BLE, включая частоту сигнала, схему модуляции и т.д.Рабочая частота BLE составляет 2,4 ГГц. Он использует частотную модуляцию GFSK и использует механизм с...

[Перевод] Советы разработчика с 8-летним опытом работы Привет! Меня зовут Бенуа, я работаю разработчиком программного обеспечения последние 8 лет. В своей предыдущей компании я проработал 7,5 лет, а в начале 2022 года перешел в новую.Эта статья написана в результате недавнего самоанализа о том, что мне стоило начать делать в сво...

Зачем вам эмоциоанльный дизайн Привет! Я Лёша. Cейчас руковожу командами эмоционального дизайна и UX-редакторов в Альфе. До этого почти пять лет работал в Яндексе и помогал строить лучший автомобильный классифайд Авто.ру, сначала в роли дизайнера, а потом руководил продуктовым дизайном.В середине прошлого...

Самозанятые в IT: налоговые риски В связи с активным развитием IT-сферы и возможностью работы на фрилансе компании с энтузиазмом привлекают сторонних IT-специалистов. На что нужно обратить внимание при работе с самозанятыми для избежания налоговых последствий?Главный риск в подобной ситуации – переквали...

6 важных принципов GDPR Привет, Хабр!Сегодня я хочу поговорить о GDPR – регуляции, которая изменила понимание приватности данных в Европе и за ее пределами. На первый взгляд, GDPR может показаться очередной бюрократической головной болью, но на самом деле это очень большой шаг в сторону уважения и ...

Красавица и HTML Injection. Почему HTMLi не только про дефейс Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об ...

«Once you go Rust, you never go back»: создаем игру для программистов на Bevy Привет, Хабр! В прошлой статье я рассказал о своем переходе в геймдев и моей концепции «хакерской» игры. Здесь же сосредоточился именно на разработке, а также на инструментах Bevy и Rust, которые использовал для игрового движка. Интересно узнать из первых уст, как создаются...

Еще один год из жизни ReactOS Здравствуйте, дорогие друзья!Вот и заканчивается 2023 год. В этой статье я хочу продолжить начатую в 2021 году традицию вспоминания наиболее важных событий из жизни ReactOS за год. То что статьи не появляются на Хабре, не значит что система мертва. Медленно, но верно, в Reac...

[recovery mode] Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1 Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере...

Кратко про Serde в Rust Serde — это высокопроизводительная библиотека для сериализации и десериализации данных в Rust. Она поддерживает различные форматы данных, включая JSON, YAML, TOML, BSON и многие другие.В этой статье рассмотрим основы Serde в Rust. Читать далее

Qucs-S: руководство по видам моделирования, часть 1 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S...

На пути к самодельным радиолампам. Стеклодувные операции Немалую часть технологического процесса изготовления радиолампы занимает работа со стеклом – чудо как хорошо подходящим для этой цели материалом. Рассмотрим набор операций, достаточных для изготовления стеклянной части простого электровакуумного прибора (ЭВП) в ключе работ ...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

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

Тернистый путь многономенклатурного мелкосерийного производства Сейчас мы крупная федеральная компания с миллиардным оборотом, с устоявшимися процессами и высоким уровнем корпоративной культуры, но 15 лет назад все было иначе. Читать далее

Проект «Селенит». Часть 6: Финализация Каждый проект рано или поздно заканчивается. При любом исходе проекта, удачном и неудачном, остаются документация, наработки, опыт, практики. Завершающая стадия проекта как раз и имеет целью разобраться с этим наследием, привести его в удобоваримое состояние. Одним словом, ...

[Перевод] Как мы управляем контейнерной платформой: история adidas о прошлом, настоящем и будущем 10 мая 2022 года компания adidas начала переводить конфигурацию своей платформы на GitOps. Спустя почти два года в блоге компании опубликовали цикл статей об эволюции контейнерной платформы adidas, которые мы перевели и объединили в один материал. В этих статьях инженер комп...

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

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

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля Пожалуй, многие из вас помнят, какими были мобильные игры до и после выхода первого iPhone. В начале 2000-х годов, ещё до появления яблочного смартфона, игры для телефонов в основном были весьма интересными, но тем не менее, достаточно простенькими с точки зрения графики и...

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

Магия вне Хогвартса: как повышать ИБ-грамотность сотрудников Сумрачная картинка: большое помещение, мало света. Стол и рядом стул, на котором сидит человек. Он работает за ноутбуком. Чувствую его усталость: он сегодня уже долго работает. Его что-то отвлекает: письмо. Электронное письмо. Он нажимает на ссылку, но ничего не появляется н...

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

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

Многогранный мониторинг Angie Здравствуй, дорогой читатель. Меня зовут Дмитрий. Я — системный инженер компании «Веб-сервер». На протяжении моего опыта оказания услуг технической поддержки сначала в компании Nginx, а теперь и в компании разработчика российского веб-сервера Angie, мы отвечаем на очень попу...

Принцип работы контроллера памяти в процессоре на примере Эльбрус 16С В этой статье разберём как устроена работа контроллера памяти в процессоре беря за пример Эльбрус 16С. Краткий разбор.

[Перевод] Функции ранжирования: RANK, DENSE_RANK, and NTILE В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникал...

Типичные задачи аналитика данных. Часть 1. Упала метрика В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массо...

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

QA под капотом. Тестируем и настраиваем 1С-Битрикс Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проекто...

DevOps as a Service. Часть 4. Решаем проблемы развития сотрудников подразделения и управления инициативами Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем. В прошлых статьях мы описали сам подход, показали пути решения различных проблем. Со статьями можно ...

Эволюция Traffic Engineering. Основы, распределённый и централизованный расчёт туннелей, магия PCE Как оптимизировать путь данных внутри чёрного ящика под названием «сеть» и гарантировать необходимый уровень сервиса пользователям своего приложения? Эта задача может волновать не только сетевых инженеров и архитекторов, но и разработчиков, и DevOps-команды. Для глубокого по...

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Ламповый дисплей для компьютера, часть 6: заключительная сборка в корпусе Вы добрались до шестой, заключительной части цикла статей о ламповом дисплее для компьютера. В этой статье я опишу, как осуществлялась окончательная сборка дисплея в корпусе и что из этого вышло. Нелишне будет привести ссылки на предыдущие статьи цикла: Часть 1 – обзор сос...

Вы все еще пишете многопоточку на C++ с ошибками синхронизации? Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинс...

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

«Белые пятна» сотовой связи «Летай» сократились еще в 200 населенных пунктах Татарстана По итогам прошлого года «Летай» построил 97 базовых станций, модернизировал 415 площадок связи и запустил мобильный интернет в 72 населенных пунктах, в 33 из них ранее связь отсутствовала.

Мой опыт времен флеша в геймдеве (Часть 2) Ранее я писал Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги. И вы статью хорошо приняли (62к просмотров).Я решил вспомнить, а с чего всё начиналось и чем по итогу закончилось - провести ретроспективу. Разработка игр - это мое хобби в сво...

[Перевод] Аутентификация по протоколу SAML с помощью OpenAM на примере Yandex Cloud В данной статье описывается, как настроить вход по технологии единого входа (SSO) по протоколу SAML в Yandex Cloud через Access Management платформу с открытым исходным кодом OpenAM. Читать далее

K8sGPT: Революция в управлении кластерами Kubernetes Стремительно растущая конфигурация K8s с современными трендовыми технологиями AI продолжает видоизменять трансформацию способов управления инфраструктурой и приложениями. В этой статье мы более детально обратимся к платформе K8sGPT, которая занимает центральное место в перев...

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

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

Система условных обозначений BPMN Система условных обозначений BPMN позволяет разрабатывать, документировать и улучшать бизнес-процессы. Основное внимание в BPMN уделяется достижению прозрачности и понимания процессов.Рассмотрим подробней. Читать далее

Секреты USA в Micro QR Code M2 (часть 2) Рассмотрим этапы расшифровки микрокода среднего микроуровня – М2 формата алфавитно-цифрового кодирования на том же самом историческом примере, что и М4, но в этот раз разделим сплошную фразу на четыре слова, получим: UNITED STATES OF AMERICA Читать далее

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

Большой гайд по энергии. Часть 1 — как получать максимум пользы из питания? Всем привет, на связи команда Skill Vortex!Читая комментарии под последней статьей, мы столкнулись с одной, крайне распространенной проблемой – низким уровнем энергии и мотивации.«Просыпаюсь уже уставшим, весь день хожу разбитым, а вечером хочется просто лечь и смотреть в по...

Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов В статье рассмотрим как создавать шаблоны в продуктах Jesbrains (WebStorm, PhpStorm, Intellij, PyCharm). Читать далее

Как я в Испании с интернетом на горе два года мучился, а Starlink меня спас. Тест интернета от Илона Маска. Часть 1 «Я джва года ждал» — реально про меня. Только ждал не игры, а нормального интернета, но как раз два года. И вовсе не потому, что интернет-связь в Испании, где живу, плохая. Когда жил под Гранадой, у меня был канал на 300 Мбит/с со стационарной телефонной линией и двумя номе...

Строим свой SSO. Часть 4: Vue.js, Регистрация, Сброс пароля Всем привет! Мы продолжаем строить собственный SSO Server. Сегодня мы детально разберем Vue.js приложение, а также спроектируем и реализуем долгожданные механизмы регистрации и сброса пароля. Как всегда, дополнительно мы разберём ряд интересных общесистемных решений, которые...

Разработка RESTful API: как использовать ExpressJS и другие фреймворки для создания RESTful API RESTful API — это одна из самых популярных архитектурных моделей для создания веб-сервисов и приложений. Понимание основных концепций REST и принципов RESTful API играет решающую роль при разработке современных веб-приложений. Читать далее

Добавление WebAuthn в веб-приложение Привет! В этой статье мы научимся добавлять WebAuthn в веб‑приложения со стороны frontend‑разработчика. WebAuthn представляет собой новый метод аутентификации, который обеспечивает более высокий уровень безопасности, заменяя устаревшие пароли и SMS‑подтверждения на...

Надуть всё: компания Sierra Space предлагает составить новую космическую станцию из своих наполняемых воздухом модулей Концепция космической станции, собранной из тонкостенных секций, внутри которых только воздух под давлением, не нова. Она привлекает внимание инженеров относительной дешевизной и не менее относительной простотой создания. Но, конечно, проблем здесь немало. Всё это нужно выве...

Как начать работать с IPv6 там, где его нет (часть 2) В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройств...

Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go Привет, Хабр!) Меня зовут Ильяс. В этой статье мы разберём известную идею — keepalive в межсервисном взаимодействии, которая спасла уже не одну компанию в трудное время :). Но чтобы добавить интереса, мы разберём, какие проблемы в keepalive принесли современные технологии (в...

Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений Всем привет! Сегодня с вами Юрий Шабалин, генеральный директор «Стингрей Технолоджиз», и я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием «MavenGate».А что в ней, собственно, такого? Ну хотя бы то, что ей подвержены более 18% всех Java-биб...

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

Разгоняем Ignite в облачной инфраструктуре. Часть 1 Привет, Хабр! На связи Дмитрий Пшевский @pshevskiy и Семен Попов @samansay, технические лидеры юнита Data в Сбере. Уже более 6 лет мы заботимся о клиентских данных Сбера — храним, дедублицируем, стандартизируем, маркируем. А сегодня хотим поговорить о произво...

True Anomaly тестирует космические аппараты программы Jackal, предназначенные для отслеживания объектов на орбите Американская компания True Anomaly приступила к реализации своего самофинансируемого проекта под названием Jackal, который предлагает новое решение для отслеживания противников на орбите. Согласно заявлению стартапа из Колорадо, ими уже была установлена связь с одним из...

[Перевод] Введение в планировщики иерархических сетей задач (HTN) на примере. Часть 1 Будучи программистами, мы можем обнаружить себя в постоянном поиске «лучшего решения» для любых задач, с которыми мы столкнулись, будь то производительность, поддерживаемость, юзабилити и так далее. И только после того, как мы реализуем эти решения, мы понимаем некоторые нюа...

Helidon 4 вышел, а никто и не заметил Те, кто использует Helidon в проде, наверняка точно знают, зачем им это нужно. Что делать остальным? Основная задача хомячка — объяснить детям концепцию смерти. Кажется, точно так же основная задача Helidon для широких народных масс — посмотреть на самые новые фишки Java и п...

[Перевод] Вопросы по DevOps. Часть 1 Hello world! В первой части шпаргалки (вопросника, если угодно) на высоком уровне рассматриваются такие вещи, как сеть, HTTP, операционная система, виртуализация, хранилище etc., а также несколько технологий, используемых в сфере DevOps, таких как Prometheus, OpenStack, Pu...

Как установить «МойОфис Частное Облако 2» в связке с «МойОфис Почта 2» Продукты Microsoft Exchange Server и SharePoint Server широко используются во многих средних и крупных организациях в России. Замена этой связки часто требует от компаний складывания лицензионно-технологического "пазла" из нескольких решений от разных производителей. При это...

eNPS (Employee Net Promoter Score) и лояльности сотрудников Этот индикатор, заимствованный из концепции Net Promoter Score, используемой для измерения лояльности клиентов, адаптирован для оценки того, насколько вероятно, что сотрудники будут рекомендовать вашу компанию как место работы своим знакомым и друзьям. Вопрос, лежащий в осно...

Kubernetes Networking: сервисы, Ingress и Network Policies Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакет...

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

iPhone 16 Pro Max получит передовой сенсор Sony Текущий флагманский смартфон iPhone 15 Pro Max сохранил тот же 48-мегапиксельный основной сенсор, который использовался в том числе в iPhone 14 Pro Max, но инженеры компании значительно его улучшил, чтобы новый флагман снимал лучше предыдущего. Теперь инсайдеры сообщают о то...

Теперь MacBook Air Base M3 обеспечивает более высокую скорость работы SSD Apple решила проблему, связанную со скоростью работы SSD-накопителей в базовой модели предыдущего поколения MacBook Air.

Как я нашёл работу геймдев разработчиком в США из России. Размер и способ оплаты, английский, где искать Я геймдев разработчик, и 6 месяцев назад я нашёл работу на США из РФ. В этой статье рассказываю как я это сделал. Подкрепил слова скриншотами переписок, звонков, контрактом.Рассказал про:• Размер и способ оплаты• Уровень английского• Сайты для поиска вакансий• Резюме и сопро...

Обзор публикации MITRE «11 стратегий SOC-центра мирового уровня». Часть 3 Коллеги, в двух предыдущих публикациях были рассмотрены стратегии 0-3 и 4-7 документа MITRE «11 стратегий SOC-центра мирового уровня». В сегодняшней публикации завершим рассмотрение данного документа финальным набором стратегий MITRE: Стратегия №8 «Используйте инструменты ав...

[Перевод] Kubernetes на AWS: пошаговое руководство В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:— Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS...

Разработка через тестирование. Совместное использование JUnit 5 и Mockito Привет, Хабр! На связи участница профессионального сообщества NTA Александра Грушина. Поговорим о важности написания тестов к своему коду, о магии подхода test-driven development. Я расскажу о своём пути: от первого знакомства с концепцией TDD до умелого использования и...

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

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

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

[Перевод] Обзор катастрофических рисков ИИ Это перевод статьи Дэна Хендрикса, Мантаса Мазейки и Томаса Вудсайда из Center for AI Safety. Статья не требует практически никаких предварительных знаний по безопасности ИИ, хотя предполагает некоторый (небольшой) уровень осведомлённости о прогрессе ИИ в последние годы. Чит...

Взгляд НСИ на VBA в Excel и не только Салют! На связи Ганзюк Владимир. Тружусь инженером по нормативно-справочной информации (НСИ) в компании Bimeister.Хочу поделиться с вами опытом работы с Excel: расскажу, как можно ускорить выполнение рутинных задач при работе с составлением наименований согласно нормативно-т...

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

Уникальные стили визуализации данных в Python: от Cyberpunk до элегантности Необычные стили для визуализации данных на Python: от киберпанка до эстетики. В статье рассмотрены 5 малоизвестных стилей для визуализации данных и создания дашбордов. Читать далее

[Перевод] Создание интерактивных анимаций с помощью React Spring Эта статья посвящена React Spring — библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях. Читать далее

Популярные расширения на PostgreSQL В чем сила, бр..Постгреса? Сила PostgreSQL во многом заключается в его расширяемости, которая позволяет открыть больше функциональности.В статье рассмотрим четыре популярных расширения на PostgreSQL на 2024 год. Читать далее

Организация корпоративной ИТ-инфраструктуры для 1С (50, 100, 200 пользователей) В данной статье мы рассмотрим пример подхода для создания инфраструктуры 1С в зависимости от количества пользователей. Читать далее

Прогнозирование временных рядов с помощью библиотеки Skforecast В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, ...

Клонирование голоса из музыки, удаление движимого текста из видео и новые фишки во второй части обновления Wunjo AI Привет, Хабр! Наконец, после множества бессонных ночей, я завершил работу над второй частью обновления open-source проекта Wunjo AI и воплотил своё видение приложения. В этом обновлении основное внимание уделено звуку: улучшено клонирование голоса, извлечение вокала или мело...

Предновогоднее шоу: Топ 10 ошибок в C и С++ проектах в 2023 году Вот уже выпал снег, на дворе декабрь, а значит и Новый Год где-то рядом. В преддверии праздников мы решили показать вам наиболее интересные ошибки, которые мы смогли найти в коде популярных Open Source проектов. Наши авторы написали много познавательных статей, разобрали мно...

Как ответить на вопрос «Когда будет готово?» на основе статистики Всем привет! Я Анастасия Жадринская, деливери-менеджер в Тинькофф. Да, эта статья опять про оценки и сроки выполнения задач. Сроки без вуду, астрологии, гаданий и привлечения экспертов. В статье рассмотрю метод Монте-Карло — элегантный и простой в применении математический п...

Септик и автономная канализация. Часть 1. Основы Канализация является крайне важной системой современного дома, однако при этом она незаслуженно обходится вниманием. Если нет централизованной канализации, то возникает необходимость строительства автономной канализации, что является сложной технической задачей. Многие знают...

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

Как презентовать дизайн-концепцию и не обосраться. Готовый скрипт + чек-лист Самое дурацкое, что можно сделать после создания дизайн-концепции — скинуть ссылку заказчику и ожидать фидбэк. Привет, я Антон — креативный директор в Пиробайт. Расскажу, как подготовиться к демо, чтобы после созвона вам не сказали легендарную фразу: «Давай по новой, Миша. В...

[Перевод] Свидетельства мошенничества FTX обнаружились в самом коде Впервые взглянуть на кодовую базу FTX мы смогли в прошлую среду. Сторона обвинения показала скриншоты с Github в процессе допроса сотрудничающего со следствием свидетеля Гэри Вана, бывшего CTO компании FTX, который в разные промежутки времени отвечал за кодовую базу, лежащую...

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

Дайджест научпоп-новостей за неделю, о которых мы ничего не писали • Телескопы НАСА рассмотрели рекордно далёкую чёрную дыру• Инженеры смоделировали робота по образу 450-млн летнего ископаемого• Бетельгейзе может быть результатом "тихого" слияния звёзд• Выхлоп газовых плит связали с детской астмой• Раскрыты секреты эволюции кошек Читать дал...

Создание простого калькулятора в android studio В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio. Читать далее

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настро...

Конец «тарабарщине»: инженеры NASA определили причину проблемы с межпланетным зондом-ветераном Voyager 1 и работают над решением Американское управление по аэронавтике и исследованию космического пространства NASA рассказало о новости неполадках межпланетного зонда Voyager 1 («Вояджер-1»). Инженеры подтвердили, что небольшая часть поврежденной памяти в одном из компьютеров на борту &l...

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

Конец программирования, как мы его знаем, или Что нас ждёт с LLM «Большие языковые модели и конец программирования». Под таким заголовком в прошлом году прошла серия лекций доктора Уэлша, профессора информатики в Гарварде. В этом посте мы раскроем основные тезисы выступления, и в заключение попробуем взглянуть на будущее так же воодушевлё...

Как настроить gRPC на примере микросервисов на Ruby и Go Поделимся личным опытом, как у нас получилось организовать взаимодействие микросервисов на Ruby и Go на основе gRPC. Мы расскажем:- о преимуществах gRPC;- об особенностях работы с протоколом;- о трудностях, с которыми может столкнуться начинающий разработчик. Читать далее

Как инженер звукозаписывающей компании изобрел компьютерный томограф Годфри Хаунсфилд, инженер-исследователь компании EMI, изобрел компьютерный томограф после случайного разговора с врачом во время отпуска. Машина, созданная для изображения человеческого мозга, принесла ему Нобелевскую премию. Он предложил разработать аппарат, который мог бы ...

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

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

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

Как улучшить английский в документации. Часть 2: ловушки двусмысленности Привет, Хабр! Я работаю техническим писателем в компании documentat.io, мы занимаемся заказной разработкой технической документации, в том числе на английском языке.В своей первой статье я разобрал, пожалуй, самые распространённые ошибки, которые допускают русскоязычные айти...

Как получить гражданство в Германии? Сейчас проходят финальные слушания по принятому закону, который позволит получить гражданство за 5 лет или в особых случаях 3 года. Раньше это было 8 лет. Дальше в статье идет детальный разбор закона и его 4-ех основных требований с ссылками на статьи и цитаты. Читать дале...

Выгорание на работе: что это такое и по каким причинам происходит Привет, Хабр! Меня зовут Даниил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в Россельхозбанке. В прошлый раз я рассказал о работе в условиях the roof is on fire на испытательном сроке: проект и сроки горят, старший коллега в отпуске, а ты в к...

Способы обхода GIL для повышения производительности Привет, Хабр!Global Interpreter Lock в Питоне предотвращающает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке ...

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. S...

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

В пригороде Новосибирска улучшили качество сотовой связи Инженеры МегаФона смонтировали базовые станции в активно строящихся микрорайонах вблизи Толмачевского шоссе.

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

NAS и SAN: основные характеристики, принцип работы и применение решений Сетевое хранилище (NAS) и сети хранения данных (SAN) — это два ключевых подхода к организации хранилища в сети, которые позволяют пользователям обмениваться данными независимо от их местоположения, что особенно актуально для работы геораспределенных команд.Несмотря на то, чт...

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

Django + React. Авторизация с помощью сессий между разными источниками Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более...

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 2) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью на английском о том, как добавить Flutter в новый или существующий проект Native iOS. Решил поделиться с вами переводом. Это вторая часть, в которой будет идти речь ...

Модульный ноутбук Framework Laptop AMD Edition: теперь ещё мощнее Привет, Хабр! Мы уже несколько раз писали о модульном ноутбуке Framework Laptop и его модификациях. Сейчас появилась новая версия устройства — с чипом от AMD. Уже доступна 13-дюймовая версия, через время в продажу поступит и 16-дюймовая. Судя по всему, дела у компании идут н...

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

[Перевод] 8. Nix в пилюлях: Универсальные скрипты сборки Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.Люка Бруно продолжает свой захватывающий рассказ. Чит...

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

Как QA собеседование проходил Привет, Хабр!Меня зовут Тоня. В SM Lab я работаю старшим инженером по обеспечению качества в команде продукта Интра — занимаюсь ручным тестированием и написанием автотестов на Kotlin. В этой небольшой статье хочу рассказать, как я искала работу и проходила собеседования чере...

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

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

Геометрия и навигация В этой статье будут рассмотрены некоторые проблемы и размышления, связанные с довольно интересной задачей коррекции/восстановления автомобильного трека на основе данных, полученных от MEMS датчика и навигационного приемника. Эта задача содержит много различных а...

Как UX/UI дизайнеру улучшить UI Kit: 10 конкретных советов В этой статье мы рассмотрим практические шаги и советы, которые помогут вам обновить ваш UI Kit, делая его не только более удобным и функциональным, но и вдохновляющим инструментом для создания великолепных пользовательских интерфейсов. Читать далее

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

Технологии групповой разработки в современной 1С-индустрии Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в этой статье я рассмотрю и сравню три самых популярных подхода к групповой разработке: хранилище конфигураций, конфигуратор + Git, EDT + Git. Читать далее

Слышал звон, знаю где он: делаем объёмный звук в наушниках на Windows В этой статье мы настроим объёмный звук в наушниках в любых приложениях через создание виртуальной звуковой карты или добавление фильтра к уже имеющейся. Так же есть вариант для стереоколонок.Используется бесплатное ПО VoiceMeeter и HeSuVi. Читать далее

ГОСТ 57580: как финансовым компаниям защищать критические данные Сегодня обсудим нюансы работы с критически важными данными финансовых организаций: — какие стандарты регулируют применение средств защиты информации;— как банки могут хранить и передавать данные, минимизируя риски;— на что обратить внимание, работая с облаком.Поделимся ...

Кратко про NewSQL Привет, Хабр!

SwiftUI: архитектура State-Model-View В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала р...

Сказ про робота Unitree A1 — Часть 1: Базовые возможности В 2022 году наш Университет - московский ордена Ленина, ордена Октябрьской Революции авиационный институт имени Серго Орджоникидзе, ну или просто МАИ принял участие и победил в конкурсе Приоритет 2030. Мы, как самое передовое в Мире МАИ подразделение приобрели робота собаку ...

Представлены Kia Sorento Hybrid и Plug-In Hybrid 2025: объявлены цены Kia объявила цены и информацию о Sorento Hybrid и Plug-In Hybrid 2025 модельного года, Как и следовало ожидать, цены на большую часть модификаций выше, чем в прошлом году. Но при этом базовая цена нового подключаемого гибрида Sorento оказалась ниже, чем раньше. Это...

Еще 4 села в Башкирии получили доступ к скоростному интернету и мобильной связи Инженеры МегаФона запустили базовые станции в селах Бижбулякского, Баймакского, Кугарчинского и Буздякского районов.

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

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 2 В первом материале из этой серии была объяснена работа механизма Copy‑on‑Write (CoW, копирование при записи). Там были упомянуты некоторые ситуации, в которых при выполнении кода осуществляется копирование данных. В этой статье речь по...

Создание и использование BOM в Gradle В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а...

[Перевод] Сравнение популярных брокеров MQTT с открытым исходным кодом MQTT (Message Queue Telemetry Transport) — легковесный протокол обмена сообщениями для публикации/подписки сообщений, на настоящий момент этот протокол является основным стандартом в Интернете Вещей (IoT). Брокер MQTT — главный узел (серверное ПО) для подключения IoT устройс...

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

Как мы создавали self-service функционал проверки качества данных для ML-моделей Привет! Продолжу рассказ о том, как мы превращаем банк в "биг дата" - организацию. Очевидно, что чем больше данных использует компания, тем больше зависит от их качества. Но, зачастую, вопросам качества данных при разработке витрин уделяется недостаточно внимания. Это связ...

Прокрастинация как инструмент для развития карьеры Привет, Хабр! Меня зовут Анжелика Максимова, я ведущий инженер Блока обеспечения и контроля качества выпуска изменений ПО РСХБ-Интех. Сегодня я расскажу вам, как использовать прокрастинацию для развития карьеры. Мы рассмотрим вопросы: откуда берется прокрастинация, как мозг ...

Концепция построения кустов сетецентрической системы управления войсками «Без применения военной науки победить нельзя» В.И.ЛенинВ предыдущей статье «Применение стационарных умных приёмников звука в составе сетецентрической системы» упор делался на одиночном кусте сетецентрической системы уровня батареи. Куст предназначен для установления 3–х м...

Для работы над неинвазивным глюкометром Apple в своё время создала секретный стартап Avolonte, о котором знало только руководство Большая статья Bloobmerg о планах Apple на сферу здравоохранения включает далеко не только историю о том, как умные часы купертинцев могли бы работать с Android, но в Apple в итоге передумали. К примеру, в статье есть информация о том, чего ждать от Apple Watch в следую...

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

Новейшая Toyota Camry XV80 — за 2,95 млн рублей. Бизнес-седан Toyota нового поколения появился в продаже в Казахстане Toyota Camry нового поколения (XV80) появилась в продаже в Казахстане, и цены там довольно демократичные: базовая версия с 2,0-литровым мотором предлагается под заказ за 14,3 млн тенге — это примерно 2,95 млн рублей. У некоторых продавцов машины есть в наличии, н...

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

Шифрование в Kubernetes: основы Многие приложения работающие в Kubernetes обрабатывают конфиденциальную информацию, требующую защиты от несанкционированного доступа. Kubernetes предлагает удобные способы для защиты данных. Рассмотрим основные из них в этой статье, а именно — шифрование в покое, шифрование ...

[Перевод] «Это длилось годами». Внутри производственного бардака Boeing Ещё задолго до пугающего инцидента с Alaska Airlines 5 января этого года внутри компании Boeing существовали опасения относительно процессов производства самолётов этим аэрокосмическим гигантом. Boeing, как и многие американские производители, отдавал на аутсорс всё больше ...

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

Как и почему мы построили Единую историю операций на Citus DB Доступ к единой истории операций — функция, которую сегодня ожидают видеть пользователи любого современного интернет-банкинга. В приложениях Газпромбанка функция существует уже много лет, но некоторое время назад мы решили существенно её переработать. В этой статье я расскаж...

Тайны пингвина: как работают исключения и прерывания в Linux? Привет, хабр! Моя прошлая статья о работе памяти в Linux вам понравилась. Сегодня мы разберем работу исключений и прерываний. Что это, как они работают в ОС и Linux? Давайте разберемся вместе! Читать дальше →

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

МегаФон ускорил мобильный интернет в двух районах Ростова-на-Дону Жители Верхнегниловского и Левенцовского районов теперь могут пользоваться мобильным интернетом МегаФон со скоростью до 115 Мбит/с. Это стало возможно за счет установки нового телеком-оборудования. Специалисты МегаФон развернули среднечастотный слой на сети, что позволило о...

Библиотека контролов для Avalonia UI Последний год наша команда работала над кроссплатформенной версией САПР Delta Design. В результате этой работы была создана своя библиотека UI контролов для Avalonia, которая поддерживает как ОС Windows, так и ряд систем Linux, включая российские АстраЛинукс, РедОс, а также ...

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

С немецким акцентом: краткая история создания магнитной ленты Магнитофон современного типа компании Allgemeine Elektrizitäts-Gesellschaft (AEG) был представлен на радиовыставке в Берлине еще в 1935 году, и к началу Второй мировой войны магнитофон был уже хоть и редкий, но вполне обычный девайс, как сказали бы сейчас. Что же касается ег...

[Перевод] Базовая гигиена серверов Linux (часть 1) Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubun...

Отечественная видеосвязь в отечественном VDI. Что может быть хуже? Сага о Termidesk, FreeIPA, Брест и TrueConf. 2/2 Это вторая часть о том, как “подружить отечественный VDI и TrueConf”. В предыдущей части мы уже стали мастером по владению Astra Linux.В этой части мы вновь установим Linux, но уже в гостевую ВМ, настроим Брест, Termidesk и TrueConf Server. И наконец посмотрим, как работает ...

Управление сервоприводами, часть 4. Управление «сервами» по I2C с Repka Pi через серво-драйвер Robointellect Controller В предыдущих статьях нашей серии про сервоприводы мы рассказывали, как они устроены, как можно управлять сервоприводами с помощью широтно-импульсной модуляции ШИМ (Pulse Width Modulation,  PWM) с помощью контроллеров Robointellect Controller 001, а также напрямую че...

Наконец-то даже в самых дешёвых MacBook установлен нормальный SSD. Разборка MacBook Pro 14 показала отличия между версиями 8 ГБ ОЗУ достаточно, да, Apple? Тесты показывают, что MacBook Pro 14 M3 с 16 ГБ памяти может быть в четыре-пять раз быстрее версии с 8 ГБ Специалисты iFixit разобрали новый ноутбук MacBook Pro 14 на SoC M3 и на M3 Pro. Напомним, по параметрам они отличаются довольно си...

Обновлённая «МойОфис Таблица»: как мы ускорили работу с документами в 50 (и более) раз В МойОфис мы регулярно прислушиваемся к пользователям и совершенствуем продукты с учётом их мнения. Речь не только о пожеланиях, которые мы напрямую получаем от коммерческих заказчиков: не менее внимательно мы анализируем и отзывы хабрасообщества.В одном из хабр-постов автор...

NLUX: Библиотека интерфейса Conversational AI В современном мире взаимодействие с компьютерами и приложениями становится все более естественным и удобным благодаря использованию разговорных интерфейсов и искусственного интеллекта. Однако, интеграция таких функциональностей в веб-приложения может стать вызовом для разраб...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике. Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения ...

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

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

Микрофронтенд для самых маленьких Всем привет. Меня зовут Алексей. Сейчас я работаю frontend-разработчиком в компании Ozon. В свободное время мне нравится читать про новые технологии, фреймворки, а учитывая то, с какой скоростью развивается frontend, я никогда не скучаю. В этой статье пойдет речь о микрофрон...

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

Использование опросов для измерения уровня лояльности Net Promoter Score (NPS) Net Promoter Score (NPS) играет важнейшую роль, служа барометром клиентской лояльности и удовлетворенности. NPS - это не просто метрика; это компас, который направляет компании на пути к улучшению качества обслуживания и оптимизации взаимоотношений с клиентами. По сути, NPS ...

[Перевод] Bash Auto Completion в Linux Пользователи взаимодействуют с Linux при помощи многочисленных команд, вводимых в командной строке. Учитывая разнообразие этих команд и их параметров, не так просто запомнить все наизусть.Однако в Linux предусмотрена удобная функция автодополнения для Bash. Этот инструмент, ...

В Питере создали прототип защищенной системы связи Специалист с кафедры систем автоматизированного проектирования Санкт-Петербургского государственного электротехнического университета ЛЭТИ Вячеслав Рыбин сообщил, что ученые вуза разработали устойчивый к помехам прототип высокозащищенной системы связи. Основой ее работы стал...

[Перевод] Создание эмулятора игр MS-DOS в Kubernetes В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере. Кроме того, по ходу статьи я дам советы и рекоменд...

Анти-легаси архитектура для UI приложений В предыдущих статьях мы пришли к выводу, что для того, чтобы UI‑код не превращался в легаси, нам нужно отделить представление от бизнес‑логики и немного иначе, чем это делают Redux и Elm, так как оба подхода не позволяют сделать э...

Что нового в .NET 8? .NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы, направленные на повышение производительности, NuGet Audit и прочее. Читать далее

Нотификации через RSocket в Альфа-Онлайн: от концепции до запуска в продакшн Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в браузер в любой момент времени, пока клиент онлайн. На стороне Альфа-Онлайн...

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