Size: a a a

2019 March 31
PythonDigest
Исключения в Python теперь считаются анти-паттерном
https://habr.com/ru/post/445234/?utm_campaign=445234

Что такое исключения? Из названия понятно — они возникают, когда в программе происходит исключительная ситуация. Вы спросите, почему исключения — анти-паттерн, и как они вообще относятся к типизации? Я попробовал разобраться (https://sobolevn.me/2019/02/python-exceptions-considered-an-antipattern), и теперь хочу обсудить это с вами, хабражители.
источник
PythonDigest
Кросспостинг постов из Instagram в паблик VK на Python
https://habr.com/ru/post/445408/?utm_campaign=445408

Решил выйти на новый рынок сбыта, тем более, целевая аудитория моего интернет-магазина, не имеющая аккаунтов в Instagram, давно интересовалась появлением дубликата в VK. Идея хорошая, но постов на странице сотни, соответственно вручную работать ctrl+c ctrl+v не хотелось, плюс дальнейшие перспективы обезьянней работы не впечатляли.


Уверенный, что в интернете полно бесплатный решений, я начал гуглить. Естественно, первые страницы поисковой выдачи пестрят платными сервисами, с довольно обширными функционалами. Но мне, всего лишь на всего, надо было перенести все посты со страницы Instagram в паблик VK и в дальнейшем синхронно пополнять его.
источник
PythonDigest
Какие языки программирования наименее безопасны?
https://habr.com/ru/post/445422/?utm_campaign=445422

Обзор от WhiteSource показал, какие из языков программирования имеют наибольшие дыры в безопасности. Победитель антирейтинга — Си. Но это только начало истории.


Технологии в целом нашпигованы ошибками безопасности. На низком уровне это ошибки в железе. Так это было с уязвимостью Intel и ошибками Spectre. Чуть выше — дыры в безопасности языков программирования. И их ну очень много!
источник
PythonDigest
[Видео] Сергей Архипов - Фингерпринтинг
https://www.youtube.com/watch?v=mQBFp4C9MoM

Слайды: https://speakerdeck.com/9seconds/fingerprinting
Фингерпринтинг — это мы берем некоторые запросы пользователя и делаем из него некоторый отпечаток, который нам нужен для грязных целей. А может быть не для грязных? Как защититься от фингерпринтинга? А надо ли вообще? Это вообще хорошо или плохо?
источник
PythonDigest
Введение в Python Dataclasses – Часть 1
https://webdevblog.ru/vvedenie-v-python-dataclasses-chast-1/

Если вы читаете эту, то возможно вы уже знакомы с Python 3.7 и читали о его новых функциях.
источник
PythonDigest
Введение в Python Dataclasses – Часть 2
https://webdevblog.ru/vvedenie-v-python-dataclasses-chast-2/

Это вторая статья из серии статей “Введение в Python Dataclasses“. В первой части я рассказал о базовом использование dataclasses.
источник
PythonDigest
источник
PythonDigest
DCF77: как работает система передачи сигналов точного времени?
https://habr.com/ru/post/445470/?utm_campaign=445470

Наверное многие, приобретающие часы или метеостанцию, видели на упаковке логотип Radio Controlled Clock или даже Atomic Clock. Это весьма удобно, ведь достаточно поставить часы на стол, и они через некоторое время автоматически настроятся на точное время.

Разберемся как это работает и напишем декодер на языке Python.
источник
PythonDigest
От парсера афиши театра на Python до Telegram-бота. Часть 2
https://habr.com/ru/post/445632/?utm_campaign=445632

Продолжаем историю о разработке Telegram-бота для поиска билетов — HappyTicketsBot, начало можно почитать в первой части (https://habr.com/ru/post/444460/).


Во второй расскажу о самом боте, поделюсь кодом, а также идеями, которым скорее всего не суждено стать реальностью. Большая часть функционала к моменту создания бота уже была написана в формате скрипта, поэтому основной задачей стояло наладить интерфейс взаимодействия с пользователем через Telegram-messenger. Получилось не так болтологически, как в 1й части, так что attention — много кода.
источник
PythonDigest
Обман нейронной сети для начинающих
https://habr.com/ru/post/443164/?utm_campaign=443164

В рамках ежегодного контеста ZeroNights HackQuest 2018 участникам предлагалось попробовать силы в целом ряде нетривиальных заданий и конкурсов. Часть одного (https://habr.com/ru/company/dsec/blog/440312/#Time) из них была связана с генерированием adversarial-примера для нейронной сети. В наших статьях мы уже уделяли внимание методам атаки (https://habr.com/ru/company/dsec/blog/437092/) и защиты (https://habr.com/ru/company/dsec/blog/438644/) алгоритмов машинного обучения. В рамках же этой публикации мы разберем пример того, как можно было решить задание с ZeroNights Hackquest при помощи библиотеки foolbox.
источник
PythonDigest
Монады за 15 минут
https://habr.com/ru/post/445800/?utm_campaign=445800

На конференции YOW! 2013 (http://yowconference.com.au/) один из разработчиков языка Haskell, проф. Филип Вадлер (http://homepages.inf.ed.ac.uk/wadler/), показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудитории к этой теме породил взрывной рост публикаций о монадах в Интернет. К сожалению, бо́льшая часть этих публикаций использует примеры, написанные на функциональных языках, подразумевая, что о монадах хотят узнать новички в функциональном программировании. Но монады не специфичны для Haskell или функциональных языков, и вполне могут быть проиллюстрированы примерами на императивных языках программирования. Это и является целью данного руководства.


Чем это руководство отличается от остальных? Мы попытаемся не более чем за 15 минут «открыть» монады, используя лишь интуицию и несколько элементарных примеров кода на Python. Мы поэтому не станем теоретизировать и углубляться в философию, рассуждая о буррито (http://blog.plover.com/prog/burritos.html), космических скафандрах (http://web.archive.org/web/20081206204420/http://www.loria.fr/~kow/monads/index.html), письменных столах (http://www.infoq.com/presentations/Why-is-a-Monad-Like-a-Writing-Desk) и эндофункторах.
источник
PythonDigest
Termux шаг за шагом (Часть 2)
https://habr.com/ru/post/445868/?utm_campaign=445868

В прошлой части (https://habr.com/ru/post/444950/) мы с вами познакомились с базовыми командами Termux'а, настроили SSH соединение с ПК, научились создавать alias'ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами:
 
узнаем про Termux:API
установим Python и nano, а также напишем "Hello, world!" на Python
узнаем про bash-скрипты, и напишем скрипт с использованием Termux:API
используя bash-скрипт, Termux:API и Python напишем простую программку
Поскольку мы теперь понимаем, что делают вводимые команды, то со следующего шага я не буду так подробно расписывать каждое действие, но там где могут быть затруднения, пояснять буду обязательно.
источник
PythonDigest
Разработка на основе тестов Django RESTful API
https://webdevblog.ru/razrabotka-na-osnove-testov-django-restful-api/

В этой статье рассматривается процесс разработки CRUD RESTful API с использованием Django и Django REST Framework (http://www.django-rest-framework.org/), который используется для быстрого создания API на основе моделей Django.
источник
PythonDigest
источник
PythonDigest
Как сделать триггер DAG'а в Airflow, используя Experimental API
https://habr.com/ru/post/445852/?utm_campaign=445852

Наши участники строят два типа архитектуры: lambda и kappa. И в lamdba-архитектуре в рамках батч-обработки используется Airflow для перекладывания логов из HDFS в ClickHouse.
 
Все в общем-то хорошо. Пусть строят свои пайплайны. Однако, есть "но": все наши программы технологичны с точки зрения самого процесса обучения. Для проверки лаб мы используем автоматические чекеры: участнику нужно зайти в личный кабинет, нажать кнопку “Проверить”, и через какое-то время он видит какую-то расширенную обратную связь на то, что сделал. И именно в этот момент мы начинаем подходить к нашей проблеме.
источник
PythonDigest
Примеры GUI на tkinter
http://dev.geekwall.in/10301ac047
источник
PythonDigest
источник
PythonDigest
источник
PythonDigest
Работа с MySQL в Python
http://khashtamov.com/ru/mysql-python/

Ранее я уже писал статью про работу с PostgreSQL из Python (https://khashtamov.com/ru/postgresql-python-psycopg2/). Сегодняшний пост будет посвящен другой популярной базе данных MySQL. Мой путь в веб-программирование был классическим: PHP, MySQL и Apache. Среди php-разработчиков MySQL пользуется большей популярностью чем PostgreSQL, хотя последняя предоставляет функционал намного богаче. MySQL до сих пор остаётся лидером среди реляционных open source баз данных, поэтому давайте узнаем как с ней работать через Python.
источник
2019 April 01
PythonDigest
Парадокс Питона (The Python Paradox)
https://habr.com/ru/post/446104/?utm_campaign=446104

В последнем выпуске подкаста "Цинковый прод (https://soundcloud.com/znprod)" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox).
 
Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная

В далеком-предалеком 2004-ом году, когда язык Python был чем-то необычным, немейнстримовым, вышла статья Пола Грэма, в которой он поделился своим эмпирическим наблюдением: программисты на Питоне, которых он знает, гораздо сообразительнее, чем Java-программисты.
источник