Несмотря на то, что поддержка UTF8 появилась в продукте давно, остаются много проектов, сделанных на старой версии в cp1251. Теоретически сделать конвертацию не сложно, однако могут возникнуть трудности. Сразу оговорюсь, что данный пост не претендует на статус официального документа, это должно быть хорошее подспорье по проблеме.
Довелось впервые выступить на партнёрской конференции. За кулисами обсуждали работу техподдержки и технические проблемы. Лично для себя вынес много ценной информации. Надеюсь, что для партнёров мероприятие было такое же полезное и интересное как для нас, разработчиков. Одной из тем докладов была производительность. И судя по тому, что на второй день конференции не раз возвращались к этому вопросу в кулуарах, понятно, что тема интересная и животрепещущая Хочу теперь зафиксировать квинтэссенцию доклада и этих обсуждений.
Обновление от 16.09.09: улучшил скрипт по совету из комментариев.
Обновление от 07.12.2012: Если ваш сайт сломали, вам сюда.
Всё больше набирают популярность вирусы, написанные для сайтов. Вы заходите на сайт, "Касперский" говорит, что сайт заражён вирусом. В действительности, сам вирус находится на одном из компьютеров, имеющих ftp доступ к сайту. Он незаметно для хозяина крадёт пароли от ftp, подключается и вставляет в скрипты сайта паразитный код. Чаще всего это скрытые ссылки на китайские сайты. Вы обновляете свой антивирус, лечите заражённый компьютер, а сайт остаётся в нерабочем состоянии с большим количеством испорченных файлов. Искать код вручную задача не из приятных. Но можно упростить себе жизнь при помощи несложных скриптов.
В продукте есть функционал резервного копирования, но для создания резервной копии требуется участие администратора. Создание резервных копий по расписанию не предусмотрено. Недоделка? Нет, есть объективные причины, не позволяющие это сделать достаточно эффективно. Создание архива - длительный и ресурсоёмкий процесс, на один хит это делать никак нельзя. Повесить по шагам на агенты? Представьте как посетители будут работать с сайтом если на каждый хит создаётся часть резервного архива: это будут жуткие тормоза. Делать совсем маленькими шагами? Тогда создание архива может затянуться на целый день (дни), а информация на сайте успеет обновиться. Как же быть? Сделать интерфейс, через который можно запускать создание архива через внешний планировщик (cron)? Правильно! Тогда возникает вопрос: зачем? Ведь можно использовать системные инструменты. И здесь хочу показать, как это делать.