Использование утилиты redo со скриптами на D

Мы уже рассказывали про простую утилиту для сборки ваших проектов под названием redo. Также мы делали несколько версий данной утилиты — однаиз которых написана на чистом D, а вторая — на BetterC. В этой статье покажем, как можно применять утилиту redo и писать для нее скрипты на D.

Данная статья предназначена для пользователей Linux, работа в Windows и WSL не гарантируется!

Читать далее

Демонстрационный криптографический генератор псевдослучайных чисел

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

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

Читать далее

Получаем погоду из wttr.in с помощью D

В этой статье мы вам расскажем, как можно получить информацию о погоде с одного из известных сайтов без регистрации и получения каких-либо API-ключей. Мы покажем, как, используя только стандартную библиотеку D и ряд самописных структур, разобрать ответ с сайта wttr.in и что с ним можно сделать дальше.

Читать далее

Шум Перлина в D

В этой статье мы покажем простой порт реализации шума Перлина в D. Реализация очень простая и ее легко повторить вообще без сторонних библиотек и иных сторонних компонентов. Если вам интересно, то на правах рецепта, мы прилагаем код ниже.

Читать далее

Поиск на диапазонах

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

Читать далее

version — Согласование версии протокола в 9P

Данной статьей мы продолжаем серию переводов секции 5 страниц man из Inferno OS. В этой статье мы расскажем про самый первый тип сообщения Styx — сообщение version. Именно с этого сообщения начинается вся работа с сервером или клиентом, и с него начинается то, что называется транзакция (в современных терминах, это бы называлось сессией). Далее, мы дадим перевод информации из справочного руководства Inferno и покажем простой пример реализации этого типа сообщения в D.

Читать далее

Использование TCP-соединения для получения среднего времени ответа сервера

Недавно мы представили реализацию функции получения среднего времени ответа сервера с помощью команды ping. После публикации статьи нам поступило определенное количество справедливой критики по поводу ненадежности команды ping. По этой причине было решено опубликовать этот рецепт с реализацией того же функционала без использования ping.

Читать далее

Самый бесполезный шаблон

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

Если вам стало интересно, что мы такого придумали, то добро пожаловать в эту статью.

Читать далее

Реализация функции получения среднего времени ответа сервера с помощью команды ping

Вам приходилось когда-либо писать клиент-серверные приложения? Если да, то, вероятно, вы сталкивались с необходимостью получения времени ответа сервера. Такая необходимость может быть вызвана, например, при работе клиента с сетью серверов, имеющих разное географическое положение, для выбора оптимального сервера. В этом небольшом рецепте показан пример реализации функции получения среднего времени ответа сервера с помощью системной утилиты ping.

Читать далее

Акварелизация изображения с помощью dlib

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

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

Читать далее