Перемещение объектов в heap

Официальная документация частенько удивляет! На этот раз мы нашли полезный рецепт в changelog к старой (на данный момент) версии компилятора. Шаблон moveToHeap принимает некий объект, извлекает указатель на него, производит выделение памяти с помощью GC.malloc и  moveEmplace (который лежит в std.algorithm) осуществляет перемещение данных из одного участка памяти в другой. С помощью взятия и распечатки […]

Подробнее

Idiomatic D. Подводные камни при портировании с C

Очень часто программистам приходится портировать код из одного языка программирования в другой, ведь не писать же свой «велосипед», когда можно просто «скопипастить» чужой код и немного подправить… Однако, не все так просто! Существуют различные сложности, связанные с архитектурой языков, компиляторов и «железа». Это, своего рода, «подводные камни», для преодоления которых, при портировании кода из C […]

Подробнее

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

Перевод документации к Vibe.d. Часть 3. Основываясь на низкоуровневой базе HTTP/HTML, высокоуровневая структура веб-приложений обеспечивает более быструю и надежную их разработку. Она использует декларативный подход, основанный на классах, для избегания повторов кода. Статическая типизация используется как можно больше для исключения ошибок преобразования, или ошибок доступа к неправильным ключам времени выполнения (например, несуществующее или ошибочное поле […]

Подробнее

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

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

Подробнее

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

Перевод документации к Vibe.d. Часть 1. Сначала установите диспетчер пакетов DUB, чтобы он обрабатывал загрузку и создание vibe.d и производных приложений. В системах, отличных от Windows, необходимо установить ряд дополнительных зависимостей. Подробную информацию см. в описании проекта на GitHub. Ручная сборка (например, с использованием RDMD) является альтернативой, но вы должны убедиться, что внешние библиотеки прилинкованы […]

Подробнее

Vibe.d. Работа с формами: GET и POST

Продолжаем цикл статей о веб-фреймворке Vibe.d. В прошлых статьях мы научились создавать простые шаблоны для статичного веб-сайта, а также добавлять в них D-код, в том числе исполняемый динамически. Но до сих пор наш учебный сайт умеет только давать информацию пользователю, а вот принять не способен. Сегодня мы это поправим, научившись основам работы с веб-формами. Vibe.d […]

Подробнее

Vibe.d. Добавление кода D в шаблон

Vibe.d отличается от других фреймворков своим быстродействием. Это достигается, в том числе, за счет превращения шаблонов при компиляции в код D. Пользователь запрашивает страницу и HTML-код выдается с максимально возможной скоростью без дополнительной обработки. Такой подход позволяет делать вставки кода D в шаблон.

Подробнее

Vibe.d. Как работать с шаблонизатором

Каждый достаточно сложный вебсайт имеет много повторяющихся элементов на своих страницах, например, верхняя часть сайта – заголовок (header) или нижняя – «подвал» (footer). Структура этих элементов не изменяются с каждой новой страницей, могут меняться лишь данные. Например, на разных страницах ссылки навигационного меню могут различаться, однако структура его останется прежней. В vibe.d имеется встроенный шаблонизатор […]

Подробнее

Vibe.d. Ваше первое веб-приложение на D

Развитие нынешнего интернета задают такие информационные гиганты, как Facebook, Amazon, Vkontakte, услугами которых ежедневно пользуются миллионы пользователей по всему миру. Фреймворк vibe.d, написанный на D, предназначен для создания устойчивых высоконагруженных веб-систем, подобных перечисленным. В цикле статей мы расскажем, как создать и развить свое веб-приложение с помощью vibe.d.

Подробнее

Сохранение изображения в файл

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

Подробнее