[Перевод] Rust 1.63.0: потоки области видимости, I/O безопасность, NLL во всех редакциях по умолчанию

Команда Rust рада сообщить о новой версии языка — 1.63.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновл…

Разработка драйвера сетевого адаптера для Linux. Часть 1

В этой статье мы рассмотрим как устроен драйвер сетевого адаптера для Linux.Cтатью разделим на две части.В первой части рассмотрим общую структуру сетевого адаптера, узнаем какие компоненты входят в его состав, что такое MAC и PHY, разберемся как подго…

Обзор паттернов интеграции микросервисов. Часть 2

Продолжаем обзор паттернов интеграции микросервисов. В первой части мы рассказали, зачем IT-специалистам нужны шаблоны интеграции, и для каких задач они подходят. Подробно остановилисьна Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Asy…

Разработка cache-сервера для сохранения аккаунтов в задачах веб-парсинга

Всем привет!Одной из самых больших проблем при решении задач веб-парсинга данных является риск блокировки аккаунта. В общем случае эта проблема возникает только по одной причине – это большое количество запросов к веб-порталу за единицу времени.Существ…

Как научить операционную системы «выбрасывать» из системных вызовов исключения C++ и как это можно применять

Эта статья написана по мотивам дипломной работы, выполненной в ВУЗе. Мне показалось, что она могла бы быть интересна и другим людям, поэтому выкладываю пересказ. В этой работе я кратко рассмотрю, как вообще работают исключения в С++, опишу, как я добав…

Обзор паттернов интеграции микросервисов. Часть 1

Недавно мы проводили вебинар «Обзор паттернов интеграции микросервисов». На нём энтерпрайз архитектор Пётр Щербаков рассказал, зачем IT-специалистам нужны шаблоны интеграции, и разобрал, для каких задач они подходят, а для каких нет. Для тех, кто пропу…

Запуск MFC-приложения на не-x86 архитектуре нативно при помощи Winelib и подключение к нему плагина на Qt

Занимался я недавно портированием одного старого win32 MFC MDI приложения, до сих пор разрабатываемого с использованием Microsoft Visual Studio 6.0 (среда разработки 1998 года выпуска), на Linux. При чем необходимо было, чтобы под Linux собирался натив…

11 языков программирования для DevOps и их применение

Мы составили небольшой список языков программирования, с которыми приходится сталкиваться DevOps-инженерам. Подчеркнем, что это не рейтинг, и здесь нет лучших и худших языков — это лишь описание их возможностей и конкретных примеров применения для DevO…

Отладка драйвера Windows

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

Коллоквиум по программированию микроконтроллеров

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