Как стать автором
Обновить
44
Карма
0
Рейтинг
Сергей Кокшаров @devaka

Пользователь

  • Подписчики 61
  • Подписки 62

Решение проблемы сортировки деревьев с помощью бинарного Materialized Path

Алгоритмы
Столкнулся с проблемой реализации древовидных комментариев на одном проекте, в этой заметке выкладываю своё решение.

Описание задачи


  • Хранение иерархических данных (древовидных комментариев) в реляционной БД MySQL
  • Простое добавление узлов/ветвей
  • Выборка всего дерева одним запросом, с отсортированными в нужном порядке ветвями

В принципе, задача классическая, и сначала я её решил с помощью объединения Adjacency List и Materialized Path. Другими словами, в таблице добавлены колонки

id INT(11)
parentid INT(11)
mpath VARCHAR(255)

В mpath хранился полный путь ветки в дереве, например /1/3/4/5/8/9, где через знак "/" перечислялись ID комментария.

При таком подходе очень легко добавлять новые комментарии практически любого уровня вложенности. Выборка при этом производилась запросом:

SELECT *
FROM messages
WHERE postid=$postid
ORDER BY mpath ASC

Проблема возникла при росте числа комментариев.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Просмотры12K
Комментарии 20

Жизнь разработчика (в картинках)

Разработка веб-сайтов
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Всего голосов 884: ↑700 и ↓184+516
Просмотры60K
Комментарии 132

Будущее CSS разметки

CSS
Питер Гасстон, автор книги по CSS3, опубликовал статью под названием The future of CSS layouts, перевод которой специально для читателей хабра представлен ниже.

Несмотря на все поразительные возможности CSS, их недостаточно для реализации фундаментальных принципов разметки страницы. Однако, дополнительные возможности для создания более динамических страниц уже начинают появляться.

После нескольких лет обещаний, CSS3 наконец-то преуспел в стилях. Он добавил в наш арсенал целый набор новых инструментов, обеспечив нас закруглёнными углами, градиентами, прозрачностью, преобразованиями элементов, анимацией и многим другим. Что же ещё сможет порадовать наш глаз?

Следующая проблема CSS это разметка. До текущего момента мы делали её, используя плавающие блоки, относительные позиции и трюки с отрицательными отступами, и всё это было сложно реализовать, чтобы результат был похож на стандартную двух- или трехколоночную разметку.

Консорциум W3C и создатели браузеров в курсе этих проблем и работают над рядом решений. Лидером среди них является (как не удивительно) Internet Explorer. Похоже, что IE10 будет предвестником новой эры CSS разметки, которая позволит создавать отличные, динамические и привлекательные сайты, используя недосягаемые ранее возможности.

В данной статье автор рассматривает различные методы разметки, которые хотелось бы использовать на отдельных стадиях разработки, от уже внедренных до чисто теоретических. Возможно, не все из них нам удастся использовать в дальнейшем (по крайней мере не в текущей форме), но стоит взглянуть на эти методы, чтобы понять будущее CSS разметки.
Читать дальше →
Всего голосов 97: ↑93 и ↓4+89
Просмотры13K
Комментарии 76

12 советов по оптимизации тега TITLE

Чулан
Тег title является самой важной частью страницы любого сайта, поэтому стоит уделить большое внимание тому, как вы его составляете. Создание заголовков подобно искусству и не каждый может составить его нужным образом с первого раза, для этого требуется знать некоторые тонкости. Применяя для своих сайтов приведенные 12 советов по использованию и оптимизации тега title, вы избежите множества проблем в будущем.

1. Тайтл должен отражать суть страницы.

2. Включайте ваш бренд в тайтл страниц.

3. Используйте разные тайтлы на разных страницах.

4. Тег title должен содержать в себе ключевые слова.

5. Не включайте в title слишком много ключевых слов.

6. Не используйте стоп-слов в тайтле.

7. Каждое слово не должно повторяться более двух раз.

8. Не используйте слишком длинные заголовки страниц.

9. Делайте длину title не более 8 слов.

10. Ставьте в начале заголовка наиболее значимые ключи.

11. Используйте паттерны при необходимости включить в заголовок несколько ключей.

12. Не используйте специальных символов.

Более подробно на блоге devaka.ru: devaka.ru/articles/title-tag-optimization
Всего голосов 26: ↑7 и ↓19-12
Просмотры418
Комментарии 10

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность