Size: a a a

2019 April 11
PythonDigest
[Из песочницы] Unittest и абстрактные тесты
https://habr.com/ru/post/447438/?utm_campaign=447438

Unittest — наверное самый известный фреймворк для написания тестов в Python. Он очень прост в освоении и его легко начать использовать в вашем проекте. Но ничто не бывает идеальным. В этом посте я хочу рассказать об одной возможности, которой лично мне (думаю, не одному) не хватает в unittest.
источник
PythonDigest
Подборка @pythonetc, март 2019
https://habr.com/ru/post/447210/?utm_campaign=447210

Это десятая подборка советов про Python и программирование из авторского канала @pythonetc.
источник
PythonDigest
Прорабатываем навык использования группировки и визуализации данных в Python
https://habr.com/ru/post/445834/?utm_campaign=445834

Сегодня будем прорабатывать навык использования средств группирования и визуализации данных в Python. В предоставленном датасете на Github (https://github.com/wesm/pydata-book/tree/2nd-edition/datasets/babynames) проанализируем несколько характеристик и построим набор визуализаций.
источник
PythonDigest
источник
PythonDigest
Проблемы наследования от dict и list
http://treyhunner.com/2019/04/why-you-shouldnt-inherit-from-list-and-dict-in-python/
источник
PythonDigest
Как работает цикл for в Python
https://webdevblog.ru/kak-rabotaet-cikl-for-v-python/

В этой статье мы разберем, работу цикла for в Python.
Мы начнем с пары основных примеров и их синтаксиса. Далее обсудим, когда может быть полезен блок else, связанный с циклом for. Затем мы разберем итерактивные объекты (iterable), итераторы (iterator) и протокол итератора. Также узнаем, как создавать собственные итераторы и итерируемые объекты. После этого мы обсудим, как цикл for реализован с использованием итерактивных объектов и итераторов. Потом мы рассмотрим реализацию логики цикла for, используя цикл while и используя протокол итератора.

И наконец, для тех, кому интересно, мы разберем простой цикл for и пройдемся по инструкциям, которые интерпретатор Python выполняет при выполнении цикла for. Это должно помочь понять, что именно происходит внутри, во время работы цикла for.
источник
PythonDigest
pyts - time series transformation and classification
http://github.com/johannfaouzi/pyts
источник
2019 April 12
PythonDigest
Процессим биткоин. Как устроена страница оплаты в B2BinPay
https://habr.com/ru/post/447418/?utm_campaign=447418

B2BinPay — криптовалютная платежная система с множеством связанных бэкэндов приложений, аналитики, нод, очередей, но лишь одной UI-страницей, которую видит конечный пользователь. К ней предъявляются высокие требования относительно удобства в использовании. Несмотря на кажущуюся простоту страницы, команде разработчиков было бы интересно поделиться тем, как она устроена изнутри.


Для понимания бизнес-процессов потребуется погрузиться в предметную область. Для читателей, которые ещё не знают, что такое криптовалюта, блокчейн и адрес, мы составили короткие и понятные определения под катом.
источник
PythonDigest
Пишем web framework. Часть IV
http://rahmonov.me/posts/write-python-framework-part-four/
источник
PythonDigest
Алгоритмы сортировки в Python
https://webdevblog.ru/algoritmy-sortirovki-v-python/

Иногда данные, которые мы храним или извлекаем в приложении, могут находится в беспорядочном состояние. И иногда возникает необходимость упорядочивания данные прежде чем их можно будет эффективно использовать. За все эти годы учеными было создано множество алгоритмов сортировки для организации данных.
В этой статье мы рассмотрим наиболее популярные алгоритмы сортировки, разберем, как они работают, и напишем их на Python. Мы также сравним, как быстро они сортируют элементы в списке.
Для простоты реализации алгоритмов сортировать числа будем в порядке их возрастания.
источник
PythonDigest
Расширение mypy с помощью плагинов
https://habr.com/ru/post/447556/?utm_campaign=447556

Известно, что Python – язык с динамической типизацией. Очень просто писать DSL-подобные фреймворки, которые трудно разобрать инструментами статичной проверки типа. Несмотря на это, с помощью последних функциональных новшеств mypy, таких как protocols (https://mypy.readthedocs.io/en/latest/protocols.html) и literal types (https://mypy.readthedocs.io/en/latest/literal_types.html), а также с базовой поддержкой метаклассов и поддержкой дескриптора, мы можем чаще получать точные типы, однако по прежнему трудно избежать ложных срабатываний и других негативных факторов. Чтобы решить эту проблему и избежать необходимости кастомизировать систему типов для каждого фреймворка, mypy поддерживает систему плагинов (https://mypy.readthedocs.io/en/latest/extending_mypy.html#extending-mypy-using-plugins).
источник
PythonDigest
Введение в библиотеку lxml
https://stackabuse.com/introduction-to-the-python-lxml-library/
источник
PythonDigest
Как создать индекс в Django без Downtime
https://realpython.com/create-django-index-without-downtime/
источник
2019 April 13
PythonDigest
С помощью кода на Python сделали фото черной дыры
http://www.blog.pythonlibrary.org/2019/04/11/python-used-to-take-photo-of-black-hole/

Ссылка на репозиторий и видео с докладом
источник
PythonDigest
Использование Google Lighthouse для аудита веб-приложений
https://webdevblog.ru/ispolzovanie-google-lighthouse-dlya-audita-veb-prilozhenij/

В этой статье я хотел бы рассказать, пожалуй о лучшем на сегодняшний день инструменте аудита веб приложений Google Lighthouse. Позволяющий не только оценивать веб приложения по множеству параметрам, но так же дающим рекомендации о том как исправить найденные проблемы и улучшить производительность.
источник
PythonDigest
Иллюзия иммутабельности и доверие как основа командной разработки
https://habr.com/ru/post/447478/?utm_campaign=447478

Вообще я C++ программист. Ну так получилось. Подавляющее большинство коммерческого кода, который я написал за свою карьеру, — это именно C++. Мне не очень нравится такой сильный перекос моего личного опыта в сторону одного языка, и я стараюсь не упускать возможности написать что-нибудь на другом языке. И мой текущий работодатель внезапно такую возможность предоставил: я взялся сделать одну не самую тривиальную утилиту на Java. Выбор языка реализации был сделан по историческим причинам, да я и не возражал. Java так Java, чем менее мне знакомо — тем лучше.
источник
PythonDigest
Подсчитываем энергобюджет радиолинии для спутника формата CubeSat
https://habr.com/ru/post/447728/?utm_campaign=447728

Думаю, нужно коротко пояснить, почему вдруг такая, казалось бы, тривиальная тема с подсчетом энергобюджета и почему именно спутники CubeSat? Ну, здесь всё достаточно просто: моя короткая педагогическая практика показала (мне), что тема эта хоть и базисная, но далеко не всеми с первого раза понимаемая, а более того имеющая несколько неочевидных в первом прочтении вопросов. Тем более, что, казалось бы, по таким базовым вещам до сих пор публикуют статьи в IEEE (https://www.researchgate.net/publication/318067625_Power_Budgets_for_CubeSat_Radios_to_Support_Ground_Communications_and_Inter-Satellite_Links) и делают это далеко не студенты (https://www.researchgate.net/profile/Otilia_Popescu). Почему именно CubeSat? Здесь всё ещё проще: формат спутника интересный (сам факт существования микро- и наноспутников, как выяснилось, повергает многих в состояние короткого шока), а потому как нельзя кстати подходящий для учебных целей.
источник
2019 April 14
PythonDigest
Не ORMом единым
https://habr.com/ru/post/447706/?utm_campaign=447706

Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru (https://www.ostrovok.ru/?utm_source=habr&utm_medium=pr&utm_campaign=elfimov_apr19). В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM (https://docs.djangoproject.com/en/2.1/topics/db/).
источник
PythonDigest
SPADE - Semantic Image Synthesis with SPADE
http://github.com/NVlabs/SPADE
источник
PythonDigest
Конфигурируем Python проект в динамике с dynaconf
http://brunorocha.org/python/from-dynaconf-import-settings.html
источник