Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Передча данных 
V
    Опции темы
bars80080
Дата 4.11.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Nigel @  4.11.2009,  00:34 Найти цитируемый пост)
неужели вы считаете нормальным запихнуть файл в сессию и заставить пользователя ходить с этим гов..ом по страницам?

Цитата(Simpliest @  4.11.2009,  05:42 Найти цитируемый пост)
(в контексте первого сообщения и примеров в нем) это прочитать из файла, потом запихнуть этим мега-гига-байты в сессию?

не надо передёргивать, я изначально говорил, что пример имеет право на существование в том контексте, если требуется передать дальше небольшой долю данных из файла. а топикстартер не говорил ничего об объёмах передачи, так что это ваши измышления.

Цитата(Nigel @  4.11.2009,  00:34 Найти цитируемый пост)
про 60 секунд улыбнуло) 
видать вы мало бываете на этом форуме. можете сходить и почитать в раздел багов форума

Цитата(youri @  4.11.2009,  01:57 Найти цитируемый пост)
внимание вопрос: зачем каждый раз парсить 300 кБ xml-лек, почему не запихнуть что нужно в БД?

именно, я и говорю: зачем? зачем каждый раз? один раз распарсил и сохранил, в базе или сессии (если данные впоследствии не понадобятся), и сервер рад и пользователь.

PM MAIL WWW   Вверх
sTa1kEr
Дата 4.11.2009, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(bars80080 @  4.11.2009,  01:51 Найти цитируемый пост)
неужели, ты никогда не видел на не очень далёком ресурсе задержки выдачи страниц в 20-60 секунд. причём администратор всё время клянёт высокую посещаемость вкупе с большим объёмом используемых операций.
ты и их компота лишить хочешь?

Вы вообще понимаете, что предложенный NNaarreekk'ом метод для штатного механизма сессий увеличит количество дисковых операций минимум в 2 раза? Да за такое не компота, за такое работы лишают.

Цитата(bars80080 @  4.11.2009,  12:57 Найти цитируемый пост)
видать вы мало бываете на этом форуме. можете сходить и почитать в раздел багов форума

Со всем моим уважением к винграду, этот форум хороший тому пример. Только, имхо, здесь обратная ситуация, здешним девелоперам (если такие здесь вообще остались) не дают компота и как следствие...

Это сообщение отредактировал(а) MoLeX - 6.11.2009, 06:34
PM MAIL   Вверх
bars80080
Дата 5.11.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(sTa1kEr @  4.11.2009,  18:23 Найти цитируемый пост)
Вы вообще понимаете, что предложенный NNaarreekk'ом метод для штатного механизма сессий увеличит количество дисковых операций минимум в 2 раза? Да за такое не компота, за такое работы лишают.

и что? это гораздо хуже, чем дважды парсить тяжёлый текст ради пяти строчек?


Цитата(sTa1kEr @  4.11.2009,  18:23 Найти цитируемый пост)
Со всем моим уважением к винграду, этот форум хороший тому пример. 

со всем моим уважением, я один раз вчера туканил перед чистым экраном /до того как он вообще вырубился/, когда же страница загрузилась - специально посмотрел время генерации - 74 секунды

/рк: уважение проявляется в том, что я по прежнему здесь пишу, не смотря на тормозюки/
PM MAIL WWW   Вверх
youri
Дата 5.11.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(bars80080 @  5.11.2009,  10:46 Найти цитируемый пост)
и что? это гораздо хуже, чем дважды парсить тяжёлый текст ради пяти строчек?

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

Цитата(sTa1kEr @  4.11.2009,  19:23 Найти цитируемый пост)
Вы вообще понимаете, что предложенный NNaarreekk'ом метод для штатного механизма сессий увеличит количество дисковых операций минимум в 2 раза? Да за такое не компота, за такое работы лишают.

ну какбы NLspieler уже писал об этом

bars80080, а можно все-таки твой пример поподробнее рассмотреть? Можно конкретнее, что за xml-ки и почему они должны парситься по запросу пользователя? Почему их изначально нельзя в бд запихнуть?
PM   Вверх
bars80080
Дата 5.11.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(youri @  5.11.2009,  10:01 Найти цитируемый пост)
у ТС нету никакого парсинга

ну, это всего лишь предположение. также предположение, что он хочет передать весь массив из файла. и в качестве предположения есть идея о передачи вырезки данных в сессии. как предположение, оно имеет право на существование


Цитата(youri @  5.11.2009,  10:01 Найти цитируемый пост)
а можно все-таки твой пример поподробнее рассмотреть? Можно конкретнее, что за xml-ки и почему они должны парситься по запросу пользователя? Почему их изначально нельзя в бд запихнуть? 

да пожалуйста.
есть такая компания "Аэрофлот", которой я совершенно не указ. обмен отчётностью с ней совершается посредством xml. вот теперь представьте, что находится в одной xml, согласно их формата:
одна xml - один агент, в ней неограниченное количество пачек за представленный период. пачки могут содержать до 50 транзакций каждая, притом что разные типы документов разделябтся по разным пачкам, так как формат у них разный. типов до 6 штук. в пределах каждой транзакции не менее 20 тэгов уходит на общее описалово и методы оплаты, в каждой транзакции до 4х купонов и до 8 такс, каждый купон ~ 12 тэгов, каждая такса ~ 8 тэгов, так что набегает приличный размер, а 300 кБ - это то с чем приходилось иметь дело

и вот у нас стало быть задача. валятся эти xml от субагентов, у нас проверяются и шлются дальше. и вот требуется значит содрать небольшой срез информации, в силу чего она распарсивается. вносить в БД целиком - не имеет смысла, у нас своя отчётность и всё что нужно уже в БД, для того чтобы хранить эти данные, пришлось бы организовать ещё лишних 7 таблиц, которыми всё равно бы никто никогда не пользовался. далее, полученная информация проходит по принципу визарда, где как раз и добавляются данные из БД, уточняются суммы по претензиям и прочая бухгалтерия. 
смысл мне на каждом этапе парсить одну и ту же xml-ку?
смысл мне захламлять базу лишний раз, если данными из неё мы пользуемся всего однажды. а через месяц все xml-ки сливаются в общий архив и удаляются с диска, ибо он тоже не резиновый
PM MAIL WWW   Вверх
sTa1kEr
Дата 5.11.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(bars80080 @  5.11.2009,  11:46 Найти цитируемый пост)
и что? это гораздо хуже, чем дважды парсить тяжёлый текст ради пяти строчек?

Как вы не поймете, что во втором случае придется точно так же парсить данные, только уже не по строкам, как в примере ТС'а, а разбирать сложную структуру переменной PHP.

И потом процессор, в отличии от жесткого диска, практически никогда не бывает узким местом на www серверах. 
К сведению один такт процессора исчисляется наносекундами (10^-9), время произвольного доступа на современном винте исчисляется миллисекундами (10^-3). Как бы быстро не крутилась головка винчестера, быстрее скорости света она не раскрутится  smile
PM MAIL   Вверх
bars80080
Дата 5.11.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(sTa1kEr @  5.11.2009,  11:28 Найти цитируемый пост)
Как вы не поймете, что во втором случае придется точно так же парсить данные, только уже не по строкам, как в примере ТС'а, а разбирать сложную структуру переменной PHP.

И потом процессор, в отличии от жесткого диска, практически никогда не бывает узким местом на www серверах. 
К сведению один такт процессора исчисляется наносекундами (10^-9), время произвольного доступа на современном винте исчисляется миллисекундами (10^-3). Как бы быстро не крутилась головка винчестера, быстрее скорости света она не раскрутится  

вот не втыкаю. второй абзац говорит против первого. да, жёсткий становится узким местом, да при чтении больших файлов приходится подождать. и когда нам надо всего лишь долю от этого файла, то зачем нам читать весь файл, если можно взять только уже выцеженную инфо? считать 5 строчек или 100000, где быстрее?
PM MAIL WWW   Вверх
sTa1kEr
Дата 5.11.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(bars80080 @  5.11.2009,  11:46 Найти цитируемый пост)
со всем моим уважением, я один раз вчера туканил перед чистым экраном /до того как он вообще вырубился/, когда же страница загрузилась - специально посмотрел время генерации - 74 секунды

Именно это я и имел ввиду под "хорошим" примером. 
PM MAIL   Вверх
sTa1kEr
Дата 5.11.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(bars80080 @  5.11.2009,  13:39 Найти цитируемый пост)
вот не втыкаю. второй абзац говорит против первого. да, жёсткий становится узким местом, да при чтении больших файлов приходится подождать. и когда нам надо всего лишь долю от этого файла, то зачем нам читать весь файл, если можно взять только уже выцеженную инфо? считать 5 строчек или 100000, где быстрее? 

Какую еще долю файла? Какие 100000 строк? Вы про что вообще? 
Речь о том, что приходится либо читать один файл один раз(!) или читать и писать те же данный в разные файлы N раз(!). Во втором случае обращений к диску будет в 2 * N раз больше (где N число пользователей с разными сессиями). И это все ради того, что бы сэкономить "пару" тактов (которые в в 10^6 быстрее любого обращения к диску) процессорного времени?

Это сообщение отредактировал(а) sTa1kEr - 5.11.2009, 13:00
PM MAIL   Вверх
Ипатьев
Дата 5.11.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(bars80080 @  5.11.2009,  12:25 Найти цитируемый пост)
требуется значит содрать небольшой срез информации,

Соглашусь, что в случае, когда информация из кривого файла требуется только один раз и только одному пользователю, то вариант с записью в сессию вполне применим.
Категорически не соглашусь с тем, что решение для этого исключительно редкого случая следует рекомендовать по умолчанию для всех вопросов, в которых упоминается чтение информации из файла.

Это сообщение отредактировал(а) Ипатьев - 5.11.2009, 13:08
PM MAIL   Вверх
bars80080
Дата 5.11.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(sTa1kEr @  5.11.2009,  12:00 Найти цитируемый пост)
Речь о том, что приходится либо читать один файл один раз(!) или читать и писать те же данный в разные файлы N раз(!). 

а я говорю не об этом. меня просили обосновать применимость метода через сессию, я и привёл пример.
читаем файл один раз, выбираем из него то что нам надо (ничтожную долю), а затем передаём его сессией. то есть теперь нам на втором такте надо считать не 100000 строк, а одну строку сериализованного массива из пяти строк


Цитата(Ипатьев @  5.11.2009,  12:05 Найти цитируемый пост)
Соглашусь, что в случае, когда информация из кривого файла требуется только один раз и только одному пользователю, то вариант с записью в сессию вполне применим.
Категорически не соглашусь с тем, что решение для этого исключительно редкого случая следует рекомендовать по умолчанию для всех вопросов, в которых упоминается чтение информации из файла.

а никто и не говорит о рекомендации в обязательном порядке. вы обозвали этот случай глупостью, хотя сами же сейчас признаёте возможность его существования. сказали бы, что в большинстве случаев ничего никуда передавать не надо, без эмоциональной характеристики предыдущего совета, то и конфликта бы никакого не было.

блин, всего одно слово. неужели трудно воспитать себя и редактировать свои мысли перед изложением на всеобщее обозрение. почему обязательно надо унизить собеседника?
PM MAIL WWW   Вверх
bars80080
Дата 5.11.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



по моему, вы уже говорили, что никто не знает, что у автора на уме.
к примеру, прочитав вопрос, я легко мог спроецировать свой случай на него и предложить своё решение. вполне нормальная практика советовать то, что у тебя работает оптимальным способом
PM MAIL WWW   Вверх
sTa1kEr
Дата 5.11.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(bars80080 @  5.11.2009,  16:00 Найти цитируемый пост)
а я говорю не об этом. меня просили обосновать применимость метода через сессию, я и привёл пример.

Ваш пример никак не соответствует вопросу
Цитата(Zorak @  3.11.2009,  15:20 Найти цитируемый пост)
Как мне передать данные на другую страницу ???


В вашем примере xml выступает в качестве БД, а сессия в качестве кеша. Что, собственно говоря, тоже не правильно. В сессии должны хранится данные которые актуальны исключительно на время действия этой сессии и исключительно для конкретного пользователя.

Добавлено через 1 минуту и 8 секунд
Ну вот, опять Ипатьев раньше меня ответил smile 
PM MAIL   Вверх
bars80080
Дата 5.11.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Ипатьев @  5.11.2009,  14:35 Найти цитируемый пост)
не надо ничего проецировать. надо читать. текст, который написан.

ага, а сейчас мы будем настаивать на исключительность своего мнения? и, мол, никаких иных мнений супротив моего быть не может?
есть даже поговорка: сколько людей - столько мнений. неужели вам кажется, что все думают одинаково?

Цитата(sTa1kEr @  5.11.2009,  14:37 Найти цитируемый пост)
Ваш пример никак не соответствует вопросу

Цитата(Zorak @  3.11.2009,  15:20 )
Как мне передать данные на другую страницу ???

да ладно? гораздо больше соответствует, чем ваши предложения

Цитата(sTa1kEr @  5.11.2009,  14:37 Найти цитируемый пост)
В сессии должны хранится данные которые актуальны исключительно на время действия этой сессии и исключительно для конкретного пользователя.

да, именно такой пример я и привёл


PM MAIL WWW   Вверх
sTa1kEr
Дата 5.11.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



bars80080, судя по тому как вы описали свой пример вы ничего не передаете, а используете сессию как кеш.

Добавлено @ 19:22
Цитата(Simpliest @  5.11.2009,  20:15 Найти цитируемый пост)
Из-за чего ты взвился - я категорически отказываюсь понимать. 

Все просто, имхо, bars80080 использует аналогичный код предложенный NNaarreekk'ом и по этому воспринимает заявление о глупом совете на свой счет.

Это сообщение отредактировал(а) sTa1kEr - 5.11.2009, 19:24
PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0877 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.