Доставка цветов в Германии
08.02.2008
Несколько дней назад у шефа загорелась идея подарить на день рождения сестре, которая сейчас учится в Германии, букет цветов. После анализа рынка предложений решили сделать заказ именно в Германии и остановились на сайте FLEUDROP (просто фотографии цветов шефу больше понравились). Поскольку с немецким я вообще не знаком, то в процессе оформления заказа пришлось воспользоваться здравым смыслом и переводчиком от Google, который позволяет делать перевод с немецкого на привычный для меня английский язык. Понравилось, что помимо собственно цветов в заказ можно заказать различные дополнительные аксессуары. К букету заказали плюшевого медвежонка, коробку конфет и указали необходимую дату доставки. Оплату произвели виртуальной картой Народного банка (у шефа была такая). Через некоторое время по электронной почте пришло подтверждение, что заказ принят. Сегодня с поистине немецкой пунктуальностью заказ был доставлен. Интересно, если организовать подобный сервис по Казахстану, будет ли на него вообще какой-нибудь спрос?
Переход на PHP 5
07.02.2008
Группа разработчиков языка PHP организовала проект GoPHP5.org, назначением которого является агитация программистов, администраторов и разработчиков приложений к переходу на пятую версию. С пятого февраля ряд проектов и хостеров, полный список которых имеется на сайте, обязуется перейти на PHP 5, и в минимальных требованиях указывать версию PHP 5.2. Дата была выбрана исходя из цифр версии PHP, которые можно трактовать как дату 05/02.
Sun Microsystems приобретает компанию MySQL
04.02.2008
Совершенно случайно натолкнулся на интересную новость:
“16 января 2008 г. - Санта-Клара, Калифорния — Сегодня корпорация Sun Microsystems объявила о заключении окончательного соглашения о приобретении компании MySQL AB - легендарного создателя систем с открытым исходным кодом и разработчика одной из самых быстрорастущих баз данных с открытым исходным кодом в мире - за общую сумму приблизительно 1 миллиард долларов.”
Думаю, что приобретение никак не отразится на этом хорошо зарекомендовавшем себя продукте, и разработка будет продолжаться. Но, интересует другой вопрос: какая выгода Sun от продукта с открытым исходным кодом, или это такой вид благотворительности?
“Медленные запросы” в MySQL
29.01.2008
Недавно (недели две назад) ко мне обратились с просьбой решить проблему с “медленными запросами” на форуме phpBB второй версии. Хостер (1Gb.ru) предоставил проблемные запросы, и я, особо не задумываясь, просто закомментировал их вызовы, тем более что уже была готовая наработка (mod).
На этих выходных опять пришло предупреждение от хостера, в этот раз я решил подойти к делу более основательно. Внимательно просмотрел запрос, обратил внимание на наличие индексов по запрашиваемым полям, некоторое сомнение вызывало наличие в запросе IN с большим списком ID, но, прочитав документацию по MySQL, убедился, что такие запросы при наличии индекса без проблем оптимизуются сервером. Спросил тех. поддержку хостера, с чем может быть это связано, получил потрясающий ответ, что IN вообще не подлежит оптимизации. Я подобные вещи ещё вручную делал на Клиппере с dbf базами.
При помощи команды EXPLAIN посмотрел потребляемые запросом ресурсы - действительно, по какой-то причине сервер просматривал большое количество строк, и использовались tmp (временные таблицы) для filesort. Начал гуглить, из-за чего такое возможно, и в одном месте наткнулся, что кому-то помогла SQL команда ANALYZE TABLE. Попробовал проделать данную операцию со всеми таблицами, участвующими в запросе, и действительно, проблемный запрос стал оптимизироваться, как ему и положено.
Отписал хостеру. Думаю, что они сделали оптимизацию индексов на SQL сервере, поскольку у другого обратившегося с подобной проблемой человека я её уже просто не обнаружил.
Портфолио - как показатель доверия
12.01.2008
В последнее время понемногу принимаю заказы на различные технические работы, в основном по форуму phpBB. Поскольку мошенничество имеет место быть как и в обычной жизни, так и в Интернете, потенциальный заказчик всегда интересуется вопросом, можно ли мне доверять. Интересно, если сделать портфолио, исчезнут ли подобные вопросы? С другой стороны, не представляю, какую информацию там размещать? Я же не дизайнер, качество работ которого можно оценить визуально. А информация типа “сайт такой-то, исправлена ошибка с загрузкой вложений в сообщениях на форуме” большинству людей будет малопонятна, да и проверить не всегда получится. Пока нахожусь в раздумьях, может в комменты кто-нибудь дельное напишет.
Документацию читать нужно
08.01.2008
Сегодня пытался сделать в WordPress такую простую вещь - исключить из показа на главной странице посты с определённой рубрикой. Сначала по привычке пошёл в лоб, следуя принципу “исходный код - лучшая документация”, просидел около часа разбираясь с вызовами функций и объектами, в итоге бросил (отложил до лучших времён). Вечером сел читать кодекс WordPress, и вуаля, буквально через несколько страничек, идёт пример моего случая, и ссылка на более правильную реализацию. В итоге понадобилось добавить в файл темы всего три строчки кода. Обожаю WordPress.
if (is_home()) {
query_posts($query_string . "&cat=-3");
}
Каждый год, 3 января, меняем ставку НДС
05.01.2008
Стало уже традиционным подарком от налоговой и государства, ежегодное понижение ставки налога на добавленную стоимость (НДС). Не стал исключением и этот год. Поэтому, выйдя на работу 3 января, пришлось заниматься внесением изменений в конфигурации любимой всеми бухгалтерами 1C. Используемая нами конфигурация уже достаточно древняя (более 7 лет), и ставки НДС были зашиты прямо в конфигурацию и в поля некоторых документов. Кардинально переделывать конфигурацию желания никогда не было, поэтому ограничивались косметическими изменениями, в итоге на смену ставки НДС у меня обычно уходило не более трёх часов. Поскольку напрочь отсутствует привычка записывать свои действия, то пришлось заново вспоминать все производимые год назад манипуляции. Всё удалось нормально, но вчера выяснилось, что я всё-таки забыл про один важный документ. Теперь, как путёвый, нарисовал конспект с последовательностью действий, только подозреваю, что в свете нового бухгалтерского плана счётов он вряд ли понадобится.
Боты таки пришли
29.12.2007
Недавно подумал: как хорошо, что боты в комментах не спамят, и антиспам никакой ставить не надо. Дождался называется - третий день уже всякую дрянь в комменты пишут. Поубивал бы писателей этих ботов. Надо собраться, выбрать пять минут времени и поставить reCAPTCHA, дабы раз и навсегда отвадить этих животных.
UPD: уже поставил, настроил, нашёл небольшую ошибку и исправил.
reCAPTCHA - боты не пройдут!
21.12.2007
В последние дни искал для форума phpBB3 модификации, позволяющие сделать защиту от автоматической регистрации ботов. В phpBB уже имеется встроенная защита посредством визуального подтверждения кода, нарисованного искажёнными буквами. Но в прошлой версии эта защита не всегда работала, боты обычно ломали её на “раз”. В новой версии phpBB картинки более сложные, но, поскольку phpBB очень широко распространён, то надежды на встроенный CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) мало.
В итоге натолкнулся на достаточно интересный сервис reCAPTCHA, использующий отвечающих на CAPTCHA пользователей в роли рабочей силы для оцифровки книг. В этом проекте пользователю выдаётся обычный CAPTCHA-запрос и неразобранное OCR слово. Если пользователь правильно ответил на CAPTCHA-запрос, предполагается, что он ввёл правильное слово. Для большей надёжности одно и то же слово предлагается нескольким пользователям.
На сайте есть API для популярных языков программирования, и плагины для для таких приложений, как WordPress и phpBB. Плагин phpBB пока только для второй версии, но, думаю, проблем с адаптацией к новой версии не возникнет.
Конвертация phpBB2 -> phpBB3
19.12.2007
В прошедшие выходные (а они оказались весьма длинными, целых четыре дня) тестировал новую версию phpBB3, в том числе возможность перехода с предыдущей версии, т.к. версия phpBB 2.0 не обновлялась уже больше года. Поскольку база форума достаточно большая, то конвертация получилась достаточно ресурсоёмкой и не укладывалась в ограничения хостинга (64Мб памяти и не более 30 секунд на выполнение). Рекомендации на сайте хостера Мастерхост предлагали перевести php в режим CGI и использовать собственный php.ini, но, к сожалению, в моём случае это не помогло. Другим вариантом, и, похоже, самым правильным, является копирование БД и файлов на локальную машину и конвертация уже на месте. Но, как обычно, я решил пойти собственным путём, который заключается в использовании php-cli (версия php, для запуска скриптов из командной строки), для чего пришлось внести изменения в скрипт конвертации, обеспечивающие возможность указания необходимых параметров в командной строке. Далее запускаем скрипт, вывод перенаправляем в файл, который уже потом открываем браузером. Анализируем полученный файл, если необходимо - составляем новые параметры для скрипта, и запускаем заново.