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

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

     19.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Визуализация использования GIL в CPython

Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3.

Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM.

     19.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Подключение Yandex Database к serverless телеграм боту на Yandex Functions

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

В качестве базы данных мы будем использовать Yandex Cloud Database.

     18.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Песочный алфавит при помощи генеративных алгоритмов


В посте есть результаты экспериментов с различными биологическими и физическими закономерностями, в частности песочный сплайн, дифференциальная решетка, песчаные творения и песочные знаки.

     17.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Конфигурация проекта внутри и вне Kubernetes

Недавно я написал ответ о жизни проекта в Докерах и отладке кода вне него, где мельком упомянул о том, что можно сделать свою систему конфигурирования, чтобы сервис и в Кубере хорошо работал, подтягивал секреты, и локально удобно запускался, в том числе вообще вне Докера. Ничего сложного, но описанный "рецепт" может кому-то пригодится :) Код на Питоне, но логика к языку не привязана.

     17.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Зарплаты Python-разработчиков: самые большие зарплаты не в Москве, а в Воронеже нет сеньоров

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

     16.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Парсинг и аудит

Начнем с идеи. Допустим, вы, как настоящий аудитор, хотите провести экспертизу отчетности заводчика собак, используя в том числе и сторонние ресурсы. Для этого вы пробуете получить систематизированную информацию о щенках заводчика, зная, к примеру, лишь название их пород, и составить из нее таблицу в Pandas, пригодную к дальнейшей обработке любого характера (всевозможные статистические изыскания, агрегация и так далее). Но ваши данные хранятся в глубине некоторого абстрактного вебсайта, откуда вы можете вынуть их в только виде архива, где сложены документы нескольких форматов, внутри которых есть текст, картинки, таблицы. А если пород щенков много, а на каждую из них есть по десятку pdf-файлов с таблицами, откуда вам нужна не вся информация, а также, например, нужны названия этих таблиц или сноски? Добавим в наш проект несколько функций, решающих следующие задачи: выгрузка и распаковка архива с данными, поиск и обработка pdf файлов из архива, анализ полученных данных.

     16.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Как построить диаграмму на Python

Каждый, кому хоть раз приходилось строить диаграммы в draw.io или Google Diagrams, помнит всю утомительность и медлительность этого процесса. Сегодня делимся с вами материалом, в котором шаг за шагом показывается, как можно строить красивые архитектурные диаграммы с помощью Python. Главное удобство — встроенные узлы для обозначения сервисов и языков программирования. Только код и никакой мыши.

     15.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

DataArt запустил бесплатную платформу Kiddo — онлайн-задачник для школьников, изучающих Питон

Пополнить базу собственными задачами может любой желающий, а на свой сайт встроить Kiddo не сложнее, чем плеер YouTube.

     15.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Разработка онлайн-сервиса для инвесторов на pythonanywhere.com с использованием данных Yahoo Finance

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

     14.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Система рекомендаций фильмов с GUI на Python

«Без опыта я никому не нужен! Где взять опыт?» — часто думают люди, осваивающие новую для себя сферу или изучающие новый язык программирования. Решение есть — делать пет-проекты. Представленный под катом проект системы рекомендации фильмов не претендует на сложность и точность аналогичных систем от энтерпрайз-контор, но может стать практическим стартом для новичка, которому интересны системы рекомендации в целом. Этот пост также подойдет для демонстрации как использовать Python-библиотеку EasyGUI на практике.

Важное предупреждение: если вы крепкий миддл либо сеньор, то проект может показаться вам простым. Однако не стоит спешить опускать палец вниз и забывать про тех, кто не так опытен, и кому пост может быть полезен, ведь все мы когда-то были джунами.

     14.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Логирование запросов к приложению Django

В статье - наработки по логированию запросов к приложению Django. С помощью небольшого количества кода Django/Python можно быстро и просто собрать различные характеристики запросов к приложению и провести их анализ.

     14.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Насколько плох переезд

В хорошем подмосковном городе есть плохой железнодорожный переезд. В час пик встает не только он, но и соседние перекрестки и дороги. Проезжая в очередной раз, я задался вопросом — какая у него пропускная способность и можно ли что-то изменить?

     13.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Делаем нейронную сеть, которая сможет отличить борщ от пельмешек

Как то раз смотря видос про достижения Поднебесной, я увидел прикольную штуку. Столовую будущего, точнее для Китая настоящего, а для нас будущего. Суть заключалась в полном самообслуживание клиента. Он брал блюда на поднос и подносил поднос к видео камере где нейросетка детектировала и распознавала еду, выставляла ему счет и он через еще одну нейронную сеть, которая распознавала его лицо, оплачивал свою покупку. Мне тоже захотелось сделать что то подобное. Размечать датасет под YOLO, что бы можно было детектировать блюда мне было совсем не охото. Готово размеченного с борщами и пельмешками я не нашел, поэтому решил сделать только классификацию.

     13.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Оценка качества газонных травостоев с использованием системы Lawn-Master

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

     12.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Почему интернационализация и локализация имеют значение

Согласно всегда правдивой информации на Википедии, в мире насчитывается около 360 миллионов носителей английского языка. Мы, как разработчики, настолько привыкли писать код и документацию на английском языке, что не осознаем, что это число – это всего. 4,67% населения всего мира. Единый язык общения между разработчиками – это, конечно, хорошо, но это не значит, что пользователь должен чувствовать дискомфорт при использовании вашего продукта.

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

     12.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Видео

Moscow Python Podcast. Нужно ли программисту знать больше одного языка (level: All)

В гостях у Moscow Python Podcast разработчик в компании JetBrains Виталий Брагилевский.

     12.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Мобильные танки и тесты: интервью о тестировании World of Tanks Blitz

У всех есть какое-то представление о франшизе World of Tanks. Но, как правило, оно «снаружи» (пользовательское) и общее. А что, если посмотреть изнутри, и рассмотреть какие-то очень конкретные вопросы? Скажем, на каком языке пишут тесты для мобильной World of Tanks Blitz, и по каким причинам выбрали его?

     12.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Голосовой бот + телефония на полном OpenSource. Часть 2 — учим бота слушать и говорить

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

     12.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Dependency Injector 4.0 — упрощенная интеграция с другими Python фреймворками

Вышла новая мажорная версия Dependency Injector 4.0. Основная фича этой версии — связывание (wiring). Она позволяет делать инъекции в функции и методы без затягивания их в контейнер. Статья расскажет о том как применять новую фичу, и как она упрощает интеграцию с другими фреймворками.