Вот и настал тот момент, которого мы все так долго ждали — конец 2020 года, всколыхнувшего практически весь мир чередой не самых приятных событий.
Автор: Bagomot
Перемещение объектов в 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.