Решение: как сделать первую букву заглавной в UTF-8

В PHP есть функция ucfirst() для капитализации первого слова строки (делает первую букву заглавной). Но она не работает с многобайтными строками (например, в кодировке UTF-8). Есть функции работы с многобайтными строками, названия которых начинаются с mb_ (multi byte). Но среди них нет функции mb_ucfirst(), которую мы сейчас напишем.

Читать далее

Рубрика: Web-мастеринг | Метки: | 8 комментариев

Преимущества книг

Недавно я остался без домашнего интернета на несколько дней... Не надо делать поспешных выводов, что книги имеют преимущество только в отсутствии интернета. :) Просто, во время вынужденного оффлайна я обратился к книгам и обнаружил, что они всё ещё имеют неоспоримое право на жизнь.

Читать далее

Рубрика: Размышлизмы | 18 комментариев

Выполнение заданий по расписанию в MySQL

Если вы записываете в БД какую-либо статистическую информацию (логи посещений или каких-то действий), то растущую таблицу нужно время от времени чистить. Утратившие актуальность записи занимают место на диске и замедляют работу БД (если, скажем, записей уже миллионы). Есть и другие задачи, для которых требуется выполнение MySQL-запросов по расписанию. Например, какие-то «тяжёлые» запросы, как подбор релевантных постов по очень интеллектуальному алгоритму. Такие запросы лучше выполнять отдельно от генерации страниц сайта, а при генерации выдавать кэшированные результаты. Возникает идея написать для этих целей php-скрипт, который прописать в crontab. Но эту задачу можно решить и не отходя от MySQL-сервера. Сейчас вы убедитесь, что это просто.

Читать далее

Рубрика: Web-мастеринг | Метки: | 3 комментария

Что трудно делать во сне

Как минимум 10 лет своей жизни я проспал... Не спешите меня судить, лучше подумайте сами, сколько проспали вы (обычно у человека треть времени суток уходит на сон). Обидно? Досадно? И ладно... Если что-то не изменить, надо это исследовать. Так что, я продолжаю исследовать сны (вот все мои статьи о снах). Сейчас расскажу о том, с какими действиями я испытываю во сне трудности.

Читать далее

Рубрика: Размышлизмы | Метки: , | 8 комментариев

ISPmanager 5 Lite: домен по умолчанию

Пост о том, как настроить домен по умолчанию (сайт, открывающийся при запросе, например, IP-адреса сервера) в ISPmanager 5 Lite без ковыряния конфигов Apache. Но сначала скажу, зачем это надо. Если HTTP-запрос на сервер приходит по IP-адресу или по какому-то незарегистрированному в системе домену, открывается главная страница первого сайта из списка WWW-доменов. Естественно, сайт на CMS, и его главная страница стремится отобразить максимум контента, имеющегося на сайте. Наверняка, создаёт несколько десятков, а то и добрую сотню запросов к БД — и вся эта радость для безразличных ботов (кто ещё ходит по IP-адресам?) Как результат — пустой расход ресурсов и приглашение по-DDoS-ить ваш сервер.

Читать далее

Рубрика: Web-мастеринг | Метки: | 3 комментария