Archive for the ‘Web программирование’ Category
SQL_CALC_FOUND_ROWS – а я то думал Life Hack
Иногда такое бывает. Вот узнаешь о каком-то лайф хаке, а оказывается что это нифига не лайф ках, а всем известная штука и ты один баран о нем не знал. Первый раз я попал в такую ситуацию когда залечивал очередную спортивную болячку. На физио нужно было открыть тюбик с мазью. Тюбик бы металлический, с железной мембранной под крышечкой. Всю жизнь я ее снимал всем что попадалось под руку. Тут мне под руку попались ключи…медсестра посмотрела на меня как на идиота, взяла тюбик, и специальным выступом на обратной стороне крышечки продырявила мембрану. Это было больше года назад.
И вот это чувство вернулось. Встретил в чужом примере нечто похожее вот на это:
SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 10,20;
полез разбираться, что же за зверь «SQL_CALC_FOUND_ROWS» и выяснилось что это опция позволяющая получать реальное количество строк в FOUND_ROWS(), а не то что осталось от них после LIMIT. А я, как баран, использовал два запроса, вместо такой простой конструкции. Эххх, пора уже отвыкать от MySql 3.23 :)
Проверка обновления страницы на Perl
Иногда нужно последить за обновление определенных страниц сайтов. Раньше даже были специальные программы – «Whats new агенты». Погуглил, в топе выдачи ничего не нашел. Вероятно, из-за засилия динамически генерируемых сайтов, эти программы если не вымерли, а ушли на второй план.
Ну нет, так нет, в конце концов Perl не просто так изобрели. Обожаю Perl:
#!/usr/bin/perl my @url = ( "http://mikhail.krivyy.com/", "http://www.novgorod.ru/", ); system("mv data.md5 data.old"); open(FILE,">data.md5"); foreach (@url) {print FILE $_."\t".(`fetch -q -o - $_ | md5 -q`);} close(FILE); print `diff data.md5 data.old`;
Все это в crontab и все :)
Очередные баги WordPress
- Версия: 2.5.1;
- Ошибка: не работает восстановление пароля.
- Причина: Явная несогласованность разработчиков. Один генерирует пароль из следующих символов – «abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()» . Другой проверяет чтобы пароль содержал только символы латинского алфавита и цифры.
Исправление: Read the rest of this entry »
Особенности при работе с памятью в PHP
Если Вам нужно обрабатывать большие объемы данных, то не стоит использовать для этого PHP. Вот почему:
<?php print memory_get_usage()."\n"; // 55048 $a="z"; print memory_get_usage()."\n"; // 55184 unset($a); print memory_get_usage()."\n"; // 55200 ?>
Тестировалось в 5.2.2 под Windows и в 5.2.5 под FreeBSD
Paul Jones написал в своем блоге на похожу тему.
Использование syslog для логирования работы программ/скриптов
Очередной раз заглянув в почту и обнаружив очередную пачку писем от серверов решил положить этому конец. Упрощало задачу то что, большую часть писем генерируют мои собственные программы и скрипты, которые установлены на различных серверах.
Большая часть этих сообщений не являются критичными. Например, «Невозможно соединится с сервером», «Обработано файлов столько-то», «Затрачено времени столько-то» и т.п. Я рассмотрел два основных варианта этой проблемы:
Немного о поисковой оптимизации
Я не буду рассказывать про правильную расстановку ссылок, специальную обработку текста и другие серые методы оптимизации. Про это и так много написано, да и не сторонник я этих методов. Я расскажу немного о другом – как ускорить процесс индексации сайта поисковыми системами.
Это тема меня тронула во время настройки поисковой системы CNSearch, которую я использую для поиска по новгородскому региону. Оказывается, большую часть сайтов нельзя проиндексировать полностью – они содержат бесконечное количество страниц.
Плавный переход от HTML к XHTML
Я уже не первый год пытаюсь перейти с HTML на XHTML. Привычки дают о себе знать и переход дается не так просто.
Ниже я привожу 9 простых правил, соблюдая которые вы можете из valid HTML получить valid XHTML. Я не буду рассматривать все нюансы и подробности – просто 9 простых правил.
Для проверки правильности кода я использую FireFox с плагином «Tidy Validator». Быстро и удобно
Один миф о пяти мифах о веб-программировании :)
Читать желательно вместе с комментариями:
Несовместимости версий MySql
А работаю с MySql с версии 3.22, если мне не изменяет память. А сейчас на дворе уже 5.1.14-beta. Работаю не много но регулярно.
Для себя я разделяю MySql на следующие версии:
< 3.22 - лучше не трогать, я их не помню.
3.X - хорошая, быстрая, без запар с кодировками.
4.0.X - быстрая, запары с кодировками уже начались.
4.1.X - на сегодняшний день это моя версия. Запары с кодировками присутствуют. Стала поувесистей.
5.0.X - это уже не тот MySql с которым я хорошо знаком. Тут есть и транзакции и триггеры и прочие атрибуты нормальных реляционных СУБД. Эдакий недооракл.
5.1.X - пока лучше не трогать. Я даже не смотрел.
Работа с изображениями в PHP
Больше года у меня ушло на написание 14 простых уроков. Эти уроки помогут вам разобраться с тем, как средствами PHP и библиотеки GD создавать разного рода изображения – счетчики, диаграммы, графики.
- Урок 1 – Создание изображения
- Урок 2 – Рисование точки
- Урок 3 – Рисование линии
- Урок 4 – Рисование прямоугольника
- Урок 5 – Рисование эллипса и круга
- Урок 6 – Работа с полигонами
- Урок 7 – Заливка замкнутой области
- Урок 8 – Заливка сложной области
- Урок 9 – Построение круговой диаграммы
- Урок 10 – Построение гистограммы
- Урок 11 – Построение графика
- Урок 12 – Изменение размеров изображения
- Урок 13 – Сглаживание изображения
- Урок 14 – Как узнать версию библиотеки GD


