Pull to refresh
11
0
Дмитрий @dimonier

User

Send message

Что вы будете делать, если вам надо понять, как провести дискавери? Гуглить? Ну вот вы здесь

Level of difficultyEasy
Reading time7 min
Views2.4K


Привет, Хабр! Наши ошибки на старте проекта — самые дорогие из возможных.

Я Мария, аналитик команды обследования проектов. В смысле, работаю с проектами до старта разработки. Это обычно называется «дискавери». Я уже делала 15 этих самых дискавери, и не все были настолько прекрасными, насколько бы этого хотела я или мои заказчики. Когда дискавери проваливаются — это один из обычных вариантов на практике.

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

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

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

Сейчас я и хочу про это рассказать.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments2

Простой алгоритм для поиска всех совпадающих под-текстов в двух текстах

Reading time4 min
Views29K
По долгу службы мне часто нужно находить все пересечения между текстами (например, все цитаты из одного текста в другом). Я достаточно долго искал стандартное решение, которое бы позволило бы это делать, но найти его мне так и не удалось — обычно решается какая-то совсем или немного другая задача. Например, класс SequenceMatcher из difflib в стандартной библиотеке Питона находит самую длинную общую подпоследовательность в двух последовательностях hashable элементов, а потом рекурсивно повторяет поиск слева и справа от нее. Если в одном из текстов будет более короткая подпоследовательность, которая содержится внутри уже найденной (например, если кусок длинной цитаты где-то был повторен еще раз), он ее пропустит. Кроме того, когда я загнал в него «Войну и мир» и «Анну Каренину» в виде списков слов и попросил для начала найти самую длинную подпоследовательность, он задумался на семь минут; когда я попросил все совпадающие блоки, он ушел и не вернулся (в документации обещают среднее линейное время, но что-то в прозе Льва Толстого, по-видимому, вызывает к жизни worst-case квадратичное).

В конечном итоге я придумал свой алгоритм, тем самым наверняка изобретя велосипед, который надеюсь увидеть в комментариях. Алгоритм делает ровно то, что мне нужно: находит все совпадающие последовательности слов в двух текстах (за исключением тех, что в обоих текстах входят в состав более крупных совпадающих последовательностей) и сравнивает «Войну и мир» с «Анной Карениной» за минуту.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments39

Глубокое обучение на R, тренируем word2vec

Reading time10 min
Views23K
Word2vec является практически единственным алгоритмом deep learning, который сравнительно легко можно запустить на обычном ПК (а не на видеокартах) и который строит распределенное представление слов за приемлемое время, по крайней мере так считают на Kaggle. Прочитав здесь про то, какие фокусы можно делать с тренированной моделью, я понял, что такую штуку просто обязан попробовать. Проблема только одна, я преимущественно работаю на языке R, а вот официальную реализацию word2vec под R мне найти не удалось, думаю её просто нет.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments15

BalanceBall. Самобалансирующая платформа от А до Я

Reading time4 min
Views32K
Я студент Физтеха, факультета радиотехники и кибернетики, и как положено всем второкурсникам, в весеннем семестре надо сделать проект по информатике и микроконтроллерам. Я решил убить двух зайцев одним выстрелом и объединил два проекта в один.

Долго выбирал тему проекта. Из идей была игра, похожая на Guitar Hero, но контроллером были твои руки, настукивающие барабанные биты по столу. Также задумывался над созданием светодиодной матрицы, управляемой по Bluetooth с компьютера, со своим простеньким скриптовым языком для написания анимаций. Задумки были интересными, но я все равно казались чем-то не тем. Потом я случайно наткнулся на это видео и сразу загорелся идеей реализовать что-то подобное. Вот что у меня вышло в итоге:



Кому интересен процесс создания этой платформы от проектирования деталей до написания компьютерного зрения, прошу под кат.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments10

Простое управление arduino через интернет

Reading time5 min
Views205K


Всем добрый день.

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

С того момента был просканирован весь интернет в поисках замены — и было найдено много очень интересных проектов, но они либо были слишком сложными в реализации и требовали значительных знаний в области программирования, либо были попросту неудобны. И вот тут и пришла мысль почему бы не сделать все самому.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments41

Разбитие текста на предложения лингво-независимым методом на примере библиотеки AIF

Reading time9 min
Views15K
В прошлой статье мы уже рассказывали о новой NLP библиотеке. Однако тогда мы рассказали «обовсем» и не о чем конкретном. Сегодня мы поговорим о теоретических аспектах разбития предложения на токены лингво-независимыми алгоритмами. Теоретические выкладки будут подкреплены практической реализацией в библиотеке AIF. Поехали…
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments12

Новая языково-независимая NLP библиотека

Reading time7 min
Views27K

Введение


Каждый, кто пришел в этот мир, проходил через путь познания языка. При этом человек обучается языку отнюдь не по правилам или грамматике. Даже, более того, каждый человек, будучи еще ребенком, сначала учит такое странное явление как язык, а уже позднее, с возрастом, начинает учить его правила (в садике и школе). Это объясняет забавный факт, каждый, кто изучает иностранный язык в зрелом возрасте, когда он уже менее склонен к изучению новых языков, знает о предмете своего изучения больше, чем большинство носителей этого языка.

Это простое наблюдение дает возможность предполагать, что для понимания языка вовсе не нужно иметь знания о нем. Достаточно лишь эмпирии (опыта), который можно почерпнуть от окружающих. Но именно об этом забывают практически все современные НЛП библиотеки, пытаясь построить все-обемлящую языковую модель.

Для более четкого понимания представьте себя слепым и глухим. И, даже родись в таком состоянии, вы бы могли взаимодействовать с миром и освоить язык. Само собой, что ваше представление о мире было бы иным, нежели у всех вокруг. Но вы могли бы все таким же образом взаимодействовать с миром. Некому бы было объяснить Вам что происходит и что такое язык ив се же, как то, тактильно анализирую шрифт Брайля Вы бы понемного сдвинулись с мертвой точки.

А это значит, что для понимания сообщения на каком-либо языке нам не нужно ничего, кроме самого сообщения. При условии, что это сообщение достаточно большое. Именно эта идея и положена в основу библиотеки под названием AIF. За деталями прошу пожаловать под кат.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments15

Поиск VPS — второй апдейт: аукционы, место для резервных копий, лицензии и отзывы о хостерах

Reading time7 min
Views11K
Всем привет!

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




Но для начала я хотел бы немного отвлечься и раскрыть небольшую тайну. В самое ближайшее время помимо возможности поиска по виртуальным серверам появится возможность искать выделенные сервера. В самом конце статьи можно прочитать небольшой комментарий для хостеров.
Обзор новых возможностей под катом
Total votes 34: ↑30 and ↓4+26
Comments19

Пара слов об интернационализации приложений

Reading time12 min
Views46K
Я давно регулярно читаю Хабр и заметил, что здесь довольно мало внятных статей о локализации ПО, ориентированных на разработчиков. По своему опыту управления проектами локализации я могу сказать, что локализация — это не только перевод строк и адаптация приложения к контексту той или иной страны, но и постоянное противоборство (в идеальных случаях — равноправное взаимодействие) с разработчиками.
В этой статье я постараюсь на примере показать, как можно создать так называемый localization-friendly code, то есть, организовать ресурсы таким образом, чтобы существенно облегчить локализацию приложения, снизив избыточные временные и финансовые затраты.
Сразу же оговорюсь, что речь пойдёт в первую очередь об интернационализации, то есть, об учёте всех лингвистических особенностей на этапе разработки. Если же ресурсы вашего проекта изначально не подразумевали локализацию, а впоследствии вы решились на неё, то их «затачивание» под локализацию может выйти намного дороже, чем доход от неё.



Читать дальше
Total votes 115: ↑113 and ↓2+111
Comments66

Наш контроллер для умного дома

Reading time6 min
Views156K


UPD: мы сняли работу Wiren Board Smart Home на видео

Краткое содержание:


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments132

Принципы ИТ-профессионала

Reading time8 min
Views176K
Более 10 лет занимаясь ядрёной смесью из математики, программирования и управления проектами – всем тем, что входит в современное понимание Информационных Технологий — я сформулировал простые правила, которые считаю подходящими для любого профессионала, связанного с ИТ.

Читать дальше →
Total votes 191: ↑141 and ↓50+91
Comments115

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity