C++
-
Хабрахабр
Просто о сложном — пишем тесты с Google C++ Testing Framework (GTest, GMock)
Всем привет. Недавно по работе возникла потребность разобраться с созданием новых тестов на GTest/GMock. Конкретно мой вопрос был связан с его конструкциями типа EXPECT_CALL и моками - что это за магические штуки и как они работают? Однако, по мере изучения выяснились и другие интересные вещи, с которыми хотел бы поделиться. Первым делом ответы стал искать на Хабре. Здесь зачастую авторы…
Читать далее » -
Хабрахабр
Как ускорить Python с помощью C-расширений
Привет, Хабр! Я – Игорь Алимов, ведущий разработчик группы Python в МТС Digital, работаю над продуктами Smart Rollout и B2B-портал. В этой статье я расскажу о том, как писать быстрый код на Python с использованием C-расширений и победить GIL. На мысли об ускорении Python меня натолкнула статья о языках программирования будущего. Список перспективных (по мнению автора) языков я приводить не…
Читать далее » -
Хабрахабр
Гибкая индексация элементов в контейнере на С++ и при чём тут Boost.MultiIndex
Мотивация Предположим, что ты - С++ программист и тебе нужно создать справочник. Ну а точнее, рассмотрим один из этапов, когда тебе нужно отобразить одно множество на другое. В процессе поиска решения ты узнаешь про хэш-таблицы, деревья, и делаешь самую наивную реализацию. После чего, при усложнении стандартного примера, начинаешь задаваться вопросами: Как сделать ключом поле класса? Что, если правил для индексации(способов…
Читать далее » -
Хабрахабр
Генерация лабиринтов: алгоритм Эллера
Вступление Как оказалось, что тема генерации лабиринтов не сильно раскрывается в русско- и англоязычном сообществе. На хабре существует одна статья Алгоритм Эллера для генерации лабиринтов. Статья, является переводом англоязычной статьи с описанием алгоритма по шагам. В своей реализации, я опирался на алгоритм из статьи. В процессе я столкнулся с трудностями и недопонимаем алгоритма. Поэтому я решил подробно разобрать алгоритм Эллера…
Читать далее » -
Хабрахабр
[Перевод] Минимальные API в .NET 6
Создание REST API является основной частью многих проектов разработки. Выбор для создания таких проектов широк, но если вы разработчик на C#, варианты будут весьма ограничены. API на основе контроллеров были наиболее распространенными в течение долгого времени, но . NET 6 меняет эту ситуацию, предлагая новую возможность. Как это произошло? Присоединение компьютеров было проблемой с первых шагов распределенных вычислений около пятидесяти…
Читать далее » -
Хабрахабр
[recovery mode] А давайте это отфильтруем
Стилизация элементов пользовательского интерфейса в экосистеме .net/WPF «позволяет разработчикам и дизайнерам создавать визуально привлекательные эффекты и согласованный внешний вид своих продуктов» [docs.microsoft.com] На первый взгляд, это аналогично разделению веб-страниц на семантическое содержание в HTML и оформление в CSS. Однако, стилизация в WPF является гораздо более мощным инструментом, позволяющим существенно обогатить интерфейс программы (UI) без непосредственного изменения кода приложения. Однажды потребовалось…
Читать далее » -
Хабрахабр
.NET 6: PriorityQueue
В . NET 6 появилась новая коллекция — PriorityQueue<TElement,TPriority>. До этого очереди с приоритетами уже были в . NET, но только в виде внутренних классов — они использовались под капотом разных механизмов в WPF, Rx. NET и в других частях фреймворка. Но в . NET 6 PriorityQueue стала новой коллекцией, которой теперь можно пользоваться из клиентского кода. Давайте посмотрим, что предлагает…
Читать далее » -
Хабрахабр
Как работать с Makefile-проектами в среде CLion
За последние несколько лет мне пришлось столкнуться с множеством вопросов, которые были сформулированы примерно так: "мой проект не открывается в среде CLion". В свою очередь, это приводило к необходимости из раза в раз объяснять разным людям примерно одно и то же. Статья имеет целью сохранить тот опыт, который был накоплен в процессе анализа десятков разных проектов. Предполагается, что официальная документация…
Читать далее » -
Софт
[Перевод] Как помочь компилятору повысить быстродействие вашей программы
Современные компиляторы весьма далеко продвинулись в области оптимизации ПО. Но иногда им бывает трудно подобрать наилучший способ оптимизации. К счастью, мы можем помочь им в этом выборе. Под катом старший разработчик ПО компании Google, Minhaz A V*, рассказывает об оптимизации производительности кода. Менее чем за час работы автор ускорил код на 18%, добавив в него всего пару строк. Несмотря на…
Читать далее » -
Хабрахабр
Как я игрульку создал: ч. 1 Предыстория и идея, ч. 2 Игрок и сборщик уровней
Часть 1. Предыстория и идея Здравствуй, Хабр! Я хочу поделиться опытом в создании одной гиперказуалки. Сам я, правда, ещё совсем зелен и юн на этой тернистой тропе игроделания, но может кому-то станет интересно и он прочтёт цикл этих статей. Самого кода здесь не будет, а если и будет, то в очень мизерных количествах, в связи с чем вряд-ли эти статьи…
Читать далее »