Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973, Игорь, ты только не обижайся, вот ты говоришь, что господа не любят хранить в сессиях переменные, А какие переменные????????????..( пауза), я даже ума не приложу, что там можно хранить.. строки, шапки таблиц, данные таблиц, дык все уже давно пользуются орм,( дата сет прикладная банальщина) орм сама разгуливает противоречивость, многоуровневое кеширование, и тд. что ты жалеешь базу данных, их и для этого и придумывали что бы хранить данные,Mysql по дефолту держит 800 сессий. никого она не держит с обращениями ( если запрос гут), по мне так партикулярно- правильно-неоптимизирование приложение лучше, чем этот иллюзион, и не называй их глобальными.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 21:54 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973, Вы объясните зачем знать о Session проекту, отвечающему за работу с БД (выборка, запись, бизнес логика)? У меня на работе в солюшине 480 проектов, но такого архитектурного новшества не наблюдается :) Откройте для себя шаблон декоратор, оберните вызовы репозитория неким CacheDecorator и внутри инкапсулируйте какое угодно кэширование: в сессии, базе, membase и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 22:00 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
А так Вы просто нарушаете принципы проектирования. Да, Вам это удобно, а для других - это проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 22:02 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Правильно, сессия в прикладном коде - зло дикое :) Либо общая кеш со всеми вытекающими, либо база данных. Остальное от лукавого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 22:05 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
>ума не приложу, что там можно хранить 1. Как я уже сказал, у меня в Session хранится строка соединения с БД, тк любой юзер может работать с произвольной БД. 2. Помимо UserID у меня в Session хранится еще некоторая информация по текущему юзеру (его роль и др.), а также целиком строка меню, которое настроено админом персонально для каждого пользователя (или роли) системы. Эта строка длиною где-то 1000 символов. Можно каждый раз при загрузке любой страницы обращаться к БД за этим персонализированным меню, а можно скешировать в сессии и не дергать лишний раз базу данных, что я и сделал. 3. Господа, как вы привыкли передавать параметры от странице к странице? В QueryString в Hidden в Form... А я часто использую для этих целей Session. Переменная создается только на момент перехода к другой странице во время Response.Redirect, после чего сразу уничтожается Session.Remove(...) и память освобождается. Плюс этого подхода, что в QueryString все чисто и аккуратно - ничего лишнего, никакого служебного мусора. >нарушаете принципы проектирования Точно. Принципы и они же - догмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 07:19 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
skyANAИгорь1973, Вы объясните зачем знать о Session проекту, отвечающему за работу с БД (выборка, запись, бизнес логика)?Объясните уже. Именно это я считаю ошибкой проектирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 09:19 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Как я уже сказал, у меня в Session хранится строка соединения с БД, тк любой юзер может работать с произвольной БД. А почему бы все возможные строки соедиения с базами не хранить в конфиге (как это делают нормальные люди), а доступ к той или иной базе осуществлять через старндартный механизм разграничения доступа - роли (а не через одно место)? На кой тут сессия? Еще можно хранить эти строки соединения в базе данных и так же осуществлять, в зависимости от роли, доступ к тем или иным строкам соединения. Игорь1973Помимо UserID у меня в Session хранится еще некоторая информация по текущему юзеру (его роль и др.), а также целиком строка меню, которое настроено админом персонально для каждого пользователя (или роли) системы. Мил человек, RTFM что-ли. Какие в зад роли? Срочно читать про механизм стандартного SqlRoleProvider. Зачем в сессии хранить строку меню, что за бред Открой для себя стандартный механизм профилей, что-ли. Куда не плюнь - везде велосипед, причем без колес... Игорь1973Господа, как вы привыкли передавать параметры от странице к странице? В QueryString в Hidden в Form... А я часто использую для этих целей Session. Изучи стандартные механизмы хранения персональных данных и механизм ролей. Дурь сразу отпадет и начнешь мыслить как человек, а не зомби :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 09:38 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Неудержался( Игорь19731. Как я уже сказал, у меня в Session хранится строка соединения с БД, тк любой юзер может работать с произвольной БД. чуш полная, а не довод Игорь1973Можно каждый раз при загрузке любой страницы обращаться к БД за этим персонализированным меню, а можно скешировать в сессии и не дергать лишний раз базу данных, что я и сделал. для этого есть кеш! а не ваша глупая идея Игорь1973Помимо UserID у меня в Session хранится еще некоторая информация по текущему юзеру (его роль и др.), Уже сказали, что надо такое делать через IIdentity и IPrincipal Игорь1973после чего сразу уничтожается Session.Remove(...) и память освобождается как же! читаем про CG Игорь1973..А я часто использую для этих целей Session... и что? вам говорят что ваше решение остой, а вы на своем стоите и едиственный довод, что только вам удобно. А то что люди говорят, что огребеш потом, не волнует. Игорь1973Точно. Принципы и они же - догмы. Судя по вашим мыслям и решенияи - не вам судить про принципы проектирования. Вывод из всего: Зачем спрашивали на форуме ?вам сказали как надо - вы не послушали и никаких доводов адекватных. Тупой слив и выброс топика ИМХО. ТС читайте книжки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 09:51 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Элементарно корзину с покупками интернет магазина можно хранить в Session. Да, можно и в БД (ну, покричите кто-нибудь, что "нужно!") или еще где-то, а можно и в Session. И оно не будет много места серверной памяти занимать. Вообще, я бы сказал, что с приходом твердотельных SSD-дисков в нашу жизнь, понятия памяти оперативной (как бы быстрой) и памяти дисковой, где хранится БД, практически стираются. Наверное, пока еще это не очевидно, но уже скоро... Но плюс хранения в Session еще и в том, что все данные в нем автоматически уничтожаются при закритии сессии. И это можно использовать. Господа, если вам так нравится все стандартное (и SqlRoleProvider и другие классы), ну, так и используете их с удовольствием. А мне доставляет удовольствие "городить свой огород", писать универсальный код (а не только для MS SQL). Кому-то нравятся стандартный DataGrid, а у меня свой собственный кастом контрол. Или что? Тоже кто-то скажет "так нельзя, потому что не стандартно.." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 10:51 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Элементарно корзину с покупками интернет магазина можно хранить в Session.А можно и в Cookies и в БД. Пробовали на ozon.ru добавить что-то корзину, а потом закрыть браузер, выключить комп, придти на работу и зайти в свою корзину на ozon.ru? Магия! :) И ответьте таки на вопрос:skyANAИгорь1973, Вы объясните зачем знать о Session проекту, отвечающему за работу с БД (выборка, запись, бизнес логика)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 10:59 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Элементарно корзину с покупками интернет магазина можно хранить в Session. Да? а если я вышел покурить..пришел а сессии нет уже. Мне че занового все покупать? Или к примеру злой дядя в админке поставил доступно вместо 5 штук 0 то как бы я уже купить не могу, а в сессии будет висеть!!! или будет каждый раз синхронизировать то что в сесиии и бд? Игорь1973А мне доставляет удовольствие ...писать универсальный код (а не только для MS SQL). врядли у вас универсальнее раз вам пофигу на общепринятые решения Игорь1973Господа, если вам так нравится все стандартное (и SqlRoleProvider и другие классы), ну, так и используете их с удовольствием Точно смотрели инфу про IIdentity и IPrincipal? Там как раз то что вы любите - реализовать все самому по интерфейсу Игорь1973Кому-то нравятся стандартный DataGrid, а у меня свой собственный кастом контрол. если вам не хватает стандартного вообще как бы правильно. Игорь1973Тоже кто-то скажет "так нельзя, потому что не стандартно.." Вы не правильно трактуете, вам не запрещают, пишите.НО толпа людей вам говорит как лучше с точки зрения архитектуры и это доказано практикой кучей людей, а вы уперлись вам удобно, что вообще не довод. Прислушаетесь или нет это это ваш выбор, но не надо лечить людей что это удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 11:13 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuне надо лечить людей что это удобноКаждый дрочит как он хочет, вам-то что? Про баб рассказали, и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 11:26 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
AntonariyКаждый дрочит как он хочет, вам-то что? Про баб рассказали, и ладно. ересь просто) окей. вы правы : "Каждый дрочит как он хочет" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 11:35 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Я бы не сказал, что эта ересь является вредной. Изобретая велосипеды, пусть даже без колес, человек получает опыт, опыт изобретения, который он не получит, читая мануалы. У него будет живое понимание, как что работает, пусть оно и устарело. Наигравшись с велосипедами, он неизбежно придет к правильным решениям, когда велосипеды не смогут справиться к очередной задачей, но за плечами-то у него будет не вакуум. А если представить пустоголового, не уверенного в себе школьника с велосипедом, который подвернулся под руку какому-нибудь упоротому фанатику типа МСУ, то он бросит свой велосипед и ринется в омут какого-нибудь мвц не имея опыта изобретений. В результате получится куча мвц-говнокода, который растопчет и опплюет тот же фанатик. Если школьник не сдастся, то он научится писать нормальный код, но без собственного опыта это будет на уровне "намылить, смыть, повторить", никакого творчества. Новые и правильные технологии защищают от тормозного старья, но не от от говнокода. От него защищает опыт, в том числе и еретический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 11:59 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Antonariy, Модератор: При всём уважении, не надо нехорошие слова писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 12:06 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Извините, увлекся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 13:48 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973> Field в базе уже не Exists а в сесси он еще да Exists, и наоборот Все давно продумано, и это тоже. А не лучше ли зависеть от одного источника данных, а не решать созданные самому себе проблемы? зы я тоже использую сессию, там где считаю нужным, но таких случаев почему то мало ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 17:21 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Можно каждый раз при загрузке любой страницы обращаться к БД за этим персонализированным меню, а можно скешировать в сессии и не дергать лишний раз базу данных, что я и сделал. Не стоит бояться обращаться к БД, она специально для этого предназначена :) Сократить количество запросов к БД - это хорошее дело, но когда они действительно сокращаются, а не переводятся на другие способы хранения. Посоветовал бы на досуге посмотреть, как устроено хранилище сессии (SessionStateStoreProviderBase), после этого ты бы, наверное, подумал, стоит ли туда лишний раз что-то заносить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 17:47 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
AntonariyЯ бы не сказал, что эта ересь является вредной. Изобретая велосипеды, пусть даже без колес, человек получает опыт, опыт изобретения, который он не получит, читая мануалы. Работая в нормальной команде профессионалов, а не с безумцами типа тебя, человек гораздо быстрее получает необходимый опыт и правильное мышление, заложенное в нужном направлении. Такой специалист представляет гораздо больший интерес со стороны работодателя, а так же более высоко ценится в финансовом соотношении. AntonariyУ него будет живое понимание, как что работает, пусть оно и устарело. Наигравшись с велосипедами, он неизбежно придет к правильным решениям, когда велосипеды не смогут справиться к очередной задачей, но за плечами-то у него будет не вакуум. Очередные безумные сказки. Какой вменяемый работодатель даст «играться» и предоставлять возможность принимать неправильные решения? Если речь о самостоятельных играх на дому, то с таким опытом далеко не уедешь. Только на реальных проектах программист получит реальный скил. Все остальные домашние какашки типа курсовых и прочих хеллоувордов - лишь проходной билет в реальный деаеломпент на позицию джуниора, не более того. Так что не фантазируй тут. AntonariyА если представить пустоголового, не уверенного в себе школьника с велосипедом, который подвернулся под руку какому-нибудь упоротому фанатику типа МСУ, то он бросит свой велосипед и ринется в омут какого-нибудь мвц не имея опыта изобретений. В результате получится куча мвц-говнокода, который растопчет и опплюет тот же фанатик. Есть другой вариант - читать книги, читать блоги, читать форумы. Когда будет понимание, что делаешь, тогда можно выходить в онлайн и вещать правду и прислушиваться или не прислушиваться к советам. А когда очередной пустоголовый инопланетянен начинает доказывать какую-то шизофреническую дурь, не читая даже того, что ему пишут - далеко он не уйдет, а лишь увязнет в своем болоте. Следующее болото будет мало чем отличаться от первого. Такое мясо мало интересно рынку, вот они сидят на удаленке за копейки и клепают странички-визитки, ибо на большее они не способны. AntonariyЕсли школьник не сдастся, то он научится писать нормальный код, но без собственного опыта это будет на уровне "намылить, смыть, повторить", никакого творчества. Новые и правильные технологии защищают от тормозного старья, но не от от говнокода. От него защищает опыт, в том числе и еретический. Сам школьник априори не научиться писать нормальный код, выйди из сумрака. Только участие в реальных проектах с вменяемой командой из него выйдет толк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 21:30 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
МСУ...Только участие в реальных проектах с вменяемой командой из него выйдет толк. А может быть реальнвй проект без "вменяемогй команды", типа МСУ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 21:46 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
ShSergeМСУ...Только участие в реальных проектах с вменяемой командой из него выйдет толк. А может быть реальнвй проект без "вменяемогй команды", типа МСУ? Задай вопрос по-русски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 22:00 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
МСУ, Я о том говорю, что любой проект, по большому счёту, делает только один человек. Ну, конечно, всякие финтифлюшечки и прочее. Но ведь это же так? Я уже где-то на форуме писал, что в фирме ИБМ провели эксперимент. Было выделено три бригады, которые независимо друг от друга занимались одним и теи же. 1. Демократическая бригада, 2. Авторитарная, 3. Хирургическая. В демократической бригаде все участники равны. В Авторитарной есть начальник, который даёт задание подчинённым. В хирургической - один делает всё, а остальные только помогают всякими принеси-подай. Лучше всего, с большим отрывом, справилась хирургическая бригада, потом была авторитарная. А демократическая - на последнем месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 22:13 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
ShSerge, Да кто ж спорит, автор может быть один, ну и плюс соавторы. Но автор должен быть вменяем, с точки зрения этнопсихологи, почему тут этно, могу объяснить позже. А тут автор превозносит чушь, и что самое удручающее - безапелляционно. Вообще надо было топик создать с темой, ( использовать ли сессии ?) Мы в свете этого топика не коснулись таких моментов, как расширяемость приложения, конкурентный доступ ( сессия сидит на локе), где хостер хранит сессию , размер самой инициализированной сессии по дефолту. Вот и выходит что сессия это атавизм и зло. зы а на счет всей этой галиматьи Он то плакал, то смеялся, то щетинился как еж, Он над нами издевался. Ну сумасшедший, что возьмешь?(с) зы 2 МСУ, не перебарщивай.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 22:38 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
ShSergeМСУ, Я о том говорю, что любой проект, по большому счёту, делает только один человек. Ну, конечно, всякие финтифлюшечки и прочее. Но ведь это же так? Нет, это не так. Если ты о проектах «Здравствуй, мир», то возможно. ShSerge Я уже где-то на форуме писал, что в фирме ИБМ провели эксперимент. Было выделено три бригады, которые независимо друг от друга занимались одним и теи же. 1. Демократическая бригада, 2. Авторитарная, 3. Хирургическая. В демократической бригаде все участники равны. В Авторитарной есть начальник, который даёт задание подчинённым. В хирургической - один делает всё, а остальные только помогают всякими принеси-подай. Лучше всего, с большим отрывом, справилась хирургическая бригада, потом была авторитарная. А демократическая - на последнем месте. Демократии не должно быть - в проектной команде не могут быть все равны. Почитай про состав команд и проектные роли по методологиям MSF, RUP, и т.д. Так что глупости ты пишешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2012, 22:45 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37972426&tid=1359196]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 406ms |

| 0 / 0 |
