Pull to refresh

Драйвер-паки и их индексы

Reading time7 min
Views21K
Раз уж в нашем предыдущем посте мы пригласили всех желающих поучаствовать в добровольной помощи в разработке очередных версий DRP, сегодня пришла пора рассказать о том, как именно мы создаем немаловажную вещь при работе с большими архивами драйверов (необходимые сис. админам и другим профессионалам, занимающимся «серийной» настройкой компьютеров) — индексы.

У каждого пользователя на локальном компьютере собирается индекс всех драйверов, присутствующих в системе – в том числе и самой операционной системой. Его наличие позволяет ускорять поиск драйверов для установленных устройств, а в дальнейшем – и для их обновления. Другими словами – без индекса нельзя, его создание и дальнейшие обновления критическим образом сказываются на скорости и эффективности работы нашего приложения.


Герои Silicon Valley работают над оптимизацией собственных алгоритмов
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments6

Быстрые треки на google maps

Reading time11 min
Views31K
Я работаю над визуализацией парапланерных соревнований — пишу плеер просмотра гонки для Airtribune.com. В процессе работы мне попадаются интересные и нестандартные задачи. Одна из них — задача быстрой отрисовки маркеров и треков на карте google maps.

Масштабы такие: есть ~200 трекеров в довольно ограниченной области (50x50км), каждый передает данные о своем положении раз в 10 секунд. Нужно их все отрисовать на карте и плавно перемещать при изменении координат. За каждым маркером должен отрисовываться трек. Картинка примерно следующая:



Скоро обнаружилось, что встроенные объекты — google.maps.Marker и google.maps.Polyline — для данной задачи работают слишком медленно. Была куча идей по оптимизации, и в результате получилось решение на canvas-е, которое работает со скоростью 40fps даже на тысяче маркеров. Впрочем, fps вы можете померить сами — я собрал тестовое приложение для сравнения 4-х движков, в котором на лету можно подключать разные фишки и смотреть на скорость работы.

Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments13

Быстрая генерализация маркеров на WebGL-карте

Reading time8 min
Views7.6K

image


Маркеры — дело полезное. Полезное в разумных количествах. Когда их становится слишком много, польза улетучивается. Как поступить, если требуется отметить на карте поисковую выдачу, в которой десятки тысяч объектов? В статье я расскажу, как мы решаем эту задачу на WebGL-карте без ущерба для её внешнего вида и производительности.

Генерализируем
Total votes 36: ↑36 and ↓0+36
Comments17

Расстановка самодельных маркеров у списков

Reading time1 min
Views3K
Задача: сделать для списков самодельные маркеры.

Использовать list-style-image не всегда удобно из-за непредсказуемых отступов. Поэтому раньше я пользовался конструкцией типа
ul li {
padding-left: 10px;
background: url(bullet.gif) 0 5px no-repeat;
}

Сегодня пришла идея немного эту конструкцию улучшить, задав background'у относительную позицию:
ul li {
padding-left: 10px;
background: url(bullet.gif) 0 0.5em no-repeat;
}


Достоинства — маркер остается на месте при изменении масштаба шрифта. Кроссбраузерно.
Если есть необходимость, могу добавить картинки, но, по-моему, все и так понятно.
Total votes 16: ↑7 and ↓9-2
Comments9

Многоуровневое дерево с маркерами (только HTML, CSS, без Javascript)

Reading time5 min
Views23K
Многоуровневое дерево с маркерами (только HTML, CSS)До того как заняться верской гитарных аккордов (статьи 1,2,3) я столкнулся с необходимостью сделать человеку на сайте меню-дерево. Рисовать не хотелось вообще, поэтому я взял старый добрый HTML с CSS и начал делать это дерево, начал с простого одноуровневого, а позже сделал многоуровневое с маркерами, которое и представлю.

Позже это дерево дало мне плоды в виде habrahabr.ru/blogs/css/53792
Читать дальше →
Total votes 107: ↑105 and ↓2+103
Comments81

Многоуровневое дерево с маркерами (HTML, CSS). Продолжение с jQuery

Reading time7 min
Views41K
Посмотреть в работе многоуровневое дерево с маркерами.В продолжение темы про дерево немного переделал код и подключил jQuery. Теперь дерево живое, узлы разворачиваются, как этого многие ожидают видя подобное дерево.
Теперь оформление дерева делает скрипт — сам расставляет маркеры для элементов с вложенными узлами.
Благодаря использованию скрипта HTML стал проще.

UPD 05.04.2009: обновлены скрипты, есть несколько вариантов скриптов.
UPD 09.04.2009: продолжение
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments44

Многоуровневое дерево с маркерами (HTML, CSS, jQuery). Запоминаем выбранный узел

Reading time5 min
Views6.2K
Дерево помнит выбранный узел по urlЭто продолжение темы про дерево. Хочу его довести до ранга «готов к внедрению». Потому повозился с JavaScript и сделал запоминание выбранного узла на основе адреса ссылки.
Если ссылка вложена в поддерево, дерево развернется до её уровня и, если у неё самой есть поддерево — оно тоже будет развернуто.

JavaScript сделал как смог, т.к. давно не использовал. Прошу помощи в доработке и оптимизации.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments18

Рецепты хорошей типографики

Reading time7 min
Views57K
Судя по результатам голосования, которое я проводил в своём блоге, большинство пользователей никак не типографируют тексты перед публикациями (НЛО не считается). Те, кто работают над текстами, в большинстве своём делают это вручную, поэтому я решил попробовать собрать воедино рецепты экранной типографики, дабы не забывать самому и напомнить другим. Не думаю, что статья будет чем‐то новым для опытных верстальщиков. Новички узнают, профи исправят :)

Содержание

  1. Дефисы, тире, минусы и другие палочки
  2. Кавычки и чёрточки
  3. Скобки
  4. Многоточие
  5. Заголовки, списки

Читать дальше →
Total votes 154: ↑133 and ↓21+112
Comments92

Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)

Reading time6 min
Views19K
Продолжается развитие темы о многоуровневом дереве с маркерами. Многоуровневое дерево с сохранением состояния узлов
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

Читать дальше →
Total votes 38: ↑35.5 and ↓2.5+33
Comments48

Божья коровка, нарисуй нам…

Reading time1 min
Views960
image

Какая молодая семья не страдала от «художеств» своих малолетних чад, старательно разрисовывающих стены, полы, шкафчики, холодильник и папин ноутбук и всем, что попадается под руку? Есть, однако, альтернативный способ занять мелкого рисованием – при помощи роботизированной божьей коровки с дистанционным управлением. Вставляем в голову насекомого маркер, ставим жука на большой лист бумаги и заставляем его ползать при помощи джойстика. Направляем обе кнопки вперед – божья коровка рисует прямую, одну кнопку вперед — получаем плавную кривую, одну вперед, другую назад – изгиб будет более резким. Конечно, не факт, что рисуя, к примеру, корову, вы изобразите не дельфина, но опыт и практика сделают свое дело.
Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments27

Новая библиотека Drawing в Google Maps API V3

Reading time3 min
Views17K
Недавно в Google Maps API V3 появилась новая библиотека Drawing. Она предоставляет набор инструментов, с помощью которых пользователи могут ставить маркеры, рисовать на карте линии, круги, прямоугольники, многоугольники, чтобы выделить различные места на карте.

image

Данные инструменты могут быть использованы для сбора разной информации от пользователей. Приложение может прослушивать события и реагировать соответствующим образом, например, сделать поисковый запрос или сохранить информацию в базе данных.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments42