Собрали в одном месте самые важные ссылки
консультируем про IT, Python
29 февраля 2020 года состоялся официальный микро-релиз библиотек smart-env и python-shell. Тем, кто не в курсе, предлагаю предварительно прочитать первый пост.
Если вкратце, то среди изменений — автодополнение команд, расширение возможностей по запуску команд, немного рефакторинга и багфиксов.
Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предоставляет пользователю классы и функции, которые могут быть при этом полезны (с учётом данной архитектуры).
Lena написана на популярном языке Python и работает с версиями Python 2, 3 и PyPy. Она опубликована под свободной лицензией Apache (версия 2) здесь. В данный момент она ещё разрабатывается, однако описываемое в данном руководстве уже используется, тестировано (общее покрытие всего фреймворка около 90%) и вряд ли будет изменено. Lena возникла при анализе данных экспериментов в физике нейтрино и названа в честь великой сибирской реки.
18 ноября Telegram запустил соревнование по кластеризации данных: Data Clustering Contest. Нужно было за две недели сделать свой новостной агрегатор. Ограничения, которые были установлены в этом соревновании отпугнули кучу людей, но не меня и моих коллег. Я расскажу от том, каким путём мы прошли, какие выборы сделали и с какими сложностями столкнулись. Решение, которое мы заслали в соревнование обрабатывало 1000 документов за 3,5 секунды, занимало 150 Мб, заняло 6 место на публичном голосовании и 3 место в итоговых результатах. Мы допустили много ошибок, из-за которых не заняли место повыше, большинство из них сейчас исправлены. Весь код и все модели можно найти в репозитории. Все скрипты для обучения моделек перенесены на Colab.
Квестоделы применяют Micropython для разработки квестов в реальности последнего поколения и аркадных игр. Современный квеструм - это около 15 электронно-вычислительных устройств, общающихся по сети (MQTT). Большинство из этих ЭВУ - микроконтроллеры (ESP32), которые управляют периферийными устройствами: mp3-плееры, реле и различные датчики, и используют устройства ввода-вывода: дисплеи, диоды, кнопки, клавиатуры и многие другие
Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья сделает чью-то жизнь намного легче.
Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестирование производительности приложения – это совсем другая задача. Есть много разных способов, но самым общим подходом считается создание среды, в которой можно проводить DDoS-атаку на свое приложение и наблюдать за его поведением. Это очень интересная тема, но это не то, о чем я хочу сегодня поговорить. Сегодня мы рассмотрим более простой тест, тот, который вы можете сделать с использованием юнит-тестов Django по умолчанию: то есть тестирование количество обращений вашего приложения к базе данных.
Создание виртуального ассистента, который хорошо бы справлялся с поставленной бизнес-задачей на сегодняшний день, к сожалению, не такой простой процесс, как этого бы хотелось. В первую очередь — далеко не всегда очевидно, из-за чего чат-бот делает ошибки и, что еще более важно, непонятно, как можно минимизировать эти ошибки в сжатые сроки, выделенные на разработку и запуск платформы.
За счет постоянного совершенствования продукта команда IBM Watson Assistant старается сделать процесс создания и запуска виртуального ассистента максимально простым. Сегодня мы расскажем о Dialog Skill Analysis Notebook — фреймворк для Python, который позволяет в кратчайшие сроки разработать высококачественного ИИ ассистента в IBM Watson.
С развитием мобильных устройств, дешевого и доступного мобильного Интернета, объём генерируемых данных пользователями значительно увеличился. IoT устройства уже реалии нашего времени, а не удел фантастов прошлого века. Большая часть имеющихся данных была произведена в течение последнего десятилетия, мне страшно представить что будет в следующие 10 лет.
Инфографика ниже показывает масштабы этой дата-эпидемии.
Mypy помогает нам писать качественный код. Но не со всеми ситуациями он может справиться в одиночку. Для решения этой проблемы в mypy есть плагины. В данном докладе будет рассказано о ситуациях, в которых их нужно писать. Я покажу, как писать свой плагин для решения этих проблем, какие инструменты есть в mypy для этого, и как тестировать свой плагин
С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP). Моему научному руководителю направление было интересно в рамках педагогической деятельности (нужно было пополнить базу примеров, а также посмотреть в сторону недвоичных LDPC), а мне из-за того, что эти коды были плюс-минус на слуху на нашей кафедре. Не все удалось рассмотреть в том году, и поэтому исследование плавно перетекло в мое хобби… Так я набрал некоторое количество материала, которым сегодня и хочу поделиться!