Судоку своими руками

Хочу рассказать вам, дорогие читатели блога, об одной своей программке на Icon, о которой очень хотелось рассказать когда-то давно (еще в 2016 году), но тогда не хватало времени, чтобы описать свой игровой эксперимент. Так уж сложилось, что самое интересное, что я делаю на Icon — это игры, и данный случай — не исключение.

Дело в том, что у меня папа очень любит одну японскую головоломку, а мне явно не хватало вдохновения и идеи, чего бы такого запрограммировать, поэтому после недолгих размышлений, я решил для папы написать свою реализацию судоку, а что из этого получилось, вы можете увидеть заглянув под кат этой статьи.
Читать далее →

Подробнее

Цветной вывод текста в терминале Linux

Иногда возникает необходимость вывести в командную строку Linux сообщение, в котором часть текста или весь текст имеет какой-либо цвет. Согласитесь, очень удобно было бы иметь возможность грамотно и красиво оформить вывод своей программы на D с помощью понятного и почти всем доступного цветового оформления.

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

Подробнее

Поверхностное копирование объекта в D

Поверхностное копирование объекта можно осуществить весьма хитроумным способом, который мы нашли в интернете (к сожалению, найдено было давно и мы не смогли установить точного автора, а ссылку потеряли):

Читать далее →

Подробнее

Создаем «термокарту» изображения

Как-то я выложил рецепт по использованию палитр, которые были вытащены из Matlab, но не объяснил как этим пользоваться, хотя выложенный пакет цветовых палитр довольно интересная штука. Сегодня я покажу любопытный метод, как перекрасить некоторое заданное изображение, используя известный, но ограниченный набор цветов на примере создания простой «термокарты» из картинки.

Читать далее →

Подробнее

Документация Vibe.d на русском языке. Веб-фреймворк

Перевод документации к Vibe.d. Часть 3.

Основываясь на низкоуровневой базе HTTP/HTML, высокоуровневая структура веб-приложений обеспечивает более быструю и надежную их разработку. Она использует декларативный подход, основанный на классах, для избегания повторов кода. Статическая типизация используется как можно больше для исключения ошибок преобразования, или ошибок доступа к неправильным ключам времени выполнения (например, несуществующее или ошибочное поле формы).

Читать далее →

Подробнее

Простая реализация преобразования Фурье

Многие программисты используют в своих приложения алгоритмы цифровой обработки сигналов, наиболее распространенным из которых служит быстрое преобразование Фурье (Fast Fourier Transform, FFT). Несмотря на то, что в стандартной библиотеке D есть шаблон fft (в модуле std.numeric), тем не менее иногда возникает потребность в самописном модуле, который проще контролировать и расширять под свои нужды. Читать далее →

Подробнее

Документация Vibe.d на русском языке. HTTP

Перевод документации к Vibe.d. Часть 2.

Конфигурация сервера

HTTP-сервер поддерживает некоторое количество параметров конфигурации для настройки его поведения. По умолчанию сервер будет прослушивать все локальные сетевые адаптеры на порту 80 и выполнять полный синтаксический анализ запроса. Читать далее →

Подробнее

Создаем свою программу шифрования файлов на RC4

В этой статье я попробую рассказать вам, дорогие читатели блога, об одной из своих первых попыток написания самодельной программы шифрования файлов и показать вполне рабочий пример простого алгоритма шифрования. А что это будет за алгоритм и как будет организована программа вы узнаете далее… Читать далее →

Подробнее

Документация Vibe.d на русском языке. Первые шаги

Перевод документации к Vibe.d. Часть 1.

Сначала установите диспетчер пакетов DUB, чтобы он обрабатывал загрузку и создание vibe.d и производных приложений. В системах, отличных от Windows, необходимо установить ряд дополнительных зависимостей. Подробную информацию см. в описании проекта на GitHub.

Ручная сборка (например, с использованием RDMD) является альтернативой, но вы должны убедиться, что внешние библиотеки прилинкованы (например, libevent) и что идентификатор версии для используемого драйвера передается компилятору (например, -version=VibeLibeventDriver). Посмотрите dub.sdl vibe.d, чтобы определить, как осуществлять сборку на определенной платформе, или, как вариант, запустите DUB с ключом –v, чтобы увидеть фактическую командную строку компилятора. Читать далее →

Подробнее