В этой небольшой статье мы покажем ряд простых утилит, написанных на D, которые вы можете задействовать в своей работе. Некоторые из этих утилит являются простыми аналогами известных команд Unix, но, несмотря на это, имеют под своим капотом солидный функционал.
Рубрика: Рецепты
Небольшие полезные кусочки кода, а также советы по программированию, разработке, схемы, разводка плат, документация и т.д.
Конвертация PNG в файлы Portable Any Map и Farbfeld
В одной из статей мы упоминали, что нам не удалось найти примеры изображений в одном из описанных в блоге форматов. Тогда, проблема с отсутствием демонстрационных файлов решилась с помощью сторонних утилит и последующей конвертацией в нужный формат. Однако, очень неудобно иметь зависимость от стороннего инструмента и потому мы решили написать простой рецепт осуществления этой задачи силами D.
Небольшая подборка полезных фрагментов кода на D
В этой статье мы покажем ряд полезных фрагментов кода, которые известны практически каждому программисту на D. Здесь не будет каких-то интересных трюков и неожиданных решений, лишь скромная доля маленьких рецептов, которые способны упростить работу и которые иногда забываются.
Перенормировка диапазона значений в диапазон от -1 до 1
В стандартной библиотеке D имеется функция normalize, которая работает только для положительных значений. Мы решили исправить это…
Интервалы в D
Очень часто в разных задачах встречается один и тот же однотипный шаблон: в зависимости от того, в какой из нескольких, известных заранее, интервалов попало значение, следует предпринять разное действие. Обычно, таким действием является вычисление некоего числа или в общем случае, некой величины (необязательно числовой). Когда интервалов достаточно много, то начинается уже рутина с операторами if […]
Некоторые вспомогательные функции для работы с битами
В этом скромном рецепте мы предлагаем вам некоторые функции, которые потенциально могут облегчить вам программирование, если вы вдруг будете работать со значениями как с наборами битов. К сожалению, в рецепте практически нет ничего оригинального, и большая часть реализации взята из одной очень интересной библиотеки для Python 3, но это не значит, что в изложенном нами […]
Извлекаем данные из первого незаконного простого числа

Наш мир полон странностей: иногда — это странности природы, иногда — странности человеческой сущности, а порой странности ожидают нас там, где мы больше всего ожидаем увидеть практичность и порядок. Эти два качества обычно присущи двум вещам: математике, которая описывает мир чисел и иных объектов, и юриспруденции, которая описывает и вводит правила и нормы, управляющие нашим […]
Библиотека ppmformats. Чему я научился создавая обработчики PortablePixmap форматов
Недавно, я понял, что довольно часто я работаю с D не с домашнего компьютера, а с обычного смартфона. На смартфоне у меня стоит почти та же среда, что и на компьютере (я имею в виду, что на компьютере и смартфоне одинаковый комплект консольных утилит и их настройки так же одинаковы), а это значит, что хочется единообразной […]
Циклические сдвиги и криптопримитив enRUPT
Читая статьи с HabrHabr по одному из самых странных языков программирования (называется J, если кому-то интересно), я встретил в комментариях описание очень простого и компактного алгоритма шифрования под названием enRUPT. Меня заинтересовало то, что этот алгоритм, точнее криптопримитив (элементарную криптографическую операцию) можно описать буквально в несколько строк.
Определить порядок байтов, используемый текущей архитектурой
Иногда требуется определить, какой порядок байтов используется в текущей архитектуре, и специально для такого случая у нас есть скромный рецепт, быстро переведенный с языка программирования C.