Category Archives: Optimization
Игры воображения с новыми API для JavaScript
Хороший доклад Гайдара Магданурова про новые возможности бразуеров (Application Cache, Web Workers, Web Sockets, File API, History API, Indexed DB). Ничего революционно нового он не поведал, просто вкратце перечислил и показал примеры. Мне понравилось. Видео — http://vimeo.com/34086427. Слайды — http://www.slideshare.net/gaidar/api-javascript. Дополнительные ссылки: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
Дизассемблирование и минификация javascript
http://pimpmyjs.com/ — Uglify or Beautify your JavaScript, it’s your choice… (minify js online) На jquery.min.js выдал ошибку, но в общем работает, и причём быстро.
Реализация счётчика на 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.
Интересный доклад про разработку API
На конференции «.Тостер» попал на доклад Jordi Romero API design and more (слайды). Говорил про создание API, про кеширование, про масштабирование, клиентскую оптимизацию. Понемножку, сжато. Понравилось. Странно только, что у них три уровня хранения данных: mySQL master-slave Redis для сложного кеша, чтобы не нагружать mySQL memcache для простого кеша
Самый хороший способ подгрузки яваскриптов – тегом script
Использовали мы на проекте одну лебедевскую библиотеку — include.js. Умеет она интересные вещи, вроде последовательной загрузки зависимых библиотек в нужном порядке. Нужно в яваскрипте написать js.include( ‘my/coolwiidget’ );. Работает она, если на пальцах, следующим образом: делается ajax-запрос, которым грузится текст нужного скрипта, потом ищутся в тексте все js.include, делается их подгрузка, после чего делается eval …
Lazy load баннеров
Сегодня из-за очередных проблем с sol.adbureau.net было решено реализовать ленивую загрузку баннеров. Начальное решение было использовать iframe, но идея была не очень удачной, т. к. могут быть проблемы с подсчётом кликов, да и модные картинки, увеличивающиеся при наведении, будут вести себя странно. А как этот iframe смотрится в разных браузерах — это вообще сказка) В …
Использование VIEW в mySQL 5.0. Проблемы с производительностью.
Для тех, кто не знает, что это такое — ссылка Вкратце: созздаёт, фактически, «временную таблицу» (более правильно сказать — виртуальную таблицу или результат выборки в виде таблицы), в которой могут храниться данные из других таблиц и результаты применения аггрегирующих функций к ним. При этом если хранятся только данные, то эта таблица обновляется при обновлении входящих …
MySQL Profiler: простой и удобный инструмент профилирования запросов
оригинал; полная цитата: Сегодня был неожиданно удивлен, какие удобные штуки таит в себе MySQL. Хочу представить вашему вниманию фичу MySQL — профайлинг. Появилась она начиная с версии 5.0.37. Всего парой запросов можно узнать, какими запросами формируется страница (для веб-девелоперов) и почему она тормозит. И раньше подобный функционал был доступен, но пользоваться журналом запросов не в …
Профилирование php-проекта: Xdebug
Установка Скачать После помещения библиотеки в папку с расширениями в php.ini надо написать
1 |
zend_extension = <путь-к-php>\ext\php_xdebug.dll |
Далее ставим плагин для firefox — Xdebug Helper, настройка всего инструментария — в базе знаний Google Работа с Xdebug под Eclipse ещё про установку и настройку xdebug, Профилирование с Xdebug на habrahabr. Самое основное — параметр в php.ini
1 |
xdebug.profiler_enable_trigger=On |
В итоге …