четверг, 23 июля 2009 г.

Кеширование php-кода в промежуточный (байт-) код: APC

документация (англ.)
Всё очень просто.

в php.ini добавить
[APC]
extension=apc.so #(.dll)
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 128
apc.max_file_size = 10m
#apc.stat = 0 для статистики
apc.stat_ctime = 1

*apc.stat_ctime=1 - очень важно при работе через "export" системы контроля версий (SVN).
Вот для чего:
SVN на самом деле создает новые файлы, заменяет старые, и выставляет для них старую дату изменения. Это меняет индексные дескрипторы, а не mtime, и APC будет выполнять некорректный файл.
Включение верификации ctime позволит избежать этой проблемы (будут проверяться индексные дескрипторы на предмет изменения).

apc_cache_info() - в php-файле посмотреть информацию по кешу
как установить APC в Windows (англ.) - проблема в том, что официально больше не поддерживается

неплохая статья на хабре про оптимизацию (2007 год)

понедельник, 13 июля 2009 г.

Подбор цветов

http://colorschemedesigner.com/
http://www.degraeve.com/color-palette/
http://www.hypergurl.com/colormatch.php
http://www.colourlovers.com/
http://www.colorhunter.com/ и
http://www.degraeve.com/color-palette/index.php - выбор цветов из картинки
http://www.colr.org/ - то же самое и плюс ещё все цвета сайта

Построение графиков на сайте

http://www.amcharts.com/ - работа через javascript и flash.
  • всё "крутится" на нашем сервере
  • подробная документация с примерами (англ.)
http://code.google.com/intl/ru/apis/chart - работа через javascript
  • всё "крутится" на сервере Google.
  • подробная документация с примерами (рус.)
  • ограничение в 50 000 запросов в сутки

Помощники в генерации графики для web-разработчика

http://www.tabsgenerator.com/?page=index - генератор табов
http://www.ajaxload.info/ - генератор индикаторов загрузки
http://web2.0stylr.com/stylr.aspx - генератор логотипов
http://iconza.ru/ - генератор иконок

пятница, 10 июля 2009 г.

Инструменты для разработки на javascript

http://www.smashingmagazine.com/2009/02/08/50-extremely-useful-javascript-tools/ (англ.) - "50 полезных инструментов для разработки на javascript"

https://labs.mozilla.com/2009/07/open-web-tools-directory/ (англ.)  - Каталог открытого ПО для веб-разработчиков от Mozilla: Open Web Tools Directory. Этот ресурс уже упоминался, но пусть будет ещё раз. Бывают ошибки в ссылках; к примеру, вместо ссылки на http://www.cjohansen.no/en/ruby/juicer_a_css_and_javascript_packaging_tool на момент написания в списке была ссылка http://www.cjohansen./en/ruby/juicer_a_css_and_javascript_packaging_tool, из которой очень сложно понять, куда копать дальше

Создание WYSIWYG-редактора

http://xpoint.ru/know-how/WYSIWYG/TrueJavaScriptEditor - статья о том, как написать wysiwyg-редактор. Не всё правильно, но для начала очень даже ничего.

http://www.mozilla.org/editor/midas-spec.html - список команд и правила их использования. Некоторые особенности реализации designMode-элементов в firefox.

http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx - execCommand в internetExplorer

http://msdn.microsoft.com/en-us/library/ms537834(VS.85).aspx - некоторый туториал по написанию wysiwyg-редактора под internetExplorer от MicroSoft;)

http://code.google.com/p/jwysiwyg/ - очень простой wysiwyg-редактор, использующий библиотеку jQuery.

Справочники по Javascript

http://javascript.ru/manual - справочник; сайт очень добротный, с подробным объяснением, где что и зачем

https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide (англ.) - подробные справочники от Mozilla

не очень подробные справочники, зато с алфавитным указателем:

http://www.devguru.com/technologies/ecmascript/quickref/javascript_index.html (англ.) - по ecmascript

http://devguru.com/technologies/javascript/index.asp (англ.) - по клиентскому javascript-у

вторник, 7 июля 2009 г.

CouchDB - где почитать

CouchDb - это документоориентированная база данных.
Само хранилище — это набор документов, неструктурированных. Точнее, индексированных только по ключу.
Плюс к документам есть набор view, то есть срезов, отображающих с помощью функций map/reduce множество документов в список {key, value}, отсортированный, естественно, по ключу (map, как водится, создаёт "срезы", reduce - выбирает по ключу).
То есть view это индекс такой по сути (ключ тут, кстати, может быть довольно сложный, не просто цифра или строчка).
При этом и построение этих срезов, и выборка из них легко масштабируются и распределяются по кластеру.

http://en.wikipedia.org/wiki/CouchDB (англ.) - очень коротенько
http://habrahabr.ru/blogs/webdev/25841/ - "тизер"
http://www.cmlenz.net/archives/2007/10/couchdb-joins (англ.) - примеры http://labs.mudynamics.com/2009/04/03/interactive-couchdb/ (англ.) - показывает, какие map/reduce к какой выборке приводят (примеры)
http://wiki.apache.org/couchdb/ (англ.) - официальная wiki для CouchDB