Здравствуйте, Ночной Смотрящий, Вы писали:
S>>То есть просто вывести список пользователей у которых флаг "активен"? НС>Ты, надеюсь, понял что функция GetUsers универсальна?
Ты, надеюсь, понял что я не приверженец подобного подхода?
S>> Набросаю завтра, если время будет. НС>Ага. И чтобы без проклейки строк в памяти в одну большую, сразу в поток выводить.
cppcms сразу в поток и выводит.
Здравствуйте, Sheridan, Вы писали:
S>А ты не знай что у меня. Предложи своё. Или давай, например, сгенерируем все ip-адреса указанной какой нибудь подсети.
Кому нужна такая бесполезная ерунда? Давай возьмем реальную страничку — http://rsdn.ru/forum/mainlist. БД можно взять янусовую (структура БД на сервере, насколько я знаю, очень похожа).
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Sheridan, Вы писали:
НС>>>Результат творей работы, разумеется. S>>Работающий проект — корпоративный. Публичный проект еще не готов.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Вот поэтому надо выбирать языки, в которых есть LINQ, а не С++. S>>Объектную модель записей БД я и сам в состоянии построить. НС>Но продолжаешь чиселками номер поля указывать.
Так быстрее и проще
Нафига усложнять?
S>> Но мне она не нужна. Лишняя прослойка между данными и результатом. НС>Ты просто не понимаешь как работает LINQ. Никакой проклейки нет — модель, при желании, может служить строго источником метаданных. linq2db даже умеет в качестве модели использовать интерфейсы, экземпляр которых невозможно создать в принципе.
Да всё равно это лишняя прослойка. Запрос к БД любой сложности я и сам в состоянии составить, прооптимизировать при возможности (и запрос и БД под запрос если надо) и потом воспользоваться данными.
Здравствуйте, Sheridan, Вы писали:
НС>>Ты, надеюсь, понял что функция GetUsers универсальна? S>Ты, надеюсь, понял что я не приверженец подобного подхода?
Подобного это какого? Строгой типизации? Нет, не понял. А что, ты против нее?
S>Кстати, а чего это я... Бэнчмарки уже есть.
Здравствуйте, genre, Вы писали:
G>Интересно, как я могу предложить свое для тестирования, неизвестного мне, твоего? Или опять скорость виндовых гуев с помощью линуховых мерять собрался?
Тогда читай там
Здравствуйте, genre, Вы писали:
S>>То есть просто вывести список пользователей у которых флаг "активен"? Набросаю завтра, если время будет. G>ну в принципе можно уже ничего и не набрасывать. потому что в примере выше 5 строк, а тебе время надо
Вот эти пять строк я сохраняю в файл... И? Что мне набрать в строке браузера что бы заработало?
Ты вообще в курсе, что как бы надо помимо этих пяти строк еще надо немножко nginx понастроить, немножко БД для кода создать, чутьчуть данных написать, в ns запись добавить...
Или ты думаешь что код сам внезапно в нигде заработает с доступом из всего мира?
Здравствуйте, Sheridan, Вы писали:
G>>Интересно, как я могу предложить свое для тестирования, неизвестного мне, твоего? Или опять скорость виндовых гуев с помощью линуховых мерять собрался? S>Тогда читай там
А я даже прочитал. Считаю, что автору этих тестов надо запретить проводить подобные тесты.
Во-первых он сравнивает теплое с зеленым. Я не эксперт в wordpress, но что-то мне подсказывает, что под капотом там функционала где-нибудь в порядки раз больше чем у этой страшненькой high performance блог платформе (как она там дальше называется).
Во-вторых этот тест так же оторван от реальности как и все остальное на этом сайте.
Здравствуйте, Sheridan, Вы писали:
НС>>Но продолжаешь чиселками номер поля указывать. S>Так быстрее и проще
Даже если полей два десятка?
Быстрее и проще как раз использовать LINQ — гарантия отсутствия любых проблем с неправильным индексом поля.
S>Нафига усложнять?
Ну, понимаешь, на практике поля добавляются и удаляются, меняется их порядок и тип, они объединяются или наоборот разделяются, галактики рождаются и умирают. Каждый раз пересчитывать в уме индексы — странное понимание простоты.
НС>>Ты просто не понимаешь как работает LINQ. Никакой проклейки нет — модель, при желании, может служить строго источником метаданных. linq2db даже умеет в качестве модели использовать интерфейсы, экземпляр которых невозможно создать в принципе. S>Да всё равно это лишняя прослойка. Запрос к БД любой сложности я и сам в состоянии составить
Уверен? Давай проверим, недавно в соседнем форуме обсуждалось. Есть табличка вида (messageid:int, userid:int, parentid:int, date:datetime). Нужно составить запрос, который выдает все корневые сообщения (parentid=null), упорядоченные по дате последнего ответа в ветку, начатую указанным userid. Разумеется, на любом уровне вложенности. Простой, так сказать, тестик на знание CTE.
Здравствуйте, Sheridan, Вы писали:
S>Так быстрее и проще S>Нафига усложнять? S>Да всё равно это лишняя прослойка. Запрос к БД любой сложности я и сам в состоянии составить, прооптимизировать при возможности (и запрос и БД под запрос если надо) и потом воспользоваться данными.
Вот как-то примерно так и проваливаются проекты.
Вот когда у тебя модель данных чуть усложнится (или например, что очень часто бывает тебе придется денормализовывать базу для скорости) и у тебя в коде появятся монструозные запросы в перемежку с html, на этом все и закончится.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Sheridan, Вы писали:
S>>Ну так масштабировать надо узкие места. Как правило это БД. При огромном числе запросов, когда начнут кончаться сокеты НС>У тебя начнутся проблемы задолго до того как начнут кончаться сокеты. Вангую что больше 200 запросов/с твой код не осилит.
Если тебе только результаты теста — завтра httperf'ом пройдусь
S>> — пишется балансер, если один из существующих не подходит. НС>Ты не понимаешь о чем говоришь.
Будь уверен — столкнусь с проблемой — разберусь.
Здравствуйте, genre, Вы писали:
G>Как какое правило? С чего ты взял, что ты упрешься в БД?
В текущих проектах точно в процессор не уткнусь
А вот в БД — вполне могу...
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>А ты не знай что у меня. Предложи своё. Или давай, например, сгенерируем все ip-адреса указанной какой нибудь подсети.
НС>Кому нужна такая бесполезная ерунда? Давай возьмем реальную страничку — http://rsdn.ru/forum/mainlist. БД можно взять янусовую (структура БД на сервере, насколько я знаю, очень похожа).
Где мне янусовую БД взять и как мне её под линупсом поднять?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Ты, надеюсь, понял что функция GetUsers универсальна? S>>Ты, надеюсь, понял что я не приверженец подобного подхода? НС>Подобного это какого? Строгой типизации? Нет, не понял. А что, ты против нее?
Нет, против лишних объектных прослоек между данными и результатом.
S>>Кстати, а чего это я... Бэнчмарки уже есть. НС>Не не не, ты давай свои бенчмарки.
Тогда потерпи. Волшебной палочки у меня нет.
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Ну тогда смотри то что есть, не моё НС>Вот именно что не твое. Ты ж утверждал: "Я эти сомнения развеял.".
Я эти сомнения развеял, когда показал фреймворк для написания веб-приложений (в частности их) на с++.
Сейчас, похоже, я занимаюсь доказыванием того что всетаки умею программировать...
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Но продолжаешь чиселками номер поля указывать. S>>Так быстрее и проще
НС>Даже если полей два десятка?
Да
НС>Быстрее и проще как раз использовать LINQ — гарантия отсутствия любых проблем с неправильным индексом поля.
Нафига усложнять?
S>>Нафига усложнять? НС>Ну, понимаешь, на практике поля добавляются и удаляются, меняется их порядок и тип, они объединяются или наоборот разделяются, галактики рождаются и умирают. Каждый раз пересчитывать в уме индексы — странное понимание простоты.
Зачем в уме? Они у меня в коде посчитаны.
НС>>>Ты просто не понимаешь как работает LINQ. Никакой проклейки нет — модель, при желании, может служить строго источником метаданных. linq2db даже умеет в качестве модели использовать интерфейсы, экземпляр которых невозможно создать в принципе. S>>Да всё равно это лишняя прослойка. Запрос к БД любой сложности я и сам в состоянии составить НС>Уверен? Давай проверим, недавно в соседнем форуме обсуждалось. Есть табличка вида (messageid:int, userid:int, parentid:int, date:datetime). Нужно составить запрос, который выдает все корневые сообщения (parentid=null), упорядоченные по дате последнего ответа в ветку, начатую указанным userid. Разумеется, на любом уровне вложенности. Простой, так сказать, тестик на знание CTE.
Еще раз и помеждленее, не понял тз.