IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     25.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Опыт сопряжения Java, JavaScript, Ruby и Python в одном проекте посредством GraalVM

В прошлом месяце вышла стабильная LTS-версия многоязычной среды выполнения GraalVM 20.3.0 от корпорации Oracle и мне захотелось испробовать её для решения какой-нибудь интересной практической задачи. Для тех кто не в курсе, приведу краткое описание этой новой платформы. GraalVM позволяет использовать в едином окружении различные популярные языки программирования и обеспечивает их разностороннее взаимодействие в рамках некоторой общей среды выполнения.

     25.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Я единственный из 1400, или самый крутой рекрутинг, что я проходил

Я уже лет 10 пишу код на питоне, и последние 2.5 года стабильно работал на американскую компанию. Наверно, многим знакома история, когда ты кодишь-кодишь, вроде всё неплохо, и внезапно ты - самый знающий и опытный в команде и добро пожаловать в тим лиды. Астрологи объявили неделю менеджмента, количество кода снизилось на 100%.Попробовав себя менеджером, я понял, что я дебил (как менеджер), и начал искать другую работу. Ребятушки, я офигел от того, насколько разный подход у компаний к найму. И мне кажется, я нашёл кое-что интересное, а если точнее - самый логичный и организованный процесс найма, что я видел. Да что же там?

     24.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Решаем мини-игру про взлом протокола в Cyberpunk 2077 за 50 строк на Python

Если вы хотя бы отдалённо интересуетесь играми и не прожили последнюю пару лет в тайге, то, вероятно, слышали что-нибудь о Cyberpunk 2077. После долгого ожидания она наконец вышла! И в ней есть мини-игра про взлом! И чем больше получишь в ней очков, тем ценнее приз! Может ли магия Python дать нам преимущество в этом жестоком Нете? Разумеется.

     23.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Как джуниор Python-разработчику стать мидлом за год

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

     23.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи
     23.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Ещё раз о производительности фреймворков Python для веб разработки

Недавно мне пришлось начинать проект нового веб сервиса, и я решил протестировать максимальную нагрузочную способность Django, а заодно сравнить её с Flask’ом и AIOHTTP. Результат показался мне неожиданным, поэтому я «просто оставлю» его тут.

На диаграммах ниже приведены результаты простейшего Apache Benchmark’a для фреймворков Django версии 3.1, Flask 1.1 и AIOHTTP 3.7. AIOHTTP работает в «штатном» однопоточном асинхронном режиме, Django и Flask обслуживаются синхронным WSGI сервером Gunicorn с числом потоков, равным числу доступных ядер процессора * 2. ASGI в тесте не участвовал.

     22.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри

В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтобы облегчить процесс и сэкономить море времени.

     22.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Обучение на табличных данных. TABNet. Часть 2. Реализация

Декодирование табличных объектов: Предлагаем архитектуру декодера для восстановления табличных функций по закодированным представлениям, полученным с помощью кодировщика TabNet. Декодер состоит из блоков преобразователей признаков, за которыми следуют слои FC на каждом шаге принятия решения. Выходные данные суммируются для получения реконструированных функций.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи
     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи
     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

HDB++ TANGO Archiving System

Это система архивирования TANGO, позволяет сохранять данные полученные с устройств в системе TANGO.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Обучение на табличных данных. TABNet

Хотели представить перевод интересной статьи про обучение с помощью нейронных сетей на табличных данных.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Как прогнозировать результаты спортивных матчей с помощью проекта ML на Python Pandas, Keras, Flask, Docker и Heroku

Во время Чемпионата мира по регби в 2019 году я сделал небольшой научный проект Data Science, чтобы попытаться спрогнозировать результаты матчей, написав о нем здесь. Я развил проект до примера от начала до конца, чтобы продемонстрировать, как развернуть модель машинного обучения в виде интерактивного веб-приложения.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Rust глазами Python-разработчика

Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу новостей, и мы сделали это на Rust. В статье мы расскажем о том, что заставило нас отойти от привычного стека технологий, и покажем, какие плюсы по сравнению с Python есть у Rust. Мы не ответим на вопрос, почему выбор пал именно на Rust, а не Go, например, или на какой-либо другой язык. Также мы не будем сравнивать производительность Python- и Rust-приложений – эти темы достойны отдельного обсуждения.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Прогнозирование обводнённости скважин с помощью методов машинного обучения

По основной профессии я инженер по разработке нефтяных и газовых месторождений. Я только погружаюсь в Data Sciense и это мой первый пост, в котором хотел бы поделиться опытом применения машинного обучения в нефтяной сфере.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Статистика в кармане: Портативная СУБД с базой Росстата для исследователей и не только

Возможно, глядя на этот старый советский плакат, вы подумаете, что я здесь буду агитировать сознательных граждан России участвовать в переписи населения… Но спешу вас разуверить: статья вовсе не об этом. Скорее это рассказ о том, какая официальная статистика собирается в России, где ее искать и как скачать все данные к себе на компьютер или портативное устройство (отсюда и название) и удобно ей пользоваться. Если вам это интересно, читайте дальше!

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Неблокирующие ошибки метода assert в Pytest-check

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

Какой бы подход вы ни выбрали, я думаю, можно с уверенностью сказать, что тесты должны оставаться ясными, краткими, читаемыми и, конечно же, их должно быть просто поддерживать. Лично у меня не возникает проблем с несколькими assert-ами в одном тесте, поскольку я фокусируюсь на одной функциональной области.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Мы скачали 10 миллионов Jupyter-ноутбуков с Github — и вот что мы выяснили

На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

3D ML. Часть 5: свертки на графах

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

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Мелкая питонячая радость #15: генераторы тестовых данных, профайлер и консольная база знаний

При долгой работе с большим проектом так или иначе упираешься в поиск узких мест в коде. Что только программисты не используют для этого — от навороченных профайлеров и брейкпоинтов до выводов print и замеров времени выполнения вручную с выводом таймстампов на консоль.