C++

  • ХабрахабрФото Подозрительные сортировки в Unity, ASP.NET Core и не только

    Подозрительные сортировки в Unity, ASP.NET Core и не только

    Есть мнение, что опытные разработчики не допускают простых ошибок. Ошибки сравнения? Разыменования нулевых ссылок? Нет, это точно не про нас… 😉 Кстати, а что насчёт ошибок сортировки? Как вы уже поняли из заголовка, с этим тоже есть нюансы. OrderBy(...).OrderBy(...) Проще всего объяснить проблему на примере. Допустим, у нас есть какой-нибудь тип (Wrapper) с двумя целочисленными свойствами (Primary и Secondary). Имеется…

    Читать далее »
  • ХабрахабрФото Кто такой Thread Pool и как его написать своими руками на С++

    Кто такой Thread Pool и как его написать своими руками на С++

    Для кого статья? Статья для тех, кто хочет разобраться в работе Thread Pool и написать наивную реализацию с использованием С++ 14 и С++ 17. Стоит упомянуть, что представленные реализации будут представлять решение учебной задачи и не подойдут для коммерческого использования. Что нового я могу узнать из статьи? Кто такой Thread Pool? Зачем использовать Thread Pool? Логика работы Thread Pool Реализация (С++ 14) Реализация…

    Читать далее »
  • ХабрахабрФото Спортивное программирование: не все так просто, как кажется

    Спортивное программирование: не все так просто, как кажется

    Меня зовут Абай Баймуканов, я – разработчик-алгоритмист. Уже несколько лет увлекаюсь олимпиадными программированием, поэтому в этой статье хотел бы поделиться своим видением по этому поводу. Быть олимпиадником по спортивному программированию довольно весело и интересно. Но быть жюри и составителем задач для самих олимпиад – достаточно ответственное и не менее интересное дело. Спортивное программирование - это те же математические задачки на…

    Читать далее »
  • ХабрахабрФото DevOps для firmware

    DevOps для firmware

    Часто слышал мнение, что в embedded программировании в принципе не может быть никакого DevOps(а).  Якобы вот есть GUI(ня) в IAR и там надо много мышкой водить. "Ты же не будешь ставить шаговые двигатели для сдвигания мышки" и т. п. В этом тексте я намерен пофантазировать каким мог бы быть абстрактный процесс разработки firmware с точки зрения DevOps. И перечислить атрибуты…

    Читать далее »
  • ХабрахабрФото Кастомный JsonConverter: уменьшаем связность и экономим ресурсы

    Кастомный JsonConverter: уменьшаем связность и экономим ресурсы

    Введение Технически это продолжение публикации Как не дать пользователю заснуть во время загрузки большого набора данных. Провожу "капитальный рефакторинг" корпоративной системы, которая используется 20 лет. Некоторые свои решения излагаю здесь в надежде, что кому-то пригодится, а также чтобы узнать что-то новое из комментариев. Проблема №1 У нас есть старая база данных, в которой за 20 лет чего только не завелось.…

    Читать далее »
  • ХабрахабрФото [Перевод] Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов

    [Перевод] Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов

    В предыдущей статье, посвященной перебору элементов кортежей, мы рассмотрели только основы. В результате нашей работы мы реализовали шаблон функции, который принимал кортеж и мог красиво вывести его в консоль. Мы также реализовали версию с оператором <<. Сегодня мы пойдем немного дальше и рассмотрим другие техники. Первая — с применением std::apply из C++17, вспомогательной функции для кортежей. В этой статье также…

    Читать далее »
  • ХабрахабрФото [Перевод] Баги в Hello World

    [Перевод] Баги в Hello World

    Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования. Конечно же эта простая программа не должна иметь баги? В конце концов, hello world программы делают только одну вещь. Как там может быть баг? Hello world в C Есть множество различных способов написать hello world в C.…

    Читать далее »
  • ХабрахабрФото Скрытые друзья в плюсах

    Скрытые друзья в плюсах

    Как известно, ключевое слово friend в C++ используется для предоставления доступа к закрытым членам класса внешним функциям и классам. Помимо этого, friend наделена еще одной фишкой, о которой знают далеко не все. В этой статье речь пойдет о hidden friends. Желающих разобраться в сабже, прошу под кат. Существует определенный набор рекомендаций для сокращения времени компиляции программ, написанных на С++, и…

    Читать далее »
  • ХабрахабрФото Простая программная генерация видео и картинок без стороннего API

    Простая программная генерация видео и картинок без стороннего API

    В этой статье я покажу простой способ генерации видео программами на Python и C/C++ без использования стороннего API. Вам так же потребуется ffmpeg, без него вы не сможете конвертировать файлы в читаемые форматы! Зачем это нужно? Можно экспериментировать, например вы можете создать видео максимального качества и проверять как оно будет эффективно сжиматься тем или иным видео кодеком. Можете даже создать…

    Читать далее »
  • ХабрахабрФото Самодельный измеритель крена и дифферента корабля

    Самодельный измеритель крена и дифферента корабля

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

    Читать далее »


Кнопка «Наверх»