> Важно отметить, что если страница является списком элементов, на которые нет перехода (к примеру список адресов диллеров), то не стоит представлять её URL как директорию.
Впоследствии у страницы могут появиться логически вложенные. Тогда придётся мудиться с редиректами, а то и вообще урл-директория может быть занят уже.
> хотя почему бы и не .php
Потому, что информация о серверной части сайта избыточна для пользователя и быть эта часть может на чём угодно. Даже инофрмация о формате сгенерённой страницы (.html) избыточна. Бессмысленное увеличение длины урла ничего общего с friendly не имеет.
Всё логично, соичает инвесторов. Пора уже им придумать рекурсивный инкубатор. Инкубатор инкубаторов инкубаторов… Только электронные деньги раньше надо ввести, а то весь лес изведут. Подтираться нечем будет.
Да что ж вас всех тянет на русские хостинги-то. Это надо ни разу не заглянуть на хостинг форумы во время выбора. Всегда так и всяк и на раскаряк было с ними.
> Я как любой отец хочу видеть своего сына образованным, умным и общительным
Тьфу. Я, моё. Подумайте о том, что нужно вашему сыну и помогите ему это получить. Иначе у вас не будет контакта, и все ваши потуги обернутся, когда с возрастом вы утратите контроль. Это не ваш ребёнок, это человек со своими склонностями. Если вы успеете это понять, то сможете стать его другом. А если не сможете, все ваши попытки обречены.
Чуть раньше так же стремились ввести в лоно. Церкви. Но это уже было искусственным и не прижилось. Так и наши текущие нормы «образованность», «общительность». В этом нет ничего абсолютного, это отражение нашей ситуации. У них будет другая ситуация и свои нормы.
Врядли так. Вон онлайн-игры взять. Да, любые развлекательные сервисы. Наоборот для убийства времени созданы. Скорее уж, не заставляйте делать скучное и страшное. Скучное — это то, что стоит между юзером и сервисом, типа интерфейсов. А страшное — то, что связанное с ответственностью, начиная с личных данных. Идея поста входит в «скучное».
У нас на gevent-wsgi-сервере крутится крупный проект. Уже около года. Обрабатывает порядка 200 запросов / сек. Там юзается lxml. Ничего подобного не замечал. Очень доволен gevent-ом.
>Т.е. теперь не понял, зачем все это: думал, все это для удобства делается, для простоты, для экспериментов, а не для скорости. Если для скорости, то, думаю, может иметь смысл выкинуть метод find: упростится код и не будет соблазна этот метод вызывать.
Для скорости. А find() для эксперементов :) Хотя на табличках <= 1к записей, уверен, он порвёт sqlite с индексами. А если условие выборки будет посложнее, то и на больших табличках. В лямбдах можно очень хитрое условие обработать, а попробуй переложить это на sql, очень жёстко получится.
> А зачем пользоваться обертками над key/value, если они будут медленными? А простые обертки будет медленными на всем, кроме получения по ключу и записи по ключу.
Ну, вот в случаях, когда этого достаточно и пользоваться. И на практике таких случаев большая часть. Как только мышление настроится, чтобы их замечать :)
Лямбды — да. Они по большей части для администрирования бд, не для пользовательских запросов.
import cPickle as pickle
import simplejson as json
import marshal
from time import time
data = range(100)
for dumper in [json, pickle, marshal]:
start = time()
for i in xrange(1000):
dumper.dumps(data)
print dumper.__name__, time() - start
1. Json сильно медленнее marshal, не уверен что имеет смысл привязываться к переносимости вообще. Привязываться к переносимости при хранении данных. Хранить нужно в том, что быстрее (marshal), а нужно перенести — дампим в переносимый формат. А так мы скоро придём к идее, что разные версии бд не совместимы и начнём как-то её обходить.
2. Вроже ж, cdb не перезаписываемая? Записал раз, а потом только читать или целиком переписывать бд. Или что-то изменилось?
3. Sqlite не понял зачем? Опять же, п.1. Какой смысл пользоваться key-value хранилищем, если оно будет медленным? Переносимость нужна? Тогда вон fsdbm, она pure-python :)
Впоследствии у страницы могут появиться логически вложенные. Тогда придётся мудиться с редиректами, а то и вообще урл-директория может быть занят уже.
> хотя почему бы и не .php
Потому, что информация о серверной части сайта избыточна для пользователя и быть эта часть может на чём угодно. Даже инофрмация о формате сгенерённой страницы (.html) избыточна. Бессмысленное увеличение длины урла ничего общего с friendly не имеет.
Тьфу. Я, моё. Подумайте о том, что нужно вашему сыну и помогите ему это получить. Иначе у вас не будет контакта, и все ваши потуги обернутся, когда с возрастом вы утратите контроль. Это не ваш ребёнок, это человек со своими склонностями. Если вы успеете это понять, то сможете стать его другом. А если не сможете, все ваши попытки обречены.
Чуть раньше так же стремились ввести в лоно. Церкви. Но это уже было искусственным и не прижилось. Так и наши текущие нормы «образованность», «общительность». В этом нет ничего абсолютного, это отражение нашей ситуации. У них будет другая ситуация и свои нормы.
Для скорости. А find() для эксперементов :) Хотя на табличках <= 1к записей, уверен, он порвёт sqlite с индексами. А если условие выборки будет посложнее, то и на больших табличках. В лямбдах можно очень хитрое условие обработать, а попробуй переложить это на sql, очень жёстко получится.
> А зачем пользоваться обертками над key/value, если они будут медленными? А простые обертки будет медленными на всем, кроме получения по ключу и записи по ключу.
Ну, вот в случаях, когда этого достаточно и пользоваться. И на практике таких случаев большая часть. Как только мышление настроится, чтобы их замечать :)
Лямбды — да. Они по большей части для администрирования бд, не для пользовательских запросов.
simplejson 0.0725080966949
cPickle 0.0695569515228
marshal 0.00670003890991
2. Вроже ж, cdb не перезаписываемая? Записал раз, а потом только читать или целиком переписывать бд. Или что-то изменилось?
3. Sqlite не понял зачем? Опять же, п.1. Какой смысл пользоваться key-value хранилищем, если оно будет медленным? Переносимость нужна? Тогда вон fsdbm, она pure-python :)