Удобная работа с датами в php
Периодически возникают задачи типа вернуть дату «первого числа прошлого месяца», или «прошлого понедельника». Это можно решить как-то так:
1 2 3 4 5 6 7 8 9 |
$dt = self::getCurrentMonthStartDt(); $dt->setTime( 0, 0, 0 ); $dt->setDate( $dt->format( 'Y' ), $dt->format( 'm' ) - 1, 1 ); return $dt; ... $dt = new DateTime(); $dt->modify( '-' . ( $dt->format( 'N' ) - 8 ) . ' days' ); $dt->setTime( 0, 0, 0 ); return $dt; |
А можно гораздо проще:
1 2 3 4 5 6 7 |
$dt = new DateTime( 'first day of last month' ); $dt->setTime( 0, 0, 0 ); return $dt; ... $dt = new DateTime( 'mon this week' ); $dt->setTime( 0, 0, 0 ); return $dt; |
It’s a kinda magic, но работает. http://www.php.net/manual/ru/datetime.formats.relative.php
Полезные ссылки по capistrano
Официальная wiki мне не понравилась, половина ссылок — битые (тут — основные переменные) Подробная презентация, как сделать свой конфиг shared_path Описание переменных (variables) Лучше лишний раз уточнить, в чём разница между current_path и release_path
Реализация счётчика на memcached
http://habrahabr.ru/blogs/webdev/43282/
Вёрстка под мобильные устройства
Хороший доклад — Прокрустовы окна. Как вписаться в устройства с минимальными потерями (ссылка на видео — http://mediadl.microsoft.com/mediadl/www/r/rus/html5camp2011/4005_800_2.wmv, слайды на http://pepelsbey.net/pres/procrustes/). Главное — это понять viewport и dpi. Для примера:
1 2 |
<meta name="viewport" content="width=device-width, target-densitydpi=device-dpi, user-scalable=no, initial-scale=1.0, maximum-scale=1.0" /> |
Советуют удобные сервисы для тестирования мобильных сайтов («firebug для мобильных устройств») — Opera Mini Simulator и Opera Mobile Emulator for desktop.
SQL coding style
Цель — стараться сделать код как можно более вертикально компактным, но читаемым.
Познавательное обсуждение о том, почему всё нужно собирать руками
Тут у человека систематически виснет fpm, попытки это вылечить и самый дельный совет — «собирать нужный софт для production-сервера нужно руками». http://phpclub.ru/talk/threads/%D0%B7%D0%B0%D0%B2%D0%B8%D1%81-fpm.66810/
Проверка dns-записей домена из командной строки
1 |
dig 3dnews.ru ANY |
Выводит все dns-записи, относящиеся к домену. Возились с spf-записями для валидации писем — нужный заголовок выглядит примерно так:
1 |
3dnews.ru. 674 IN TXT "v=spf1 a:3dnews.ru mx ~all" |
Интересный доклад про разработку API
На конференции «.Тостер» попал на доклад Jordi Romero API design and more (слайды). Говорил про создание API, про кеширование, про масштабирование, клиентскую оптимизацию. Понемножку, сжато. Понравилось. Странно только, что у них три уровня хранения данных: mySQL master-slave Redis для сложного кеша, чтобы не нагружать mySQL memcache для простого кеша
Google Music: как скачать свою музыку на компьютер
Иногда хочется скачать залитую музыку обратно на компьютер. Для этого есть несколько способов: http://www.google.com/support/forum/p/Google%20Mobile/thread?tid=46ff4c31351e4627&hl=en Мне больше всего понравился способ с установкой userscript http://userscripts.org/scripts/show/118720.
Обновление Windows 7 home до ultimate
Понадобилось на ноутбуке (не на моём) вместо установленного windows 7 home установить windows 7 home ultimate (понадобился iis). Думал по старинке — нужно поставить диск в виндой и установить поверх текущей. Но оказалось, что в windows 7 есть Windows Anytime Upgrade. Пользоваться им просто: Win+Pause Получить доступ к дополнительным функциям, установив новый выпуск Windows 7 …