Рубрика «обработка данных»

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

Решению одной из таких задач будет посвящен обзор. В какой-то момент появилась необходимость проанализировать на основе открытых данных “Единого реестра субъектов малого и среднего предпринимательства” Федеральной налоговой службы (далее РМСП) динамику по месяцам количества организаций определенного вида деятельности, а именно, сельхозпредприятий. Подходы, которые использовались при ее решении, надеюсь будут полезны тем, кто ищет варианты обработки больших структурированных массивов данных XML, но распространенные средства обработки, например, приложения типа SelectFromXML, он-лайн XML обработчики по каким-то причинам не подходят. Либо ограничен функционал, либо возникают проблемы при работе с кириллической кодировкой, либо не обеспечивается необходимая производительность, либо ограничены ресурсы «железа». Программисты и профессионалы надеюсь не буду слишком строги к стилю кодирования и выбору способов реализации, а критика и советы в комментариях приветствуются.

Итак задача:
Читать полностью »

Любой измерительный прибор, будь то аналоговый или цифровой, показывает результат с определенной погрешностью и шумом. Погрешность GPS сенсора определяется погрешностью самого датчика и такими факторами как: ландшафт, скорость движения, количество и положение спутников.

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

Map matching и обработка сырых данных GPS в промышленных масштабах - 1

Думаю, ни для кого не секрет, что на рынке есть решения, которые предоставляют сервис Map matching. Он выполняет обработку координат и в результате выдает координаты, привязанные к дороге. Однако, ни один сервис не будет понимать специфику ваших данных, а результат обработки сырых данных может быть не самым лучшим. В связи с этим нами было разработано решение, которое позволило максимально отфильтровать и наложить на дороги данные с датчиков.

Читать полностью »

В силу специфики научной деятельности мне нужно замерять время работы алгоритмов и строить по получившимся данным графики. Раньше процесс выглядел так:

  1. Алгоритм подготовлен.
  2. Запуск эксперимента, выходные данные идут в лог.
  3. Перенос данных в эксель.
  4. Постобработка: разбить, группировать, отсортировать.
  5. Строим график, а он кривой — ошибка в эксперименте, переход на шаг 1.

Первая проблема — просто посмотреть как прошел эксперимент занимало очень много времени.

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

Меня как программиста всегда раздражала необходимость «ручной работы». Да график готов, но мы еще что-то вручную подвинем, там перекрасим, тут подрисуем. Каждый раз когда приходят новые данные этот процесс приходится повторять. Третья проблема — перестроение графиков должно быть полностью автоматизированным.

Для решения озвученных проблем я придумал формат хранения данных в JSON и назвал его Measurelook. В этой статье я расскажу о Measurelook и о его применении в подготовке научной публикации.

Как я придумывал и применял формат хранения результатов экспериментов Measurelook - 1

Читать полностью »

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

IMDG
Фото модуля памяти на магнитных сердечниках в мейнфрейме IBM 1401, использованное в качестве фона на этом изображении, напоминает нам о временах, когда компьютеры были большими, а память — дорогой. Сегодня, как мы узнаем из поста ниже, все поменялось...

IMDG, гриды, In-Memory Data Grids — как только не называют системы, которые оказались темой поста. И хотя название совершенно правдиво, да и гриды, как инструмент, всё более популярны, многие до сих пор путают их то с системами распределённых кэшей, то с NoSQL-базами данных, а то и вовсе полагают, что «если разместить MySQL на RAM-диске, то получится почти IMDG».

Ещё не так давно решение накапливать информацию, а уже после её обрабатывать, казалось логичным, а появившиеся языки запросов к хранилищам информации выглядели отличным решением: каждая стадия процесса работы с информацией была выделенной и достаточно хорошо контролируемой. Но времена меняются, и сегодня всё чаще бизнес заявляет о желании обрабатывать информацию не «вчерашнюю», а текущую, в буквальном смысле иметь «обработку в онлайне», причём по отношению к информации достаточно больших объёмов. И здесь, хотим мы этого или нет, мы вынуждены искать новые инструменты.

Читать полностью »

Компьютерные технологии в медицине: история связи, значение и перспективы. Часть I - 1

Ни для кого не секрет, что компьютерные технологии проникли практически во все аспекты современного общества: политика, оборона, развлечения, образование и многое другое. Медицина не стала исключением. Сейчас это не секрет, однако 60 лет назад все это казалось научной фантастикой.

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

В моей жизни был период когда я только начинал заниматься программированием. Я тогда думал: «Программировать так просто… Зачем люди специально ходят учиться этому?», но с опытом и образованием пришло понимание, что программирование — дело трудное.

image

То ли программирование — это легко, то ли я просто ничего не понимаю. MemeGenerator.net

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

Кодинг, программирование и стучание по клавишам

Большую часть времени на своей первой работе в сфере технологий я посвящал HTML, CSS и JavaScript. Я делал так, чтобы элементы вели себя тем или иным образом или плел с их помощью визуальные сюжеты. В то время я не думал о себе как о программисте, да и не хотел им тогда становиться. Лишь некоторое время спустя, когда я понял как делать другие вещи в NodeJS, PHP и MySQL, я начал рассматривать себя в этом качестве. Мешая в голове мысли о всем великом, что есть в программировании, я получил свою первую работу с «программистским» названием «инженер-разработчик ПО», в рамках которой я ежедневно и активно решал те или иные задачи.
Читать полностью »

Трансдьюсеры были анонсированы еще в далеком 2014, с тех пор по ним было написано немалое количество статей (раз, два), но ни после одной статьи я не мог сказать, что понимаю трансдьюсеры кристально ясно. После каждый статьи у меня возникало ощущение, что я приблизительно понимаю что-то сложное, но оно все равно оставалось сложным. А потом однажды в голове что-то щелкнуло: "Я ведь уже видел этот паттерн, только он назывался иначе!"

Читать полностью »

imageПлатформа Waves выросла из желания сделать существующие блокчейн-разработки по-настоящему доступными для мира бизнес-приложений. Несмотря на раннюю стадию своего развития — технология существует всего 7 лет — блокчейны уже сейчас могут предложить миру на удивление много. И хотя здесь я не рассматриваю закрытые блокчейн-решения, нельзя не отметить довольно высокий уровень их зрелости и практичности. Что же касается Waves, то мы полностью сосредоточились на открытых блокчейн-технологиях, и стремимся сделать так, чтобы они уже сейчас нашли практическое применение в мире бизнеса.

Возможность создавать специализированные блокчейн-токены и упрощать с их помощью взаимодействие — основной элемент, на который делает акцент платформа Waves. Всякий бизнес должен иметь под рукой простой способ выпустить специализированный токен, который можно будет использовать в качестве составного элемента бизнес-приложений. Игровые валюты, краудфандинг, внутренние валюты, ваучеры и программы лояльности — все эти области немало выигрывают от использования открытых блокчейнов. По существу, открытые блокчейны берут на себя и обеспечивают сетевую инфраструктуру и системный аудит. Для бизнеса это все равно, что открыть дверь в новое измерение.
Читать полностью »

Анализ статей Хабрахабр и Geektimes - 1

Сначала была идея собрать частотный словарь слов Хабрахабр и Geektimes, но потом нашла прекрасное: Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica) (перед просмотром данной статьи рекомендую пройти по ссылке), увидела разницу в результатах и решила сделать подобное для статей с Хабрахабр и Geektimes. В обзор не попали статьи с подкастами и нестандартным оформлением (habrahabr.ru/article). Получился анализ 170000 статей. Все изображения кликабельны. Код Wolfram Notebook на github. Датасет на Яндекс.Диске.
Читать полностью »

image

Я присоединился к команде Facebook в 2011 году в качестве инженера бизнес-аналитика. К моменту, когда я покинул команду в 2013 году я уже был дата-инженером.

Меня не продвигали или назначали на эту новую позицию. Фактически, Facebook пришла к выводу, что выполняемая нами работа является классической бизнес-аналитикой. Роль, которую в итоге мы для себя создали, была полностью новой дисциплиной, а я и моя команда находились на острие этой трансформации. Мы разрабатывали новые подходы, способы решения задач и инструменты. При этом, чаще всего, мы игнорировали традиционные методы. Мы были пионерами. Мы были дата-инженерами!

Дата-инжиниринг?

Наука о данных как самостоятельная дисциплина переживает период отроческого самоутверждения и определения себя. В тоже время дата-инжиниринг можно было назвать ее «младшим братом», который тоже проходил через нечто подобное. Дата-инжиниринг принимал от своего «старшего родственника» сигналы, искал свое место и собственную идентичность. Как и ученые, занимающиеся обработкой данных, дата-инженеры тоже пишут код. Он является высокоаналитическим, с большой долей визуализации.

Но в отличие от ученых, работающих с данными и вдохновленными более зрелым прародителем сферы — программированием — дата-инженеры создают собственные инструменты, инфраструктуру, фреймворки и сервисы. На самом деле, мы намного ближе к программированию, чем к науке о данных.
Читать полностью »