Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Как силами робота автоматизировать проверку номера, его подтверждение или изменение

Блог компании МТТ API *Облачные сервисы *

«Здравствуйте! Я робот-помощник <службы доставки>. Звоню Вам для подтверждения заказа, который оформлен на номер <number>. Он же будет контактным для курьера. Вы подтверждаете номер для заказа <number>?».

Меня зовут Дмитрий Лупонос. Я программист 1С, который любит интеграции со сторонними сервисами (да, я существую). Я веду задачи, которые иногда касаются управления голосовым роботом. И да, это не спам, а совершенно добровольное согласие пользователя, который самостоятельно ставит галочку в поле «Звонки от робота».

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

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

Нажать для раскрытия темы
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 157
Комментарии 0

Новости

Новое, старое, улучшенное и поддержка китайских процессоров: что собой представляет ядро Linux 5.19

Блог компании Selectel Open source *Разработка под Linux *Софт

Прошло совсем немного времени со времени релиза 5.18, и Линус Торвальдс представил новый — 5.19. Как всегда, исправлений огромное количество — свыше 16 000 от 2190 разработчиков. В прошлом релизе было примерно столько же, так что в мире Linux, можно сказать стабильность.

Объем патча составил 90 МБ, при этом изменены в разной степени почти 14 000 файлов. Добавлено 1,14 млн строк кода, удалено при этом 349 177 тыс. Что касается фокуса изменений, то активнее всего велась работа с драйверами устройств, это около 39% всех изменений, еще около 21% — обновление кода, связанное с различными аппаратными архитектурами. Ну и уже меньше изменений, связанных с сетевым стеком, файловыми системами и внутренними подсистемами. Под катом подробности о главных новшествах и апдейтах.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.1K
Комментарии 2

Немножко про автоматизацию тестирования API

Блог компании OTUS Тестирование IT-систем *Тестирование веб-сервисов *

Тестирование сетевых приложений разделяется на несколько взаимосвязанных этапов и значительно зависит от корректности работы API. Нередко API публикует большое количество методов, манипулирующих объектами хранилища данных, часть из которых защищено механизмами авторизации. Тесты включают в себя последовательность операций по созданию-изменению-удалению объектов и могут состоять из большого количества запросов, которые предпочтительно проверять без участия тестировщика. В этой статье мы обсудим различные подходы к автоматизации тестов API с использованием Postman, Rest Assured и Karate DSL.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 751
Комментарии 1

Чувак, где моя черепаха?

Занимательные задачки Java *Алгоритмы *Brainfuck *

Как написать программу, чтобы победить на конкурсе плохого кода? Этот вопрос я задал сам себе, когда прочёл о необычном челлендже на форуме reddit. Да, вы правильно поняли. Это статья не о чистом коде и правильных тестах. Но здесь не будет и речи о плохом, заурядно плохом коде, том коде, который мы очень часто видим в наших проектах. Я расскажу об экстремальном, невообразимом, гениально плохом коде, коде, который использует те возможности джавы, о которых вы, скорее всего, и не догадывались, и те приёмы, которые вы никогда не встретите в обычных проектах. Сможете ли вы использовать эти приёмы на практике? Думаю, нет. Если вы прагматичный человек, то сэкономите своё время и остановитесь. Не читайте эту статью. Однако если вы хотите немного отвлечься от повседневной рутины, увидеть и узнать что-то новое о нашем любимом языке Java, - милости просим!

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.7K
Комментарии 6

Юнга, стоп, у нас кончились ресурсы. Или как мы оптимизировали наши микросервисы

Java *Kotlin *
Из песочницы

Всем привет. Как вы все знаете после определенных событий у нас случился ресурсный кризис. И появился запрос на оптимизацию потребляемых ресурсов.

Темой и станет оптимизация потребления ресурсов микросервисов и уменьшение времени выполнения наших запросов.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.4K
Комментарии 7

Компания Ростсельмаш сливает данные своих клиентов

Информационная безопасность *Java *OpenStreetMap *Хранение данных *
Из песочницы

Компания Ростсельмаш, сливает данные своих клиентов.

Сегодня хочу поделиться своим мнением и опытом использования, сервисом картирования от компании Ростсельмаш.

У компании есть сервис под название Agrotronic. Который позволяет отлеживать данные по картированию. Для того, чтобы пользоваться их сервисом нужно купить датчики на комбайны, стоимостью от 500 т.р. шт. Поставить их на комбайн и когда техника будет убирать урожай на полях, на сайте будет отображаться в какой части поля, какая урожайность.

Читать далее
Всего голосов 21: ↑17 и ↓4 +13
Просмотры 3.6K
Комментарии 14

Сложности переноса Papers, Please на мобильные

Разработка под iOS *Разработка мобильных приложений *Разработка игр *Разработка под Android *Игры и игровые консоли
Перевод
Mobile-Title

Я разработал Papers, Please в 2013 году специально с расчётом на десктопные компьютеры и управление мышью. В 2022 году десктопных компьютеров уже не существует и все компьютеры — это мобильные телефоны. Настало время обновить этого динозавра.

Эта статья из тысяч слов и мегабайтов изображений раскроет вам некоторые аспекты портирования игры с большого десктопа на маленький телефон. Отдавая дань прошлому, я написал эту статью как большой кусок текста с вкраплениями тегов img, а не превратил её в яркое видео. Ещё через девять лет я портирую этот пост в VR.

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

То же блюдо на другой тарелке.
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 2.2K
Комментарии 1

Агрегации метрик DataDog

Блог компании SDVentures Анализ и проектирование систем *

На пути от наблюдаемой системы до пользователя DataDog (здесь и далее - DD) метрические данные неизбежно проходят несколько этапов агрегации. Это означает, что в момент чтения метрик пользователь DD оперирует не конкретными значениями, а их агрегатами. Теоретически возможно записать в DD метрики таким образом, чтобы они в итоге не были подвержены агрегации, но это не имеет смысла и противоречит самой концепции DD.

Читать далее
Рейтинг 0
Просмотры 219
Комментарии 0

Security Week 2232: вредоносные npm-пакеты

Блог компании «Лаборатория Касперского» Информационная безопасность *
В свежем исследовании экспертов «Лаборатории Касперского» проанализирована вредоносная кампания LofyLife. В конце июля в репозитории Node Package Manager обнаружили четыре вредоносных пакета. Помимо легитимной функциональности (обработка текстовых данных и подобное), они содержат обфусцированный вредоносный код, предназначенный для кражи токенов доступа к чат-сервису Discord и платежной информации.


Вредоносный код на языке Python представляет собой слегка измененную версию троянской программы Volt Stealer, код которой доступен всем желающим. Токены доступа к Discord отправляются с компьютера жертвы атакующему по протоколу HTTP. Помимо этого, в зараженных пакетах есть отдельный зловред на JavaScript, который исследователи назвали Lofy Stealer. Он также направлен на кражу данных из чат-сервиса, но работает немного сложнее — заражает файлы самого клиента Discord, чтобы затем отслеживать вход пользователя в систему, смену e-mail, включение многофакторной авторизации. Если ввести в Discord данные кредитной карты для оплаты, Lofy Stealer может перехватить и их.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 608
Комментарии 0

Сервер авторизации для микросервисов на Spring Boot

Блог компании OTUS Программирование *Java *
Перевод

В этой статье рассмотрим, как реализовать аутентификацию с помощью централизованного сервера авторизации (Authorization Server) и API-шлюза (API Gateway).

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 972
Комментарии 4

Паттерны проектирования в Dart. Часть 2

Блог компании OTUS Анализ и проектирование систем *Проектирование и рефакторинг *Dart *Flutter *

В первой части статьи мы рассмотрели основные и порождающие шаблоны и особенности их реализации на Dart. Теперь пришло время поговорить о структурных шаблонах и о их реализации с использованием синтаксических конструкций языка Dart и возможностей стандартной библиотеки. Мы будем стараться исключать возможности, предоставляемые такими сущностями языка как символы и рефлексия (пакет dart:mirrors), поскольку они не поддерживаются во Flutter (но обозначим возможные их применения при использовании Dart для бэкэнда), предпочитая использовать кодогенерацию во всех ситуациях, где это возможно.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 490
Комментарии 0

Cистемы распознавания документов — 5 моментов, о которых стоит знать ДО начала проекта

Обработка изображений *Машинное обучение *Искусственный интеллект

Итак, вы приняли решение автоматизировать ввод первички, кого же выбрать?

Беглый просмотр интернета выявит более 20 компаний, которые так или иначе занимаются распознаванием документов. Как определить, на кого обратить внимание?

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

Читать далее
Рейтинг 0
Просмотры 949
Комментарии 0

Как работают нейронные генераторы картинок (в формате ELI5)

Машинное обучение *Искусственный интеллект

Хочу очень кратко рассказать, на каких принципах построены современные нейронные генераторы картинок, чтобы немножко разбавить флёр волшебства и магии, который окружает публичное обсуждение результатов их работы. Для того, чтобы понимать перспективы собственных профессий в мире, где похожие генераторы производят вообще все виды электронных артефактов (видео, тексты, программы, 3D-модели и так далее), – а этот мир нас, безусловно, ожидает в самом ближайшем будущем – надо понимать, что за генерацией стоит довольно простая математика на основе данных, которые ввели клавиатурой и мышкой и закачали в интернет люди.

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 842
Комментарии 0

Философия борьбы с NAT

C++ *Сетевые технологии *Серверное администрирование *Разработка под Linux *Разработка под Windows *

Приветствую всех.

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

Небольшая ремарка.

Все мы видим как радикально изменила мир цифровая революция. Весь мир, без преувеличения, переселился в Интернет. Первыми были ученые и программисты, за ними последовала продвинутая молодежь, далее пришел бизнес и все закрутилось. Реклама, бурное развитие социальных сетей, появление IT гигантов. С опозданием и скрипом, чертыхаясь, порой как слон в посудной лавке, подтянулось и государство. Однако, если в 90-х и 00-х Интернет был своеобразной территорией свободы и даже анархии, то теперь он все больше становится похожим на Матрицу, ну или некоторое множество её вариаций. Парадокс в том, что Интернет задумывался как децентрализованная система, но в социальном его воплощении движется в сторону гиперцентрализации. Торрент, Tor, криптовалюты это скорее история ярких бунтов на корабле подтверждающих неоднозначность его курса. Причин такому развитию много, но главная пожалуй в том, что Сеть при всех возможностях расширяющих социальные границы это еще и гигантские возможности по сбору и анализу информации, и как следствие торговля и манипулирование информацией и даже формирование информационных потоков. И все это умножается с развитием ИИ. Даже посто чувствовать себя рыбкой в аквариуме не очень приятно, не говоря уже о прочих угрозах. Виртуальная реальность, хоть и является проекцией реальной жизни, но сильно обделяет нас одной важной естественной возможностью из реального мира. Это возможность устанавливать и развивать связи без посредников. Распределенные системы построенные на peer-to-peer связях в социальном сегменте Сети пока скорее экзотика. Исключение разве что криптовалюты. Тем не менее непрерывные скандалы с утечками персональных данных, слежками, блокировками, модерациями и манипуляциями в социальных сетях, на мой взгляд формируют соответствующий социальный запрос. С чисто технической стороны, одним из препятствий тормозящим многие годы широкое развитие распределенных систем является все никак не уходящий IPv4 и порожденный им NAT. Собственно об этом мы дальше и поговорим. Кому интересно съедаем красную пилюлю и отправляемся в суровый Зион. Синяя пилюля вернет вас назад в мир сладких грез.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.9K
Комментарии 7

Кастомное автоматическое обновление конфигураций клиентов Spring Cloud Config Server. Часть 1: настройка клиента

Блог компании OTUS Java *
Tutorial

Описывается, как можно инициировать автообновление клиентов Spring Cloud Config Server без использования Spirng Cloud Bus или какой-либо иной вспомогательной технологии в качестве посредника

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 210
Комментарии 0

Анимация интерактивной карусели во Flutter

Разработка мобильных приложений *Flutter *
Tutorial

Я — Тим, разработчик в Гудитворкс. Когда мы делали приложение-гид по ресторанам, мне нужно было анимировать карусель карточек. На упрощенном примере я покажу, как во Flutter сделать такую интерактивную карусель. В конце рассказа — ссылка на репозиторий с полным кодом примера.

За иллюстрацию к статье спасибо DALL·E

Читать далее
Рейтинг 0
Просмотры 490
Комментарии 2

Напишите свою инфраструктуру Kubernetes — как код Go

Блог компании RUVDS.com Виртуализация *Go *Kubernetes *
Перевод

cdk8s (Cloud Development Kit for Kubernetes) — это опенсорсный фреймворк (часть CNCF), при помощи которого можно определять приложения Kubernetes при помощи обычных языков программирования (вместо yaml). В предыдущих постах по этой теме я познакомил читателей с фреймворком и рассказал об использовании библиотеки cdk8s-plus для дальнейшего расширения базовых возможностей функций библиотеки cdk8s. В этом посте мы ещё больше расширим границы возможностей cdk8s.

Я продемонстрирую, как можно использовать Kubernetes Custom Resource Definitions при помощи cdk8s. Мы начнём с простого примера Nginx, а затем используем комбинацию CRD проекта Strimzi вместе с Go cdk8s для описания и развёртывания кластера Kafka на Kubernetes!
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 1.5K
Комментарии 3

Как спорить про результаты A/B тестирования

Анализ и проектирование систем *Исследования и прогнозы в IT *Аналитика мобильных приложений *Управление продуктом *

Спорить плохо, но раз уж всё равно все спорят, то почему бы не делать это конструктивно и продуктивно :)

Лайфхак как успешно убеждать датасайентистов по результатам A/B тестирования. Работают такие аргументы:

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 744
Комментарии 3

PyCon Russia 2022: два дня докладов, песни под гитару и костер в центре Москвы

Python *Конференции

Товарищи! PyCon Russia 2022, о необходимости которого все время говорили большевики питонисты, совершился! 30 и 31 июля в Москве состоялась самая долгожданная, уютная и душевная конференция для python-разработчиков и специалистов data science и ml. Мы выдохнули и спешим рассказать, как это было. 

Не секрет, что этот год для организации IT-движух выдался трудным (как, впрочем, и предыдущие два). Кто-то уже релоцировался, кто-то в процессе, а кому-то участвовать не позволила религ обстановка в стране… Поэтому мы невозможно рады, что наш PyCon Russia состоялся! Спикеры были крутые, доклады классные, а участников оказалось ничуть не меньше, чем в более спокойные годы. Спасибо всем, кто в нас поверил, – вместе мы опять сделали тусовку незабываемой. А теперь к сути. 

Читать далее
Всего голосов 7: ↑3 и ↓4 -1
Просмотры 1.1K
Комментарии 1

Восстановление (импутация) данных с помощью Python

Блог компании OTUS Python *

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

В науке о данных разведочный анализ данных (exploratory data analysis, EDA) является самым важным этапом в проекте и занимает около 70-80% времени всего проекта. Такой анализ позволяет изучить какие-то свойства данных, найти в них закономерности, аномалии, очистить их, подготовить и построить начальные модели для дальнейшей работы. На этом этапе можно определить вид распределения, оценить основные его параметры, обнаружить выбросы, построить матрицу корреляции признаков и т.д.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 698
Комментарии 0