Найти в Дзене
CMake от начинающего до опытного. Часть 7 - Автоматизируем выявление ошибок в программе при помощи Valgrind.
Иногда после внесения изменений в исходный код и запуска программы появляются странные ошибки. Например, программа зависает, не реагируя на действия пользователя, и аварийно завершается(падает). Либо зависания не происходит, но программа падает. Иногда даже анализ логов не добавляет ясности, так как падение происходит в том месте исходного кода, которое не вызывает подозрений (по крайней мере на первый взгляд). Некоторые ошибки можно выявить при прогоне тестов. Но они не всегда помогают. Теоретически...
5 месяцев назад
Устанавливаем библиотеки Boost с помощью пакетного менеджера Conan
В мире, наверное, не найдется ни одного программиста на С++, который не слышал о Boost. Boost — собрание библиотек классов, использующих функциональность языка C++, и предоставляющих удобный кроссплатформенный высокоуровневый интерфейс для решения различных задач программирования, таких как работа с файлами, потоками, регулярными выражениями, генерацией псевдослучайных чисел, обработкой изображений, модульным тестированием и т. п. Библиотеки распространяется по лицензии Boost Software License, разработанной...
5 месяцев назад
Знакомство с СУБД Redis на практических примерах.
Redis (акроним из трех английских слов remote dictionary server) — резидентная система управления базами данных (СУБД), относящаяся к классу NoSQL, работающая со структурами данных типа «ключ — значение». База данных хранится в оперативной памяти и снабжена механизмами снимков и журналирования для обеспечения возможности хранения на дисках и твердотельных накопителях. Кроме того, Redis предоставляет операции для реализации механизма обмена сообщениями. NoSQL (от англ. not only SQL — не только SQL) —...
6 месяцев назад
Переход от монолита к микросервисам на практике. Часть 1 - Постановка задачи.
Данным материалом я начинаю серию статей в которых постараюсь на понятном примере описать различия между монолитной и микросервисной архитектурами, а также привести практические примеры создания каждой из них с использованием различных языков программирования (Python, Go) и фреймворков (fastapi, asyncio). Итак, начнем с постановки задачи. Требуется реализовать систему авто заполнения поисковых запросов, описанную в главе 13 книги System Design. Подготовка к сложному интервью . Авто заполнение можно встретить в поисковых системах или интернет-магазинах...
6 месяцев назад
CMake от начинающего до опытного. Часть 6 - Собираем отчеты о покрытии кода тестами.
В одной из предыдущих статей я начал тему тестирования. Сегодня продолжим развивать ее и посмотрим как тестирование помогает нам в процессе разработки. Как известно, написание исходного кода программы - это только пол дела. Кроме этого необходимо убедиться в том что созданный код работает правильно, а также в том, что изменения, внесенные в программу, не сломали какую-то часть ее функционала. Для этого код снабжается тестами, которые должны регулярно выполняться, например в автоматическом режиме в процессе непрерывной интеграции (continous integration)...
6 месяцев назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала