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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как реализовать стек в Python

Возможно вы что то слышали о стеках и задавались вопросом, что это такое? У вас есть общее представление об этом, но вам интересно, как реализовать стек в Python? Тогда вы пришли в нужное место!

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как превратить свою аватарку в Telegram в часы

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

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Python не запрещает вызов private/protected методов потому, что любит тебя :-)

Много копий сломано в обсуждениях того, почему питон эдакий бяка — не запрещает вызывать непубличные методы. И конечно, не раз звучали объяснения в духе «мы все тут взрослые люди», но похоже их было недостаточно, мне кажется, я наконец понял, как это объяснить более понятно, надеюсь, что это действительно так. Напомню, что для private методов питон всего-лишь динамически изменяет имя и никак не ограничивает доступ к нему, а для protected не делает и этого, это просто соглашение об именовании методов, для тех кто не очень в курсе, есть дополнительные материалы.

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как выбрать лучшее место для открытия филиала и визуализировать результаты на картах

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

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Мелкая питонячая радость #4: Radon — качество кода, измеренное в числах

Инженеры очень любят измерения и числа. Поэтому нет ничего удивительного в том, что они пытаются измерять в численном виде такую нетривиальную штуку, как качество кода. Метрик для оценки текстов программ придумали немало — от банального количества строк кода в проекте до не столь очевидного "индекса поддерживаемости" (Maintainability Index). Подробно про все существующие способы обмазывания кода всякими метриками можно почитать в этой статье. В мире Python, конечно же, есть своя штука для оценки качества кода. Она называется radon. Она написана на Python и работает исключительно с питонячими файлами. 

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Автоматизация скучных вещей в Django с помощью фреймворка Check

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

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Выделение ядра Питона

Глиф Лефковиц озвучил идею отделения «батареек» Питона от ядра.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой функциональности, написанных очень компетентными программистами на разных языках, и сравнить разницу в дизайне и выборе языка.

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

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Нейросети и глубокое обучение: онлайн-учебник, глава 1

Этот учебник подробно расскажет вам о таких понятиях, как:

 

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.
Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Полезные инструменты Python

Когда вы только начинаете учить Python, кто-то объясняет вам, что вы можете добавить свою папку с исходниками в переменную среды PYTHONPATH и тогда ваш код можно будет импортировать из других директорий. Очень часто объясняющий забывает сказать, что в большинстве случаев – это плохая идея. Некоторые люди узнают это в интернете, другие просто понимают на собственном опыте. Но слишком большое количество людей (особенно неопытные программисты), думают, что других альтернатив быть не может.

Эта статья в основном для них.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Книга «Вероятностное программирование на Python: байесовский вывод и алгоритмы»

Байесовские методы пугают формулами многих айтишников, но без анализа статистики и вероятностей сейчас не обойтись. Кэмерон Дэвидсон-Пайлон рассказывает о байесовском методе с точки зрения программиста-практика, работающего с многофункциональным языком PyMC и библиотеками NumPy, SciPy и Matplotlib. Раскрывая роль байесовских выводов при А/В-тестировании, выявлении мошенничества и в других насущных задачах, вы не только легко разберетесь в этой нетривиальной теме, но и начнете применять полученные знания для достижения своих целей.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Заполняем документы в Microsoft Word при помощи Python. Часть 1

Начиная с 21 декабря 2016 года вступили изменения в ФЗ РФ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма», касательно обязанности юридического лица по раскрытию информации о своих бенефициарных владельцах. В связи с этим, многие компании направляют запросы по цепочке владения с целью выяснения своих бенефициарных владельцев. Кто-то формирует запросы на бумаге, кто-то рассылает электронные письма.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Dataclasses и attrs: когда и почему

В Python 3.7 были представлены dataclasses (PEP557). Dataclasses могут быть удобным способом создания классов, основная цель которых состоит в том, чтобы содержать значения.

Дизайн dataclasses основан на существующей библиотеке attr.s. На самом деле Гинек Шлавак (Hynek Schlawack) является автором attrs и он же помог с написанием PEP557.

     17.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как мы создали систему оповещения о ядерной угрозе, или как я обучил нейросеть на заголовках Хабра

Заголовок статьи может показаться странным и это неспроста — он прекрасен именно тем, что написал его не я, а LSTM-нейросеть (а точнее его часть перед "или").

И сегодня мы разберёмся, как можно генерировать заголовки статей Хабра (и в принципе сам текст можно генерировать этой же нейро-архитектурой). Весь код доступен для запуска онлайн в notebooks от Гугла. Данные, как всегда, открыты на github.

     16.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Видео

Moscow Python Podcast. В чём кайф и боль Kubernetes в разработке на Python (level: middle / senior)

Как Kubernetes улучшает жизненный цикл Python-приложений? Есть ли сложности в организации оркестровки, с которыми могут столкнуться команды, ведущие разработку на Python? Как вся эта благодать вписывается в концепцию cloud native applications?

     16.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Статьи

Как опубликовать консольную утилиту на PyPI за 1 минуту

Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 2014 года, так ещё и требует от вас создать кучу папок и файлов для совершенно ненужных (вам) вещей.

 

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

     16.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Статьи

Отличия LabelEncoder и OneHotEncoder в SciKit Learn

Если вы недавно начали свой путь в машинном обучении, вы можете запутаться между LabelEncoder и OneHotEncoder. Оба кодировщика — часть библиотеки SciKit Learn в Python и оба используются для преобразования категориальных или текстовых данных в числа, которые наши предсказательные модели понимают лучше. Давайте выясним отличия между кодировщиками на простеньком примере.

 

     16.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Статьи

Telegram. Безлимитный сетевой диск, бесплатный

Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа.

TgCloud:

  • Виртуальная файловая система с открытым исходным г****кодом.
  • На локальном диске — только метаданные: имена, размер, структура папок и т.д.
  • Данные хранятся в Telegram и загружаются только при работе с файлом
  • Размер и тип файлов не ограничен, можно использовать с любой ОС