Comments 46
UFO landed and left these words here
Ускорение сложных сайтов. Зря так думаете, не так уж и сложно. Думаю в течении некоторого времени появится транслятор html => Vibe templ…
Даже, примерно, догадываюсь кто его напишет.
А зачем у Вас комментарии идут после комментируемого кода? Если сначала прочесть код, то и без комментариев ясно, что он делает.
Ну не всем это бывает понятно. Пусть, лучше, будут комментарии, нежели непонимание.
А если комментарии поставить перед комментируемым кодом, будет еще понятнее!
Ну вы вообще снесли мозг этим. Где вы вообще откопали такую странную привычку?
Честно говоря, нигде не видел такого стиля. Комментарий нужен, чтоб понять, что делает код. Зачем он, если это уже понятно? А вот до кода он как раз выполнит эту задачу.
Это же не заголовок, заголовки он либо сам пишем, либо через метод.
Просто фраза
Прошу прощения, не понял вашего комментария. Я просто хотел сказать, что правильно not found
чего новенькое то? стандартная ошибка человека, который не знает форм. Вообще очень прикольно, первый раз встретился, когда прибежала девочка проверяющая тексты после программеров. Грамматически то правильно, но по смыслу не очень. Но мы программеры люди же странные, мало ли что имели ввиду :)
Давно использую vibe.d, но у него есть один большой недостаток: отсутствие daemon режима, который необходим при доступе через ssh. Пришлось писать костыльную обертку, форкающую процесс с vibe.

Очень важно: vibe еще не достиг production состояния (хотя сам язык близок к этому). Если решите использовать, готовьтесь столкнутся с сотнями багов и необходимостью допиливания напильником исходников фреймворка.
Можешь пару примеров по Редису скинуть. Не смог разобраться
sir.me@list.ru
Редис только пробовали, пока искали альтернативу сломанному монго драйверу. Вся суть:
1. import vibe.db.redis.redis;
2. создать RedisClient,
3. У полученного объекта есть все методы, которые описаны в офф. списке комманд

В репе vibe есть пример: github.com/rejectedsoftware/vibe.d/blob/master/examples/redis/source/app.d
Ни сообщения компилятора, ни его версии. Вы хотели, чтобы читатели вашего комментария просто посочувствовали?
Отсутствие daemon режима, по моему скромному мнению,
для подобных вещей является скорее современной тенденцией.
Создавать daemon-ов и управлять ими это работа,
например, для upstart script, с которой он прекрасно справляется.

Обязательно посмотрите в сторону upstart — несколько
строчек в конфиг файле который лежит в /etc/init
делают удивительные вещи.
Итого к этому и пришли, rdmd скрипт в /etc/init, но все же приятнее, когда в сервере есть встроенный daemon режим, так как не нужно придумывать своих config файлов и способов логирования ошибок.
У вас дыра вот в этой строке:
auto file = format("./public/images/%s", req.params["f"]);

Передав ../../XXX можно получить любой файл с сервера.
В нормальных фреймворках должен быть встроен правильный код для отдачи статики.
Согласен, в данной реализации это совсем не безопасно. Лучше заменить на встроенный вариант без этой дыры:
   auto router = new URLRouter;
    router.get("/:r",&index_req);
    router.get("/",&index);
    router.get("*", serveStaticFiles("./public/"));
    ...

*Промахнулся, это ответ для ветки чуть выше*
Просто предполагается динамические изменение файлов(ресайз картинки для мобильных налету)
Бенчмарк проводил с помощью:
ab -r -n 100000 -c 100 http://127.0.0.1:8080/


Проц: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+

Сравнивал helloword для vibe и node.js:
vibe dmd:  4183.49 #/sec
node.js helloworld: 3695.95 #/sec 
с gcc или llvm бэкэнднами компиляторов D должен быть быстрей
ну почему же нет смысла. Понятно, что D быстрее, но вот на сколько быстрее — вопрос. В 2 раза, в 10 или в 100 раз быстрее
Node.Js компилируемый. У него в основе движок V8 от Гугла (тот же, что и в браузере Chromium / Chrome).
Но с C сравнить тоже интересно, вы правы :)
А на Си вы не задолбаетесь сайт то писать?
В Ди баланс между скоростью и удобством
Знать бы как поведет такой сайт при нагрузке и как дела с оперативкой будут идти.
Only those users with full accounts are able to leave comments. Log in, please.