<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_13_thread_37897"  />
<title>rulinux.net - Форум - Web-development - [Индусокод]Оригинальный способ валидации ввода.</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Web-development - [Индусокод]Оригинальный способ валидации ввода.</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163160</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163160</guid>
<pubDate>Wed, 09 Jan 2013 13:58:52 +0400</pubDate>
<description><![CDATA[<p>&gt; Ну и зачем для этого использовать вложенные запросы?
<br><br>
Странно, мы уже задолбались угадывать, что это за запрос и для чего он такой. Это же ты разместил тут этот запрос, вот и рссказывай почему в твоём случае они оказались неоптимальны и какое увеличение производятельности ты получил изменив данный запрос.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163159</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163159</guid>
<pubDate>Wed, 09 Jan 2013 13:53:57 +0400</pubDate>
<description><![CDATA[<p>Ну и зачем для этого использовать вложенные запросы? </p><p></p><p></p><p>З.Ы. БД - PostgreSQL. Проект относительно высоконагруженный.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163154</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163154</guid>
<pubDate>Wed, 09 Jan 2013 13:43:41 +0400</pubDate>
<description><![CDATA[<p>&gt; Я видел людей, которые любят вообще всю логику в БД реализовать. Триггеры какие-то, view и функции, а на выходе приложение почти ничего не делает, кроме дорисовки мелочей.
<br><br>
Я такую шнягу сделал в конце 90х. Самописный ISAPI бинарник, аналог mod_owa, держит пул коннектов в Oracle и через них роутит ХТТП-запросы в вызовы соответствующих процедур в базе.
<br><br>
Все вызовы возвращают клиенту ХМЛ с кодом и описанием результата выполнения операции,  а так же блок данных изменившихся с момента последнего обращения клиента (всех категорий данных, к которым обращался клиент - для этого запоминается что ему было отгружено: например если сервер знает, что клиент запрашивал категорию &quot;яблоки&quot; с условием &quot;красные&quot; и с тех пор в базу кем-то было добавлено одно красное яблоко, а другое было удалено, то при первом же обращении к серверу на клиента будет передано две дельта-записи, если у него есть права видеть оба эти яблока).
<br><br>
Клиент - бровсер. На клиенте средствами ХМЛ сождан локальный кеш данных, синхронизируемый с БД посредством вышеописанного механизма. Отображение страничек делается прикладыванием стайлшита к этому ХМЛ-дереву.
<br><br>
Плюсы: Балансировка нагрузки - запросы процессятся несколькими серверами (по числу коннекшенов в пуле) на стороне БД. Масштабируемость. Минимальный трафик между БД и приложением (обработка данных на стороне БД), а у нас сеть тогда тормозная была. Кроссплатформенность серверной части: работало и под апачем с родным mod_owa и под ИИСом с моим модулем (я впоследствии поднимал это под линуксом без проблем). Ну и в нашей локальной реальности было бы проще найти специалиста по PL/SQL чем по какому-нибудь пыху.
<br><br>
Минусы: высокая латентность - с современными вычислительными мощами я бы реализовывал функциональную часть на стороне сервера приложений, с кешированием данных. Некроссплатформенность клиента: я тогда не нашёл как прикрутить весь этот аякс к мозилле, поэтому приложение могло работать только с ИИСом. 
</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163153</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163153</guid>
<pubDate>Wed, 09 Jan 2013 13:43:03 +0400</pubDate>
<description><![CDATA[<p>В сегфолт выпадать никогда не надо</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163148</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163148</guid>
<pubDate>Wed, 09 Jan 2013 12:58:22 +0400</pubDate>
<description><![CDATA[<p><i>> Один мой знакомый примерно таким методом клепает формочки на оракле для некоторых госструктур, вроде справляются.</i><br><br><br>Ага, а потом когда тебя приглашают оптимизировать подобный код который не успевает за ночь сформировать отчеты, а у тебя он неожиданно начинает всё это делать за 5-10 минут. Тебя обвиняют что ты их пытаешься наебать и развести на деньги.<br><br>Приходится советовать нанять еще одного спеца, что бы он подтвердил, что первый спец действительно оптимизировал всё правильно)))<br><br>Кстати с Ораклом это и было)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163147</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163147</guid>
<pubDate>Wed, 09 Jan 2013 12:51:53 +0400</pubDate>
<description><![CDATA[<p><i>> Вот видишь как много должен был рассказать Тюксоид о том, почему он считает приведённый запрос индусокодом.<br /></i><br>А подумать самому прежде чем писать:<br /><br /> anonymous&gt; И чо не так?<br /> anonymous&gt; Что ты блеешь? БД вытягивает ...<br /><br /> Мозга своего не хватает?<br /></p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163146</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163146</guid>
<pubDate>Wed, 09 Jan 2013 12:50:40 +0400</pubDate>
<description><![CDATA[<p>&gt; Ну так те же яйца выходят. Всё равно потом приложение (темплейтный движок) циклом проходит по результату запроса, и рисует какую-нибудь табличку по строкам. Думаю, почти везде есть возможность на ходу ещё и сумму подсчитать, и это будет очень быстро. Если же посчитать дальше возможности нет, то это какие-то direct-from-database движки уже, маргинальщина.
<br><br>
Два запроса могут стоить дороже чем один, особенно такой мизерный судя по всему (наврядли у них там ордера с десятками тысяч строк). </p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163145</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163145</guid>
<pubDate>Wed, 09 Jan 2013 12:49:55 +0400</pubDate>
<description><![CDATA[<p><i>>Ну если БД умная, то может и прокатит первые 5-6 месяцев продакшена )))</i><br> Я видел людей, которые любят вообще всю логику в БД реализовать. Триггеры какие-то, view и функции, а на выходе приложение почти ничего не делает, кроме дорисовки мелочей. Наверное такой подход тоже нормален, но тут нужно заранее знать, что за БД у тебя будет (лучше даже знать параметры железа), и иметь в штате серьёзного специалиста по работе с этой БД, который и настройки оптимизирует, и запросы без EXPLAIN-а сходу распознает. Такие люди, имхо, редкость, так как на всех этих PL/SQL что-то писать, имхо, тяжко и муторно.<br><br>Один мой знакомый примерно таким методом клепает формочки на оракле для некоторых госструктур, вроде справляются. </p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163144</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163144</guid>
<pubDate>Wed, 09 Jan 2013 12:45:27 +0400</pubDate>
<description><![CDATA[<p>Вот видишь как много должен был рассказать Тюксоид о том, почему он считает приведённый запрос индусокодом.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163143</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163143</guid>
<pubDate>Wed, 09 Jan 2013 12:42:31 +0400</pubDate>
<description><![CDATA[<p><i>> Автор же переложил задачу подсчёта на БД, считая эту сумму в каждой строке. Если верить, что БД умная</i><br><br><br>Ну если БД умная, то может и прокатит первые 5-6 месяцев продакшена )))<br><br>Нечто подобное не так давно в практике было. Ну в принципе нет худа без добра, три человека за двое суток от рефакторили свой код))) Потом правдо, когда через месяц таже херня повторилась, чуть не утопили в поилке четвертого, который написал &quot;быстрый и лаконичный SQL запрос&quot;)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163142</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163142</guid>
<pubDate>Wed, 09 Jan 2013 12:39:58 +0400</pubDate>
<description><![CDATA[<p><i>>По виду запроса, я бы предположил, что оно скорее отдаётся в тесмплейтный движок для формирования инвойса или какого-нибудь отчёта..</i><br> Ну так те же яйца выходят. Всё равно потом приложение (темплейтный движок) циклом проходит по результату запроса, и рисует какую-нибудь табличку по строкам. Думаю, почти везде есть возможность на ходу ещё и сумму подсчитать, и это будет очень быстро. Если же посчитать дальше возможности нет, то это какие-то direct-from-database движки уже, маргинальщина.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163141</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163141</guid>
<pubDate>Wed, 09 Jan 2013 12:37:28 +0400</pubDate>
<description><![CDATA[<p><i>>Это нищеброды понаделали когда-то в мрачном прошлом, теперь оно медленно умирает.</i><br> Теперь в моде кроссплатформенные движки, которые могут и мускуль, и постгрес, и даже sqlite. Чтоб с гарантией у всех заработало, пусть и не так хорошо. Вот в такой штуке как раз и нужно предполагать, что БД глупая, и вообще работает абы как, чтобы потом клиенты не ныли, что на их любимом хостинге оно плохо работает. Ну или писать разный код для разных БД, что не всегда рационально.<br><br>Опять же, от проекта зависит. Если проект большой и пишется для конкретной задачи, то можно и предположить, что будет нормальная БД. Если же проект пишется &quot;для всех&quot;, чтобы кто-то мог его купить и установить себе, стоит заранее прикинуть вариант с запуском его на убогой базе.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163140</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163140</guid>
<pubDate>Wed, 09 Jan 2013 12:35:03 +0400</pubDate>
<description><![CDATA[<p>&gt; А потом, небось, вывести список всех записей для данного order_id, и общую сумму для этих же записей.
<br><br>
По виду запроса, я бы предположил, что оно скорее отдаётся в тесмплейтный движок для формирования инвойса или какого-нибудь отчёта..</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163139</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163139</guid>
<pubDate>Wed, 09 Jan 2013 12:33:16 +0400</pubDate>
<description><![CDATA[<p>&gt; Весь интернет забит мускулем, между прочим. Многие CMS даже другого не умеют.
<br><br>
Это нищеброды понаделали когда-то в мрачном прошлом, теперь оно медленно умирает.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163138</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163138</guid>
<pubDate>Wed, 09 Jan 2013 12:32:17 +0400</pubDate>
<description><![CDATA[<p><i>>Тебя не настораживает, что для выборки основной записи и сум используется одно и тоже условие &quot;FROM orders_shipping_history WHERE order_id = $1&quot;?</i><br> Нет, это ведь как раз то, что хотел автор.<br><br>Вот у нас есть таблица:<br><br><fieldset><legend></legend><code><br />
id order_id shipping_paid other_shit <br />
&nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">10</span> &nbsp; &nbsp; &nbsp;<span style="color: #ff0000;">'...'</span><br />
&nbsp;<span style="color: #0000dd;">2</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">20</span> &nbsp; &nbsp; &nbsp;<span style="color: #ff0000;">'...'</span><br />
&nbsp;<span style="color: #0000dd;">3</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">30</span> &nbsp; &nbsp; &nbsp;<span style="color: #ff0000;">'...'</span><br />
&nbsp;</code></fieldset><br><br>Автор на выходе хочет получить что-то такое:<br><br><fieldset><legend></legend><code><br />
id order_id shipping_paid shipping_paid_total <br />
&nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">10</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">60</span><br />
&nbsp;<span style="color: #0000dd;">2</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">20</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">60</span><br />
&nbsp;<span style="color: #0000dd;">3</span> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">1</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">30</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0000dd;">60</span><br />
&nbsp;</code></fieldset><br><br>А потом, небось, вывести список всех записей для данного order_id, и общую сумму для этих же записей.<br><br>То есть то же самое он бы сделал, послав простой SELECT без подзапросов, и пройдя по ним в цикле, считая суммарный shipping_paid. Автор же переложил задачу подсчёта на БД, считая эту сумму в каждой строке. Если верить, что БД умная, и сначала вытащит все нужные записи, а потом где-то в памяти подсчитает SUM-ы, то всё ок. Если же не верить, то, конечно, так делать не стоит.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163137</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163137</guid>
<pubDate>Wed, 09 Jan 2013 12:26:03 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; Систем, блэ, каких сум?)))</i><br><i>> То есть автор хотел вывести все записи для данного id и суммы некоторых колонок к ним, разве не так?</i><br><br><br>Тебя не настораживает, что для выборки основной записи и сум используется одно и тоже условие &quot;FROM orders_shipping_history WHERE order_id = $1&quot;? </p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163136</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163136</guid>
<pubDate>Wed, 09 Jan 2013 12:23:38 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; про mysql пишут что-то такое </i><br><i>> Ой да ладно, где ты видишь кретинов, которые бы пользовались MySQL в XXIм веке??</i><br><br><br>Да бля, ну всё, пора тебя сажать в виману и отправлять к духовным братьям в Индию.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163135</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163135</guid>
<pubDate>Wed, 09 Jan 2013 12:22:38 +0400</pubDate>
<description><![CDATA[<p><i>>Ой да ладно, где ты видишь кретинов, которые бы пользовались MySQL в XXIм веке??</i><br> Весь интернет забит мускулем, между прочим. Многие CMS даже другого не умеют.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163134</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163134</guid>
<pubDate>Wed, 09 Jan 2013 12:20:51 +0400</pubDate>
<description><![CDATA[<p>Тащите дефибриллятор, у поцыэнта остановился мозг!</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163133</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163133</guid>
<pubDate>Wed, 09 Jan 2013 12:20:36 +0400</pubDate>
<description><![CDATA[<p><i>>Систем, блэ, каких сум?))) Посмотри еще раз внимательно, что там суммируется и откуда и с каким условие)))</i><br> Ну вот смотрю. Делается запрос для вывода записей из orders_shipping_history для определённого id. Для каждой строки считается общая сумма некоторых колонок для этой же выборки. То есть автор хотел вывести все записи для данного id и суммы некоторых колонок к ним, разве не так?</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163132</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163132</guid>
<pubDate>Wed, 09 Jan 2013 12:18:01 +0400</pubDate>
<description><![CDATA[<p>&gt; про mysql пишут что-то такое
<br><br>
Ой да ладно, где ты видишь кретинов, которые бы пользовались MySQL в XXIм веке?? </p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163131</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163131</guid>
<pubDate>Wed, 09 Jan 2013 12:16:57 +0400</pubDate>
<description><![CDATA[<p><i>> Учитывая, что с 99% вероятностью дальше будет цикл по результату данного запроса, не очень понятно, почему бы не вынести подсчёт сумм в этот самый цикл.</i><br><br><br>Систем, блэ, каких сум?))) Посмотри еще раз внимательно, что там суммируется и откуда и с каким условие)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163130</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163130</guid>
<pubDate>Wed, 09 Jan 2013 12:13:11 +0400</pubDate>
<description><![CDATA[<p><i>>БД вытягивает в кеш несколько строк единственного заказа, отфильтрованные по ключу ИД, проделывает над ними указанные манипуляции и выплёвывает результат.</i><br> Учитывая, что с 99% вероятностью дальше будет цикл по результату данного запроса, не очень понятно, почему бы не вынести подсчёт сумм в этот самый цикл. Хотя да, если полагаться на кэш, то разницы особой не будет, это уже вопрос вкуса - делать вычисления на стороне БД или на стороне приложения.<br><br>Алсо, про mysql <a href="https://dev.mysql.com/doc/refman/5.1/en/query-cache-operation.html">пишут</a> что-то такое:<br><br><div class="quote"><pre>The cache is not used for queries of the following types:<br><br>Queries that are a subquery of an outer query<br /> ...</pre></div><br><br>Не знаю, насколько это работает в данном случае (тут надо смотреть в EXPLAIN-ы и покрутить это под нагрузкой), но какие-то сомнения на тему кэша БД даёт. Лично я бы, для надёжности, посчитал всё в приложении.<br><br></p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163129</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163129</guid>
<pubDate>Wed, 09 Jan 2013 12:06:56 +0400</pubDate>
<description><![CDATA[<p><i>>&gt; Из той же таблицы к тому же. </i><br><i>> Это же хорошо, что данные берутся из кеша. </i><br><br><br>Это хорошо пока данные помещаются в кэш))) Но когда БД разрастается, и неожиданно, а от таких приколов она проседает неожиданно, быдлокодера написавшего такой код начинают гонять по офису сцаными тряпками.)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163128</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163128</guid>
<pubDate>Wed, 09 Jan 2013 11:56:06 +0400</pubDate>
<description><![CDATA[<p><i>> SQL для того и существует, чтобы вытягивать данные, которые нужны. </i><br>Да существует для этого))) Но одни и теже данные можно и за секунду вытащить, а можно и за час, а если очень постараться, то и за три))) Но в конкретном случае дело даже не в этом)))<br><br> <i>>&gt; Нее?))) </i><br><i>> Что ты блеешь?</i><br><br><br>Ладно обещал не гнобить ананимуса))) Еще раз внимательно посмотри на код, подумай, покури, подумай, еще раз посмотри)))<br><br>Там даже SQL знать не надо что бы понять всё глубину мудрости индийских мудрецов)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163127</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163127</guid>
<pubDate>Wed, 09 Jan 2013 11:51:54 +0400</pubDate>
<description><![CDATA[<p>&gt; Наверно, что на каждую итоговую запись в результате делается + 5 запросов. 
<br><br>
Ну и что с того? SQL для того и существует, чтобы вытягивать данные, которые нужны.
<br><br>
&gt; Из той же таблицы к тому же. 
<br><br>
Это же хорошо, что данные берутся из кеша.
<br><br>
&gt; Нее?)))
<br><br>
Что ты блеешь? БД вытягивает в кеш несколько строк единственного заказа, отфильтрованные по ключу ИД, проделывает над ними указанные манипуляции и выплёвывает результат. Там нечему тормозить.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163125</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163125</guid>
<pubDate>Wed, 09 Jan 2013 11:25:21 +0400</pubDate>
<description><![CDATA[<p><i>> И чо не так?</i><br>Наверно, что на каждую итоговую запись в результате делается + 5 запросов. Из той же таблицы к тому же. Нее?)))<br><br> Ой бля, да там вообще &quot;тяжёлый случай&quot;)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163124</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163124</guid>
<pubDate>Wed, 09 Jan 2013 11:17:34 +0400</pubDate>
<description><![CDATA[<p>И чо не так? </p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#163122</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#163122</guid>
<pubDate>Wed, 09 Jan 2013 10:51:02 +0400</pubDate>
<description><![CDATA[<p><fieldset><legend>]</legend><code><br />
<span style="color: #993333; font-weight: bold;">SELECT</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_cost<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_paid<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_type<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_type_old<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; date_created<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_fee<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; handling_fee<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; shipping_fee_paid<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; handling_fee_paid<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; category_id<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delivery_date<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SUM<span style="color: #66cc66;">&#40;</span>shipping_paid<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> shipping_paid_total<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SUM<span style="color: #66cc66;">&#40;</span>shipping_fee<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> shipping_fee_total<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SUM<span style="color: #66cc66;">&#40;</span>handling_fee<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> handling_fee_total<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SUM<span style="color: #66cc66;">&#40;</span>shipping_fee_paid<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> shipping_fee_paid_total<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> SUM<span style="color: #66cc66;">&#40;</span>handling_fee_paid<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> handling_fee_paid_total<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">FROM</span> orders_shipping_history<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">WHERE</span> order_id <span style="color: #66cc66;">=</span> $1 <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> id <span style="color: #993333; font-weight: bold;">ASC</span>;<br />
&nbsp;</code></fieldset></p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#152198</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#152198</guid>
<pubDate>Thu, 30 Aug 2012 15:44:43 +0400</pubDate>
<description><![CDATA[<p>возмутительно, что это не валидация на самом деле. При опечатке в ключевом слове надо выпасть в сегфолт, а не делать что-то для случая, который пользователем указан не был.</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#152195</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#152195</guid>
<pubDate>Thu, 30 Aug 2012 15:42:04 +0400</pubDate>
<description><![CDATA[<p>да ничем разве что это короче <fieldset><legend>php</legend><code><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/in_array"><span style="color: #990000;">in_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$program</span><span style="color: #339933;">,</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;</span>весь этот список<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$program</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;photoshop&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
&nbsp;</code></fieldset> Или я не догнал юмора?)))</p>]]></description>
</item>
<item>
<title>Re:[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#152185</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#152185</guid>
<pubDate>Thu, 30 Aug 2012 15:02:58 +0400</pubDate>
<description><![CDATA[<p>Не вижу особых причин для возмущения. Конечно лучше было бы где-нить в конфиге хеш инициализировать, но так-то чем  плохо?</p>]]></description>
</item>
<item>
<title>[Индусокод]Оригинальный способ валидации ввода.</title>
<link>https://rulinux.net/message.php?newsid=37897&amp;page=1#152184</link>
<guid>https://rulinux.net/message.php?newsid=37897&amp;page=1#152184</guid>
<pubDate>Thu, 30 Aug 2012 14:54:54 +0400</pubDate>
<description><![CDATA[<p><fieldset><legend>]</legend><code><br />
<span style="color: #000088;">$program</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'W'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">//The program to generate instructions for.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//Valid options are: photoshop, illustrator, publisher,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//fireworks, corel, freehand, wordperfect, word,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//OpenOffice, paint_shop_pro</span><br />
<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$program</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//Validate input. Default to photoshop</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;photoshop&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;illustrator&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;publisher&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;fireworks&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;corel&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;freehand&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;wordperfect&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;word&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;OpenOffice&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;paint_shop_pro&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;mailing_list&quot;</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$program</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;photoshop&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp;</code></fieldset></p>]]></description>
</item>
</channel>
</rss>