localStorage — использовать или нет?
Почему использовать localStorage вредно: http://hacks.mozilla.org/2012/03/there-is-no-simple-solution-for-local-storage/. Ответ, почему можно его использовать:
Символическая ссылка в Windows
В Windows 7 в командной строке
1 |
mklink /J "D:\Games\steamapps" "C:\Program Files (x86)\Steam\steamapps" |
Кстати так можно играть в игры через steam, если мало места на диске C:\ ;).
Логирование js-ошибок на сервере
Подсмотрел у разработчиков Yandex простое как пень логирование ошибок клиентской части на сервер:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function logError( Message, Url, Line ) { new Image().src = '/monitoring.php?msg=' + encodeUriComponent( Message ) + '&url=' + encodeUriComponent( Url ) + '&line=' + Line; } window.onerror = function ( Message, Url, Line ) { logError( Message, Url, Line ); }; try { // ... } catch ( e ) { logError( e ); } |
Ещё ссылка про логирование ошибок через google analytics — http://blog.gospodarets.com/track_javascript_angularjs_and_jquery_errors_with_google_analytics/ (у меня несколько иная реализация, но идея примерно та же).
БЭМ — система модулей (виджетов) от Яндекс
Интересная реализация клиентских модулей, которая предполагает определённую файловую структуру для шаблонов, css, js и любых других нужных технологий. Естественно, повторное использование. Декларации для автоматической сборки модулей (css, js, шаблонов) написаны на javascript. Есть скрипты для автоматической сборки модулей в страницы. Пример построения сайта от разработчиков — http://video.yandex.ru/users/ya-events/view/302/?ncrnd=6362 Вот ещё видео — тут рассказывается про то, …
Конвертирование проекта из SVN в Git
В fedora linux:
1 2 3 4 5 6 7 8 9 10 11 |
$ sudo yum install git-svn $ cd ~/git-svn-repo $ git svn clone http://[url]/main/trunk/[source] $ git config svn.authorsfile ~/users $ git ~/git-svn-repo ~/git-repo $ cd ~/git-repo $ git remote set-url --push origin [name]@[site]:[repo] // gitorious@git.uncc:mosfm/mos-fm-site.git $ git push origin master |
После этого в ~/git-repo будет «чистый» git-репозиторий. Ссылки: http://www.johnclarkemills.com/2011/01/01/migrate-from-svn-to-git-with-history/ http://gitready.com/beginner/2009/02/04/converting-from-svn.html http://redlinesoftware.com/blog/2008/2/24/converting-subversion-repositories-to-git http://stackoverflow.com/questions/79165/how-to-migrate-svn-with-history-to-a-new-git-repository http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ http://stackoverflow.com/questions/7784951/how-to-begin-committing-via-git-to-bitbucket-not-seeing-changes http://lists.debian.org/debian-devel/2011/07/msg00522.html http://git.or.cz/course/svn.html Чтобы слить несколько свн-репозиториев в один, можно воспользоваться советом про subtree merge — http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories
Конвертирование проекта из SVN в Mercurial
В fedora linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ sudo yum install mercurial $ cd ~/converted $ hg convert $ hg help extensions $ hg help config $ sudo nano /etc/mercurial/hgrc [--пишем--] [extensions] convert = $ hg convert http://[url]/main/trunk/source $ cd ~/hg-repo $ hg init $ hg clone ~/converted |
Баги в библиотеке memcached (getMulti)
Долго боролись с багом при использовании Memcached::getMulti в php 5.3.8. Как это было: Сначала данные складываются в кэш под некоторыми ключами, потом происходит считывание
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$cached = cache->getMulti( $cacheKeys ); foreach ( $actions as &$action ) { $actionCacheKey = self::getCacheKey( $action ); if ( array_key_exists( $actionCacheKey, $cached ) ) { $action = $cached[$actionCacheKey]; } else if ( in_array( $actionCacheKey, array_keys( $cached ) ) ) { die( '!!' ); } else { $action = self::factory( $action ); } } |
Так вот, if ( array_key_exists( $actionCacheKey, $cached ) ) не отрабатывает никогда (равно как isset и ! empty). При этом условие else if ( in_array( $actionCacheKey, array_keys( $cached ) ) …
Отчёты о рассылках на ящики mail.ru
http://postmaster.mail.ru/. Небольшое описание — http://habrahabr.ru/company/mailru/blog/138107/.
Chrome Developer Tools
Решил попробовать сменить браузер разработки с firefox на chrome. Почитал статью про возможности Chrome Developer Tools. Оказывается, там столько интересного есть :)
С чего начать изучение Ruby on Rails
http://net.tutsplus.com/tutorials/ruby/the-best-way-to-learn-ruby-on-rails/ — по шагам рассказывается, как подняться от уровня «никакой» до уровня «могу писать код самостоятельно».