Список публикаций
23.10.2021 Ленивые диапазоны и стирание типов
О том, что находится под капотом ленивых операций с разнотипными диапазонами.
14.03.2021 Ленивые операции над множествами в C++
Пример того, как проектировать ленивый диапазон, который будет производить какую-либо операцию с N
множествами.
13.03.2021 Ленивые итераторы и диапазоны в C++
Краткий ликбез по итераторам, диапазонам и ленивым операциям над последовательностями.
13.06.2020 Долой циклы, или Неленивая композиция алгоритмов в C++
Об автоматах, многопоточности, неленивой модели компоновки алгоритмов, и о том, как удобно и эффективно использовать эту модель в прикладном коде.
29.02.2020 Помоги компилятору помочь тебе
О том, как максимально использовать потенциал компилятора в выявлении ошибок.
29.02.2020 Модульное тестирование, наука и математика
Об осмысленном подходе к модульному тестированию.
12.08.2019 C++ и CMake — братья навек, часть II
О подготовке независимых идинообразных модулей и связывании их между собой.
30.07.2019 CMake и C++ — братья навек
О том, как подружить систему сборки CMake и язык C++ в рамках проекта заголовочной библиотеки.
26.11.2018 Манифест жёсткого программиста
О методологиях ведения разработки ПО и рабочих отношениях.
16.05.2017 Элементы функционального программирования в C++: композиции отображений
Об инструментах, делающих компоновку функций лёгкой и приятной.
24.10.2016 Элементы функционального программирования в C++: частичное применение
О проектировании и реализации механизмов частичного применения в языке C++.
05.07.2016 Концепты для отчаявшихся
О технике, позволяющей создавать легковесные и удобочитаемые “концепты” со, впрочем, достаточно ограниченной функциональностью.
02.06.2016 Динамический неоднородный плотно упакованный контейнер
О контейнере, ключевые особенности которого следующие:
-
Складываемые в контейнер типы не обязаны быть членами одной иерархии классов — это могут быть совершенно разные типы. Например, можно поместить одновременно
bool
,double
,std::string
,std::vector<int>
и т.п. -
Объекты плотно расположены в памяти. То есть они лежат в едином буфере подряд, друг за другом. Это снимает лишний уровень косвенности при обращении к ним по сравнению с тем, если бы это был, например, массив указателей на базовый класс, как это обычно делается для хранения в массиве классов из одной иерархии.
25.11.2015 Поразрядная сортировка с человеческим лицом
О том, каким должен быть правильный интерфейс поразрядной сортировки в языке C++, и почему именно таким.