Изучаем VoIP-движок Mediastreamer2. Часть 4

Материал статьи взят с моего дзен-канала. Создаем измеритель уровня сигнала В прошлой статье мы внесли ясность в корректное завершение программ использующих медиастример. В этой статье мы соберем схему измерителя уровня сигнала и научимся читать результат измерения из фильтра. Оценим точность измерения. В наборе фильтров, предоставляемых медиастримером есть фильтр, MS_VOLUME, который ПОДРОБНЕЕ

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful

Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат. Содержание Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо Blazor Client Side ПОДРОБНЕЕ

Изучаем VoIP-движок Mediastreamer2. Часть 3

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 2

В первой части статьи мы рассмотрели основы работы с утилитой SIP, предназначенной для создания Python-обвязок (Python bindings) для библиотек, написанных на языках C и C++. Мы рассмотрели основные файлы, которые нужно создать для работы с SIP и начали рассматривать директивы и аннотации. До сих пор мы делали обвязку для простой ПОДРОБНЕЕ

Эффективная удалёнка: как дистанционная работа повышает продуктивность организаций

Рассказ о компании, которая повысила производительность, переведя сотрудников на «пижамный» режим, и об обратной стороне долгосрочной удалённой работы. Статистика утверждает: дистанционный формат работы поднимает производительность труда. Но это же парадокс! Удалёнщики спят до полудня и целый день расслабляются, потому что на них никто не смотрит. Неужто не так? Дистанционная работа ПОДРОБНЕЕ

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1

Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый. И если вы видите, что производительность ограничена особенностями языка ПОДРОБНЕЕ

Расширенные инструкции процессора в .NET или «C# Intrinsics»

В шахматных программах широко используются «битовые доски» (битборды 1, 2) для представления фигур на доске. А так же и для других игр на той же доске 8×8, и даже для карточных игр. С битбордами часто проводят различные операции, например, найти первый установленный бит или посчитать количество установленных битов. Для этих ПОДРОБНЕЕ

.NET Core: интринсики x86_64 на виртуальных машинах

Мы живём в эпоху доминирования архитектуры x86. Все x86-совместимые процессоры похожи, но и все при этом немного отличаются. И не только производителем, частотой и количеством ядер. Архитектура x86 за время своего существования (и популярности) пережила много крупных апдейтов (например, расширение до 64 бит — x86_64) и добавлений «расширенных наборов инструкций». ПОДРОБНЕЕ

Массивы в C++

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из ПОДРОБНЕЕ

Перегрузка в C++. Часть I. Перегрузка функций и шаблонов

C++ сложный и интересный язык, совершенствоваться в нем можно чуть ли не всю жизнь. В какой-то момент мне захотелось изучать его следующим образом: взять какой-то аспект языка, возможно довольно узкий, и разобраться с ним максимально глубоко и подробно. Такой подход в значительной степени был стимулирован замечательными книгами Скотта Мейерса, Герба ПОДРОБНЕЕ