Пишем Facebook приложение

Facebook — популярная социальная сеть где можно написать своё приложение. Не люблю толочь воду в ступе, поэтому сразу к делу. Встраивать можно двумя направлениями: внешнее приложение в Facebook или Facebook-данные во внешнее приложение (aka Facebook Connect). Тут я буду говорить о первом, что в принципе более трудоёмко и интересно. Как правило смысл […]

Спиральное облако тэгов

Тэги стали отличительным свойством web 2.0, но уже несколько лет с его изобретения, они остаются в своём изначальном виде — взвешенным по частоте использования набору слов со случайной или алфавитной сортировкой между собой. Я подумал что неплохо бы их расположить в виде настоящего облака — главные слова по центру, остальные […]

Десять забытых HTML-тэгов

Тэги как кирпичи всякого документа основанного на XML должны выбираться с большим прагматизмом, что-бы потом не удалять ненужные (т.н. deprecated) и не тормозить внесение новых (sound, video). В свете того что я сам этой темой пристально занимаюсь решая что нужно оставить в WYSIWYG-редакторе и что добавить, а так-же меня интересует типографика […]

Введение в SVG и пример — pie chart

SVG (scalable vector graphics) это векторный формат графики подобно EPS, анимации и интерактива с пользователем, разрабатываемый в W3C. Внутри файл не бинарный а обычный XML, описывающий объекты, их эффекты и поведение. Векторная графика в общем нужна при изменении размера изображения без потери качества, например в полиграфии. В web я это вижу в […]

LDAP и активные папки

С Active Directory мне недавно пришлось столкнуться на практике в большой компании. LDAP это протокол по которому можно читать с 389 порта ldap сервера иерархические данные, а также изменять и фильтровать их. Используются эти данные как некий аналог регистра Windows, только для публичных целей. Обычно AD используется в больших корпорациях […]

Организация деревьев — отображение, редактирование и поиск

Иерархические данные нужны всюду. Меню содержания сайта, группирование людей, каталоги продуктов, интранет документы, файловая система и тп. «Породы» деревьев Adjacency list — самый простой способ, с которого начинает практически каждый. У каждого элемента есть параметр parentID. Очень простой способ, но получение всего пути для каждого элемента вызывает лишние запросы пропорционально глубине […]

Общие характеристики Web 2.0

Web2.0 — новый прогрессивный взгляд на web-инфосистему. Охарактеризую некоторые из них. Гибкость системы — постоянно ведётся работа над улучшением проекта, можно видеть в качестве маркетингового хода «beta версия», начавшаяся пожалуй с gmail.com Общественное мнение. На примере WordPress — всякие технические изменения и доработки участвуют в рейтинге и добавляются пользователями. Открытость. […]

Микроформаты

Микроформаты это небольшие дополнения к элементам html от Mozilla, Google и других широкоизвестных компаний. Некоторые указывают браузеруFirefox, некоторые — поисковикам, плагинам типа Operator extension о характере данных, и что их можно использовать в других приложениях.

MySQL триггеры на страже скорости и целостности

Недавно начал использовать триггеры в БД. Полезная штука. Первый случай использования — валидация данных. Позволяет на уровне БД сохранять транзитивную целостность, т.е. более глубокую проверку, чем просто существующий foreign key. Вот простейший пример. Есть три таблички — site, category, article. При добавлении нового ряда в article, мы хотим проверить что categoryID […]

Транзакции InnoDB

InnoDB это транзакционный, реляционный движок работающий на основе MySQL сервера. Начиная с 2001 года он поставляется в стандартной сборке, а с версии 5.1 может устанавливаться в качестве плагина (без необходимости перекомпилировать ядро сервера). Синтаксис очень простой. START TRANSACTION; … COMMIT; — или же ROLLBACK; если что-то пошло в логике не […]