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

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

     02.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Как работает атака TCP Reset

Атака TCP reset выполняется при помощи одного пакета данных размером не более нескольких байт. Подменённый спуфингом TCP-сегмент, созданный и переданный атакующим, хитростью заставляет двух жертв завершить TCP-соединение, прервав между ними связь, которая могла быть критически важной.
 

     02.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

PEP 572 (Выражения присваивания в python 3.8)

В этот раз мы рассмотрим PEP 572, который рассказывает про выражения присваивания. Если Вы до сих пор скептически относитесь к оператору ":=" или не до конца понимаете правила его использования, то эта статья для Вас. Здесь вы найдёте множество примеров и ответов на вопрос: «Почему именно так?». Эта статья получилась максимально полной и если у Вас мало времени, то просмотрите раздел, написанный мной. В его начале собраны основные «тезисы» для комфортной работы с выражениями присваивания. Заранее простите, если найдёте ошибки (пишите про них мне, я исправлю).

     01.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Пишем клон neofetch на python

Думаю, что каждому пользователю UNIX-подобных систем знакома утилита neofetch. Эта маленькая программа позволяет вывести информацию о системе и аппаратной части компьютера в удобном формате. Так давайте же напишем свою версию на python!

     01.05.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут?

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

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

     30.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Pylint: детальная проверка работы анализатора кода

Когда Люк работал с Flake8 и одновременно присматривался к Pylint, у него сложилось впечатление, что 95% ошибок, выдаваемых Pylint, были ложными. У других разработчиков был иной опыт взаимодействия с этими анализаторами, поэтому Люк решил детально разобраться в ситуации и изучить его работу на 11 тыс. строк своего кода. Кроме того, он оценил пользу от Pylint, рассматривая его как дополнение к Flake8.

     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи
     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Практическое руководство по разработке бэкенд-сервиса на Python

Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.

     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи
     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Django. Переопределение модели пользователя

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

     29.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Django. Как изменить queryset и возможность редактирования в ModelAdmin в зависимости от пользователя

Небольшая заметка о том, как поправить queryset форме администрирования admin.ModelAdmin или UserAdmin . Собственно разницы никакой, поскольку форма UserAdmin наследована от admin.ModelAdmin . Но тем не менее покажу на примере UserAdmin

     28.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

PEP 257 на русском. (Соглашение о Docstrings)

Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «технических» моментов, а вариантов русского перевода не было. Сейчас же я решил сам перевести PEP-257, где рассказывается о правильном документировании кода, ведь наверняка это поможет новичкам лучше понять истинный «пайтоновский» подход к написанию кода. Я переводил примеры кода на русский язык, но только для того, чтобы лучше донести смысл. В реальном программировании старайтесь писать документационные строки на английском. Также говорю сразу, что как синоним термина «docstring» я использовал слова: «документация» и «документационные строки». Что же, перейдём к самому переводу.

     28.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Подбор экипировки игровому персу при помощи генетики/эволюции на Python

Как подобрать лучшую экипировку в любимой игре? Конечно, можно банально перебрать все её возможные сочетания (например, для разбойника из World of Warcraft) и найти наилучшее. Без всякой магии и машинного обучения. Но можно ли добиться этого результата не «в лоб», а при помощи генетических алгоритмов, не примеряя каждую комбинацию? Интересно узнать, как размножаются и эволюционируют разбойники? Поехали.

     28.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи
     27.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи

Чистый код: причины и следствия

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

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

     27.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи
     27.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи
     27.04.2020       Выпуск 332 (27.04.2020 - 03.05.2020)       Статьи