Статья для новичков. В MySQL есть встроенное средство для отслеживания медленных запросов.

В конфиге нужно просписать

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

(далее...)

Хорошая статья про собеседование с программистами.

LiveStreet LiveStreet — открытый блоговый движок по функционалу напоминающий Хабр. Особенно рекомендую новичкам для изучения внутренностей в плане правильной архитектуры. Все слышали про MVC, видели красивые схемы в книжках, но для практики нужно посмотреть LiveStreet. И ни в коем случае нельзя изучать архитектуру движков по WordPress — там полнейший ад из сотен инклудов, функций и PHP, перемешанного с HTML и SQL-запросами.

В Nginx есть простая конструкция для кэширования статических файлов на клиенте. Тем самым страницы загружаются быстрее, а сервер не нагружается повторными запросами. Картинки, стили практически не меняются, поэтому ставим 10 лет и не паримся. Даже если файл стилей изменился, то надежней всего добавить какой-нибудь мусор в GET-параметры (например, /style.css?version=23)

server {
     ...

     location ~* ^.+\.(jpg|jpeg|gif|sfw|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
	 root /.../www/ekimoff.ru;
	 access_log   off;
	 expires  10y;
	 add_header  Last-Modified: $date_gmt;
	 error_page 404 = @fallback;
     }

     ...
}

Результат в FireBug

внешний hdd

Вот прикупил внешний HDD Transcend TS500GSJ25M3 500Gb 2.5' USB 3.0 специально для бэкапов. На ноуте всего 80 Гб, да и жалко будет просрать все бэкапы при потере ноута, а вот хард лежит всегда дома. Единстенный минус - на ноуте всего 2 USB, а передача данных и питание HDD идет по двум USB, поэтому приходится отключать мышку и пользоваться тачпадом.

Статья для новичков. Memcached – это такая штука для кэширования данных в оперативной памяти сервера. (далее...)

Оказывается номер пластиковой карты вовсе не случаен. Для нумерации используется алгоритм Луна (Luhn algorithm). Нужен он для проверки правильности номера. (далее...)

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

Около года пользовались онлайн-версией, а потом решили купить коробочную версию. (далее...)

Недавно Вконтакте запустил список популярных групп. Что-то подобное было и раньше, но тогда была сортировка по кол-ву пользователей. Соответственно группа легко накручивалась ботами. Помните наверно группы по продаже часов, в которых было по 500 000 — 1 000 000 пользователей.

Сейчас ранжирование учитывает много факторов. Сердечки, кол-во тем, комментариев, фотоальбомы и многое другое. Алгоритм держится в секрете во избежание накрутки (привет, Яндекс!).
Сейчас топ выглядит так:

группы вконтакте накрутка
(далее...)

Статья для новичков. В MySQL есть встроенное кэширование запросов. Подробнее можно почитать на Хабре. Тут я скажу о главном плюсе и главном минусе такого кэширования и приведу пример своего сервака. (далее...)

Добавлял пару сайтов (СДЛ 2-4 года в сети) в Яндекс.Каталог. Заявки отправлял бесплатно. Первый раз отправлял заявку в том году — отказали. Второй раз в этом году — добавили спустя 5 месяцев! Причем никаких уведомлений об успешности или отказе не приходит — сидишь ждешь как дурак. Я уже забыл про эти заявки, но вот смотрю пошли переходы... Любое госведомство позавидует такой нерасторопности.

Отправлял несколько сайтов, но добавили только 2. Хотя остальные были не менее СДЛьные.
P.S. СДЛ — Сайт Для Людей.1