Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Все-таки не удержался и решил продолжить тему, тк уровень тупости от этой кучи зашкаливает за все допустимые пределы. http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1023508&msg=14325892][ASP.NET MVC] Ленивая очистка временных файлов Я задавал вполне конкретный вопрос, о вполне конкретном _handle're, который содержит самый типичный неуправляемый ресурс. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Выделю специально для тебя UnmanagedCode = true © Фрэнк Баум, "Волшебник из страны ОЗ"- А как ты можешь разговаривать, если у тебя нет мозгов? - спросила Дороти. - Я не знаю. Но многие из тех, у кого нет мозгов, очень любят разговаривать, - ответило Чучело. Это про тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 14:26 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Глупая безпринципная свиноматка, ты долго будешь загаживать форум своей тупизной? Подщищать за собой unmanaged ресурсы и быть unmanaged ресурсом - это две разные вещи. Включи голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 14:34 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Заипали срач разводить! Думаете кто-то читает ваш обмен какашками? Я вот тупо уже пролистываю диалоги вида: - ... - SeVa - МСУ - SeVa - МСУ - SeVa - МСУ - ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 14:42 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAЗаипали срач разводить! Думаете кто-то читает ваш обмен какашками? Я вот тупо уже пролистываю диалоги вида: - ... - SeVa - МСУ - SeVa - МСУ - SeVa - МСУ - ... Угу. Кроме меня никто не читает. На день обоих забанил нафиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 14:48 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAЗаипали срач разводить! да, лучше б сначала Рихтера почитали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 14:49 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ShSergeУгу. Кроме меня никто не читает. На день обоих забанил нафиг. Да харош, я запасаюсь попкорном, заходя в ветку asp. Так совсем будет скучно на форуме, еще бы свенома вернуть с дидми... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:02 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
я же говорил про ортодоксальных приверженцев «истинного понятия неуправляемого ресурса». это дурка. файл на диске — не управляемый ресурс. путь до файла, это грубо говоря тот же хендл. но можно и хендл хранить для достижения нужного уровня «чистоты». суть от этого не меняется. файл как был неуправляемым ресурсом в контексте CLR, так им и остался. вызов финализатора гарантирован. это о бсолютно точно. по тому же Рихтеру (CLR via C# 4.0, 3-е издание дополненное) и даже если забить на Рихтера и других дядек, чисто логически — то на кой ляд нужен этот финализатор, если не известно там вызовется он или нет, по настроению CLR среды, да? белены объелись чтоле? мозги совсем набекрень от неуёмного умища съехали? дурдом. мне уже даже неловко становится, правильный ли я форум выбрал для обсуждения и получения знаний... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:04 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
(последнее замечание относится к homemadeFromRu и МСУ, ибо постоянные обитатели) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:06 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttправильный ли я форум выбрал для обсуждения и получения знаний...правильный. просто обсуждать и получать можно разными способами :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:12 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttвызов финализатора гарантирован. ну-ну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:18 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, полегче на поворотах. ты слепой чтоль ? ты искусственно прикрутил финализатору задачу по чистке и считаешь что то круто... иди в дет сад лучше учи детей, успокойся уже со своим говнокодом, делай что хочешь в своем проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:24 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt читать научись уже. даже никнейм не можешь разглядеть? также наверное и документацию читаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:28 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVostt читать научись уже. даже никнейм не можешь разглядеть? также наверное и документацию читаешь? Какая документация? :) hVostt«зло», «так плохо», «попахивает», «папуня майкрософт сказал», ни о чем мне не говорят. Документация, рекомендации и архитектурные гайды - это всё унылая фееричная глупость же. Вот как должны выглядеть аргументы! МСУhVostt http://2002-2012.mattwilcox.net/archive/entry/id/1054/ http://screwlewse.com/2010/07/dont-use-id-selectors-in-css/ http://oli.jp/2011/ids/ Что это за порносайты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:40 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
cooldeveloperМСУпропущено... Что это за порносайты?Заглянул по первой ссылке, промотал вниз, уже привыкнув к тому, что самые ценные мысли авторы приберегают для финала, и увидел такой высер: And lastly: Performance is a browser level issue , it is not something for HTML/CSS authors to fix or work around. As long as we are authoring valid and sensible HTML and CSS, we should not need to resort to such ridiculous rules simply to enhance the speed at which a given page renders. Nor need we, these things are getting faster with every release. It’s the JS boys that need to worry most about optimising their code for performance. If you want to optimise your HTML/CSS - do it for best-practices, not for performance. “poor” performace will fix itself as new browsers come out, but shoddy hard-to-maintain and obscure code won’t.На это автору хотелось бы посоветовать ознакомиться с историей одной оптимизации , но он не сможет. Для бедного автора сегодняшняя ситуация вообще катастрофическая: в css появились transitions, которые будут аццки тормозить, если оставить их проблемы на browser level issue. По остальным ссылкам ходить побоялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 16:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Antonariy, в чём высер-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAAntonariy, в чём высер-то? Ну написано же всё, ты чё не читаешь? Вкратце, автор статьих - идиот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:14 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, я только и слышу «так неправильно»... «так нельзя»... «это зло»... ну а теперь еще «искусственно»... почему???? как достучаться до вас!?? если вы такие УМНЫЕ, объясните! а если не можете, так и не пишите тогда ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:27 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
cooldeveloper, моряк моряка видит издалека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:28 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ИзопропилhVosttвызов финализатора гарантирован. ну-ну писец, я долбаном детском саду или в дурке. что ну-ну? чо эт значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:30 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAAntonariy, в чём высер-то?Грубо говоря, если в css меньше букв, но он является причиной тормозов, — наплевать. Браузеры оптимизируются, процессоры новые купятся, и тормоза исчезнут. Проблема решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:31 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
AntonariyskyANAAntonariy, в чём высер-то?Грубо говоря, если в css меньше букв, но он является причиной тормозов, — наплевать. Браузеры оптимизируются, процессоры новые купятся, и тормоза исчезнут. Проблема решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:33 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Нет, не "грубо говоря меньше букв", а код более удобочитаемый и поддерживаемый. Тормоза хорошего кода сами собой исчезнут, но хреновый код не станет хорошим сам собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:48 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttя только и слышу «так неправильно»... «так нельзя»... «это зло»... hVosttвешать стили на id — зло во плоти, не вздумай больше такое никому советовать. никогда. Этопять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 17:51 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
AntonariyНет, не "грубо говоря меньше букв", а код более удобочитаемый и поддерживаемый. Тормоза хорошего кода сами собой исчезнут, но хреновый код не станет хорошим сам собой.Ну а высер-то в чём? Вы же поняли, что автор за то, чтобы писать более удобочитаемый и поддерживаемый HTML/CSS код, а не гнаться за максимальной производительность. Вроде вполне конструктивно объясняет свою позицию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 18:01 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAВы же поняли, что автор за то, чтобы писать более удобочитаемый и поддерживаемый HTML/CSS код, а не гнаться за максимальной производительность.Да все с ним ясно, чукча не читатель, чукча пейсатель. Если у него производительность вступает в конфликт с читаемостью, то это проблема не браузеров. Если бы я был заказчиком и столкнулся с такой ситуацией, то нашел бы шустрый аналог и предъявил этому чукче, а на все ответные аргументы положил бы простое "не ипёт". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 18:30 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
AntonariyskyANAВы же поняли, что автор за то, чтобы писать более удобочитаемый и поддерживаемый HTML/CSS код, а не гнаться за максимальной производительность.Да все с ним ясно...С Вами тоже всё ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 18:32 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
да, тут все про всех всё знают, души как на ладони ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 18:35 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttписец, я долбаном детском саду или в дурке. что ну-ну? чо эт значит? это значит есть ситуации, когда финализатор может не вызваться. Рихтера цитировать не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 18:43 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ИзопропилhVosttписец, я долбаном детском саду или в дурке. что ну-ну? чо эт значит? это значит есть ситуации, когда финализатор может не вызваться. Рихтера цитировать не буду. Так ему об этом уже раз десять сказали. Доселе невнял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 20:03 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostthandmadeFromRu, я только и слышу «так неправильно»... «так нельзя»... «это зло»... ну а теперь еще «искусственно»... почему???? как достучаться до вас!?? если вы такие УМНЫЕ, объясните! а если не можете, так и не пишите тогда ничего. 1) твой класс не управляет файлами вообще никак, но ты умник на его финализатр кинул чистку файла, искусственно дал ему эту функцию 2) твой говнокод с сессией обломиться если шарехостинг сдохнет, такие хостинги как паркинг регулярно падают и хер там твой финализатор вызовется (свет отрубили, винда упала изза дров, диск покрошился) да блин элементарно подчищать можно не завися от сессии и финализатора. Везде чистить по дате создания: 1) фоновый сервис отдельно от сайта раз в N- времени 2) фоновый процесс внутри сайта, но если апп выгрузиться то тут надо пошаманить раз в N- времени 3) самый тупой от каждого реквеста на контролер/страницу из пула брать поток фоновый и давать задачу на чистку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2013, 21:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
cooldeveloperhVosttя только и слышу «так неправильно»... «так нельзя»... «это зло»... hVosttвешать стили на id — зло во плоти, не вздумай больше такое никому советовать. никогда. Этопять для тебя и твоим же языком. чего смешного? у тя с головой-то все ок? эхх.. доходяга... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:11 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Другой удачный способ применения финализатора — проверка очистки объекта перед удалением. Если объект при создании или по ходу своей работы захватывает ценные системные ресурсы, кроме памяти (открывает файлы или коммуникационные каналы, подключается к устройствам ввода-вывода), то, очевидно, в момент удаления объекта сборщиком мусора все эти ресурсы должны быть уже освобождены (то есть объект должен быть очищен). Ошибки очистки (когда объект в некоторых ситуациях не очищается или, что ещё хуже, очищается не полностью) очень коварны, их сложно выявлять, так как проявляются они при выполнении совсем не той части кода, где допущена ошибка. Как уже говорилось, проводить очистку в финализаторе неразумно, так как неизвестно, когда он будет вызван и вызовется ли вообще. Зато в финализаторе вполне уместно и удобно провести проверку того, полностью ли очищен объект, и выдать, в той или иной форме, сообщение об ошибке, если какой-то ресурс остался захваченным. Неважно, что финализатор может быть вызван поздно и не каждый раз; всё равно, если ошибка очистки объекта имеется, то рано или поздно финализатор «поймает» её. я бы хотел увидеть цитату Рихтера, который пишет, что вызов финализатора не гарантирован . то, что он неизвестно когда выполнится — это точно. но, то что он выполнится по-любому, 100%. если приложение фатально рухнет, конечно финализаторы не вызовутся. я это учел. папка должна очищаться перед стартом/рестартом приложения. на текущий момент, загружено более 10000 файлов, папка чистенькая, в логе исключений нет. спецом отключил очистку папки при запуске приложения. ну скажите мне, какие меня ждут проблемы? стоит ли опасаться? пока убедительных аргументов никто не привёл. зато поумничать в том или ином виде успели многие. аплодирую стоя. за упёртый мудизм. обращаюсь к МСУ — харе выдерать слова из контекста и пулять их с понтом «аагггга! подловил!!! бугааагаааг». эт детсад, осталось клоунов еще позвать. нечего по делу сказать, так лучше молчи. и не смеши народ. тем более это уже даже не смешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:21 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu1) твой класс не управляет файлами вообще никак, но ты умник на его финализатр кинул чистку файла, искусственно дал ему эту функцию 2) твой говнокод с сессией обломиться если шарехостинг сдохнет, такие хостинги как паркинг регулярно падают и хер там твой финализатор вызовется (свет отрубили, винда упала изза дров, диск покрошился) да блин элементарно подчищать можно не завися от сессии и финализатора. Везде чистить по дате создания: 1) фоновый сервис отдельно от сайта раз в N- времени 2) фоновый процесс внутри сайта, но если апп выгрузиться то тут надо пошаманить раз в N- времени 3) самый тупой от каждого реквеста на контролер/страницу из пула брать поток фоновый и давать задачу на чистку функция класса — управлять удалением файла. это его единственная функция. требованиям его работа полностью отвечает. что не так? где проблема? тыкните носом. если шаред внезапно сдохнет, конечно финализаторы не сработают, но приложение перезапустится, а при перезапуске (при старте) папка очищается — это называется «приведение приложения в изначальное состояние», все логично. 1. фоновый сервис — в топку, сразу без разговоров. даже обсуждать это баранье решение не буду. 2. фоновый процесс внутри сайта значит лучше, да? чем? почему? где блин хоть один аргумент? 3. это действительно самый тупой. мой маленький класс, с единой ответственностью, против целой эпопеи с запуском каких-то оторванных от задачи процессов, запускаемых неизвестно кем... вот уж точно, чтобы выкопать ямку мы пригоним экскаватор. убить воробья, мы пригоним целый батальон артиллерии и еще для верности вызовем пару бомбардировщиков. вы меня поражаете. дайте угадаю, это уже дело принципа? аргументы будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:32 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttя бы хотел увидеть цитату Рихтера, который пишет, что вызов финализатора не гарантирован . то, что он неизвестно когда выполнится — это точно. но, то что он выполнится по-любому, 100%.Зачем для этого Рихтер? GC.SuppressFinalize(this) достаточно. Где гарантия, что в каком-нибудь наследуемом классе из левой сборки эта фигня не запилена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:32 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
AntonariyhVosttя бы хотел увидеть цитату Рихтера, который пишет, что вызов финализатора не гарантирован . то, что он неизвестно когда выполнится — это точно. но, то что он выполнится по-любому, 100%.Зачем для этого Рихтер? GC.SuppressFinalize(this) достаточно. Где гарантия, что в каком-нибудь наследуемом классе из левой сборки эта фигня не запилена? это не библиотека. если бы я делал библиотечное решение, подход был бы совсем другой. GC.SuppressFinalize я точно вызывать не буду для этого класса. а другие компоненты не будут использовать этот класс. у него только один потребитель. это достаточные условия для выполнения нужных гарантий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:36 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttэто не библиотека.Вот это новость. Вы экзешники под иисом крутите? hVosttGC.SuppressFinalize я точно вызывать не буду для этого класса. а другие компоненты не будут использовать этот класс. у него только один потребитель. это достаточные условия для выполнения нужных гарантий?Ну вот так и говорите, "по-любому, 100% в моих условиях ". А не вообще, да еще с апелляциями ко всяким рихтерам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:46 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Antonariy, признаю свою ошибку. да действительно совсем позабыл сказать, что я не буду запрещать запуск финализатора для своего класса вручную и никакие «левые» библиотеки тоже не будут. я со всех библиотек взял предварительно клятвенное обещание. вселенную на всякий случай тоже попросил. а понятия библиотека от понятия сборка все же отличается. не физически, так логически. но я тут тоже могу дико ошибаться. поправьте если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 01:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
если все эти подколки типа «ну-ну» и т.п. крутятся вокруг одного только GC.SuppressFinalize, то я умываю руки. тогда надо учесть еще и хомяка. вы учли хомяка? он перегрызвает провода. как силовые, так и сетевые. если этот хомяк вас сбивает с толку, типа что еще за хомяк, то его зовут Хома. его никто не видел, но он есть. еще бывают землетрясения, они тоже могут помешать выполниться долбанному финализатору. и Путин тоже может испортить всю малину. энергетиков, кстати, вы учли? а злобные хакеры, бессовестно вмешивающиеся в работу серверов? а уборщицу, которая усиленно трет пол, задевая как будто специально провод серверного питания и проливающего воду на ИБП? нет? ну чтож. давайте обсудим это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 02:01 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttа понятия библиотека от понятия сборка все же отличается. не физически, так логически.IIS работает с файлами, а не понятиями. И тип этих файлов — библиотека. dynamic link library. hVosttесли все эти подколки типа «ну-ну» и т.п. крутятся вокруг одного только GC.SuppressFinalize, то я умываю руки.Понятия не имею, вокруг чего крутились чьи-то подколки. Я просто заглянул и вспомнил про SuppressFinalize. Мало чего я еще не вспомнил. hVosttнет? ну чтож. давайте обсудим это.Достаточно убить и перезапустить процесс, чтобы файлы разблокировались и стерлись, сами же сказали. Хомяки это из пушки по воробьям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 02:21 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttда действительно совсем позабыл сказать, что я не буду запрещать запуск финализатора для своего класса вручную и никакие «левые» библиотеки тоже не будут Дурень, не финализатора, а деструктора. Разницу понимаешь? Финализатор вообще категорически запрещается трогать. Ладно, спишем на то, что оговорился. http://msdn.microsoft.com/ru-ru/library/66x5fx1b.aspx If your application is using an expensive external resource, we also recommend that you provide a way to explicitly release the resource before the garbage collector frees the object. You do this by implementing a Dispose method from the IDisposable interface that performs the necessary cleanup for the object. Или опять скажешь, что рекомендации от нашего вендора - филькина грамота? Далее. hVosttя бы хотел увидеть цитату Рихтера, который пишет, что вызов финализатора не гарантирован . то, что он неизвестно когда выполнится — это точно. но, то что он выполнится по-любому, 100%. РихтерБеда в том, что разработчики ошибочно полагают, что использование синтаксиса деструктора означает в С # детерминированное уничтожение объектов типа, как это происходит в С++ .Но CLR не поддерживает детерминированное уничтожение, поэтому С# не может предоставить этот механизм. РихтерПри первом создании любого объекта, производнаго от типа Сritiсаl - FinalizerObject, CLR автоматически запускает JIT -компилятор, компилирующий все методы финализации в иерархии наследования. Компиляция этих методов после создания объекта гарантирует, что машинные ресурсы освободятся, как только объект станет мусором. Без компиляции метода финализации возможно лишь выделение и использование ресурсов, но не их освобождение. При недостатке памяти CLR не сможет найти достаточно памяти для компиляции метода финализации. Автоматическое управление памятью (сборка мусора) будет исполнен, что приведет к утечке машинных ресурсов. Также ресурсы не освобождаются, если код в методе финализации содержит ссылку на тип в другой сборке, которая не была обнаружена CLR Таким образом, если нужна гарантированная финализация, нужно смотреть в сторону класса CriticaiFinalizerObject. Только зачем эти грабли нужны для такой задачи, как у тебя. Сотый раз повторяю, что это нужно использовать при захвате unmanaged объектов. В твоем случае, ты вообще используешь логику в деструкторе. Убей себя. Серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 09:58 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
1) конкретный финализатор может не вызваться при зацикливании одного из финализаторов При завершении процесса выполнение финализаторов может быть прервано при превышении таймаута на отдельный финализатор или таймаута на всю очередь 2) для завершения рабочего процесса IIS никакой хомяк не нужен. рабочий процесс может быть планово перезапущен после обработки определённого числа запросов, превышении лимита занимаемой памяти и внепланово по "состоянию здоровья" и т д 3) перезапуск рабочего процесса приводит к потере состояния сессий(если сохранение состояние сконфигурировано как InProc) 4) сохранение состояние отличное от InProc(StateServer,SQL Sever,Custom) производится сериализацией/десериализацией со всеми вытекающими последствиями 5) финализаторы в IIS вызываются с правами рабочего процесса Достаточно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 10:43 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропил, с сессиями понятно. данное решение подходит только для InProc сессий, для других форм неуместно. InProc сессия довольно нестабильна и надо разрабатывать так, как будто сессия вообще толком не работает, выполняя по сути кеширующий для пользователя механизм, не более того. т.е. логика работы приложения не должна опираться на наличие сессии. на счет использования финализатора для удаления файла. да, в общем такое использование финализатора выходит за рамки рекомендаций. т.е. финализатор не должен участвовать в логике , а плановое удаление файлов это все-таки логика. поэтому данное решение мною рассматривалось для удовлетворения академического интереса. и пока что отлично работает. но в целом, так делать не стоит. потому что цель финализатора несколько другая. о чем написано кучу талмудов и что составляет муськину грамота — о том же :) в общем да, достаточно, спасибо за 5 пункт. есть еще что поисследовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 02:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Муся в бане, :) рад, что добился вразумительного ответа. в целом ты прав. вендоры не советуют лезть в финализатор со своей логикой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 02:57 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, очень рад, что терез тернии, терзания сознания и избиение плетью тебя, таки, удалось вразумить. Похвально. Теперь переключаемся на второй вопрос, с которого ты как-то лихо съехал и всё забылось под беспощадным гнётом твоей беспринципной напористости. Ну, конечно же, вопрос о сессии! Итак, согласен ли ты, что сессия - зло? P.S. Набрал попкорна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 11:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, сессия, это инструмент со слегка повышенным риском использовать его неправильно. называть из-за этого его злом можно не от большого ума. если только пугать новичков... у каждого педагога свои извращенные методы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 11:59 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
А альтернатива имеется? Сессия, она как работает, есть в браузере сессионная кука, по этой куке берутся некоторые данные. В общем-то, всё. Дёшево и сердито. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:03 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, сессия, это инструмент со слегка повышенным риском использовать его неправильно. называть из-за этого его злом можно не от большого ума. если только пугать новичков... у каждого педагога свои извращенные методы Не выкручивайся, как гнусный червяк, ты понял о чем речь :) О том же, о чем и твои декструторы. Речь о логике, разумеется. Вопрос повторить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:04 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ShSergeА альтернатива имеется? Сессия, она как работает, есть в браузере сессионная кука, по этой куке берутся некоторые данные. В общем-то, всё. Дёшево и сердито. Не, Серж. С этим всё хорошо, речь о том, что ты свой прикладной код и логику реализуешь с помощью сессии. Он понял о чем речь, просто выкручивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:06 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, разумеется сессию можно использовать для логики. например, пошаговые визарды для анонимов, состояние которых можно сохранять в сессии. ибо гадить в куки или вкручивать стейт в страницу — не всегда разумное решение. в основном сессия выполняет роль кеширующего механизма для посетителя/пользователя. но если: 1. существует «риск» масштабирования приложения на несколько серверов в будущем 2. нет (и/или не будет) контроля за конфигурацией сессии 3. не понятно что же это такое и как оно работает — забыть про использование сессий в личных целях. можно окрестить её злом и забыть на веки вечные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:15 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, сессия, это инструмент со слегка повышенным риском использовать его неправильно. называть из-за этого его злом можно не от большого ума. если только пугать новичков... у каждого педагога свои извращенные методы +1. Четкий ответ. Сессия - это данность. Она есть и все. Бест практис никто не отменял. А реверансы "слегка повышенного риска" - ну не надо бояться говорить. Найдется тонна объектов пострашнее сессии, которые юзают и - ничего. троллиИдет расклейка ярлыков - через неправильное использование клеится ярлык на некоторую область. Так я смогу аппроксимируя доказать что .Net (ровно как и что угодно) - говно, зло и полный отстой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:22 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
пробегаллоТак я смогу аппроксимируя доказать что .Net (ровно как и что угодно) - говно, зло и полный отстой. Смотря в каком контексте обсуждать. В некоторых случаях .NET гавно, например, в случае разработки видео драйвера. Поэтому ярлыки имеют место быть, нужно просто понимать, где их надо применять. В случае прикладной логики сессия - зло. Почему так - я привел соотвествующие выводы и пруфы от MS. Что еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:25 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, разумеется сессию можно использовать для логики. например, пошаговые визарды для анонимов, состояние которых можно сохранять в сессии. Садись, двойка. При таком подходе твой сайт атакой положить на бок - как два пальца об асфальт. Да здравствует Out of memory Бегом марш читать про Profile_OnMigrateAnonymous, что это такое, как оно работает и зачем это надо. hVosttв основном сессия выполняет роль кеширующего механизма для посетителя/пользователя. Десятый раз повторяю, тебе в прикладном коде ничего кешировать в сессии не надо. Не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:37 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, а ну да... аут оф мемори может случится, если этого не предусмотреть. но, если ты не в состоянии этого предусмотреть, то уже ничего тебя не спасёт. никакие гайды от МС. еще раз говорю, без понимания, можно следовать букве гайдов и рекомендаций. строго. и ничего в этом страшного нет. подумаешь, не хватает тямы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:50 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, жду примеров (хотяб на пальцах), когда использование сессии — это профит. по букве гайдов и всевозможных рекомендаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:51 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, а ну да... аут оф мемори может случится, если этого не предусмотреть. но, если ты не в состоянии этого предусмотреть, то уже ничего тебя не спасёт. Зачем мне разбрасывать себе же капканы и пытаться от них защищаться? Я похож на идиота? hVosttникакие гайды от МС. еще раз говорю, без понимания, можно следовать букве гайдов и рекомендаций. строго. и ничего в этом страшного нет. подумаешь, не хватает тямы. Ты уверен, что прочитал все мои процитированные рекомендации от MS в гайде? Еще раз по буквам разберем идею? hVosttМСУ, жду примеров (хотяб на пальцах), когда использование сессии — это профит. по букве гайдов и всевозможных рекомендаций. Ты чего-то куришь страшное. Использование сессии — это не профит. Ты о чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, а ну да... аут оф мемори может случится, если этого не предусмотреть Достаточно того, что сама платформа выделяет сессионный слой под каждого пользователя, о чем написал Серж. Всё. Никаких больше телодвижений с сессией не нужно делать. Для анонимов есть AnonymousID, регистрируй его в базе и сливай всю информацию туда. Когда аноним захочет зарегистрировать, автоматом сольешь его анонимный профиль в боевой профиль. Делов. Если будешь актвино юзать кукисы, просрёшь статистику. Поэтому выбор зависит от задачи. Но ни в коей мере не сессия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 12:59 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, разумеется сессию можно использовать для логики. например, пошаговые визарды для анонимов, состояние которых можно сохранять в сессии. И да, как тебе такаяы ситуация. Юзер что-то очень долго набивает в визарде, буквально всё закончил делать и тут ему срочно прибило в туалет. Приходит, садится за комп, а тут сессия протухла. Таких как ты кодеров, hVostt, нужно отсреливать поодиночке в темное время суток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:02 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУhVosttМСУ, жду примеров (хотяб на пальцах), когда использование сессии — это профит. по букве гайдов и всевозможных рекомендаций. Ты чего-то куришь страшное. Использование сессии — это не профит. Ты о чем?Ну, у меня есть пример, когда в процессе развития системы кэш сессии сам собой отпал за ненадобностью. Я его даже даже не травил специально, просто однажды заметил, что это за куцый объект болтается? И теребят его полтора калеки. Правда на пальцах этот процесс не покажешь. С приходом EF как-то разбросался контент кеша из общей кучи по таблицам соответствующих типов. Не осталось правил, предписывающих держать его в отдельном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, Обжегся я уже на хранении данных ч/з AnonymousID. Без всяких гайдов скажу, это адово решение. Бестолковое, и удивительно баранье. Аут оф мемори элементарно решается, хорошо прогнозируется и отлично масштабируется. Не надо пихать под пользователя в память мегабайты данных. Одновременно сидеть на сайте может все равно ограниченное ресурсами сервера посетителей. Надо учитывать нагрузку, а от ДДОСов защита реализуется совсем на другом уровне. Если же обычные пользователи могут положить сайт при небольшом их количестве — это уже вина кривых рук программиста, а не сессии. По-твоему сессии непонятно зачем прикручены и зачем нужны. Где твой профит? Профит от неиспользования? МОжет их вовсе отключать на корню? Зачем же такая лишняя напряга сайту? Я тя вообще не понимаю. Где твой мозг опять же? Я все понял про гайды, согласен, они не просто так писались. Но мозг свой включать надо. Ну хоть иногда думать им, а не гайдами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:08 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, Обжегся я уже на хранении данных ч/з AnonymousID. Без всяких гайдов скажу, это адово решение. Бестолковое, и удивительно баранье. Ну в твоём же стиле... Майкрософт так не считает, а ты считаешь. А аргументы будут-то или опять побурчим в тряпочку? hVosttАут оф мемори элементарно решается, хорошо прогнозируется и отлично масштабируется. Не надо пихать под пользователя в память мегабайты данных. Доссят обычно не тремя пользователями. Чем больше ты работаешь с сессией, тем быстрее тебя положат на бок. hVosttЕсли же обычные пользователи могут положить сайт при небольшом их количестве — это уже вина кривых рук программиста, а не сессии. См. выше. Это таки кривые руки кодера. hVosttПо-твоему сессии непонятно зачем прикручены и зачем нужны. Где твой профит? Профит от неиспользования? МОжет их вовсе отключать на корню? Зачем же такая лишняя напряга сайту? Я тя вообще не понимаю. Где твой мозг опять же? Я все понял про гайды, согласен, они не просто так писались. Но мозг свой включать надо. Ну хоть иногда думать им, а не гайдами. Я свою точку зрения высказал, более того, я подкрепил её пруфами от архитекторного MS гайда. Этого мало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:13 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУhVosttМСУ, разумеется сессию можно использовать для логики. например, пошаговые визарды для анонимов, состояние которых можно сохранять в сессии. И да, как тебе такаяы ситуация. Юзер что-то очень долго набивает в визарде, буквально всё закончил делать и тут ему срочно прибило в туалет. Приходит, садится за комп, а тут сессия протухла. Таких как ты кодеров, hVostt, нужно отсреливать поодиночке в темное время суток Не используй в такой своей ситуации сессию. Но если визард теряет свою актуальность за время сессии , то смысл использования есть. Например, это может быть тестирование на время . Я не буду хранить промежуточные результаты тестирования в базе данных, мне это ни к чему. Сохраняется только конечный результат, и то, если пользователь этого захочет. Потребляемая память ничтожна по сравнению с цацками через базу данных. Сессия, это кеш для пользователя. Например, можно хранить объект пользователя в сессии, и не дергать объект пользователя из базы данных при каждом запросе. Но при утрате сессии, все должно восстанавливаться. В этом смысл — повышение производительности и отзывчивости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:15 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУЯ свою точку зрения высказал, более того, я подкрепил её пруфами от архитекторного MS гайда. Этого мало? Точка зрения и пруфы гайдов — не достаточно. Нет дискуссии. Я как будто со справочником имею дело, а не с живым думающим человеком. Кроме того, получается, что своей точки зрения у тебя как нет, так и небыло. Есть только гайды, и это видимо твой предел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:17 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttНапример, это может быть тестирование на время . Тоже глупость. Время тестирования - это бизнес свойство. Сейчас оно 10 минут, а завтра бизнес захочет сделать его 25 минут. Что, будем увеличивать сессию приложения до 25 минут? А послезавтра захотят 1 час установить для тестирования. Не нужно архитектуру смешивать с прикладной логикой. Понимаешь меня? hVosttСессия, это кеш для пользователя. Бесспорно. Только он него больше вреда, чем пользы. Есть БД для этого. hVosttНапример, можно хранить объект пользователя в сессии, и не дергать объект пользователя из базы данных при каждом запросе. Но при утрате сессии, все должно восстанавливаться. В этом смысл — повышение производительности и отзывчивости. Чушь чистой воды. Таким образом ты переносишь БД в память сервера приложений. А если у тебя кластеризация? Если у заговорил о кешировании в угожду производительности, есть специально для этого предназаченный глобальный Cache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:28 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУЯ свою точку зрения высказал, более того, я подкрепил её пруфами от архитекторного MS гайда. Этого мало? Точка зрения и пруфы гайдов — не достаточно. Нет дискуссии. Я как будто со справочником имею дело, а не с живым думающим человеком. Кроме того, получается, что своей точки зрения у тебя как нет, так и небыло. Есть только гайды, и это видимо твой предел. Я помимо справочников, вообще-то, даю ответы и советы. Так что не нужно меня равнять с роботом, ты не прав. Я очень подробно описываю каждый твой вброс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:29 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
по сабжу: а чем мой вариант 14314251 не понравился? там вообще никакие временные файлы не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:53 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Яростный Мечпо сабжу: а чем мой вариант 14314251 не понравился? там вообще никакие временные файлы не нужны. отличный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:57 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, весь наш спор строится на следующей суперпозиции: для тебя сервер и его ресурсы — святое ( и гайды ), а пользователи/посетители — деревенское быдло, засирающее память и норовящее всеми правдами заддосить ресурс, сломать его. я утвердился в этом, после твоих утверждений, что пользователя надо заставлять ручками свою временную зону устанавливать, вместо любых попыток разобраться с тем, как сделать это автоматом за него. для меня пользователь, это святое — я все сделаю для того, чтобы ему на сайте было комфортно и удобно, это касается не только внешнего вида (дизайн, UI), но и максимальной отзывчивости. ради этого я пожертвую личную сессию анонимусу. второй приоритет, это легкость разработки , сопровождения и обязательное креш-тестирование. и только третий приоритет, это экономия ресурсов сервера. если что-то неоправданно будет потреблять вычислительные ресурсы, найду и разберусь. и пока сам факт использования сессий ещё меня не подводил. иначе я был бы другого совсем мнения. что касается записей для анонимусов в базе данных, месяц работы в таком режиме на одном ресурсе привёл к быстро увеличивающимся десяткам тысяч записей анонимусов. это однозначно плохое решение. оперативная память — не смотря на то, что наиболее ценный серверный ресурс, в тоже время наиболее динамичный, гибкий и быстрый. мой личный опыт показывает, что сессии — отличный инструмент при грамотном его использовании, дающий существенный профит и снижающий нагрузку на БД, ибо БД используется когда надо действительно что-то сохранить, а не как мусоро-отстойник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:10 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
и, кстати, сессии в ASP.NET MVC замечательно тестируются, это благодаря тому, что над родной ASP.NET-овской сессией в контроллеры передается абстрактная обертка, что позволяет её мокать. ну и про IoC тоже не надо забывать. везде работаем по возможности исключительно с интерфейсами и ни у кого ничего не просим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:19 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
а на счет задачи с визард-тестированием... тебе про лонг-пулинг или про веб-сокеты поведать, товарисч? придумываешь проблемы там, где их нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:21 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttдля тебя сервер и его ресурсы — святое ( и гайды ) Да. hVosttа пользователи/посетители — деревенское быдло, засирающее память и норовящее всеми правдами заддосить ресурс, сломать его. Нет. Пользователи вообще ничего не должны знать о сессии и прочией внутренней кухне веб сервера. А знать и понимать, каким боком может выйти тот или иной финт - нужно. У тебя пока этого понимания и анализа нет. Ты в упор линейно смотришь на задачу, берешь первую попавшуюся лопату и начинаешь копать. Вот в чем твоя проблема. hVosttдля меня пользователь, это святое — я все сделаю для того, чтобы ему на сайте было комфортно и удобно См. выше. Архитектура приложения и удобство для пользователя - это разные вещи. Зачем смешивать это? hVosttно и максимальной отзывчивости Поверь мне, отзывчивость из БД (юзер профиль, настройки, параметры) будет не намного хуже, чем если бы ты хранил данные в памяти. Зри в корень. hVosttэто легкость разработки , сопровождения и обязательное креш-тестирование Вообще не в кассу. Всё это легко пишется, сопровождается и отлаживается. hVosttтретий приоритет, это экономия ресурсов сервера. Это должно быть первое. Т.к. если закончились ресурсы сервера, то можешь смело забыть про предыдущие пункты. hVosttчто касается записей для анонимусов в базе данных, месяц работы в таком режиме на одном ресурсе привёл к быстро увеличивающимся десяткам тысяч записей анонимусов. это однозначно плохое решение. оперативная память — не смотря на то, что наиболее ценный серверный ресурс, в тоже время наиболее динамичный, гибкий и быстрый. Во-первых, знавали мы твои подходы, поэтому не мудрено, что у тебя там что-то плохо работало. Во первых, мертвых анонимов можно смело чистить по шедулеру. Во-вторых, десятки тысяч записей - это копейки. Выборка учетки происходит по индексу, поэтому там скорость вполне приемлемая. Не убедил. У тебя отличные аргументы, ты там что-то неосилил и нагавнял, следовательно это плохо и не работает. Этопять. hVosttмой личный опыт показывает, что сессии — отличный инструмент при грамотном его использовании, дающий существенный профит и снижающий нагрузку на БД, ибо БД используется когда надо действительно что-то сохранить, а не как мусоро-отстойник. Глупости, не подкрепленные аргументами. MS не рекомендует их использовать - это раз. Для задач оптимизации служит Cache и только она. Читай букварь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:34 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttа на счет задачи с визард-тестированием... тебе про лонг-пулинг или про веб-сокеты поведать, товарисч? придумываешь проблемы там, где их нет. Расскажи, попкорн еще остался. Итак, что такое лонг-пулинг и каким боком тут веб-сокеты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:34 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУhVosttа на счет задачи с визард-тестированием... тебе про лонг-пулинг или про веб-сокеты поведать, товарисч? придумываешь проблемы там, где их нет. Расскажи, попкорн еще остался. Итак, что такое лонг-пулинг и каким боком тут веб-сокеты?возможно, предлагается подрачивать сервер фоновыми запросами, чтобы сессия не умерла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:37 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttмой личный опыт показывает, что сессии — отличный инструмент при грамотном его использовании, дающий существенный профит и снижающий нагрузку на БД, ибо БД используется когда надо действительно что-то сохранить, а не как мусоро-отстойник. для этого кеш, но не сессия! не хватает стандартного, то редис либ мемкеш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:50 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУhVosttдля тебя сервер и его ресурсы — святое ( и гайды ) Да. Ну вот пока это так, наш спор бесконечен. И потому бессмыслен. Ты лучше расскажи мне нафига эту сессию в ASP.NET прифундячили? Ошибка проектирования? Небось вся команда разработчиков до сих пор рыдает из-за ошибки, совершенной в прошлом? И в неистовстве строчит запретные гайды. А в гайдах нет ни слова про «зло» или «никогда не используйте это». Написаны распространенные примеры неправильного (ошибочного) использования, и я со всеми согласен. Хорошо сложенного ДБА на тебя не хватает. Чтоб влепил как следует, от всей души, за разводимый срач в базе данных. А за слова «так разницы же особой нет!» ещё б и добавил. Оперативная память потому и называется «оперативная», чтобы хранить в ней оперативную информацию. Т.е. ту инфу, которая очень скоро может еще раз понадобиться. И у меня возникли тут еще кой-какие подозрения... Ты механизмом кеширования ASP.NET пользуешься? Или «нахрена!? есть же БД»? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, расскажите мне про пользовательский редис-мем-кеш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:56 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostthandmadeFromRu, расскажите мне про пользовательский редис-мем-кеш что тебя мешает сформировать ключи? нука расскажи. ты сессию используешь как кеш в чистом виде, что уже говорит о твоей мега архитектуре и компитентности. + я смогу замасштабировать решение с мемкешем/редисом, а ты обломишься с сессией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:02 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttНу вот пока это так, наш спор бесконечен. И потому бессмыслен. Слушай, ну ты так всегда говоришь в начале. Под натиском аргументов ты через какое-то время лопаешься и рожаешь вот такое: 14336394 hVosttРад, что добился вразумительного ответа. МСУ, в целом ты прав Плавали, знаем. hVosttТы лучше расскажи мне нафига эту сессию в ASP.NET прифундячили? Ошибка проектирования? Небось вся команда разработчиков до сих пор рыдает из-за ошибки, совершенной в прошлом? И в неистовстве строчит запретные гайды. А в гайдах нет ни слова про «зло» или «никогда не используйте это». Написаны распространенные примеры неправильного (ошибочного) использования, и я со всеми согласен. У сессии есть своё предназначение. Собственно, сеанс пользователя и всё отседова вытекающее. Это как с твоими деструкторами, они есть, но логику в них писать неправильно. Но можно. Так вот сеанс пользователя никоим боком не должен коррелировать с твоей прикладной логикой. Ибо: http://codearticles.ru/articles/2327 hVosttХорошо сложенного ДБА на тебя не хватает. Чтоб влепил как следует, от всей души, за разводимый срач в базе данных. А за слова «так разницы же особой нет!» ещё б и добавил. Оперативная память потому и называется «оперативная», чтобы хранить в ней оперативную информацию. Т.е. ту инфу, которая очень скоро может еще раз понадобиться. Давай, показывай всем свою дурость дальше. Только такой клоун как ты мог приплести сюда какого-то ДБА Причем тут ДБА? ДБА не пишет программы, не пишет код и логику, это не архитектор системы. Акстись, дитя моё. hVosttИ у меня возникли тут еще кой-какие подозрения... Ты механизмом кеширования ASP.NET пользуешься? Или «нахрена!? есть же БД»? Механизмом кеширования ASP.NET пользуюсь. Сессией - нет. По поводу нахерна, могу пнуть в архитектурный гайд. Пнуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:06 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУУ сессии есть своё предназначение. Собственно, сеанс пользователя и всё отседова вытекающее. я сегодня добьюсь от тебя, что там оттуда вытекает? интрига нарастает. давай уже. что там течет? какое предназначение? ну же?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:19 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУУ сессии есть своё предназначение. Собственно, сеанс пользователя и всё отседова вытекающее. я сегодня добьюсь от тебя, что там оттуда вытекает? интрига нарастает. давай уже. что там течет? какое предназначение? ну же??дисситьно, шо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:22 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuчто тебя мешает сформировать ключи? нука расскажи. ты сессию используешь как кеш в чистом виде, что уже говорит о твоей мега архитектуре и компитентности. + я смогу замасштабировать решение с мемкешем/редисом, а ты обломишься с сессией. убедил. да ты можешь. только млиать при чем тут редис и мемкеш?????????? а у меня вот тут есть такой компонент, называется «супер-кеш-мегатрон+», прикинь, он мои сессии сам масштабирует, и вообще все масштабирует и сам кеширует. а еще сам программирует и эмулирует сотни тысяч пользователей. зачем левак приплетать? что за манера. я не собираюсь с кем-то соперничать или устраивать конкурсы на тему «могу/не могу», нужно выполнить задачу максимально эффективно, максимально используя доступные для этого средства. по возможности конечно читать всякие гайды от вендоров и курить мануалы, но думать СВОЕЙ головой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:26 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, балаболка ты сколько раз уже слился и пишешь херню до сих пор ..тебя носом тыкать во все твои сливы чтоль? мем кеш и редис тут при том что ты используешь сессию как кеш хранилище, я написал про них когда не хватает кеша асп из коробки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:42 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУУ сессии есть своё предназначение. Собственно, сеанс пользователя и всё отседова вытекающее. я сегодня добьюсь от тебя, что там оттуда вытекает? интрига нарастает. давай уже. что там течет? какое предназначение? ну же?? Интриги никакой нет, есть банальное непонимание и бездарность. От корки до корки чтобы прочел: Underpinnings of the Session State Implementation in ASP.NET Вот тебе картинка еще: P.S. Dino Esposito советовать не буду, ты ламеров не читаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:45 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, что хочешь доказать? вырази одним предложением уже. достаточно аргументов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 15:53 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
SeVa, Был привлечён к топику попаданием оного в top на главной. Потом естественно обратился к оригинальной ветке. Решение в том, что надо на уровне HTML использовать не временные ресурсы, а inline-images, как например тут: http://stackoverflow.com/questions/1207190/embedding-base64-images ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:00 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, ты рассказал, как устроена сессия. який ты молодец. но видимо это для того, чтобы у тебя было еще немного времени погуглить, и наконец ответить, уже на который раз заданный мною простой вопрос. но давай я повторюсь, лады? я попробую один и тот же вопрос повторить в разных интерпретациях. выбери любой и ответь наконец уже: каково предназначение сессии? зачем нужна сессия? для каких целей используется сессия? зачем и почему нам доступен объект HttpSessionState / HttpSessionStateBase? ты сказал «Собственно, сеанс пользователя и всё отседова вытекающее» — так вот, что «всё» вытекает? хоть пару примерчиков. кто и для чего использует сессию? сессия, и зачем она нужна. эссе. нууууууу же?????? интрига просто зашкаливает, я жажду узнать ответ от тебя лично! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:01 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttкаково предназначение сессии? зачем нужна сессия? для каких целей используется сессия? зачем и почему нам доступен объект HttpSessionState / HttpSessionStateBase? Если у тебя сложности с понимаем, то давай так попробую, может поможет. Предназначение сессии в создании мандата (ID сеанса) при успешной аутентификации пользователя с размещение SessionID в кукисах. Этим мандатом управляет менеджер, который ты вправе переопределить. Всё. В остальном - это тупой контейнер для пользовательских данных со своими больше минусами, чем плюсами. О чем тебе битый лень тылдычат. Чтобы познакомиться с работой сесии еще ближе, изучи класс SessionIDManager. Так понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:06 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
MasterZivРешение в том, что надо на уровне HTML использовать не временные ресурсы, а inline-images, как например тут: http://stackoverflow.com/questions/1207190/embedding-base64-images спасибо, Кэп! глянь в самое начало 14313110 , про inline автор в курсе, спрашивалось, что делать с браузерным старьем, в числе которого IE9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostthandmadeFromRu, что хочешь доказать? вырази одним предложением уже. достаточно аргументов. тут нечего доказывать, уже понятно что из себя представляет собеседник со своими архитектурными этюдами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:10 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ... В остальном - это тупой контейнер для пользовательских данных со своими больше минусами, чем плюсами. О чем тебе битый лень тылдычат. Чтобы познакомиться с работой сесии еще ближе, изучи класс SessionIDManager. Так понятно? да, еще один момент. про минусы мы знаем их много и они большие, так какие же плюсы? хоть один? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:16 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVostthandmadeFromRu, что хочешь доказать? вырази одним предложением уже. достаточно аргументов. тут нечего доказывать, уже понятно что из себя представляет собеседник со своими архитектурными этюдами. так если нечего доказывать, зачем тогда доказываем? или сейчас уже все свелось к желанию поглубже уязвить? давайте так, я скажу, что уязвлен и повержен, а вы таки успокоитесь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:18 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
авторСостояние сеанса ASP.NET предоставляет состояние сеанса, доступное как класс HttpSessionState, в качестве метода хранения специфичной для сеанса информации, видимой только в пределах сеанса. Состояние сеанса ASP.NET определяет запросы, полученные от обозревателя в течение ограниченного периода времени (сеанса), и предоставляет возможность сохранения значений переменных в течение этого сеанса. В состоянии сеанса можно сохранять специфичные для сеанса значения и объекты; после этого управление состоянием сеанса переходит серверу, и оно становится доступным обозревателю или клиентскому устройству. В состоянии сеанса лучше всего сохранять недолгосрочные, уязвимые данные, которые являются специфичными для отдельного сеанса. Преимущества использования состояния сеанса: Простая реализация. Состояние сеанса легко в использовании, знакомо разработчикам ASP, совместимо с другими классами .NET Framework. События сеанса. События управления сеансом могут вызываться и использоваться приложением. Сохранность данных. Данные, помещаемые в переменные состояния сеанса, могут быть сохранены даже после перезапуска служб IIS или рабочих процессов, т. к. эти данные сохраняются в пространстве другого процесса. Кроме того, данные о состоянии сеанса могут быть сохранены на протяжении нескольких процессов, как, например, в веб-ферме или веб-саде. Масштабируемость платформы Состояние сеанса можно использовать в конфигурациях с несколькими компьютерами и несколькими процессами, что позволяет оптимизировать сценарии масштабируемости. Поддержка работы без файлов Cookie Состояние сеанса работает с обозревателями, которые не поддерживают файлы Cookie HTTP, хотя именно с файлами Cookie оно чаще всего используется для идентификации пользователей в веб-приложении. Однако при использовании состояния сеанса без файлов Cookie идентификатор сеанса должен помещаться в строку запроса, что вызывает проблемы с безопасностью, рассматривавшиеся в разделе, посвященном строкам запроса. Дополнительные сведения об использовании состояния сеанса без файлов Cookie см. в разделе Администрирование веб-узлов ASP.NET. Расширяемость Можно настраивать и расширять состояние сеанса, написав собственного поставщика состояния сеанса. Затем данные состояния сеанса можно сохранить в пользовательском формате данных, воспользовавшись одним из множества механизмов хранения данных, таких как база данных, XML-файл или даже веб-служба. Дополнительные сведения см. в разделе Реализация поставщика хранилища состояний сеансов. Недостатки использования состояния сеанса: Вопросы производительности. Переменные состояния сеанса остаются в памяти до их удаления или замены, а это может снизить производительность сервера. Переменные состояния сеанса, которые содержат большие объемы информации, например большие наборы данных, могут снизить производительность веб-сервера, т. к. нагрузка на сервер увеличивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:39 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
не знаю что еще добавить. одни минусы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:41 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, зачем мне плюсы, если ресть официальные рекомендации http://msdn.microsoft.com/ru-ru/library/z1hkazw7(v=vs.90).aspx Следует использовать, когда необходимо сохранять недолгосрочные сведения, специфичные для отдельного сеанса, и когда обеспечение безопасности не является важным. Не следует сохранять в состоянии сеанса большие объемы информации. Необходимо помнить, что для каждого сеанса в приложении будет создаваться и отслеживаться объект состояния сеанса. В приложениях с большим числом пользователей это может потребовать большого количества ресурсов и повлиять на масштабируемость. Microsoft Application Architecture GuideЕсли хотите обеспечить масштабируемость приложения, применяя Веб-фермы или балансировку нагрузки, избегайте сохранения состояния сеансов на сервере Microsoft Application Architecture GuideПроектируйте бизнес-слой без сохранения состояния. Операции сервиса должны содержать все сведения, включая данные состояния, используемые бизнес-слоем для обработки запроса. Сервис может обрабатывать большое число взаимодействий с потребителями, поэтому попытки сохранять состояние для каждого отдельного потребителя в бизнес-слое могли бы обусловить потребление слишком большого объема ресурсов. Это привело бы к ограничению числа запросов, которые может обрабатывать сервис в любой момент времени. На помойку. P.S. Если ты делаешь сайт для трех бабушек, то можешь в сессии хоть блобы хранить. Во всех остальных случаях ты так и не смог внятно сформулировать, когда действительно может понадобиться сессия. Детские примеры с мастером и таймером провалились с треском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:46 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttне знаю что еще добавить. одни минусы... ...Простая реализация Вода. Ниачём. События сеанса. События управления сеансом могут вызываться и использоваться приложением. Вода. Ниачём. Состояние сеанса легко в использовании, знакомо разработчикам ASP. Вода. Ниачём. Сохранность данных. Сохранность данных на порядок ниже, чем в БД. Проигрывает варианту с БД однозначно. Масштабируемость платформы Состояние сеанса можно использовать в конфигурациях с несколькими компьютерами и несколькими процессами, что позволяет оптимизировать сценарии масштабируемости. Масштабируемость данных на порядок ниже, чем в БД. И на порядок сложнее. Проигрывает варианту с БД однозначно. Поддержка работы без файлов Cookie. Вода. Ниачём. И это ты называешь плюсами? Вот этот жирный минус всё перечеркивает. Недостатки использования состояния сеанса: Вопросы производительности И это туда же: 14340007 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:51 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, чего эт сразу провалились? пока контраргументов не последовало, ну кроме всякого окрашенного в эмоциональные тона эпоса. ты уколов, случайно не боишься? прикинь, приходишь в больничку, а тебе сразу тысячу иголок в причинное место! понятное дело, аргументы что ты привел из гайдов, — я с этим согласен, и не думал спорить. просто твой «полный отказ» выглядит, как детская боязнь уколов. может просто боишься этих сессий? неужто гайды так действуют на тебя? каждый аноним имеет право на полноценное обслуживание. если аноним вздумает воспользоваться возможностями веб-сайта, которые используют сохранение временного состояния сеанса, он её получает. при разработке сайта надо учитывать потенциальную нагрузку и примерный расход ресурсов. это обязательная практика, с сессиями или без. но эти дела рассчитываются , инструменты используются по уму. панацеи нет. и бд «для всего» это не панацея. как жаль, что ты с дба не встречался лицом к лицу. вот бы я посмотрел на твои потуги «да кто ты такой?! это Я тут Разработчик!» да, можно хранить в бд. можно хранить в файловой системе. кроме того состояние сессии гибко настраивается. если понадобится, одной строчкой в конфиге я переведу хранение в SQL. это же шикарно! незнаю чего ты боишься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 16:55 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ И это ты называешь плюсами? не я. вендор. слово-в-слово. мой опыт, который хоть и не очень большой, пока позволяет мне согласиться с этими словами. действительно просто и удобно. и опасно конечно, думалку надо включать. что некоторым совсем не понраву ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:02 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, чего эт сразу провалились? пока контраргументов не последовало, ну кроме всякого окрашенного в эмоциональные тона эпоса. Аргументы были, причем весомые. В ответ мы слышали очередное бульканье. Я ответил тебе по визардам: а) дополнительный бонус для атакующего, которому проще положить сайт б) время inproc сессии ограничено По результатам тестирования за определенное время - это вообще феерический бред. Бизнес просит изменить планку побольше и вся твоя архитектура накрывается медным тазом. hVosttпонятное дело, аргументы что ты привел из гайдов, — я с этим согласен, и не думал спорить. просто твой «полный отказ» выглядит, как детская боязнь уколов. может просто боишься этих сессий? неужто гайды так действуют на тебя? Готов сгенерировать реальные примеры из жизни, где сессия действительно нужна? hVosttкаждый аноним имеет право на полноценное обслуживание. Правильно. И база данных на порядки эту полноценность повышает. Аноним может вернуться к заказу через неделю, даже когда на серверах в выходные проводились работы и всю ферму ресайклили. База данных (помимо твоей сессии и куков) - это еще и статистика. Ты всегда можешь слить данные в DWH и легко их отанализировать. За это владельцы бизнеса тебя в зад будут целовать, когда ты их покажешь сводный график за период по покупкам, предзаказам, посетителям и прочим анонимным телодвижениям. hVosttда, можно хранить в бд Не просто можно, а нужно. Бизнес данные в кукисах и сессиях хранят только жлобы, кому жалко 300 рублей в доплату на хостинг своего бизнеса, у которых каждый день крашится сайт от наплыва посетителей, которые засирают сессию своими корзинами и визардами. hVosttнезнаю чего ты боишься. Я боюсь таких как ты говнокодеров. Как огня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУИ это ты называешь плюсами? не я. вендор. слово-в-слово. Все плюсы - это вода, я же тебе расписал. Если не согласен, что вода, давай проговорим каждый отдельный пункт. hVosttмой опыт, который хоть и не очень большой, пока позволяет мне согласиться с этими словами. действительно просто и удобно. Ты пока не дорос просто. В будущем ты будешь смотреть даже на самые простые вещи с более детальным подходом. Сейчас ты готов взять в руки любую лопату, главное, чтобы копалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:09 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУАргументы были, причем весомые. В ответ мы слышали очередное бульканье. Я ответил тебе по визардам: а) дополнительный бонус для атакующего, которому проще положить сайт б) время inproc сессии ограничено По результатам тестирования за определенное время - это вообще феерический бред. Бизнес просит изменить планку побольше и вся твоя архитектура накрывается медным тазом. опять ты про своего отакующего. с чего эт ради ему проще положить сайт? время ограничено — в этом вся суть! что это за сессия, у которой время не ограничено??? чо-за-феерческий-бред? ниче не накрывается: стандартное время сессии 20 мин. допустим на тестирование выделяется 1 час. предположим, что тестируемый будет 25 мин. отвечать на 1-ый вопрос. каждые 10 мин скрипт на клиенте дергает сервер, говоря о том, что испытуемый жив и проходит тестирование. если вздумаешь зачесывать лапшу про то, что скрипт который дергает сервер — говнокод, иди расскажи это разработчикам вконтакта, одноклассников и доброй 99% социальных веб-сервисов. любые «планки» бизнеса можно удовлетворить. МСУГотов сгенерировать реальные примеры из жизни, где сессия действительно нужна? почему бы нет? вот один из многих: есть хелпер, который на лету UTC дату, преобразует в локальное для пользователя время. его TZ достается для пользователя при старте сессии и хранится в сессии. если скажешь, что я должен при каждом запросе тащить его TZ из БД, умри же жалкой смертью, в неистовых мучениях :) МСУПравильно. И база данных на порядки эту полноценность повышает. Аноним может вернуться к заказу через неделю, даже когда на серверах в выходные проводились работы и всю ферму ресайклили. База данных (помимо твоей сессии и куков) - это еще и статистика. Ты всегда можешь слить данные в DWH и легко их отанализировать. За это владельцы бизнеса тебя в зад будут целовать, когда ты их покажешь сводный график за период по покупкам, предзаказам, посетителям и прочим анонимным телодвижениям. я ждал этого аргумента. да, статистика собирается и хранится в базе данных, как часть реестра накапливаемых данных. именно то, что нужно. это никак не кореллирует с использованием сессий. еще плюс к этому есть логи, как IIS, так и NLog, любой глубины аналитику можно собирать в отдельном слое. я не понимаю, какое это отношение имеет к сессии? МСУНе просто можно, а нужно. Бизнес данные в кукисах и сессиях хранят только жлобы, кому жалко 300 рублей в доплату на хостинг своего бизнеса, у которых каждый день крашится сайт от наплыва посетителей, которые засирают сессию своими корзинами и визардами. ты все попутал. кукисы и сессии — не для хранения бизнес-данных, а для реализации бизнес-логики, и ускорения некоторых процессов. или скажешь, что брать постоянно используемые данные для пользователя из сессии или дергать каждый раз одно и тоже из базы — по скорости тоже самое? речь идет о небольших данных, которые и составляют понятие «сессия» для пользователя. есен хрен, блобы и срезы табличных данных пихать в сессию, это самоубийство. но видимо тебе все равно, данные для тебя это всегда тысяча иголок в зад и злобный хакер, только и ждущий первой же возможности положить сайт на лопатки. и нехрена не крашится. корзину анонима храним в куках. корзину авторизованного пользователя храним в бд. так устроено большинство интернет-магазинов. ибо говно в больших количествах, накапливаемое в базе не улучшает работу приложения. понятное дело, избыточность есть всегда, но надо знать меру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:32 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУВсе плюсы - это вода, я же тебе расписал. Если не согласен, что вода, давай проговорим каждый отдельный пункт. не-не-не. с вендорами мы не спорим. мы с ними молчаливо соглашаемся! если мелкософт сказал, что это плюсы, значит это плюсы, а не вода, да как ты посмел такое заявить?!??! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:35 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt ниче не накрывается: что будет, если случится рециклинг рабочего процесса IIS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:43 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропил, сессия живет в отдельном процессе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:44 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропил, Сохранность данных. Данные, помещаемые в переменные состояния сеанса, могут быть сохранены даже после перезапуска служб IIS или рабочих процессов, т. к. эти данные сохраняются в пространстве другого процесса. Кроме того, данные о состоянии сеанса могут быть сохранены на протяжении нескольких процессов, как, например, в веб-ферме или веб-саде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:45 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttопять ты про своего отакующего. с чего эт ради ему проще положить сайт? Я уже объяснял это. Почему тебе одно и то же нужно повторять по десять раз? hVosttвремя ограничено — в этом вся суть! что это за сессия, у которой время не ограничено??? чо-за-феерческий-бред? Ты читаешь каким местом то, что тебе пишут? Речь не об ограничении сессии, а об ограничении твоего пионерского примера про "результаты тестирования за определенное время". Разницу улавшиваешь? hVosttстандартное время сессии 20 мин. допустим на тестирование выделяется 1 час. предположим, что тестируемый будет 25 мин. отвечать на 1-ый вопрос. каждые 10 мин скрипт на клиенте дергает сервер, говоря о том, что испытуемый жив и проходит тестирование. Дополнительная говнологика на клиенте. Зачем для такой элементарной задачи эта жесть? hVosttесли вздумаешь зачесывать лапшу про то, что скрипт который дергает сервер — говнокод, иди расскажи это разработчикам вконтакта, одноклассников и доброй 99% социальных веб-сервисов. любые «планки» бизнеса можно удовлетворить. У одноклассников и прочих серьезных ресурсов давно уже реализованы честные push уведомления. А про периодический клиентский гавнокод иди детвору смеши. Рассмешил P.S. Почитай, хотя бы, про SignalR, который недавно в MVC добавили. Чудик периодический :) hVosttпочему бы нет? вот один из многих: есть хелпер, который на лету UTC дату, преобразует в локальное для пользователя время. его TZ достается для пользователя при старте сессии и хранится в сессии. если скажешь, что я должен при каждом запросе тащить его TZ из БД, умри же жалкой смертью, в неистовых мучениях :) Для феерических клоунов: 1. Я уже сотню раз писал о том, как реализуется клиентская локаль в вебе. Только и только конфигурация в БД. Я тебе даже ссылки от MS приводил, что они рекомендуют хранить это в базе, а не доверять браузеру 2. Зачем хранить это в сессии? Есть глобальный кеш, с мощным функционал коллбэков, таймеров и различных dependency. Если тяжело ходить в базу, сливаем в кеш настройки пользователей при старте приложения , а не сессии. Вычисления производим из нормального кеша, а не из говносессии. Так понятно? hVosttя ждал этого аргумента. да, статистика собирается и хранится в базе данных, как часть реестра накапливаемых данных. именно то, что нужно. это никак не кореллирует с использованием сессий. еще плюс к этому есть логи, как IIS, так и NLog, любой глубины аналитику можно собирать в отдельном слое. я не понимаю, какое это отношение имеет к сессии? Опять дурака включаешь. Ты привел плюсы сессии, в них было написано про "Сохранность данных". Я тебе ответил, что это вода и рассказал почему это так. Теперь понятно, "какое это отношение имеет к сессии"? hVosttты все попутал. кукисы и сессии — не для хранения бизнес-данных Ты сам себе противоречишь. Совсем недавно ты собирался хранить результаты работы пошагового мастера в сессии или кукисах. Тоже самое и про свой временной опросник. Теперь ты включаешь заднюю. Как понимать? hVosttи нехрена не крашится. корзину анонима храним в куках. Вот за такой подход нужно кастрировать без суда и следствия. А потом аутодафе. В копилку к вопросу про статистику. Ты как, статистику будешь по кукам собирать? hVosttкорзину авторизованного пользователя храним в бд. так устроено большинство интернет-магазинов. ибо говно в больших количествах, накапливаемое в базе не улучшает работу приложения. понятное дело, избыточность есть всегда, но надо знать меру. Большинство нормальных магазинов хранят анонимные корзины исключительно в БД. И только так. Во-первых, это статистика. Во-вторых, если я таки зарегистрируюсь, моя история будет доступна в боевом профиле. В-третьих, это удобно. На работе набил покупки, дома завершил. Если ты преследуешь цель терять клиентов, храни корзину в кукисах, я не против. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:56 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttсессия живет в отдельном процессе Только если ты явно это включишь. Режим по умолчанию - InProc - хранит данные в том же процессе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:57 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttИзопропилчто будет, если случится рециклинг рабочего процесса IIS? сессия живет в отдельном процессе Этопять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:57 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУВ-третьих, это удобно. На работе набил покупки, дома завершил. Речь о боевой корзине в БД , разумеется. Это не относится к анонимной корзине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:00 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУhVosttпропущено... сессия живет в отдельном процессе Этопять на следующей итерации сессия в базе разместится. За что воевали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:01 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропилна следующей итерации сессия в базе разместится. За что воевали? 14340116 МСУinproc сессии P.S. БД сразу отпадает, он же против того, чтобы тащить всякие гадости в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:04 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУДополнительная говнологика на клиенте. Зачем для такой элементарной задачи эта жесть? не дополнительная, а прямая логика. можно и каждую минуту отправлять. на сервере точно известно сколько людей в данный момент проходят тестирование с погрешностью 1 мин. поддержание сессии, это лишь эффект, а не самоцель. МСУУ одноклассников и прочих серьезных ресурсов давно уже реализованы честные push уведомления. А про периодический клиентский гавнокод иди детвору смеши. Рассмешил P.S. Почитай, хотя бы, про SignalR, который недавно в MVC добавили. Чудик периодический :) сам ты чудик. у меня уже более 3-х мес на веб-сайтике крутится тех. поддержка, реализованная на SignalR. ты мне еще будешь рассказывать... академик хренов. «недавно добавили»... вот уж кто чудик, так это ты. МСУДля феерических клоунов: 1. Я уже сотню раз писал о том, как реализуется клиентская локаль в вебе. Только и только конфигурация в БД. Я тебе даже ссылки от MS приводил, что они рекомендуют хранить это в базе, а не доверять браузеру 2. Зачем хранить это в сессии? Есть глобальный кеш, с мощным функционал коллбэков, таймеров и различных dependency. Если тяжело ходить в базу, сливаем в кеш настройки пользователей при старте приложения, а не сессии. Вычисления производим из нормального кеша, а не из говносессии. Так понятно? даже феерический клоун способен понять, что сейчас не обсуждается как реализована локаль в вебе. если ты думаешь, что только твой подход истино верный, а остальные говно на лопате, ты самодовольный индюк. чем больше самодовольства, тем меньше ума, сечешь? 1. пункт забей, — сейчас не обсуждаем. 2. твой глобальный кеш по сути — собственная реализация сессии, только называл ты это по другому, и на говнокодил лишний ненужный слой. do it simple дурачок. не надо городить огород, там где это не требуется. есть TimeZone пользователя, и нахер мне хранить всех пользователей в каком-то долбонном кеше, если онлайн меньше 1% пользователей из всех? где чертова логика? в п.... ? ну и ну. чертов гений блин. МСУТы сам себе противоречишь. Совсем недавно ты собирался хранить результаты работы пошагового мастера в сессии или кукисах. Тоже самое и про свой временной опросник. Теперь ты включаешь заднюю. Как понимать? я тебе сказал, что промежуточные данные — не нужны. не нужны даже для статистики. нужны только результаты пройденных полностью тестов. в куках хранить нельзя, однозначно. шифровать и хранить в скрытом инпуте — бест вей фор мудила-стайл. а в сессии хранятся только результаты пройденных вопросов, это по сути коллекция ID вопроса — ID ответа. это ПППЦЦЦЦ КАКИЕ ОГРОМНЫЕ ДАННЫЕ СЕРВЕР КАК ИХ ЕЩЕ ВЫНОСИТ-ТО???! неужели и это ты скажешь, серьезная угроза производительности и безопасности перед атаками? МСУВот за такой подход нужно кастрировать без суда и следствия. А потом аутодафе. В копилку к вопросу про статистику. Ты как, статистику будешь по кукам собирать? статистику собирает отдельный слой. по своей собственной логике, и пишет в свои таблички. одно с другим не мешаю. и работает между прочим великолепно. МСУБольшинство нормальных магазинов хранят анонимные корзины исключительно в БД. И только так. Во-первых, это статистика. Во-вторых, если я таки зарегистрируюсь, моя история будет доступна в боевом профиле. В-третьих, это удобно. На работе набил покупки, дома завершил. Если ты преследуешь цель терять клиентов, храни корзину в кукисах, я не против. бедный.... у меня для тебя есть НОВОСТЬ. абсолютное большинство магазинов использует для анонимо в куки. некоторые продвинутые из них при это не забывают собирать статистику отдельно. если не веришь. ну флаг в руки. я так понел, тебя поддерживает только одна вера в свою гениальность и непогрешимость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:27 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
авторабсолютное большинство магазинов использует для анонимов кукив которых хранятся id корзин. а корзины в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:31 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Antonariyавторабсолютное большинство магазинов использует для анонимов кукив которых хранятся id корзин. а корзины в базе. точно!! а, или вы предполагаете, что над хранить там, в хиленьких кукисах, срез базы данных товаров с их характеристиками? зато HTML5 позволяет хранить довольно большой кусок данных на клиенте. туда можно пихнуть пол базы и устроить P2P распределенное клиенсткое хранилище, и пусть они даже не подозревают ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 18:38 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Хмм думал что зашёл на форум профессионалов, а попал на двач. Почитал некоторые посты - как говна поел :/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 19:16 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttне дополнительная, а прямая логика. можно и каждую минуту отправлять. на сервере точно известно сколько людей в данный момент проходят тестирование с погрешностью 1 мин. поддержание сессии, это лишь эффект, а не самоцель. Периодически бомбить сервер с клиента, чтобы разогреть сессию - это прямая логика? Маленький, составь конкуренцию Куклачеву лучше. hVosttсам ты чудик. у меня уже более 3-х мес на веб-сайтике крутится тех. поддержка, реализованная на SignalR. ты мне еще будешь рассказывать... академик хренов. «недавно добавили»... вот уж кто чудик, так это ты. Люди сигнальные хабы уже несколько лет курят, а у него целые 3 месяца уже крутится. Смешной ты. Про "недавно добавили" ты как всегда не в теме, не мудрено. Поясняю для пионеров: 14142075 (VS2012 Update2). Чтож ты такой ламер-то, откуда что берется... hVostt2. твой глобальный кеш по сути — собственная реализация сессии, только называл ты это по другому, и на говнокодил лишний ненужный слой. do it simple дурачок. не надо городить огород, там где это не требуется. есть TimeZone пользователя, и нахер мне хранить всех пользователей в каком-то долбонном кеше, если онлайн меньше 1% пользователей из всех? где чертова логика? в п.... ? ну и ну. чертов гений блин. Мой глобальный кеш - не по сути сессия. Во-вторых, не обязательно выбирать всех пользователей, если у тебя сотни миллионы пользователей (в чем я очень сомневаюсь), можно сделать lazy cache, по требованию. А для десятков тысяч пользователей вполне можно хранить буфер в кеши и с него брать данные. У кеша есть депенденси и колбэки с таймером, после чего он сам автоматически пересинхронизируется с БД. У сессии такого нет и не было, опять нужно писать кучу левого кода. RTFM. hVosttэто по сути коллекция ID вопроса — ID ответа. это ПППЦЦЦЦ КАКИЕ ОГРОМНЫЕ ДАННЫЕ СЕРВЕР КАК ИХ ЕЩЕ ВЫНОСИТ-ТО???! неужели и это ты скажешь, серьезная угроза производительности и безопасности перед атаками? Вот как, уже айди, оказывается. А реальные данные этого айди где? Только не говори, что в базе? Она же зло! Ну ты забавный. hVosttстатистику собирает отдельный слой. по своей собственной логике, и пишет в свои таблички. одно с другим не мешаю. и работает между прочим великолепно. Статистику собирает откуда, их кукисов? Не пробовал убить себя? hVosttбедный.... у меня для тебя есть НОВОСТЬ. абсолютное большинство магазинов использует для анонимо в куки. некоторые продвинутые из них при это не забывают собирать статистику отдельно. если не веришь. ну флаг в руки. я так понел, тебя поддерживает только одна вера в свою гениальность и непогрешимость Ни один нормальный магазин не будет хранить данные анонимов в куках. Только SessionID для синхронизации, токен и код корзины hVosttAntonariyпропущено... в которых хранятся id корзин. а корзины в базе. точно!! а, или вы предполагаете, что над хранить там, в хиленьких кукисах, срез базы данных товаров с их характеристиками? Эй, минутку, ты ничего не говорил про айди! Есть айди, это значит БД. Вот это ты реально заднюю включил, подлец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 21:39 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, Данила, не нервничай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 22:07 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ИзопропилДанила, не нервничай. Алексей, меня всё это забавляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 22:42 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, а тем временем второе место слили теме "Аccess- это непрофессионально?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 22:49 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропил, читал. Осилил первые страниц 5, не больше. Вынос мозга, читать страшно. Лучше уж какого-нить hVostt'а подрессировать на нативном форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 23:08 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУИзопропил, читал. Осилил первые страниц 5, не больше. Вынос мозга, читать страшно. Лучше уж какого-нить hVostt'а подрессировать на нативном форуме. попробуй последние пять страниц почитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 23:14 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Изопропил, я уже второй день поднимаю настроение от дудокса (да, дидми вернулсо!) в работе, вещает про бостон, коворкинги, менторов и инвесторов. Попкорн периодически вылетает из рук ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 23:28 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУНи один нормальный магазин не будет хранить данные анонимов в куках. Только SessionID для синхронизации, токен и код корзины что еще за код корзины, ну-ка поясни? для какой еще такой «синхронизации» SessionID? что синхронизировать-то? ты ж не используешь сессию, нахрена? ээ.. токен? это вообще что? чо за ахинея?? что за бред? ах ну да. подскажу тебе твою любимую отмазку «вам мелким моего великого ума не понять». иди уже жуй свой дешевый попкорн. МСУСтатистику собирает откуда, их кукисов? зачем с кукисов? я вообще уже не понимаю, что в твоем понимании «сбор статистики». в моем, это хуки на определенные операции пользователя: просмотр страницы, добавление/удаление товара в корзину, установка/снятие лайка с позиции и т.д. и т.п. это конкретное действие, которое определенным образом логируется. так и собирается статистика. мне в голову не придет собирать статистику, роясь в разнородных данных, а грубо говоря в «грязном белье». или тебя это прикалывает? ну оно и заметно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 23:49 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУИзопропил, читал. Осилил первые страниц 5, не больше. Вынос мозга, читать страшно. Лучше уж какого-нить hVostt'а подрессировать на нативном форуме. ботаны-окадемики где ж ещё, как не у великих уму-разуму учиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 23:51 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, был бы умнее не писал давно бы, особенно после сливов в вопросе темы. п.с. По моему ты просто спецом выбросы делаешь, чтоб МСУ позлить. И наверное это доставляет тебе удовольствие. закройте тему, скоро на личности перейдут же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 09:21 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttчто еще за код корзины, ну-ка поясни? Корзина с товарами + информациия о покупателе хранится в базе. В кукисах хранится её ID, вследствие чего я могу вернуться к покупке на следующий день, не боясь о том, что сессия протухнет. hVosttдля какой еще такой «синхронизации» SessionID? что синхронизировать-то? ты ж не используешь сессию, нахрена? Ну ты клоун. SessionID хранится в кукисах по дефолту, я тебе уже писал об этом. Я тебе велел изучить принцип работы SessionIDManager, ты это сделал? hVosttээ.. токен? это вообще что? чо за ахинея?? что за бред? Бред у тебя в голове, а у нормальный систем это expiration token (гугли аналог expiration token facebook, expiration token twitter, ...). Некий токен для защиты: от подделки идентификатора сессии и кода корзины. Может, в сад сходишь? Я на полном серьезе. мне в голову не придет собирать статистику, роясь в разнородных данных, а грубо говоря в «грязном белье».[/quot] Если ты додумался ввинтить логику в деструктор экземпляра класса, то я уже ничему не удивлюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 09:25 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУКорзина с товарами + информациия о покупателе хранится в базе. В кукисах хранится её ID, вследствие чего я могу вернуться к покупке на следующий день, не боясь о том, что сессия протухнет. во-первых ID корзины для пользователя не требуется, у него всего одна корзина. когда он осуществляет, оформляется запись заказа со своим ID, и корзина очищается. нет никакого смысла вести запись «корзины», сам выдумал ненужную сущность?? во-вторых, ты просто провёл дополнительный слой абстракции сомнительной пользы и так или иначе хранишь информацию в кукисах . принципиальной разницы нет. если хранить в кукисах содержание корзины, суть от этого не изменится. протухнет сессия, можешь точно тажке вернуться к покупкам, без проблем. cart="3=1&1200=2&500=10" работает великолепно, третий магазин уже у меня на счету. можешь хоть забрызгать слюной монитор «так неправильно», естественно без какой-либо вразумительной аргументации, это работает. и работает хорошо. при желании можно хранить корзину анонимуса в базе, а в кукисах ID, но по статистике более 80% анонимусов не завершают покупки, просто пришли потыкать, а до покупки не доходят. в тоже время, анонимы прошедшие регистрацию более склонны к покупкам. а засирать говнокарзинами анонимов базу данных нет смысла, если в этом нет необходимости . куки отлично справляются с этой задачей. тем более один хрен ты используешь куки так или иначе, просто через дополнительный слой абстракции. МСУБред у тебя в голове, а у нормальный систем это expiration token (гугли аналог expiration token facebook, expiration token twitter, ...). Некий токен для защиты: от подделки идентификатора сессии и кода корзины. Может, в сад сходишь? Я на полном серьезе. ппц. что ты там защищаешь непонятно. и как этот «токен» поможет защититься и от чего... выдумщик ненужных сложностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 13:06 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVostt, был бы умнее не писал давно бы, особенно после сливов в вопросе темы. п.с. По моему ты просто спецом выбросы делаешь, чтоб МСУ позлить. И наверное это доставляет тебе удовольствие. закройте тему, скоро на личности перейдут же. тебе медальку шоколадную дать? слив не слив, в какие игры ты тут играешь, ребенок? детский сад: доктор, поциент, обезьянки, слив... поди лучше в игрушки поиграй, если по теме сказать нечего. МСУ пишет по существу, хоть и в своём уникальном стиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 13:10 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУКорзина с товарами + информациия о покупателе хранится в базе. В кукисах хранится её ID, вследствие чего я могу вернуться к покупке на следующий день, не боясь о том, что сессия протухнет. во-первых ID корзины для пользователя не требуется, у него всего одна корзина. Хочу много корзин. Это нормально, когда в крупном магазине ты набираешь товары группами и покупаешь группами в разное время. hVosttкогда он осуществляет, оформляется запись заказа со своим ID, и корзина очищается. нет никакого смысла вести запись «корзины», сам выдумал ненужную сущность??А когда не оформляется, что происходит с корзиной в твоем горе-гамазине? hVosttво-вторых, ты просто провёл дополнительный слой абстракции сомнительной пользы и так или иначе хранишь информацию в кукисах . принципиальной разницы нет.Принципиальная разница такая же как между переменной и указателем. В кукисах хранится указатель. hVostt если хранить в кукисах содержание корзины, суть от этого не изменится. протухнет сессия, можешь точно тажке вернуться к покупкам, без проблем.Я усирался, два часа набирал 100500 товаров, а они взяли и протухли? В жопу такой магазин, не вернусь. hVosttработает великолепно"У меня все работает" (б) hVosttпри желании можно хранить корзину анонимуса в базе, а в кукисах ID, но по статистике более 80% анонимусов не завершают покупки, просто пришли потыкать, а до покупки не доходят. в тоже время, анонимы прошедшие регистрацию более склонны к покупкам.Кое-кто готов душу продать, чтобы узнать, на что же они потыкали. Остальное просто бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 13:21 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttво-первых ID корзины для пользователя не требуется, у него всего одна корзина. А по какому критерию приложение выдаст анонимному пользователю корзину? hVosttкогда он осуществляет, оформляется запись заказа со своим ID, и корзина очищается. нет никакого смысла вести запись «корзины», сам выдумал ненужную сущность?? "Свой ID" у анонимного пользователя? Во-вторых, чё ты прицепился к ключам в кукисах, каждый пишет туда свои идентификаторы в соотвествии с логикой. Нужно - пиши код корзины, нужно - прописывай анонима в базе анонимных юзеров, выдавай ему ID и вяжи его в куку. Нужно n корзин, вяжись по n корзин. Какая принципиально разница? Речь о том, что данные должны храниться в базе, а не в сессии или кукисах. hVosttпри желании можно хранить корзину анонимуса в базе, а в кукисах ID Не можно, а нужно. hVosttно по статистике более 80% анонимусов не завершают покупки, просто пришли потыкать, а до покупки не доходят. Откуда такая статистика? hVosttа засирать говнокарзинами анонимов базу данных нет смысла, если в этом нет необходимости . куки отлично справляются с этой задачей. тем более один хрен ты используешь куки так или иначе, просто через дополнительный слой абстракции. Зачем засорять, периодически база чистится от просроченных неактуальных корзин. hVosttппц. что ты там защищаешь непонятно. и как этот «токен» поможет защититься и от чего... выдумщик ненужных сложностей. Токен- это свидетельствующее о наличии полномочий и аутентичности и являются ключом для доступа к сервисам. Если тебе это ни о чем не говорит, забей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 13:24 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttтебе медальку шоколадную дать? слив не слив, в какие игры ты тут играешь, ребенок? детский сад: доктор, поциент, обезьянки, слив... поди лучше в игрушки поиграй, если по теме сказать нечего. МСУ пишет по существу, хоть и в своём уникальном стиле. что мне тебе сказать то? что ты забавная мартышка-прогер? да эт уже ясно с твоими этюдами. ребенок? 1) тебе показали что твой код говно, но ты продолжаешь вонять 2) ищешь какие то тупые зацепки и оправдания ну и кто ведет себя как ребенок? давно б по умному замолчал бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 14:01 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, хранения корзины в БД позволяет реализовать дополнительный функционал в первую очередь для пользователей. Вам оно не надо, но откуда Вы знаете, что не надо им? Фитбек пробовали собирать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 14:11 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVosttну и кто ведет себя как ребенок? давно б по умному замолчал бы. +1 Мне тоже кажется, что имеем дело со вчерашним студентом, не более. Опыта ноль, но чсв зашкаливает, нужно же как-то реализовывать чсв, вот и приходится слюновыделениями скил прокачивать. Я понимаю еще ситуацию высокого чсв при реальном опыте, в таком случае еще можно какашками покидаться Но это не случай hVostt, бьюсь об заклад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 14:11 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, ну что поделать, взяли студеника на работу без опыта в проект, кинули шматок кода на mvc и сказали - пили. Вот он и вынюхивает на форумах, что как нужно делать. Вот уже как месяца 3 на первой работе, уже прогресс: знаем, что нельзя юзать деструкторы с логикой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 14:13 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVosttтебе медальку шоколадную дать? слив не слив, в какие игры ты тут играешь, ребенок? детский сад: доктор, поциент, обезьянки, слив... поди лучше в игрушки поиграй, если по теме сказать нечего. МСУ пишет по существу, хоть и в своём уникальном стиле. что мне тебе сказать то? что ты забавная мартышка-прогер? да эт уже ясно с твоими этюдами. ребенок? 1) тебе показали что твой код говно, но ты продолжаешь вонять 2) ищешь какие то тупые зацепки и оправдания ну и кто ведет себя как ребенок? давно б по умному замолчал бы. «мартышка-прогер» твой интеллект мне забрызгал мне экран. ну что еще умного ты можешь выдать? какие нафиг зацепки, какие оправдания? окстись дите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:27 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУ, да правильно, ищи поддержки в стаде «мартышек» МСУА по какому критерию приложение выдаст анонимному пользователю корзину? глупый вопрос. ты в куках хранишь ID корзины, чем это отличается принципиально от списка id=qty (товар-количество)? ничем. МСУРечь о том, что данные должны храниться в базе, а не в сессии или кукисах. правильно. зачем ты используешь сессию и кукисы мне до сих пор при таком раскладе вообще не ясно. утверждаешь одно, делаешь другое. шиза? МСУОткуда такая статистика? статистику собирает отдельный слой. и не надо ковыряться в базе корзин или чего-то еще, чтобы эту статистику собрать. поясню для тугодумов. в предельно упрощенном виде: 1. пользователь нажимает «добавить товар в корзину» 2. это событие записывается в базу статистика — это события, а не какой-то расклад модели данных. МСУЗачем засорять, периодически база чистится от просроченных неактуальных корзин. совершенно ненужное усложнение. тебе нужна какая-то чистка, мне — нет. хотя результат тот же. анонимы прекрасно себя чувствуют, первый же заказ превращает анонима в пользователя, и его корзина(ы) хранятся в базе. в твоих заявлениях «это неправильно» я так и не увидел сколь-нибудь значимого аргумента. может уже пора тебе переходить к тяжелой ортиллерии? если не можешь сам пояснить, давай уже свои пруфы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:37 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt1. пользователь нажимает «добавить товар в корзину» 2. это событие записывается в базу или крестик снимите или трусы наденьте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:40 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
skyANAhVostt, хранения корзины в БД позволяет реализовать дополнительный функционал в первую очередь для пользователей. Вам оно не надо, но откуда Вы знаете, что не надо им? Фитбек пробовали собирать? у пользователей корзина хранится в базе. у анонимах в куках. все что надо собирается, даже больше чем надо. каждый чих любого посетителя (анонима/пользователя) логгируется, статистика полнее некуда. осталось только собирать данные по движении мышкой по экрану. куда уже больше?? я не понимаю, зачем строить статистику по содержанию в базе корзин? кроме того, если анонимные корзинки чистястся время от времени, статистика теряется. у меня ничего не теряется, не смотря на то что анонимные корзинки в куках. я точно знаю сколько товаров и каких было положено в корзины, или изъяты оттуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:43 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
ИзопропилhVostt1. пользователь нажимает «добавить товар в корзину» 2. это событие записывается в базу или крестик снимите или трусы наденьте не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:44 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
МСУТокен- это свидетельствующее о наличии полномочий и аутентичности и являются ключом для доступа к сервисам. Если тебе это ни о чем не говорит, забей. кстати да, мне это ни о чем не говорит. точнее говорит, о том, что ты понабрался умных слов не известно откуда, но сам не знаешь о чем говоришь. пояснить можешь? нет, тогда можно забыть о том, что ты сказал. просто не знаешь чо лепишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:45 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVostt, другого и не ожидал) бог с тобой) понаблюдаю ты кидаешь какашками просто) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:47 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, да правильно, ищи поддержки в стаде «мартышек» Напомнило ситуацию, когда один дурак доказывает окружающим, что они стадо идиотов. hVosttМСУА по какому критерию приложение выдаст анонимному пользователю корзину? глупый вопрос. ты в куках хранишь ID корзины, чем это отличается принципиально от списка id=qty (товар-количество)? ничем. Тяжелый случай... Я не знал, что с тобой всё так плохо. Зачем мне хранить связку "id=qty", если достаточно одного простого обобщенного ID корзины. Я зайду в в базу и полностью подниму информацию о заказах покупателя. hVosttМСУРечь о том, что данные должны храниться в базе, а не в сессии или кукисах. правильно. зачем ты используешь сессию и кукисы мне до сих пор при таком раскладе вообще не ясно. утверждаешь одно, делаешь другое. шиза? Шизофрения процветала, hVostt держался до последнего... hVosttМСУОткуда такая статистика? статистику собирает отдельный слой. и не надо ковыряться в базе корзин или чего-то еще, чтобы эту статистику собрать. поясню для тугодумов. в предельно упрощенном виде: 1. пользователь нажимает «добавить товар в корзину» 2. это событие записывается в базу статистика — это события, а не какой-то расклад модели данных. Ты каким местом читаешь, что я тебе пишу? Я спрашивал про статистику о 80% тех, кто заходит понажимать кнопки и сваливает. Ты понимаешь, вообще, о чем речь? hVosttМСУЗачем засорять, периодически база чистится от просроченных неактуальных корзин. совершенно ненужное усложнение. А периодическое бомбление сервера из скрипта для разогрева сессии - это нужное усложнение? hVosttв твоих заявлениях «это неправильно» я так и не увидел сколь-нибудь значимого аргумента. может уже пора тебе переходить к тяжелой ортиллерии? если не можешь сам пояснить, давай уже свои пруфы. Не мудрено. Ты точно так же писал и в спиче про деструкторы. Ты предсказуем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:47 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
hVosttМСУТокен- это свидетельствующее о наличии полномочий и аутентичности и являются ключом для доступа к сервисам. Если тебе это ни о чем не говорит, забей. кстати да, мне это ни о чем не говорит. точнее говорит, о том, что ты понабрался умных слов не известно откуда, но сам не знаешь о чем говоришь. пояснить можешь? нет, тогда можно забыть о том, что ты сказал. просто не знаешь чо лепишь. Пояснить тебе? Нет. P.S. Если бы был другой вменяемый мембер, отзывчивый и благодарный за то, что его бесплатно учат - расписал бы всё по полочкам. P.S2. Скажу даже более, ты автоматом записался (у меня, по крайней мере) в блэк лист. Кроме глума можешь на большее не рассчитывать. Ну это я так, отвлекся. Ты продолжай, продолжай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:52 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
Antonariy Хочу много корзин. Это нормально, когда в крупном магазине ты набираешь товары группами и покупаешь группами в разное время. Из 10 интернет-магазинов наверное найдется 1, где это нужно и реализовано. Но если надо, ради бога, кто мешает, я против чтоли? Antonariy А когда не оформляется, что происходит с корзиной в твоем горе-гамазине? Ничего не происходит. А должно? Antonariy Принципиальная разница такая же как между переменной и указателем. В кукисах хранится указатель. Это не позволяет сделать вывод, что в кукисах ничего не хранится. Указатель — тоже информация. Кроме того, нахрена вообще хранить ID корзины для пользователя, если для известного пользователя ID корзины итак известно. Antonariy Я усирался, два часа набирал 100500 товаров, а они взяли и протухли? В жопу такой магазин, не вернусь. Я даже не знаю что сказать. Протухла сессия ≠ протухли ваши товары. Возвращайтесь хоть через 5 лет, если ваши куки еще живые, то вы увидите все свои товары. Antonariy Кое-кто готов душу продать, чтобы узнать, на что же они потыкали. Остальное просто бред. Вы видите то, что хотите увидеть. Читаете не внимательно. Сами виноваты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:53 |
|
||
|
Ленивая очистка. Продолжение
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuhVostt, другого и не ожидал) бог с тобой) понаблюдаю ты кидаешь какашками просто) от гения слышу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2013, 15:53 |
|
||
|
|

start [/forum/topic.php?all=1&fid=18&tid=1358408]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
102ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 375ms |

| 0 / 0 |
