Десять забытых 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; если что-то пошло в логике не […]

Морфологический поиск

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

Полнотекстовый межтабличный поиск для InnoDB

Предлагаю решить интересную SQL-задачу. Думаю у среднего девелопера она займёт пол часа или больше (я же сразу спросил у SQL-гуру). Возникла интересная задача при переходе с MyIsam на InnoDB. Как известно, полнотекстовый поиск у последнего движка отсутсвует, поэтому было два решения — делать обычное зеркало на MyIsam где был бы […]