RadioProg
  • Статьи
    • Радиоэлектроника
      • Антенны и распространение радиоволн
      • Беспроводная связь
      • Высокочастотная техника
      • Волоконно-оптические линии связи (ВОЛС)
      • Измерительная техника
      • Исполнительные механизмы и драйверы
      • САПР
      • Спутниковая связь
      • Схемотехника
      • Телевидение
      • Цифровая электроника
      • Технологии и инструменты
      • Электронные компоненты
      • А что внутри?
      • Прочее (радиоэлектроника)
    • Программирование
      • Алгоритмы и структуры данных
      • Базы данных
      • Веб-разработка
      • Мультимедиа (разработка ПО)
      • Нейронные сети
      • Паттерны проектирования
      • Связь
      • Системы сборки ПО
      • Языки программирования
    • IT
      • Компьютерные сети
      • Операционные системы
      • Верстка
      • Системы контроля версий
    • Прочее
      • История технологий
      • Мультимедиа
      • Новости телекома
      • Нормативная документация
      • Охрана труда
      • Полезные программы
      • Просто интересно
      • Экономика телекоммуникаций и электронной промышленности
      • Экономика и инвестиции
  • Книги / руководства
  • Инструменты
    • Калькуляторы
  • Описания / ссылки на магазины
    • RF, Wi-Fi, Bluetooth, GSM, GPRS, GPS
    • Датчики
    • Дисплеи, индикаторы, светодиоды
    • Исполнительные механизмы и драйверы
    • Источники питания
    • Кнопки, клавиатуры, потенциометры
    • Макетирование
    • Одноплатные компьютеры
    • Отладочные платы
    • Платы расширения (shields)
    • Преобразователи, переходники, кабели
    • Прочие радиодетали
    • Приборы, инструменты, расходные материалы
    • Прочее (тех. описания, ссылки)

Последние материалы

  • Добавлено 26 февраля 2022 в 23:26
    Руководство по FFmpeg libav. Перекодирование
    Продолжение серии статей об основах работы с FFmpeg libav. TLDR; покажите мне код и исполнение. $ make run_transcoding Мы пропустим некоторые детали, но не волнуйтесь: исходный код доступен на github. Показать/скрыть код 3_transcoding.c...
  • Добавлено 26 февраля 2022 в 23:26
    Руководство по FFmpeg libav. Ремультиплексирование
    Продолжение серии статей об основах работы с FFmpeg libav. Ремультиплексирование – это процесс перехода от одного формата (контейнера) к другому, например, с помощью FFmpeg мы можем без особых усилий преобразовать видео MPEG-4 в MPEG-TS: ffmpeg...
  • Добавлено 26 февраля 2022 в 23:25
    Руководство по FFmpeg libav. Синхронизация аудио и видео
    Продолжение серии статей об основах работы с FFmpeg libav. Прежде чем мы перейдем к написанию кода для примера перекодирования, давайте поговорим о времени или о том, как видеоплеер определяет правильное время для воспроизведения кадра. В предыдущем...
  • Добавлено 26 февраля 2022 в 23:24
    Руководство по FFmpeg libav. Печально известный hello world
    Продолжение серии статей об основах работы с FFmpeg libav. Сложный способ изучения FFmpeg libav Поскольку FFmpeg настолько полезен как инструмент командной строки для выполнения важных задач с медиафайлами, как мы можем использовать его в наших...
  • Добавлено 26 февраля 2022 в 23:20
    Вводное руководство по FFmpeg libav
    Я искал учебник/книгу, которая показала бы, как начать использовать FFmpeg в качестве библиотеки (также известной как libav), и нашел руководство «How to Write a Video Player in Less Than 1000 Lines» (как написать видеоплеер менее чем за 1000...
  • Добавлено 21 февраля 2022 в 23:31
    Паттерн «Фабрика» на современном C++
    Паттерн «Фабрика» – еще один распространенный паттерн, который нам нужно знать. Главный принцип фабрики заключается в том, что она отделяет создание от использования. Но что это значит? Мы разрабатываем объект фабрику, который создает...
  • Добавлено 17 февраля 2022 в 21:10
    Принцип «Инверсия зависимостей» на современном C++
    Инверсия зависимостей – еще один принцип из SOLID, который поможет нам улучшить абстракцию. Применяя этот подход, мы отделяем определение интерфейса от фактической реализации. Чтобы объяснить этот паттерн, приведем классический пример с лампочкой...
  • Добавлено 14 февраля 2022 в 17:44
    Паттерн «Стратегия» на современном C++
    В этом посте я расскажу о паттерне «стратегия». Этот подход удобен, когда мы строим структуру, и у нас может быть несколько вариантов реализации конкретной процедуры. Например, вымышленная система поддержки клиентов. У нас есть система, в...
  • Добавлено 13 февраля 2022 в 18:40
    Паттерны проектирования «Шаблонный метод» и «Мост» на современном C++
    Является ли самым важным в разработке программного обеспечения только хорошее (или отличное) знание языка программирования? Конечно, нет. Есть еще много всего, но одно из самого важного – это знание шаблонов (или паттернов) проектирования. Это может...
  • Добавлено 13 февраля 2022 в 14:06
    Шаблон «Наблюдатель» на современном C++
    Мы начинаем серию постов, пытаясь представить популярные шаблоны проектирования на примерах современного C++. На этот раз мы поговорим о шаблоне наблюдателя, который поможет нам разделить различные модули в нашем коде. Ключевыми ролями в этом шаблоне...
  • Добавлено 10 февраля 2022 в 20:51
    Принципы SOLID в современном C++
    Говоря о паттернах, одна аббревиатура кажется наиболее популярной – принципы SOLID. Да, на самом деле SOLID – это аббревиатура, которая означает: Single responsibility principle (принцип единственной ответственности); Open-closed principle...
  • Добавлено 7 февраля 2022 в 00:42
    Краткий обзор string_view
    Возможности работы со строками в C++ мало менялись со времен C++98, пока в C++17 не произошло серьезное развитие: std::string_view. Давайте посмотрим, что такое string_view, и что он может привнести в ваш код, сделав его более выразительным и заставив...
  • Добавлено 6 февраля 2022 в 19:16
    C++20 Ranges. Полное руководство
    C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views),...
  • Добавлено 29 января 2022 в 12:07
    Анатомия асинхронных фреймворков в С++ и других языках
    Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины, и чем они так хороши. Это может...
  • Добавлено 27 января 2022 в 23:06
    std::atomic. Модель памяти C++ в примерах
    Для написания эффективных и корректных многопоточных приложений очень важно знать, какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс,...
  • Добавлено 26 января 2022 в 19:39
    Копирование файлов с помощью qmake
    Иногда бывает нужно скопировать определенные файлы из каталога с исходниками в каталог сборки с бинарными файлами разрабатываемого приложения. И инструмент qmake в Qt способен выполнять такие операции. Некоторые гении, возможно, и захотят использовать...
  • Добавлено 2 января 2021 в 22:52
    Обозначение O-большое: введение для начинающих разработчиков
    Обозначение O-большое – один из самых базовых инструментов информатики для анализа временной и пространственной сложности алгоритма. Выбор алгоритма и структуры данных начинает иметь значение, когда вам нужно написать программное обеспечение...
  • Добавлено 1 января 2021 в 17:34
    Многопоточность в C++. Возврат значений и проброс исключений
    Предположим, что имеются какие-то длительные вычисления, которые, как ожидается, вернут со временем полезный результат, значение которого вам пригодится позже. Для выполнения вычислений можно запустить новый поток, но это будет означать, что следует позаботиться...
  • Добавлено 31 декабря 2021 в 19:00
    Многопоточность в C++. Защёлки и барьеры (latches and barriers)
    В C++20 в стандартной библиотеке появились барьеры. Защелки (latches) и барьеры (barriers) – это механизм синхронизации потоков, который позволяет блокировать любое количество потоков до тех пор, пока ожидаемое количество потоков не достигнет...
  • Добавлено 31 декабря 2021 в 16:22
    Многопоточность в C++. Семафоры (semaphores)
    В C++20 в стандартной библиотеке появились семафоры. Семафор (semaphore) – примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения...
  • Добавлено 31 декабря 2021 в 15:00
    Многопоточность в C++. Условные переменные (condition variables)
    Представьте, что вы едете в ночном поезде. Чтобы гарантированно сойти на нужной станции, придется не спать всю ночь и внимательно отслеживать все остановки. Свою станцию вы не пропустите, но сойдете с поезда уставшим. Но есть и другой способ: заглянуть...
  • Добавлено 28 декабря 2021 в 03:15
    Многопоточность в C++. Однократный вызов функции с помощью std::call_once и std::once_flag
    Предположим, что есть совместно используемый ресурс, создание которого настолько затратно, что заниматься этим хочется лишь в крайней необходимости, когда пользователь обратился к этому ресурсу: возможно, он открывает подключение к базе данных или выделяет...
  • Добавлено 28 декабря 2021 в 02:32
    Многопоточность в C++. Захват нескольких мьютексов одновременно
    std::lock При малой глубине детализации блокировок для какой-либо операции может быть необходимо заблокировать два или более мьютекса. При этом может возникнуть еще одна проблема – взаимная блокировка. При взаимной блокировке один поток ждет...
  • Добавлено 22 декабря 2021 в 01:39
    Многопоточность в C++. Мьютексы чтения-записи для защиты часто читаемых и редко обновляемых структур данных
    Если мы производим только чтение данных, то гонки данных не возникает. Однако, если мы хотим изменять данные, то мы вынуждены защищать их от одновременного доступа. Но что делать, если большую часть времени структура данных используется только для чтения,...
  • Добавлено 22 декабря 2021 в 01:12
    Многопоточность в C++. ​Рекурсивная блокировка мьютекса
    Попытка потока заблокировать мьютекс, которым он уже владеет, приводит при использовании std::mutex к ошибке и неопределенному поведению. Но порой бывает нужно, чтобы поток многократно получал один и тот же мьютекс, не разблокируя его предварительно....
  • Добавлено 22 декабря 2021 в 00:54
    Многопоточность в C++. ​RAII механизмы для блокировки мьютекса
    std::lock_guard Не рекомендуется использовать класс std::mutex напрямую, так как нужно помнить о вызове unlock на всех путях выполнения функции, в том числе на тех, которые завершаются броском исключения. То есть если между вызовами lock и unlock будет...
  • Добавлено 22 декабря 2021 в 00:27
    Многопоточность в C++. Простая защита данных с помощью мьютекса
    Одним из ключевых преимуществ (перед использованием нескольких процессов) применения потоков для конкурентности является возможность совместного использования (разделения) данных несколькими потоками. Представьте на минуту, что вы живете в одной квартире...
  • Добавлено 21 декабря 2021 в 01:22
    Многопоточность в C++. Управление потоками
    У каждой программы на C++ есть как минимум один поток, запускаемый средой выполнения C++, – поток, выполняющий функцию main(). Затем программа может запустить дополнительные потоки, точкой входа в которые служит другая функция. После чего эти потоки...
  • Добавлено 20 декабря 2021 в 13:19
    Многопоточность в C++. Основные понятия
    Введение Разработчики часто сталкиваются с необходимостью разработки многопоточных приложений, поэтому вопросы многопоточности требуют детального изучения. Давайте познакомимся с основными терминами, используемыми в источниках информации о многопоточности,...
  • Добавлено 19 декабря 2021 в 23:06
    8.2 Настройка Git – Атрибуты Git
    Некоторые из настроек могут быть применены к каталогу, поэтому Git применяет их только к подкаталогам или набору файлов. Настройки, зависящие от пути, называются атрибутами и могут быть установлены либо в файле .gitattributes в любом из каталогов проекта...
Назад
Начало
Вперед
Яндекс.Метрика
Радиоэлектроника
  • Антенны и распространение радиоволн
  • Беспроводная связь
  • Высокочастотная техника
  • Волоконно-оптические линии связи (ВОЛС)
  • Измерительная техника
  • Исполнительные механизмы и драйверы
  • САПР
  • Спутниковая связь
  • Схемотехника
  • Телевидение
  • Цифровая электроника
  • Технологии и инструменты
  • Электронные компоненты
  • А что внутри?
  • Прочее (радиоэлектроника)
Программирование
  • Алгоритмы и структуры данных
  • Базы данных
  • Веб-разработка
  • Мультимедиа (разработка ПО)
  • Нейронные сети
  • Паттерны проектирования
  • Связь
  • Системы сборки ПО
  • Языки программирования
IT
  • Компьютерные сети
  • Операционные системы
  • Верстка
  • Системы контроля версий
Прочее
  • История технологий
  • Мультимедиа
  • Новости телекома
  • Нормативная документация
  • Охрана труда
  • Полезные программы
  • Просто интересно
  • Экономика телекоммуникаций и электронной промышленности
  • Экономика и инвестиции
radioprog logo

Мы в соцсетях

         

Карта сайта

Последние материалы

Контакты: radioprog@gmail.com

© 2008 — 2026 RadioProg.RU