Самый хороший способ подгрузки яваскриптов – тегом script
Использовали мы на проекте одну лебедевскую библиотеку — include.js. Умеет она интересные вещи, вроде последовательной загрузки зависимых библиотек в нужном порядке. Нужно в яваскрипте написать js.include( ‘my/coolwiidget’ );. Работает она, если на пальцах, следующим образом: делается ajax-запрос, которым грузится текст нужного скрипта, потом ищутся в тексте все js.include, делается их подгрузка, после чего делается eval …
Фреймворки для создания MVC-подобной архитектуры на javascript
Выбирал между backbone (habrahabr.ru/blogs/javascript/118782/) и knockout (http://habrahabr.ru/blogs/javascript/121926/). Для выбора полезно почитать stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js-vs. В итоге выбрал knockout — менее монструозный и лично мне показался понятнее, к тому же не навязывает REST и не требует дополнительных библиотек. Он реализует паттерн MVVM, который, думаю, больше подходит для клиентской части web-приложения, чем MVC. На сайте есть подробные доки и …
Kyoto Tycoon: интересное noSQL хранилище/кэш
Kyoto Tycoon в общем-то аналог MemcacheDB, но некоторые утверждают, что Kyoto Tycoon лучше. Думаем использовать. Там всё просто (через API Memcached):
1 2 3 4 5 6 |
$kyoto = new Memcached();// для persistent: $kyoto = new Memcached( 'heyhey' ); $kyoto->addServer( '127.0.0.1', '22122' );// kyoto // $kyoto->addServer( '127.0.0.1', '11211' );// memcached $kyoto->set( 'my_key', array( 'key1' => array( 1 ), 'key2' => null ) ); $kyoto->get( 'my_key' ); |
Здесь про более старую версию (связка Tokyo cabinet и tokyo tyrant). http://sameerparwani.com/posts/tokyo-tyrant-with-php, http://sameerparwani.com/posts/installing-tokyo-cabinet-and-tokyo-tyrant
Lazy load баннеров
Сегодня из-за очередных проблем с sol.adbureau.net было решено реализовать ленивую загрузку баннеров. Начальное решение было использовать iframe, но идея была не очень удачной, т. к. могут быть проблемы с подсчётом кликов, да и модные картинки, увеличивающиеся при наведении, будут вести себя странно. А как этот iframe смотрится в разных браузерах — это вообще сказка) В …
График LA в командной строке
Оказывается, в shell есть команда для построения графика изменения la с течением времени — tload Результат — А я всё по старинке пользовался top-ом). http://linux.about.com/library/cmd/blcmdl1_tload.htm
Проблемы рендеринга страниц в Firefox
Имеем флеш-плеер. На некоторых страницах при нажатии на кнопку «плэй» в плеере происходит перезагрузка flash-плеера. После долгих и мучительных разбирательств выяснилось следующее: Flash-player при смене статуса (play/pause) меняет фавикон на сайте следующим кодом:
1 2 |
$("link[rel='shortcut icon']").remove(); $("head").append("<link rel='shortcut icon' href='" + link + "' />"); |
Меняет на всех страницах, а перезагрузка плеера происходит только на некоторых, и только в фф. На этих страницах перед плеером стоял …
Проблема при работе с расширением memcached в php
Работал раньше сайт с memcache. Решили перейти на memcached. И повалились ошибки SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY, причём сначала одна CLIENT ERROR, а уже потом куча SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY. Гугление ничего не дало, а проблема оказалась в следующем: первая ошибка возникала из-за некорректного ключа (пробел …
Kubuntu — решение проблемы с русским
Решил вместо Ubuntu поставить kubuntu, при этом указал в качестве home свой прошлый home от Ubuntu. Дефолтным языком системы выбрал en_US. Не знаю, какой из этих факторов повлиял, но после установки все русские названия файлов превратились непонятно во что (и не только с файлами проблемы были). Нужно было подсказать системе использовать кодировку ru_RU.UTF8. Для этого …
Установка Ubuntu c USB
https://help.ubuntu.com/community/Installation/FromUSBStick