Author Archives: bullgare
Popcorn.js — удобный и простой фреймворк для создания видеоплеера на HTML5
http://popcornjs.org/ — позволяет показывать видео и другой контент пользователю без использования flash. Есть большой каталог примеров: http://popcornjs.org/Demo/semantic-video, http://popcornjs.org/Demo/popcorn-remote
Сравнение отображений сайта в разных браузерах
Adobe BrowserLab. Позволяет загрузить по урлу сайт во многих браузерах, при этом даже накладывать изображения друг на друга. Одна проблема — оччень медленно работает( https://github.com/marstall/shim/ — приложение для node.js, которое позволяет одновременно взаимодействовать с сайтом в разных браузерах, включая мобильные устройства. Использует WiFi для синхронизации отображения между устройствами. Из минусов — это не сервис, а …
Удобная работа с датами в 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 для простого кеша