Хм. Действительно, как это я не подумал об этом. У меня Avira Antivir во время разработки ни разу не ругалась. Судя по результату VirusTotal другие антивирусы поступают так же.
Вот очень старая (2002 год), но на мой взгляд хорошая статья об автоматическом определении кодировки: ivr.webzone.ru/articles/defcod_2/index.htm
А вот тут реализация на PHP функции перекодировки текста из любой кодировки в windows-1251 на PHP: popoff.donetsk.ua/text/work/libs/a/charset/
Код правда не очень красивый, и конечно же полезнее была бы перекодировка в UTF-8, но это самый стабильный вариант что удалось найти на PHP. И всегда всё можно исправить :)
В 2001 году я ставил XP на свою машину с 64 мб. оперативки и PIII-550мГц процессором — отлично работала на сколько мне тогда казалось. В 2002 количество памяти выросло до 192 мегабайт, и в таком состоянии я без проблем вплоть до покупки нового ноутбука в 2006 запускал несколько тяжёлых по тем меркам программ (Photoshop 7, C++ Builder 6/VS2005, Firefox) одновременно, но не видел описанных вами тормозов. Потом ещё отец на этой же конфигурации до 2009 года работал за этим старичком как за офисным компьютером (OpenOffice, Firefox, немного Photoshop) — не жаловался. По несколько минут ждать переключения задач не приходилось, компьютер справлялся с этим за пару секунд.
У меня даже скриншот 2003 года остался.
Время компиляции чата — 2,8 секунд :)
В JVM очень интересный способ определения домашнего каталога пользователя под Windows. У меня рабочий стол находится в каталоге D:\Desktop\. Когда ставил Net Beans и Eclipse очень удивился, что они свои пользовательские файлы создали в корне диска D. Оказалось, что они берут путь к рабочему столу и поднимаются на один уровень вверх. Красота :) Пришлось перемещать рабочий стол обратно в Documents and Settings, а оттуда уже симлинк на старый каталог.
Это ощутимый прирост производительности. Хотя на мой взгляд если бы Smarty каждое обращение переменной компилировал в нечто более простое, нежели $_smarty_tpl->tpl_vars['child']->value, то с производительностью было ещё лучше.
В этой части предложения я имел в виду именно вирусы, которые просто никогда не попадали в паблик.
А ложные определения у её обычно на кейгены и другую мелочь. Хотя, я пока испытывал разные возможности в модификации бинарника Age of Empires II, в некоторых ситуациях добивался того, что Avira кричала на двухмегабайтный файл — «Огого! Я нашла большой вирус!». Оказалось, ей не понравились атрибуты у секций с исполняемым кодом :)
Но опять таки, помимо ложных срабатываний, которые хоть и бывают, но не так часто, чтобы это мешало, она неплохо определяла всю нечисть, с которой я сталкивался.
И да, антивирус — это маленькая подстраховка. Принёс друг тебе флэшку. А там зоопарк. Немного надёжнее, когда тебе об этом сообщит антивирус, а не сам уже потом заметишь, что «ой, случайно не туда нажал».
А вообще ещё конечно же и свою голову надо на плечах иметь, и не не полагаться полностью на антивирус.
Я уже 6 лет пользуюсь бесплатной версией Avira Antivir. Сразу потому, что он на моём старом компьютере работал совершенно незаметно, практически не влияя на производительность. Я сразу думал, что он вообще не работает. Но как оказалось, мало того что он именно незаметно работает, так там ещё очень мощная эвристика, которая хоть и часто подозревает в чём-то плохом и нормальные программы, с большой вероятностью определяет даже те вирусы, которых нет в базе. Наверное все мои детские шалости начала 2000-х, которые никогда не выходили за пределы моего компьютера, она опознала как вредоносное ПО исключительно эвристикой. Я специально сравнивал с Касперским — он ничего не возразил на этапе сканирования, а догадываться что что-то не так начинала уже проактивная защита этого антивируса после запуска.
Похоже, вы невнимательно читали статью. Там написано, что функция GlobalMemoryStatus, которая используется для получения количества свободной оперативной памяти, никогда не возвращает значение больше 2³¹. То есть будь у вас свободно хоть 10 гигабайт, функция сообщит, что свободно всего 2 гигабайта. Проблема возникает лишь после того, как программа к возвращаемому числу свободной памяти добавляет размер текущего буфера, из-за чего и возникает ошибка.
Ага, привет из 90-х и начала 2000-х. Раньше на домашних страничках было модно делать такую «защиту». Давно такого не видел. Можно немножко поностальгировать :)
ivr.webzone.ru/articles/defcod_2/index.htm
А вот тут реализация на PHP функции перекодировки текста из любой кодировки в windows-1251 на PHP:
popoff.donetsk.ua/text/work/libs/a/charset/
Код правда не очень красивый, и конечно же полезнее была бы перекодировка в UTF-8, но это самый стабильный вариант что удалось найти на PHP. И всегда всё можно исправить :)
У меня даже скриншот 2003 года остался.
Время компиляции чата — 2,8 секунд :)
Результаты для Smarty 2 с include:
Результаты для Smarty 3 с функцией:
Это ощутимый прирост производительности. Хотя на мой взгляд если бы Smarty каждое обращение переменной компилировал в нечто более простое, нежели $_smarty_tpl->tpl_vars['child']->value, то с производительностью было ещё лучше.
Надеюсь, что в свете активного развития Symfony 2 и Zend Framework 2 скоро должны начать шевелиться все хостеры по этому поводу.
А ложные определения у её обычно на кейгены и другую мелочь. Хотя, я пока испытывал разные возможности в модификации бинарника Age of Empires II, в некоторых ситуациях добивался того, что Avira кричала на двухмегабайтный файл — «Огого! Я нашла большой вирус!». Оказалось, ей не понравились атрибуты у секций с исполняемым кодом :)
Но опять таки, помимо ложных срабатываний, которые хоть и бывают, но не так часто, чтобы это мешало, она неплохо определяла всю нечисть, с которой я сталкивался.
А вообще ещё конечно же и свою голову надо на плечах иметь, и не не полагаться полностью на антивирус.