Pull to refresh
0
0
Zveroloff @Zveroloff

User

Что делать если Instagram не дал доступ к API?

Reading time 3 min
Views 103K
1 июня 2016 года Instagram отключит от своего API все приложения, которые не прошли модерацию. Что делать если вы в их числе?

Предыстория


Мы делаем сервис для постинга в Instagram по расписанию и используем API для получения информации об аккаунтах. Самим постингом занимаются телефоны в автоматическом режиме. Нам отказали в доступе к API после 1 июня (пробовали пройти модерацию два раза) поэтому было решено найти замену.

Сначала расскажу как мы использовали официальный API:
  1. При добавлении аккаунта забираем из Instagram информацию об аккаунте: имя, фото профайла, количество постов, подписчиков, подписок.
  2. Перед тем как опубликовать фото/видео мы запрашиваем количество постов, и тоже самое после публикации, если число постов увеличилось считаем публикацию успешной.
  3. Если публикация прошла успешно забираем ссылку на последнее фото в профайле.
  4. Если пользователь удаляет фото из нашего сервиса, то перед тем как выполнить задачу нужно проверить существует ли такой пост в Instagram (или его удалили).

Реализация


У Instagram есть веб-версия. С помощью нее в приватных аккаунтах можно получить информацию о количестве постов, подписок и подписчиков, а в публичных еще и сами посты, комментарии и лайки. Поэтому, в силу простоты получения, я подумал, что уже написаны подобные библиотеки. Пошел гуглить и нашел только для NodeJS. И для PHP нашелся какой-то код, но всем четырем пунктам не соответствовал. В итоге было решено писать свою библиотеку.
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 73

Исследование защищенности карты Тройка

Reading time 18 min
Views 202K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты.

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

Внимание! Данные материалы представлены исключительно в ознакомительных целях. Подделка проездных билетов является уголовным преступлением и преследуется по закону.

Читать дальше →
Total votes 380: ↑374 and ↓6 +368
Comments 349

Метрика рекомендательной системы imhonet.ru

Reading time 12 min
Views 18K
Цель этого рассказа — поделиться способами решения проблемы, над которой работали авторы при разработке рекомендательного сервиса imhonet.ru. Поскольку проблема не является чисто научно-технической, а скорее находится на стыке технологий и бизнеса и может быть полезна более широкой аудитории, чем обычный технический отчёт, мы выбрали именно такой формат представления нашей работы — попытались написать рассказ настолько простым языком, насколько это возможно. Первая часть рассказа посвящена довольно подробному обоснованию того, как правильно измерять качество работы алгоритмов рекомендательной системы. А в конце иллюстративно перечислено несколько примеров, в которых мы проводили эти измерения для решения конкретных задач.


Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 8

Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)

Reading time 16 min
Views 90K
То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

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

Итак, магия:


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

Читать дальше →
Total votes 83: ↑82 and ↓1 +81
Comments 64

Использование сверточных сетей для поиска, выделения и классификации

Reading time 5 min
Views 48K
Недавно ZlodeiBaal опубликовал статью «Нейрореволюция в головах и сёлах», в которой привел обзор возможностей современных нейронных сетей. Самым интересным, на мой взгляд, является подход с использованием сверточных сетей для сегментации изображений, про этот подход и пойдет речь в статье.

segnet.png


Уже давно появилось желание изучить сверточные сети и узнать что-то новое, к тому же под рукой есть несколько последних Tesla K40 с 12Гб памяти, Tesla c2050, обычные видеокарты, Jetson TK1 и ноутбук с мобильной GT525M, интереснее всего конечно попробовать на TK1, так как его можно использовать практически везде, хоть на столб фонарный повесить. Самое первое с чего начал, это распознавание цифр, тут конечно удивить нечем, цифры уже давно неплохо распознаются сетями, но при этом постоянно возникает потребность в новых приложениях, которые должны что-то распознавать: номера домов, номера автомобилей, номера вагонов и т.д. Все бы хорошо, но задача распознавания цифр является лишь частью более общих задач.
Читать дальше →
Total votes 35: ↑30 and ↓5 +25
Comments 24

Census Analyzer 1.0: новый инструмент для анализа данных

Reading time 3 min
Views 16K
Привет, Хабр!

Мы в компании JetBrains только что выпустили Census Analyzer — новое веб-приложение для визуализации и анализа данных. Попробуйте его и расскажите нам, что вы думаете!

Census Analyzer является прототипом, “preview”-версией, призванной познакомить пользователей с принципами работы более глобального продукта по анализу данных, который пока в разработке. Но уже сейчас с помощью Census Analyzer вы можете в облаке анализировать данные Бюро переписи населения США (US Census Bureau), работать с графиками и сводными таблицами, составлять графические отчеты, публиковать их и делиться ими в сети.

Давайте посмотрим, чем интересен Census Analyzer.

image
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 34

Что такое RESTful на самом деле

Reading time 8 min
Views 205K
А ваше приложение — RESTful? Чтобы ответить на этот вопрос нужно сначала разобраться что такое RESTful. Бытует мнение, что отдавать правильные коды ответов в HTTP — это уже RESTful. Или делать правильные идемпотентные HTTP-запросы — это вообще очень RESTful. Мы в Хекслете сделали практический курс по протоколу HTTP (отличия версий, отправка форм, аутентификация, куки и пр.), и в нем мы стараемся рассказать о правильном использовании запросов, но нужно понимать, что RESTful это не про HTTP, это вообще не про протоколы интернета. Современный веб и взаимодействие между браузером и сервером с помощью HTTP и URI могут удовлетворять принципам RESTful, а могут и не удовлетворять.

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

Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Comments 106

Как покрыть мониторингом все слои инфраструктуры

Reading time 9 min
Views 31K
image

Как-то я посчитал, что 1 минута простоя hh.ru в будни днем затрагивает около 30 000 пользователей. Мы постоянно решаем задачу снижения количества инцидентов и их длительности. Снизить количество проблем мы можем правильной инфраструктурой, архитектурой приложения — это отдельная тема, ее мы пока не будем брать во внимание. Поговорим лучше о том, как быстро понять, что происходит в нашей инфраструктуре. Тут как раз нам и помогает мониторинг.

В этой статье на примере hh.ru я расскажу и покажу, как покрыть мониторингом все слои инфраструктуры:
  • client-side метрики
  • метрики с фронтендов (логи nginx)
  • сеть (что можно добыть из TCP)
  • приложение (логи)
  • метрики базы данных (postgresql в нашем случае)
  • операционная система (cpu usage тоже может пригодиться)

Читать дальше →
Total votes 45: ↑41 and ↓4 +37
Comments 15

Конкурс kaggle по анализу данных анкетирования населения

Reading time 4 min
Views 8.7K
На kaggle сейчас проходит конкурс USA Census по поиску интересных фактов в American Community Survey данных за 2013 год. Данные этого анкетирования выложены в свободный доступ, подробности можно найти здесь.
Kaggle выбрал для анализа два направления — персональные сведения (пол, возраст, семейное положение и т.д.) и сведения о домохозяйствах (различные характеристики жилья, доход домохозяйства, налоговые платежи и прочее). Хочу поделиться своими результатами, которые сфокусированы на различиях домохозяйств в зависимости от вида права собственности на их жилье — владение с ограничением (ипотека или заем), владение без ограничений и не владеют (аренда).


infographics: American Housing Survey Factsheets
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 4

Почему писать скрипты для борьбы с «браузером Амиго» — зло?

Reading time 9 min
Views 80K
Прочитав пост про удаление ненужного софта мне в который раз стало очень грустно. Автор предлагает «эффективное решение» по избавлению от всякого нежелательного софта, вроде упомянутого «амиго». И если некоторые части скрипта еще можно назвать, ну хотя бы безвредными, то удаление и запрет на запись "%username%\AppData\Local\Apps" выглядит как откровенный саботаж. Плохо еще и то, что такой или аналогичный по механике «полезный скрипт» некоторые всерьез считают действенной мерой. Это далеко не первая статья, от которой у меня сводит скулы, вижу что многие не понимают с чего вообще нужно начинать настройку безопасности в Windows-среде.

Представляю читателям мое видение списка минимально необходимых настроек и действий (в первую очередь для Windows-домена), чтобы никогда не видеть непонятных браузеров и свести риск вредоносного ПО к абсолютному минимуму. Некоторые описанные решения могут показаться спорными, и мало того, они таковыми и являются. Но заранее прошу, увидев первое предложение какого-то пункта, не спешите писать комментарий, прочитайте мысль до конца, возможно у вас отпадут вопросы.
Почему я не знаю как выглядит браузер Амиго?
Total votes 90: ↑77 and ↓13 +64
Comments 204

У нас проблемы с промисами

Reading time 16 min
Views 232K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи
Total votes 139: ↑136 and ↓3 +133
Comments 121

TemplateEngine.Docx — OpenSource .NET шаблонизатор docx документов

Reading time 7 min
Views 46K


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

Хочу поделиться нашим opensource-решением для генерации docx документов, которое позволяет заполнять документы по шаблону, оформление которого можно менять в Word без переписывания кода.

Для начала — немного вводных.

Что нам было нужно от шаблонизатора


  • Шаблон создается в Word и сразу видно, на что будет похож результирующий документ, шаблон без лишнего мусора.
  • Результирующий документ после скачивания содержит все необходимые данные, не подтягивая их с внешних источников.
  • Возможность заполнять списки, таблицы, и иногда еще и таблицы с вложенными в них списками.
  • Шаблон можно доверить секретарю клиента, чтобы он мог сменить логотип, реквизиты компании, или как-либо еще подкорректировать оформление. И все это уже после сдачи проекта, не модифицируя наш код.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 21

Алгоритм извлечения информации в ABBYY Compreno. Часть 1

Reading time 7 min
Views 30K
Привет, Хабр!

Меня зовут Илья Булгаков, я программист отдела извлечения информации в ABBYY. В серии из двух постов я расскажу вам наш главный секрет – как работает технология Извлечения Информации в ABBYY Compreno.

Ранее мой коллега Даня Скоринкин DSkorinkin успел рассказать про взгляд на систему со стороны онтоинженера, затронув следующие темы:

В этот раз мы опустимся глубже в недра технологии ABBYY Compreno, поговорим про архитектуру системы в целом, основные принципы ее работы и алгоритм извлечения информации!



Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Comments 14

Предсказание выживания пассажиров Титаника при помощи Azure Machine Learning

Reading time 9 min
Views 26K
Выражаем большое спасибо за подготовку статьи Кириллу Малеву из компании Merku. Кирилл больше 3х лет занимается практическим применением машинного обучения для разных объёмов данных. В компании решает задачи в области предсказания оттока клиентов и обработки естественного языка, большое внимание уделяя коммерциализации полученных результатов. Закончил магистратуру Болонского университета и НГТУ

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

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


предсказать вероятность спасения утопающих
Total votes 35: ↑29 and ↓6 +23
Comments 2

Как легко понять логистическую регрессию

Reading time 5 min
Views 201K
Логистическая регрессия является одним из статистических методов классификации с использованием линейного дискриминанта Фишера. Также она входит в топ часто используемых алгоритмов в науке о данных. В этой статье суть логистической регрессии описана так, что она станет понятна даже людям не очень близким к статистике.

image
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 4

Задачи вступительного экзамена в ШАД 2014

Reading time 14 min
Views 63K


При поступлении в ШАД проверяются знания в рамках общей программы, включающей базовые разделы высшей алгебры, математического анализа, комбинаторики, теории вероятностей, а также основы программирования. Под катом подробно разобраны задачи вступительного экзамена в ШАД 2014 года. Внимание! Пост довольно объёмный, поэтому устраивайтесь поудобнее, вооружайтесь карандашом, если нужно, доставайте чай с печеньем. Убедитесь, что сделали все дела на вечер! Велика вероятность, что рассматриваемые ниже задачи поглотят ваш разум на несколько часов, а кому-то помешают вовремя лечь спать. Во всяком случае сегодняшний вечер обещает быть интересным. Добро пожаловать под кат
Читать дальше →
Total votes 34: ↑31 and ↓3 +28
Comments 19

Иерархическая классификация сайтов на Python

Reading time 8 min
Views 27K
Привет, Хабр! Как упоминалось в прошлой статье, немаловажной частью нашей работы является сегментация пользователей. Как же мы это делаем? Наша система видит пользователей как уникальные идентификаторы cookies, которые им присваиваем мы или наши поставщики данных. Выглядит этот id, например, так:

42bcfae8-2ecc-438f-9e0b-841575de7479

Эти номера выступают ключами в различных таблицах, но первоначальным value является, в первую очередь, URL страниц, на которых данная кука была загружена, поисковые запросы, а также иногда некоторая дополнительная информация, которую даёт поставщик – IP-адрес, timestamp, информация о клиенте и прочее. Эти данные довольно неоднородные, поэтому наибольшую ценность для сегментации представляет именно URL. Создавая новый сегмент, аналитик указывает некоторый список адресов, и если какая-то кука засветится на одной из этих страничек, то она попадает в соответствующий сегмент. Получается, что чуть ли не 90% рабочего времени таких аналитиков уходит на то, чтобы подобрать подходящий набор урлов – в результате кропотливой работы с поисковиками, Yandex.Wordstat и другими инструментами.
logo
Получив таким образом более тысячи сегментов, мы поняли, что этот процесс нужно максимально автоматизировать и упростить, при этом иметь возможность мониторинга качества алгоритмов и предоставить аналитикам удобный интерфейс для работы с новым инструментом. Под катом я расскажу, как мы решаем эти задачи.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Comments 18

Московский хакатон по машинному обучению — 6-7 июня, в офисе Microsoft на Крылатском

Reading time 1 min
Views 5.9K


Недавно мы провели отличный хакатон по Big Data – получили практически полный зал участников, которые за два дня сделали несколько интересных решений, использовавших в основном открытые источники данных. Время двигаться дальше – и мы делаем хакатон по машинному обучению. С использованием наших инструментов – Azure Machine Learning (для разработки экспериментов и моделей C#/Python/R), HDInsight (Hadoop в облаке), PowerBI (для визуализации).
Проводим в необычном месте – в нашем московском офисе.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 5

Не очень большие данные и определение тональности текста

Reading time 2 min
Views 7.6K
Всякая идея имеет простое, понятное и неправильное решение.
Одно из таких решений я и опишу в этой статье.
Не пытайтесь повторить эти эксперименты дома.
А если попытаетесь — то претензии по сгоревшим процессорам не принимаются.

Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 12

99 ресурсов для продвижения стартапов

Reading time 3 min
Views 48K


В адаптированной нами подборке вы сможете найти множество полезных источников по ряду маркетинговых задач, которые приходится решать всем бизнесам без исключения. Уверены, что каждый сможет найти что-то подходящее для своих проектов.
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 1
1

Information

Rating
Does not participate
Registered
Activity