SpeechMarkup API — превращаем речь в данные

Автор: admin от 10-11-2014, 23:27, посмотрело: 294

SpeechMarkup API — превращаем речь в данные
В статье пойдет речь о том, как из любого запроса на естественном языке получить реальные данные, с которыми может работать ваше приложение. А именно, о REST API сервиса SpeechMarkup, который преобразует обычную строчку текста в JSON со всеми найденными смысловыми сущностями с конкретными данными в каждой из них.

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

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

Категория: Программирование, Веб-разработка

 

Бородатые дизайнеры о дизайне думают в последнюю очередь

Автор: admin от 10-11-2014, 21:55, посмотрело: 354

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

Итак, речь пойдет о дизайнерах в маленьких компаниях. Но не о тех, кто рисует одноразовые художественные промо-сайты (где часто работает подход «чем оригинальнее, тем лучше»), а о тех, кто создает функциональные, полезные приложения и веб-интерфейсы, рассчитанные на долгосрочное использование. Вроде бы, какая разница, что рисовать – везде кнопки, странички, картинки, текст… А вот и нет. Это совершенно разные задачи и решать их должны люди с совершенно разными навыками и талантами. Но, обо всем по порядку.

Категория: Программирование » Веб-разработка

 

Рушим капчу SilkRoad 2.0

Автор: admin от 10-11-2014, 21:28, посмотрело: 548

Рушим капчу SilkRoad 2.0

Эта статья является продолжением моего предыдущего топика. Вы просили, и я публикую.

Для начала: я был крайне удивлен, что код из первой статьи действительно побеждал капчу SilkRoad. Люди реально стали интересоваться темным интернетом, и, как Вы знаете, появился SillRoad 2.0 после закрытия первого его товарища (хотя второй, тоже недавно был закрыт). О взломе капчи мы поговорим с Вами под катом.

Категория: Программирование, Веб-разработка

 

network manager + автоматизация http-логина в wifi

Автор: admin от 10-11-2014, 19:26, посмотрело: 417

Пост будет коротким, но очень полезным.

abstract: Есть масса wifi-хот-спотов, которые просят сделать какую-нибудь глупость при подключении. Ввести пароль в http-форме, поставить чекбокс «согласен с продажей почки в обмен на интернет» и т. д.

Это задалбывает, особенно, если из wifi периодически выкидывает. В посте предлагается простое решение для автоматизации логина с помощью хуков Network Manager.

Подготовка


Нам надо понять куда кого как посылать, чтобы оно заработало. Ставим firebug или любой другой похожий плагин. Включаем, идём в вкладку 'net', включаем persistent (это важно), логинимся.

Получаем вот такое:

network manager + автоматизация http-логина в wifi

Находим POST (если их несколько — методом перебора и комбинирования), выбираем copy as curl, сохраняем куда-нибудь на будущее.

Дальше находим uuid нашего коннекта — в файле /etc/NetworkManager/system-connections/our_wifi.

Пишем скрипт (всё ниже — от рута) в каталоге /etc/NetworkManager/dispatcher.d/, например, /etc/NetworkManager/dispatcher.d/02-our_wifi-auto

Категория: Программирование, Системное администрирование, Linux, Сетевые технологии

 

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Автор: admin от 10-11-2014, 19:09, посмотрело: 410

Москва • 28 октября 2014 • Digital October

Хоть и с опозданием, решил поделиться с вами своими впечатлениями от посещения #MBLTDev 2014. Отличная конференция, надеюсь, кому-то пригодятся мои заметки.

#MBLTDev 2014 глазами простого iOS-разработчика из Тинькофф Банка

Категория: Веб-разработка, Game Development, iOS

 

Создание универсального UIAlertController'а для различных версий iOS

Автор: admin от 10-11-2014, 18:08, посмотрело: 440

Одними из самых востребованных классов в UIKit до выхода iOS версии 8 являлись UIAlertView и UIActionSheet. Наверное, каждый разработчик приложений под мобильную платформу от Apple рано или поздно сталкивался с ними. Показ сообщений или меню выбора действий — это неотъемлемая часть практически любого пользовательского приложения. Для работы с этими классами, а точнее для обработки нажатий кнопок, программисту требовалось реализовывать в своем классе методы соответствующего делегата — UIAlertViewDelegate или UIActionSheetDelegate (если не требовалось чего-то сверх, то достаточно было реализовать метод clickedButtonAtIndex). На мой взгляд это очень неудобно: если внутри объекта создавалось несколько диалоговых окон с разными наборами действий, то их обработка все равно происходила в одном методе с кучей условий внутри. С выходом 8 версии iOS в составе UIKit появился класс UIAlertController, который пришел на смену UIAlertView и UIActionSheet. И одной из его главных отличительных черт является то, что вместо делегатов он использует блочный подход:

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Hello" message:@"Habr!" preferredStyle:UIAlertControllerStyleAlert];
    
    [alertController addAction:[UIAlertAction actionWithTitle:@"Action" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        // код обработчика кнопки
    }]];

Такой подход позволяет писать более структурированный и логичный код. Отныне программисту больше не требуется разделять создание диалогового окна и обработку событий — UIAlertController устраняет это недоразумение, но одновременно с этим привносит историческую несправедливость из-за невозможности использования в iOS 7 и более ранних версиях. Решить эту проблему можно несколькими способами:


  • Не обращать внимание на UIAlertController и продолжать использовать устаревшие UIAlertView и UIActionSheet.

  • Использовать нестандартные диалоговые окна. Программист либо пишет собственную реализацию, что приводит к увеличению временных затрат, либо подключает сторонние компоненты (например, SIAlertView), использование которых имеет ряд недостатков:

  • программные модули с хорошей поддержкой можно пересчитать по пальцам (зачастую их создатели быстро забрасывают это неблагодарное дело);

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



  • Проверять версию iOS и создавать либо UIAlertController, либо UIAlertView или UIActionSheet.


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

Категория: Game Development, iOS

 

Перевыпускаем сертификат с SHA-2 — если Webnames не идет к Магомету…

Автор: admin от 10-11-2014, 18:06, посмотрело: 621

Перевыпускаем сертификат с SHA-2 — если Webnames не идет к Магомету…Как было объявлено 5 сентября 2014 года, разработчики браузера Chromium уже не очень жалуют алгоритм хеширования SHA-1. Сам вид адресной строки браузера будет давать понять посетителям https-сайтов, «закрытых» такими сертификатами, что с сайтом что-то «не те». Вид строки будет меняться со временем, давая время для более-менее плавного перехода, а в конце сертификаты с SHA-1 перестанут считаться вообще сколько-нибудь безопасными:

Перевыпускаем сертификат с SHA-2 — если Webnames не идет к Магомету…

Категория: Системное администрирование, Веб-разработка, Информационная безопасность

 

История о том, как мобильный оператор списал деньги с разработчика Dr. Tariff (захватите попкорн)

Автор: admin от 10-11-2014, 17:45, посмотрело: 370

История о том, как мобильный оператор списал деньги с разработчика Dr. Tariff (захватите попкорн)

На прошлой неделе мы решили рассказать читателям Хабра о том, как устроен профиль потребления абонента сотовой связью в России по агрегированным данным из Dr. Tariff (Google Play, App Store). Считали различные метрики, спорили о том, есть ли сезонность на рынке связи и как правильней считать эластичность спроса по цене. Вдруг завибрировал телефон…

Категория: Веб-разработка, Android, iOS

 

Список издателей для разработчика мобильных игр

Автор: admin от 10-11-2014, 17:39, посмотрело: 554

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

Немного лирики. Я – разработчик мобильных игр. Силами небольшой инди-команды мы разрабатываем небольшую, довольно хардкорную игру в стиле «два замка» для мобилок. Пару месяцев назад мы добрались-таки до момента, когда необходимо было определиться с выбором издателя.

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

Категория: Веб-разработка, Game Development

 

Как в Яндексе используют PyTest и другие фреймворки для функционального тестирования

Автор: admin от 10-11-2014, 16:47, посмотрело: 965

Всем привет! Меня зовут Сергей, и в Яндексе я работаю в команде автоматизации тестирования сервисов монетизации. Перед каждой командой, которая занимается задачами автоматизации тестирования, встает вопрос: «Какой [фреймворк|инструмент] выбрать для написания своих тестов?» В этом посте я хочу помочь вам на него ответить. Если быть конкретнее, речь пойдет об инструментах тестирования на языке Python, но многие из идей и выводов можно распространить на другие языки программирования, поскольку подходы часто не зависят от конкретной технологии.

Как в Яндексе используют PyTest и другие фреймворки для функционального тестирования


В Python существует множество инструментов для написания тестов и выбор между ними неочевиден. Я опишу интересные варианты использования PyTest и расскажу о его [плюсах|минусах|неявных возможностях]. В статье вы найдёте развёрнутый пример использования Allure, который служит для создания простых и понятных отчётов автотестов. Также в примерах будет применяться фреймворк для написания матчеров — Hamcrest для Python. Надеюсь, что в итоге, те, кто сейчас в поиске инструментов для тестирования, смогут на основе изложенных примеров быстро внедрить функциональное тестирование в своем окружении. Те же, кто уже использует какой-то инструмент, смогут узнать новые подходы, варианты использования и концепции.

Категория: Веб-разработка, Яндекс

 
Назад Вперед