Перемещение объектов в 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 имеется встроенный шаблонизатор […]

Подробнее