danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

Без изменений

Sly32:
Естественно не будет. Аналогично в Джанге я делаю себе админку какую хочу, если не устраивают возможности встроенной.
Но это что касается портала.Пилить свой форум - дело неблагодарное.

Фреймворк ограничивает. Как минимум, системой роутингов, контроллеров, middleware, папки и файлы, неймспейсы, работа с запросами (Request/Response). Хотя бы это все связывает руки и заставляет делать так, как принято фреймворком. Другой вопрос, что то, как обязывает в 99% случаев фрейморк, является самым правильным и элегантным способом, и соответствует хорошей практике.

Stek:
Запросов куда ? База данных сразу ручкой помашет, особенно если проект типа форума, где нет возможности кешировать.

Входящих запросов к веб-серверу. База помашет, если каждый раз обращаться к ней. Форумы можно кешировать, и вполне успешно, просто не все форумы поддерживают механизм кеширования. На каждый INSERT/UPDATE чистим кеш. На каждый SELECT - пишем в кеш. Кроме массива ничего не храним (рендерим на стороне сервера). Пост-каунт и репутацию юзера храним в отдельном хранилище, по INSERT/UPDATE также обновляем. Все. Если все работает через одну модель, которая правильно это дело разрулит - никаких проблем не будет. Конечно, говорить о том, что форуму с 1 000 000 тем и 13 000 000 сообщений, на VPS с одним ядром и 1ГБ оперативной памяти будет свободно, это бред. Я лишь привел пример как мне удалось на дешевой VPS-ке без веб-сервера и интерпретатора сделать вполне себе простой самописный блог, который выдерживал такие нагрузки (2 000 rps - это теоретически 17 280 000 юзеров в сутки). Конечно, на практике это число будет ниже, так как блог был с около 30-40 записями, несколькими рубриками и небольшим количеством статики (статика скачивалась, но за запрос не считалась, т.е. один запрос = страница + картинки + css/js).

IPXI:
может есть люди, кто уже шёл этой дорогой и потом по каким-то причинам отказался от фреймворков и вернулся к велосипеду или в фреймворке теперь строит свои велосипеды. Или правильная дорога? Будет интересно послушать все мнения!

Однозначно, нет каких-либо очевидных причин изобретать свои велосипеды, кроме как пощупать механизм их работы, и набить "мышечную" память.

IPXI:
Программирую немного на PHP/Python, но есть подозрения, что изобретаю велосипед, хочется перейти на новый уровень и понять как надо, какой PHP/Python фреймворк лучше подойдёт для форума/портала (в своих велосипедах использую нестандартную структуру адресов, ajax - заодно посоветуйте и JS фреймворки). В общем какие связки фреймворков начать изучать, чтобы упростить создание веб-сайтов, на которых контент создают пользователи

Форум - это не очень то простое приложение. Во-первых, наполняется пользователями, а значит нужно много проверок и валидаций, иначе будете быстро поломаны. Во-вторых, проектировать базу нужно. Голоса (благодарности), пользователи, системы прав для модераторов - все это только базовый функционал нормального форума. Самому написать, конечно, можно, но... есть множество движков, которые все это имеют из коробки, и стоят дешевле, если сравнивать человеко-часы работы. Если ваша задача зарабатывать на форуме, или просто сделать форум по увлечению - то лучше взять готовое решение. Если задача вроде лабораторной работы - сделать самописный форум, то для PHP есть прекрасный фреймворк Laravel, который работает (интегрируется) c Vue.js, который позволит написать SPA (хотя даже не знаю, надо ли это для форума, но ради пощупать можно конечно). С Python в этом плане не знаком, но архитектурно закладывает более правильные принципы в программировании, хотя тут можно поспорить ещё.

Если хотите ещё посмотреть в сторону других языков (мир же на PHP и Python не заканчивается), то можете посмотреть Go, строгая статическая типизация, компилируемый, очень быстрый, имеет встроенный веб-сервер (не нужен nginx и прочие) и шаблонизатор, может работать как демон, на выходе один бинарник. В итоге на очень слабеньких VPS можно выпирать всю мощность (есть опыт на VPS за 250 рублей 2000 запросов в секунду). Ещё один из плюсов языка, кроме скорости работы, ещё и скорость разработки. Переписать какой-то проект на него можно очень быстро (при условии если уже знаком с Go и понял как он работает). Из недостатков может быть только то, что он в некоторых местах слишком низкоуровневый. С PHP переходить будет сложно: из-за динамической типизации, частичного отсутствия ООП (структуры их заменяют), не резиновых массив, компиляции, и т.д.

Читал на хабре про это, сейчас хотел найти вам, но не смог. На сколько я знаю, всегда краткое описание берется с первой текстовой ноды на странице. Т.е., если это <span>Ваш заказ #123</span>, то это и будет кратким описанием. Это удобно. Но как скрыть это, увы, я не знаю, да и не попадалось.

Попробуйте погуглить "habrahabr верстка email" и почитать статьи, возможно где-то там есть ответ.

Может стоит просто краткое описание сделать одинаковым цветом с фоном, а чуть ниже то что вам нужно? Хз, сработает ли.

Sitealert:
Тогда уж я отмечусь: vps/vds тоже не обязателен.

Да, просто я например не уверен, что у всех хостеров есть возможность использовать *.site.ru в доменах. Знаю, что вроде как в cPanel можно. А вот в других - хз.

Не нужен lighttpd. Достаточно nginx + wildcard, как сказал человек выше. А на стороне PHP проверять, есть ли данный юзер в базе, и если есть, то выводим его профиль или инфу по постам (или что вы там хотели). Так работает reddit, dirty и прочие доски с системой разделов на саб-доменах.

http://nginx.org/en/docs/http/server_names.html#wildcard_names

P.S. Сам домен не регистрируется. Wildcard допускает возможность любого сочетания (которое вы указали, например цифры или буквы). Вам не придется создавать виртуальные хосты и добавлять строчки для каждого юзера.

Я частично интересовался данной темой, и насколько я знаю, такое возможно. Единственный вопрос: пройдет ли модерацию такое расширение.

Во-первых, скорее всего вы не об iframe говорите.

Во-вторых,


var myWindow = window.open("http://ya.ru", "win", "location:no")

Но браузеры обычно игнорируют эти свойства.

if ( ! function_exists('str_limit'))

{
/**
* Limit the number of characters in a string.
*
* @param string $value
* @param int $limit
* @param string $end
* @return string
*/
function str_limit($value, $limit = 100, $end = '...')
{
if (mb_strlen($value) <= $limit) return $value;
return rtrim(mb_substr($value, 0, $limit, 'UTF-8')).$end;
}
}


$mod .= str_limit($consultation->description, 180);

Выведет текст с троеточием на конце.

Всего: 1540