Работа с естественными языками (NLU, NLP) – зона активной конкуренции между IT-гигантами. Равно как и развитие ИИ. Ну и, соответственно, пересечение этих множеств – тоже горячая ниша, за которой интересно наблюдать и осваивать новое. Voximplant давно подружился с гугловским Dialogflow, причем настолько хорошо, что мы сделали обертку для этой интеграции – Dialogflow Connector. У корпорации IBM есть аналог, Voice Agent на основе Watson, который выполняет ту же задачу – автоматизировать гибкое, адекватное общение с клиентом, чтобы заменить классический IVR. Мы попробовали технологию на простом демо и сегодня пошагово расскажем, как сделать также. А пока вы будете это читать, наши разработчики продолжат делать обертку уже для этой интеграции…
Читать полностью »
Рубрика «Программирование» - 262
Элементарно, Watson: вы интегрируетесь с Voximplant
2019-05-17 в 13:12, admin, рубрики: javascript, voip, voximplant, watson ibm, Блог компании Voximplant, машинное обучение, Программирование, Разработка систем связиServerless по стоечкам
2019-05-17 в 9:53, admin, рубрики: backend, devops, function as a service, serverless, бессерверные вычисления, Блог компании Selectel, Программирование, разработка, Разработка веб-сайтов, Разработка для интернета вещей, разработка мобильных приложений
Serverless ― это не про физическое отсутствие серверов. Это не «убийца» контейнеров и не мимолетный тренд. Это новый подход к построению систем в облаке. В сегодняшней статье коснемся архитектуры Serverless-приложений, посмотрим, какую роль играет провайдер Serverless-услуги и open-source проекты. В конце поговорим о вопросах применения Serverless.
Читать полностью »
Современные возможности C++, о которых надо знать всем программистам
2019-05-17 в 9:30, admin, рубрики: c++, Блог компании RUVDS.com, Программирование, разработкаАвтор материала, перевод которого мы сегодня публикуем, говорит, что C++, в его современном виде, если сравнивать его с тем, чем был этот язык несколько лет назад, значительно изменился в лучшую сторону. Конечно, эти изменения произошли далеко не сразу. Например, в былые времена C++ не хватало динамичности. Непросто было найти человека, который мог бы сказать, что он питает к этому языку нежные чувства. Всё изменилось тогда, когда те, кто отвечает за стандартизацию языка, решили дать ход новшествам. В 2011 году C++ стал динамическим языком, языком, который постоянно развивается и вызывает у программистов куда больше положительных эмоций.
Не стоит думать, что язык стал проще. Его всё ещё можно назвать одним из самых сложных широко используемых языков программирования, если не самым сложным. Но современный C++ стал гораздо дружелюбнее, чем раньше.
Сегодня мы поговорим о некоторых новых возможностях языка (начиная с C++ 11, которому, кстати, уже 8 лет), знать о которых будет полезно любому программисту.
Читать полностью »
Джулия в лабиринте
2019-05-17 в 6:07, admin, рубрики: astar, Julia, алгоритм Прима, Лабиринты, ненормальное программирование, олимпиадные задачи, поиск в глубину, Программирование, Спортивное программирование
Разбирая одну олимпиадную задачу мы отправимся по петляющим коридорам генерации лабиринтов и их прохождения, а также увидим, что на языке Julia простота реализаций алгоритмов граничит с их псевдокодом.
Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ
2019-05-17 в 4:59, admin, рубрики: архитектура приложений, критика, ооп, паттерны проектирования, Программирование, Совершенный код, структуры данныхОбъектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.
— Эдсгер Вибе Дейкстра
Возможно, это только мои ощущения, но объектно-ориентированное программирование кажется стандартной, самой распространённой парадигмой проектирования ПО. Именно его обычно преподают студентам, объясняют в онлайн-туториалах и, по какой-то причине, спонтанно применяют даже тогда, когда не собирались этого делать.
Я знаю, насколько она привлекательна, и какой замечательной кажется эта идея на поверхности. На разрушение её чар у меня ушли многие годы, и теперь я понимаю, насколько она ужасна, и почему. Благодаря этой точке зрения у меня есть чёткая уверенность в том, что люди должны осознать ошибочность ООП и знать решения, которые можно использовать вместо него.
Многие люди и раньше обсуждали проблемы ООП, и в конце этого поста я приведу список своих любимых статей и видео. Но прежде я хочу поделиться собственным взглядом.
Читать полностью »
Software Defined Radio — как это работает? Часть 2
2019-05-16 в 19:40, admin, рубрики: radio, SDR, гаджеты, Научно-популярное, обработка сигналов, Программирование, Разработка систем связи, Электроника для начинающихПривет.
В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будут приведены примеры использования этой технологии.
Продолжение под катом (осторожно, траффик).Читать полностью »
GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией
2019-05-16 в 15:30, admin, рубрики: asn.1, asyncio, IM, pyderasn, pygost, python, suckless, децентрализованные сети, информационная безопасность, криптография, ПрограммированиеБудучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() вызова у блочного шифра будет достаточно для безопасной отсылки по каналу связи. Другие же считают, что прикладная криптография — удел немногих, и приемлемо, что богатые компании типа Telegram с олимпиадниками-математиками не могут реализовать безопасный протокол.
Всё это побудило меня написать данную статью, чтобы показать, что реализация криптографических протоколов и безопасного IM-а не такая сложная задача. Однако, изобретать собственные протоколы аутентификации и согласования ключей не стоит.
В статье будет написан peer-to-peer, friend-to-friend, end-to-end зашифрованный instant messenger с SIGMA-I протоколом аутентификации и согласования ключей (на базе которого реализован IPsec IKE), используя исключительно ГОСТовые криптографические алгоритмы PyGOST библиотеки и ASN.1 кодирование сообщений библиотекой PyDERASN (про которую я уже писал раньше). Необходимое условие: он должен быть настолько прост, чтобы его можно было написать с нуля за один вечер (или рабочий день), иначе это уже не простая программа. В ней наверняка есть ошибки, излишние сложности, недочёты, плюс это моя первая программа с использованием asyncio библиотеки.
Читать полностью »
Самые редкие и самые дорогие языки программирования
2019-05-16 в 14:36, admin, рубрики: информационные технологии, Карьера в IT-индустрии, подбор персонала, Программирование, управление персоналомПринято считать, что языки программирования, такие как Rust, Erlang, Dart, а также некоторые другие являются самыми редкими в мире IT. Поскольку я подбираю IT специалистов для компаний, постоянно контактируя с айтишниками и работодателями, я решила провести личное исследование и выяснить, действительно ли это так. Информация актуальна для IT рынка России.
Сбор данных
Для сбора информации я изучила количество вакансий, в требованиях к которым нужно было владение языками, а также количество резюме с этим навыком. Данные я собирала в Linkedin, на HeadHunter, с помощью сервиса Amazing Hiring. Также у меня есть личная статистика по заявкам в мое агентство.
В общем и целом моего исследования коснулись восемь языков.
Читать полностью »
Как мы боремся с копированием контента, или первая adversarial attack в проде
2019-05-16 в 12:59, admin, рубрики: adversarial attacks, computer vision, machine learning, object detection, Алгоритмы, машинное обучение, обработка изображений, ПрограммированиеПривет.
Вы знали, что платформы для размещения объявлений часто копируют контент у конкурентов, чтобы увеличить количество объявлений у себя? Они делают это так: обзванивают продавцов и предлагают им разместиться на своей платформе. А иногда и вовсе копируют объявления без разрешения пользователей. Авито — популярная площадка, и мы часто сталкиваемся с такой недобросовестной конкуренцией. О том, как мы боремся с этим явлением, читайте под катом.
Bitmap-индексы в Go: поиск на дикой скорости
2019-05-16 в 12:01, admin, рубрики: bitmap, Go, go assembler, index, pilosa, базы данных, Блог компании Badoo, Программирование, хранение данных
Вступительное слово
Я выступил с этим докладом на английском языке на конференции GopherCon Russia 2019 в Москве и на русском — на митапе в Нижнем Новгороде. Речь в нём идёт о bitmap-индексе — менее распространённом, чем B-tree, но не менее интересном. Делюсь записью выступления на конференции на английском и текстовой расшифровкой на русском.
Мы рассмотрим, как устроен bitmap-индекс, когда он лучше, когда — хуже других индексов и в каких случаях он значительно быстрее них; увидим, в каких популярных СУБД уже есть bitmap-индексы; попробуем написать свой на Go. А «на десерт» мы воспользуемся готовыми библиотеками, чтобы создать свою супербыструю специализированную базу данных.
Очень надеюсь, что мои труды окажутся для вас полезными и интересными. Поехали!
Читать полностью »