Как стать автором
Обновить
25
0
Александр Кузнецов @akuznetsov

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

Отправить сообщение

Deep Learning, теперь и в OpenCV

Время на прочтение13 мин
Количество просмотров64K


Данная статья является кратким обзором возможностей dnn — модуля OpenCV, предназначенного для работы с нейросетями. Если вам интересно, что это такое, что оно умеет и как быстро работает, добро пожаловать под кат.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии26

Опубликованы доклады с конференции «Будущее веб-поиска»

Время на прочтение3 мин
Количество просмотров902
Научная конференция «Будущее веб-поиска» состоялась 19-20 мая в Барселоне (Испания) и была организована при участии Yahoo. Спустя некоторое время в онлайне были опубликованы доклады.

Список презентаций включает 26 научных работ на самые разные темы: анализ ссылок, алгоритмы, извлечение информации, структурирование данных, интеграция поиска с другими средами, дата-майниинг. О своих разработках рассказали ученые из Германии, Испании, США, Великобритании, Италии, Финляндии, Венгрии, Израиля, Канады и Голландии, а также исследователи из компании Yahoo.

«Хабрахабр» публикует полный список презентаций со ссылками на файлы PDF. Каждая из презентаций включает ключевые слайды. Слайдов может быть разное количество: от шести до трех десятков, но они обычно предельно насыщены информацией. Это основные тезисы работы плюс сопутствующие графики и формулы. Кстати говоря, многие из научных работ можно найти в открытом доступе в Сети в архивах научных журналов.
Читать дальше →
Рейтинг0
Комментарии0

HBase, загрузка больших массивов данных через bulk load

Время на прочтение4 мин
Количество просмотров11K
Привет коллеги.
Хочу поделиться своим опытом использования HBase, а именно рассказать про bulk loading. Это еще один метод загрузки данных. Он принципиально отличается от обычного подхода (записи в таблицу через клиента). Есть мнение, что с помощью bulk load можно очень быстро загружать огромные массивы данных. Именно в этом я решил разобраться.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии5

Общедоступный индекс веба (5 миллиардов веб-страниц)

Время на прочтение1 мин
Количество просмотров3.7K
Организация Common Crawl сделала щедрый подарок разработчикам и компаниям, которые работают в области поиска и обработки информации. В открытый доступ на Amazon S3 выложен индекс из 5 миллиардов веб-страниц с метаданными, PageRank и графом гиперссылок.

Если вы видели в логах веб-сервера CCBot/1.0, то это их краулер. Некоммерческая организация Common Crawl выступает за свободу информации и поставила целью сделать общедоступный поисковый индекс, который будет доступен каждому разработчику или стартапу. Предполагается, что это приведёт к созданию целой плеяды инновационных веб-сервисов.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии39

Беззамочные алгоритмы: ненастойчивый кэш

Время на прочтение5 мин
Количество просмотров2.8K
(Тот факт, что русского перевода понятию «lock-free» в литературе ещё не устоялось, — нисколько меня не убеждает, что такого перевода не должно быть.)

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

BOOL IsPrime(int n)
{
 static int nLast = 1;
 static BOOL fLastIsPrime = FALSE;

 // если значение параметра не изменилось с прошлого раза,
 // воспользуемся готовым результатом
 if (n == nLast) return fLastIsPrime;

 // вычислим и запомним новый результат
 nLast = n;
 fLastIsPrime = slow_IsPrime(n);
 return fLastIsPrime;
}

Само собой, этот код потоконебезопасен: если один поток находится внутри вызова slow_IsPrime(), то другой поток, вызвавший IsPrime(), застанет значения переменных nLast и fLastIsPrime несоответствующими одно другому.

Простое решение — заключить код в критическую секцию; но простота идёт в ущерб производительности: если, скажем, nLast = 5, fLastIsPrime = TRUE, и два потока одновременно вызывают IsPrime(5), то совершенно ни к чему им выстраиваться в очередь: ничего не мешает им одновременно воспользоваться кэшированным значением.

Посмотрим, как можно реализовать наш кэш беззамочно.
Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии40

Работаем с jQuery Templates

Время на прочтение20 мин
Количество просмотров138K

Введение


Плагин jQuery Templates – это «движок шаблонов», работающий на стороне клиента как расширение jQuery.

Этот плагин помогает показать в браузере данные, которые находятся в объектах и массивах JavaScript, избавляя вас от рутинных операций по созданию HTML-кода, экранированию специальных символов и т.п. Кроме того, он обладает очень интересными возможностями – например, позволяет обновлять созданный с его помощью HTML-код при изменении исходных данных.

Разумеется, jQuery Templates – не единственный и не первый «движок шаблонов», но у него есть большое преимущество перед альтернативными вариантами – поддержка со стороны jQuery Team. Это позволяет нам не бояться того, что этот плагин окажется заброшенным, и различные проблемы, возникающие при выходе новых версий браузеров, придется решать своими силами.

В этой статье я расскажу об основных возможностях jQuery Templates и продемонстрирую его работу в различных сценариях, а в последующих статьях я расскажу о функциях, не вошедших в основной код плагина (jQuery Templates Plus) и о расширении языка шаблонов.

Читать дальше →
Всего голосов 201: ↑197 и ↓4+193
Комментарии67

Дерево Фенвика

Время на прочтение3 мин
Количество просмотров53K
Здравствуй, Хабрахабр. Сейчас я хочу рассказать о такой структуре данных как дерево Фенвика. Впервые описанной Питером Фенвиком в 1994 году. Данная структура похожа на дерево отрезков, но проще в реализации.

Что это?


Дерево Фенвика — это структура данных, дерево на массиве, которая обладает следующими свойствами:
• позволяет вычислять значение некоторой обратимой операции F на любом отрезке [L; R] за логарифмическое время;
• позволяет изменять значение любого элемента за O(log N);
• требует памяти O(N);
Читать дальше →
Всего голосов 81: ↑73 и ↓8+65
Комментарии39

Gradle: Tasks Are Code

Время на прочтение5 мин
Количество просмотров47K
В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии48

Репликация в Postgresql 9.0

Время на прочтение3 мин
Количество просмотров86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии42

Ваше первое расширение для Opera

Время на прочтение4 мин
Количество просмотров12K
Вступление

Эта статья проведёт вас через базовые шаги для создания вашего первого расширения для Opera. Вы создадите кнопку на панели, при нажатии на которую будет открываться всплывающее окно с сообщением «Hello World!». Расширения для Opera пишутся с помощью общих открытых веб-стандартов, поэтому всё, что вам нужно чтобы начать, это Opera 11 и ваш текстовый редактор или IDE.
Читать дальше →
Всего голосов 80: ↑66 и ↓14+52
Комментарии29

Новый продукт команды JetBrains — «Charisma» в EAP

Время на прочтение2 мин
Количество просмотров1.1K
Команда JetBrains (известная многим по продукту R#) создает новый продукт с кодовым именем “Charisma”.
Charisma
Charisma – это web-ориентированный issue tracker (система отслеживания ошибок). Ее основные функции, отличающие ее от подобных систем:
  • Поиск при помощи вопроса в качестве альтернативы стандартным поисковым фильтрам (эта функция видна на картинке – запрос вида By Me Fixed – закрытые задачи мной).
  • Легковесный пользовательский интерфейс, основанный на AJAX – позволяет работать с системой быстрее.
  • Расширенная поддержка клавиатуры для более быстрого создания, редактирования и перехода между задачами при помощи клавиатуры.
  • Возможность выполнения командных операция по выбранным запросам.
Charisma разрабатывается с помощью JetBrains MPS и уже используется для отслеживания ошибок в системе JetBrains TeamCity (там как раз и можно попробовать их расхваленный пользовательский интерфейс). Charisma уже доступна в Early Access Program (EAP), потому каждый может попробовать ее скачать и установить себе (на любой J2EE сервер, такой как Apache Tomcat 5+, Mortbay Jetty, JBoss, Caucho Resin), последний билд был 28 июля под номером 45. Ну и конечно же команда JetBrains с удовольствием выслушает все ваши замечания и предложения (так написано на сайте EAP). Жалко что не опубликованы цены, но, думаю, те, кто будет участвовать достаточно сильно в обсуждении и поиске ошибок может быть JetBrains и отблагодарит скидками или подарками.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии22

Настройка nginx

Время на прочтение5 мин
Количество просмотров288K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Всего голосов 88: ↑78 и ↓10+68
Комментарии53

Кластеризация: алгоритмы k-means и c-means

Время на прочтение3 мин
Количество просмотров171K
Добрый день!

Как и обещал, продолжаю серию публикаций о технологии Data Mining. Сегодня хочу рассказать о двух алгоритмах кластеризации (k-means и c-means), описать преимущества и недостатки, дать некоторые рекомендации по их использованию. Итак, поехали…

Кластеризация — это разделение множества входных векторов на группы (кластеры) по степени «схожести» друг на друга.

Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию (Википедия).

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии9

Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев

Время на прочтение6 мин
Количество просмотров242K
Первая статья цикла

Интро


Во второй статье я приведу обзор характеристик различных сбалансированных деревьев. Под характеристикой я подразумеваю основной принцип работы (без описания реализации операций), скорость работы и дополнительный расход памяти по сравнению с несбаланчированным деревом, различные интересные факты, а так же ссылки на дополнительные материалы.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии28

Информация

В рейтинге
Не участвует
Откуда
Саратов, Саратовская обл., Россия
Дата рождения
Зарегистрирован
Активность