Скачайте бесплатный Process Explorer от Марка Руссиновича (на сайте майкрософт, так что все ок). Он процессы и в дерево сгруппирует, и разными цветами подсветит, и вы будете удивляться, как вы без этого воообще жили.
Да, это верно. Но, в браузере много всяких деревьев (а это ссылки-ссылки-ссылки), плюс если разработчики любители ООП, то к каждому объекту (std::string — это же тоже объект) добавляются ссылки на VTable, служебные поля, счетчики (int тоже становится 64-битным), плюс яваскриптовые объекты — так что расти есть куда. Плюс, если я не путаю, ассемблерные инструкции в 64-битных процессорах тоже длиннее. Если у вас есть возможность, вы просто можете открыть одну и ту же страницу в 23- и 64-битной системе — соотношение по памяти должно быть около 2 раз.
Да, кстати, что касается яваскрипта, в Хроме в инспекторе есть вкладка, которая делает снапшоты памяти и показывает, на что она уходит (по крайней мере, для яваскрипта).
Тчерт побери! Вот про это особенность SELECT я даже не знал, что можно выбрать значение, не отпуская кнопку (думал, только в меню это работает). Какие интересные вещи можно прочесть в ответах.
Еще кстати, SELECT должен по идее реагировать на событие reset формы.
И да, вдогонку, если вы хотите обезопасить остальных, есть только один способ это сделать — проникнуть в компанию, разрабатывающую мобильные ОС вроде андроид, или виндоуз фоун, и встроить средства защиты от вирусов прямо в ОС. Это единственный работающий способ борьбы. Посмотрите, например, на то, что в этом направлении сделала компания Эппл.
> Так же хочется узнать имел ли чот опыт борьбы с такими вещами
Все, что вы можете сделать, найти аггрегатора, управляющего номером, указанным в конфиге, и написать ему жалобу. Но у школьников-вирусописателей скорее всего сотни таких аккаунтов, они поменяют несколько цифр и дальше в путь. Также, некоторые аггрегаторы сами заинтересованы в проходящем через них денежном потоке, и особо с такими вещаим не борются (кроме особо злостных нарушений).
Теоретически, также, тут есть нарушение российского законодательства, по статьям мошенничество и распространение вредоносного кода, также есть повод для проверки компаний-аггрегаторов прокуратурой. Но я не слышал о прецедентах преследования за такие дела ни вирусописателей, ни компаний-аггрегаторов и сотовых операторов, из чего можно сделать вывод. что сейчас нашим органам на это дело пофиг.
Также, есть т.н. партнерки по «монетизации мобильного трафика». С точки зрения закона, их можно проверять и привлекать к ответственности за организацию и пособничество нарушениям законодательства, но никто этого не делает.
Ваша статья на хабре не нужна. Вы вряд ли напишите что-то сверх того, что и так все уже знают. Лучше налейте себе чаю и съешьте еще одну французскую булочку.
При этом методе не учитывается, например, то, что АЧХ звуковой карты и усилителя может быть нелинейным. Также, наверно, если сопротивление наушников не соответствует выходному сопротивлению усилителя, какие-то частоты будут проседать.
Ну и наконец, вопрос с расстоянием до микрофона очень важен — ведь наушники, будучи надетыми на голову (и образуя замкнутое пространство с ушной раковиной) звучат по-одному, а если слушать с расстояния — совсем по-другому. Как автор это сымитырует?
Также, ExtJS — уродливый огромный монстр, Yahoo — устаревший и громоздкий, и неуключжий, jQuery — набор костылей. Запустите демку любого из этих фреймворков в ИЕ7/ИЕ6 и вы увидите их истинное лицо.
Что касается ограничения ширины, например, я как-то через ab тестировал сервер, а канал был всего 10 Мбит (+ ограничения у моего провайдера), при размере страницы в 40 Кб это всего 30 страниц в секунду, я тоже удивлялся, почему свободное процессорное время есть, а сервер его не использует.
> А запрос формировать так, чтобы всегда использовались все компоненты индекса.
> Т.е. если нужен поиск только по field2 и field3, а поле field1 например foreign key (int, unsigned, null), т.е. не может быть 0, то where должно получиться следующим:
> field1 > 0 AND field2 = 'searchValue2' AND field3 = 'searchValue3'
В данном случае будет использоваться только часть индекса idx1 (которая использует field1), т.е. MySQL будет идти по индексу idx1, начиная с первой записи, где field1 > 0, заканчивая концом таблицы, и для каждой записи проверять условия field2/field3. То есть индекс idx1 (field1) дал бы тот же эффект.
> необходим одновременный поиск по нескольким параметрам
Если у вас 15 полей, лучшее, что вы можете сделать на MySQL — одиночные индексы на каждое поле. И то, подозреваю, 15 индексов резко нагрузят вставку/обновление записей и каждый следующий инlекс только ухудшит ситуацию. Чтобы работал поиск + сортировка по индексу, нужны двойные индексы, и их число уже получается заоблачным.
И вы не указали, сколько у вас записей, как часто будут приходить поисковые запросы — это тоже важно, может в данном случае можно просто тупо таблицу в память запихать (или настроить MySQL, чтобы у нее был большой буфер для кусков таблиц, или прямо использовать таблицу типа MEMORY) и не мучаться с индексами.
Селектел очень хороший, и там адекватная тех. поддержка, но насчет цен, не знаю, понравится ли, в облаке надо за все платить по потреблению, нет никакого безлимита.
Еще можно кстати изучить вопрос с созданием индекса в отдельной таблице, с полями типа user_id, field_name, int_value, string_value, но тут надо проводить тесты, я так не скажу, выгоднее это или нет.