Трассировщик лучей на D

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

Естественно, мне захотелось повторить или хотя бы попробовать выступить переводчиком с С++ (с единственного языка программирования, который я даже не пробовал учить), поэтому я рискнул потратить некоторое время на качественный перевод и небольшие исправления приведенного в статье «Трассировщик лучей на визитке» и вот что получилось…

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

Подробнее

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

Хочу рассказать вам, дорогие читатели блога, об одной своей программке на 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

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

Подробнее