Как стать автором
Обновить
82
0

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

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

Визуальные спецификации

Время на прочтение15 мин
Количество просмотров68K
Спецификации — это скука смертная. Пожалуй, это самая скучная часть работы управляющего продуктом. Возможно, именно поэтому большинство спецификаций ужасны и являются главным источником задержек, переделок и багов.

Активные коммуникации и доступность управляющего продуктом помогают решить проблему недостаточно хороших спецификаций, но далеко не всегда.

Agile движение имеет свой взгляд на спецификации. Наиболее экстремальное крыло выражает свои взгляды так:

В жопу спецификации!
Дальше еще интереснее...
Всего голосов 125: ↑110 и ↓15+95
Комментарии38

Структуры данных в картинках. HashMap

Время на прочтение6 мин
Количество просмотров1.2M
Приветствую вас, хабрачитатели!

Продолжаю попытки визуализировать структуры данных в Java. В предыдущих сериях мы уже ознакомились с ArrayList и LinkedList, сегодня же рассмотрим HashMap.



HashMap — основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Разрешение коллизий осуществляется с помощью метода цепочек.

А почему бы и нет?
Всего голосов 81: ↑75 и ↓6+69
Комментарии42

Накладные расходы памяти у коллекций

Время на прочтение7 мин
Количество просмотров90K
Мне было интересно, какие коллекции сколько съедают дополнительной памяти при хранении объектов. Я провёл замеры накладных расходов для популярных коллекций, предполагающих хранение однотипных элементов (то есть списки и множества) и свёл результаты на общий график. Вот картинка для 64-битной Hotspot JVM (Java 1.6):

Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии14

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

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

Интро


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

Java собеседование. Коллекции

Время на прочтение10 мин
Количество просмотров897K
С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать дальше →
Всего голосов 97: ↑86 и ↓11+75
Комментарии306

Прикручиваем пространственный индекс к ничего не подозревающей OpenSource СУБД

Время на прочтение9 мин
Количество просмотров17K
image
Мне всегда нравилось, когда заголовок однозначно говорит о том, что будет дальше, например, «Техасская резня бензопилой». Поэтому под катом мы действительно будем добавлять пространственный поиск к СУБД, в которой его изначально не было.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии15

Загружаем данные в Oracle

Время на прочтение14 мин
Количество просмотров93K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии136

Задача обобщения

Время на прочтение1 мин
Количество просмотров9.3K
Где-то год назад я опубликовал цикл лекций («Логика мышления») «Искусственный интеллект как совокупность вопросов» . За время, прошедшее с тех пор, удалось достаточно существенно продвинуться вперед.
На днях мне довелось выступать на семинаре по ИИ, который в Санкт-Петербурге проводит Алексей Потапов, за что ему глубокий респект. Доклад был о природе обобщения, что это за задача, как мозг реализует обобщение во всех его проявлениях и примеры обобщения, касающиеся зрительной системы человека. Так получилось, что в основном разговор шел о тех разработках, на которых я сосредоточен последний год. Так что, если кому-то, кто смотрел «Логику мышления» интересно проследить в какую сторону идет развитие моего направления, то это можно сделать по записи этого выступления.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии12

Обзор литературы по Data Mining

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

Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.

Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии22

Чему нас не научил профессор Ng

Время на прочтение6 мин
Количество просмотров33K
Как видно по дискуссиям на хабре, несколько десятков хабровчан прослушали курс ml-class.org Стэнфордского университета, который провел обаятельнейший профессор Andrew Ng. Я тоже с удовольствием прослушал этот курс. К сожалению, из лекций выпала очень интересная тема, заявленная в плане: комбинирование обучения с учителем и обучения без учителя. Как оказалось, профессор Ng опубликовал отличный курс по этой теме — Unsupervised Feature Learning and Deep Learning (спонтанное выделение признаков и глубокое обучение). Предлагаю краткий конспект этого курса, без строгого изложения и обилия формул. В оригинале все это есть.
Читать дальше →
Всего голосов 61: ↑59 и ↓2+57
Комментарии36

Data mining: Инструментарий — Theano

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

В предыдущих материалах этого цикла мы рассматривали методы предварительной обработки данных при помощи СУБД. Это может быть полезно при очень больших объемах обрабатываемой информации. В этой статье я продолжу описывать инструменты для интеллектуальной обработки больших объёмов данных, остановившись на использовании Python и Theano.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии4

Вам не нужен Hadoop — у вас просто нет столько данных

Время на прочтение4 мин
Количество просмотров79K
Меня спросили: «Сколько у вас опыта с большими данными и Hadoop?» Я ответил, что часто использую Hadoop, но редко — с объёмами данных больше нескольких ТБ. Я новичок в больших данных — понимаю идеи, писал код, но не в серьёзных масштабах.

Следующий вопрос был: «Можете ли вы сделать простую группировку и сумму в Hadoop?» Разумеется, могу, и я попросил пример формата данных.

Они вручили мне флэш-диск со всеми 600 МБ данных (да, это были именно все данные, а не выборка). Не понимаю, почему, но им не понравилось моё решение, в котором был pandas.read_csv и не было Hadoop.
Читать дальше →
Всего голосов 139: ↑134 и ↓5+129
Комментарии50

Как мы улетели и с трудом вернулись: подробный отчет о нашем участии в соревнованиях летающих роботов компании КРОК

Время на прочтение8 мин
Количество просмотров19K
3 сентября 2012 года, прочитав на сайте Habrahabr новость о соревнованиях летающих роботов, мы поняли – вот оно, дождались! К тому моменту мы уже несколько месяцев думали о том, что пора переводить свой многолетний интерес к робототехнике в профессиональное русло, и искали для этого повод.

Поэтому вопросов об участии не возникало – начались обсуждения. Сразу же решили использовать готовый дрон, сосредоточившись на программном обеспечении. На первый взгляд, условия казались простыми, поэтому иллюзий, что мы сможем победить, не было – команд много, приз всего один. Решили, что будем использовать только камеру, продемонстрировав, таким образом, свою компетентность в области компьютерного зрения.

Забегая вперед, хочется отдельно отметить высокий уровень организации соревнований. Такого в России еще не было. Мы рады, что приняли участие в этом мероприятии и рады, что смогли победить.
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии30

Применение локальных бинарных шаблонов к решению задачи распознавания лиц

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

В статье уже был кратко рассмотрен оператор LBP. Хотелось бы остановиться на данном вопросе несколько подробнее, а также рассмотреть применение LBP к решению задачи распознавания лиц.

1. Введение


Как правило, система распознавания лиц представляет собой программно-аппаратный комплекс для автоматической верификации или идентификации личности по цифровому изображению (фотографии или кадру видеопоследовательности). Задача распознавания лиц решается при разработке систем контроля и управления доступом, систем пограничного контроля, проведении оперативно-розыскных мероприятий и т.д.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии20

Автономная работа смартфона: «внятный» сравнительный гид

Время на прочтение3 мин
Количество просмотров20K
В Сети есть не так много информационных ресурсов IT-тематики, которые максимально серьезно подходят к оценке времени автономной работы. Нередко даже авторитетные обозреватели ограничиваются общими фразами типа «один-два дня проработает». И это при том, что лично я сразу перематываю статьи к разделу «Автономная работа». В данном вопросе меня неизменно радует ресурс Helpix, который проводит замеры «мобил» по 14-ти сценариям, до полной разрядки. То есть, тест длительности работы даже самого «захудалого» смартфона занимает в сумме порядка 120 (О_О) часов. Замеры вносятся в обновляемую сводную табличку, которую я и хотел бы продемонстрировать. Всего в списке содержится 27 единиц техники, включая планшеты. За август-сентябрь прибавились Highscreen Omega Q, Alcatel One Touch X'Pop 5035X, Highscreen Alpha R, teXet TM-4072 X-basic и Fly IQ4411 Quad Energie 2. На мой взгляд, это крайне полезный «сборник», который следует иметь ввиду при выборе смартфона.

Читать дальше →
Всего голосов 34: ↑15 и ↓19-4
Комментарии19

Идеи для проектов по открытым данным и ближайшие хакатоны и соревнования на которые еще можно успеть

Время на прочтение3 мин
Количество просмотров5.9K
Вы наверняка знаете что сейчас идет, заканчивается и начинается много соревнований по открытым данным и многие проводят хакатоны.

Например, Хакатон Яндекса пройдет завтра-послезавтра и еще не поздно зарегистрироваться, наши друзья в Санкт-Петербурге проводят свой Хакатон 5-6 октября.

Хакатоны — это прекрасный формат чтобы познакомиться с темой, попробовать себя и сделать что-то простое и интересное. На хакатоне, однако, редко получается сделать сложный продукт и даже найти возможность монетизации. Если Вы делаете что-то большое или хотите сделать — мы продляем наш конкурс Apps4Russia до 1 октября и очень ждем ваши заявки.

Идеи



Тем временем, чтобы чуть облегчить поиск идей и, возможно получится, побудить подумать над собственными идеями на открытых данных — я подготовил небольшую подборку собранного нами.

  1. Игры и депутаты

    Игра Hot or Not по депутатам. Берем список депутатов из API — api.duma.gov.ru — фото с duma.gov.ru и запускаем крутилку со сравнениями. Прогоняем по сотням посетителей сайта и получаем интереснейшую статистику.
    Идеально — виджет для внедрения в сайты СМИ.

  2. Мониторинг качества воды

    Взять данные по качеству воды в Москве по районам и сделать приложение для мобильного телефона показывающие качество воды в районе. Данные уже готовы и находятся здесь — http://hubofdata.ru/dataset/moswaterquality-2013


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Как прошел первый учебный год Data Mining Track

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

5 октября лаборатория интеллектуального анализа данных Data Mining Labs запускает новый семестр обучения. Что это такое, как туда попасть и какие возможности получают студенты — добро пожаловать под кат.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии10

Построение карьеры в большой организации. Tips&tricks

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

Захотелось поделиться с сообществом собственными наблюдениями на тему карьерного роста технаря.


Информация основана на опыте в больших западных конторах, которые делают реальные продукты. Всё изложенное ниже не претендует на абсолютную истину.

Начнем сначала: вы свежий выпускник тех. вуза. Вам 22-23 года, вся жизнь впереди и она прекрасна. В этом прекрасном будущем есть, скорее всего, есть жена-модель, дом – полная чаша, несколько машин, и первый миллион к 30 годам.

Карьера представляется немного смутно, но в целом, понятно: начинаем активно и качественно работать, нас, несомненно, замечают и продвигают. Множество фильмов и книг именно так нам и обещают: много и хорошо работай –> и всё будет хорошо.

Вы устраиваетесь на работу, ваше звание — инженер или разработчик. У вас появляются коллеги. Почти все они старше вас. И тут вы, возможно, заметите, что на таком же уровне, как и вы, есть очень пожилые люди. Прямо 30-40 летние мужики, может даже 50ти летние “стариканы”. И многие из них тоже закончили похожие вузы, и многие совсем не дураки, но как-то не сложилось с карьерным ростом…

Получается хороший вуз, диплом, интеллект, работоспособность, хорошее первое рабочее место – далеко не гарантия того, что вы вырастете в иерархии.
Читать дальше →
Всего голосов 155: ↑135 и ↓20+115
Комментарии96

История открытых данных и Хакатон Яндекса

Время на прочтение14 мин
Количество просмотров17K
14 — 15 сентября в Москве пройдёт первый Хакатон Яндекса, участники которого будут два дня и две ночи создавать проекты на основе открытых государственных данных с помощью технологий Яндекса.

Я уже много лет занимаюсь тем, чтобы у российских разработчиков рос интерес к работе с открытыми данными. Именно для этого создан конкурс Apps4Russia, организованный некоммерческим партнерством «Информационная культура». В этом году в нем появилась номинация для тех, кто создает приложения на отрытых данных и технологиях Яндекса. Эти события подтолкнули систематизированно рассказать здесь об истории открытых данных, их источниках, примерах использования и многих других важных вещах.

image

Это график из ЖЖ eugenyboger. То, что сейчас мы можем узнать подробные результаты выборов по каждому участку, — это норма, а еще совсем недавно это было не так даже в очень развитых странах.
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии9

Тестирование: 20 принципов новичка

Время на прочтение6 мин
Количество просмотров66K
Все началось на офисной кухне со спора, который разгорелся между мной, менеджером по бизнес-процессам и рискам и моим коллегой из отдела технического сопровождения продаж. На тот момент он обучался на полуторагодичных курсах основ программирования в местном институте информационных технологий, а я просто анализировала процессы, просчитывала риски, обосновывала предложения по покупке софта. Он сидел напротив и рассказывал, как сложно учиться, как туго даются ему предметы и как он готов отчислиться, заплатив 50 с лишним тысяч. Я не знаю, что мне налили вместо чая, но я уверено и грубо сказала: «Знаешь, я тоже пойду с октября и ты увидишь, что мое полУтехническое образование и возраст 27 лет не помеха для освоения всего этого». Он покрутил у виска…
Не буду рассказывать про трудности обучения и успешной защиты своего полноценного, но весьма тривиального программного проекта на английском языке, а расскажу о последствиях моей учебы. В конце обучения я поняла, что работа мне поднадоела и хочется чего-то совершенно другого. Как известно, иногда мечты сбываются и нам предложили пройти трехмесячную стажировку в должности инженеров по тестированию с неплохим окладом в одной большой айтишной конторе. Нормальные люди отказались…
image
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность