Pull to refresh
13
0.5
Виталий Оразов@viordash

Программист

Send message

Заменяем лишние if-проверки на assert для инвариантов кода в C/C++

Level of difficultyEasy
Reading time3 min
Reach and readers13K

Многие разработчики привыкли везде ставить if-проверки, даже для условий, гарантированных кодом. Зачем проверять то, что не может нарушиться? Такие проверки создают шум в коде и мусор в релизе. Assert решает эту проблему: документирует допущения и исчезает из финальной сборки. В статье покажу все преимущества assert'ов и предостерегу от подводных камней их использования.

Читать далее

Упрощение отладки с помощью unit-тестов

Level of difficultyMedium
Reading time9 min
Reach and readers4.7K

Вроде бы отладка это очевидное свойство тестирования, но мне часто встречались ситуации когда разработчик видел в написании тестов только необходимость самого тестирования. Unit-тесты позволяют также упростить процесс отладки ситуаций, для которых необходимо выполнять много предварительных действий, чтобы дойти до отлаживаемого места в коде. По опыту это особенно актуально для embedded проектов, где тратиться куча времени на то, чтобы воспроизвести один единственный кейс.

Читать далее

Общий буфер обмена для Windows/Linux систем, с активацией по требованию

Reading time3 min
Reach and readers23K
image

Виртуальные машины плотно вошли в мое рабочее окружение, VMware, VirtualBox, Hyper-V и RDP. Наличие поддержки у них общего буфера обмена — это удобная возможность обмена данными между системами. Но есть и ряд минусов:

  • Автоматическая синхронизация буфера обмена далеко не безопасна, можно случайно «засветить» чувствительные данные в другой системе.
Читать дальше →

Обратный websocket/http туннель данных на .NET + SignalR

Reading time3 min
Reach and readers5.6K

 

Возникла необходимость организовать трафик к внешнему сервису из сегмента с ограничением на исходящие соединения. Этот внешний сервис использовал одновременно множество tcp/udp сокетов. При беглом обзоре существующих утилит не обнаружил готовое решение инкапсуляции множества сокетов с поддержкой «обратного» соединения.

Читать далее

Information

Rating
2,264-th
Registered
Activity