Category Archives: Programming
Сравнение 12 javascript MVC-фреймворков
The Top 10 Javascript MVC Frameworks Reviewed Лучшим признан Ember.js. Надо поковырять) UPD: поковырял. В принципе, более стройная архитектура, чем у того же backbone, у которого часть логики контроллера во вью. Но из коробки нет router и не так просто с pushState, так что не стал использовать серьёзно. Возможно, через полгода-год этот фреймворк будет интереснее.
Готовый бесплатный видеоплеер на html5
http://videojs.com/
Презентации на javascript
https://github.com/bartaz/impress.js. Вот что получается: http://bartaz.github.com/impress.js/#/bored. Кстати, есть и описание на хабре — http://habrahabr.ru/blogs/css/136505/
Библиотека для доставания хранимых процедур из SQL Server)
Написана на python https://github.com/squadette/sqlup
Popcorn.js — удобный и простой фреймворк для создания видеоплеера на HTML5
http://popcornjs.org/ — позволяет показывать видео и другой контент пользователю без использования flash. Есть большой каталог примеров: http://popcornjs.org/Demo/semantic-video, http://popcornjs.org/Demo/popcorn-remote
Удобная работа с датами в 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
Реализация счётчика на 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
Цель — стараться сделать код как можно более вертикально компактным, но читаемым.
DKIM для подтверждения, что почта отправлена с указанного домена
Для борьбы со спам-фильтрами gmail и яндекса, и чтобы доказать, что не верблюд, можно заморочаться и добавить дополнительный заголовок к письму и дополнительную запись в dns. Называется это всё DomainKeys Identified Mail. Очень понятно написано здесь: http://habrahabr.ru/blogs/spam/106589/, генерация ключей: http://www.port25.com/support/support_dkwz.php