Size: a a a

2019 October 22
PythonDigest
Генерация PEG-парсера
https://habr.com/ru/post/471864/?utm_campaign=471864&utm_source=habrahabr&utm_medium=rss

Теперь, когда я набросал основу самописного парсера, давайте перейдём к генерации его методов из грамматики, как я и обещал. Также покажу как реализовать packrat-парсер с помощью декоратора @memoize.
источник
PythonDigest
[Hard] Градиентный спуск по косточкам
https://habr.com/ru/post/467185/?utm_campaign=467185&utm_source=habrahabr&utm_medium=rss

В интернете есть много статей с описанием алгоритма градиентного спуска. Здесь будет еще одна.
 
8 июля 1958 года The New York Times писала (https://www.nytimes.com/1958/07/08/archives/new-navy-device-learns-by-doing-psychologist-shows-embryo-of.html): «Психолог показывает эмбрион компьютера, разработанного, чтобы читать и становиться мудрее. Разработанный ВМФ… стоивший 2 миллиона долларов компьютер "704", обучился различать левое и правое после пятидесяти попыток… По утверждению ВМФ, они используют этот принцип, чтобы построить первую мыслящую машину класса "Перцептрон", которая сможет читать и писать; разработку планируется завершить через год, с общей стоимостью $100 000… Ученые предсказывают, что позже Перцептроны смогут распознавать людей и называть их по имени, мгновенно переводить устную и письменную речь с одного языка на другой. Мистер Розенблатт сказал, что в принципе возможно построить "мозги", которые смогут воспроизводить самих себя на конвейере и которые будут осознавать свое собственное существование» (цитата и перевод из книги С. Николенко, «Глубокое обучение, погружение в мир нейронный сетей»).
Ах уж эти журналисты, умеют заинтриговать. Очень интересно разобраться, что на самом деле представляет из себя мыслящая машина класса «Перцептрон».
источник
2019 October 23
PythonDigest
Сортировки распределением
https://habr.com/ru/post/472466/?utm_campaign=472466&utm_source=habrahabr&utm_medium=rss

В сортировках распределением элементы распределяются и перераспределяются по классам до тех пор, пока массив не отсортируется.


В самом общем случае это происходит по примерно одинаковой схеме. Элементы разбрасываются по классам по какому-либо признаку. Если это не привело к упорядочиванию массива, то происходит уточнение признаков принадлежности к классу и элементы раскидываются по уточнённым классам снова. И так происходит до тех пор, пока массив не станет упорядоченным.
источник
PythonDigest
Podcast.__init__: Illustrating The Landscape And Applications Of Deep Learning
https://www.pythonpodcast.com/deep-learning-illustrated-episode-234/

Audio
источник
PythonDigest
Оптимизация производительности Django на примере боевого проекта
https://evileg.com/ru/post/564/

Последнее время я посвятил много времени оптимизации сайта и теперь хотелось бы рассказать об этом.

В данной статье будет объяснено использование методов select_related и prefetch_related в QuerySet, а также их различие. Также постараюсь объяснить почему Django считают медленным, и почему это всё-таки не так. Конечно Django по многим статьям медленнее, чем тот же Flask, но в тоже время в большинстве проектов проблема заключается не в самом Django, а скорее а в отсутствии опттимизации запросов к базе данных.
источник
PythonDigest
Яндекс.переводчик для Linux на Python GUI
https://habr.com/ru/post/472516/?utm_campaign=472516&utm_source=habrahabr&utm_medium=rss

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

 
Нет, так то я и словарем в "особо тяжелых" случаях пользоваться не брезгую, но иногда приходится читать немаленький текст, и не все слова я знаю, как следствие теряется контекст.
источник
PythonDigest
Python на масштабе: __strict__ модули
https://instagram-engineering.com/python-at-scale-strict-modules-c0bb9245c834
источник
PythonDigest
model_mommy заменён model_bakery
https://www.reddit.com/r/django/comments/dlkngd/model_mommy_is_discontinued_introducing_model/

Популярная Django-библиотека для легкого создания объектов model_mommy переименована и получила необходимые обновления для поддержки последних версий Python и Django: https://model-bakery.readthedocs.io/en/latest/index.html
источник
2019 October 24
PythonDigest
Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python. Решение задач с r0от-мi Cryto. Часть 1
https://habr.com/ru/post/472628/?utm_campaign=472628&utm_source=habrahabr&utm_medium=rss

Данная статья содержит решений заданий Encoding ASCII и Encoding UU направленные на кодировки, Hash Message Digest 5 и Hash SHA-2 — на нахождение прообраза хеша, Shift cipher — шифр сдвига, и Pixel Madness — на составление картинки.
источник
PythonDigest
5 способов сделать Python-сервер на Raspberry Pi. Часть 2
https://habr.com/ru/post/472464/?utm_campaign=472464&utm_source=habrahabr&utm_medium=rss

Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части (https://habr.com/ru/post/472126/) мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, как сделать наш сервер интерактивным.
источник
PythonDigest
Визуализация работы PEG парсера
https://habr.com/ru/post/471866/?utm_campaign=471866&utm_source=habrahabr&utm_medium=rss

В прошлый раз получился простой генератор парсера PEG. Сейчас же я покажу, что на самом деле делает сгенерированный парсер при разборе программы. Я погрузился в ретро-мир ASCII-арта, в частности, библиотеку с именем «curses», которая доступна в стандартной поставке Python для Linux и Mac, а также как дополнение для Windows.
источник
PythonDigest
Переменные окружения для Python проектов
https://habr.com/ru/post/472674/?utm_campaign=472674&utm_source=habrahabr&utm_medium=rss

При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной системе контроля версий это очень плохая идея.
источник
PythonDigest
dmlc / dgl - используем машинное обучение на графах
https://github.com/dmlc/dgl
источник
PythonDigest
[Видео] Жизнь без QA: Как тестируют в Uploadcare или pytest на все случаи жизни
https://www.youtube.com/watch?v=RmXrScfZ8Ng

Мой доклад будет посвящен опыту Uploadcare в развитии своей тестировочной инфраструктуры. В Uploadcare существует множество связанных и не очень приложений которые обеспечивают работу всего сервиса. Чтобы понимать, что что-то сломалось или корректно работает мы используем: интеграционные тесты, unit-тесты, функциональные тесты, bdd и e2e тестирование, тестирования БД. Все это мы делаем без отдела QA и с помощью Pytest. Мы не гордимся тем, что у нас нет отдела QA, но гордимся тем, что в любой момент времени мы можем сказать, что что-то сломалось или работает корректно. Я хотел бы рассказать о нашем опыте построения инфраструктуре тестов, проблемах с которыми мы столкнулись, решениях которые мы использовали и нюансах о которых мы узнали
источник
PythonDigest
[Видео] Дружим Django с Azure Insights. Logging, monitoring, tracing
https://www.youtube.com/watch?v=Bf4kkWcPRnQ

Мониторинг, tracing, логирование — важные вещи в любом продукте. В нашем продукте для этих вещей используем Azure Insights. Расскажу о некоторых возможностях, которые он предоставляет, как мы его дружили с Django, с какими сложностями столкнулись".
источник
PythonDigest
Параметризация из файла в py.test
https://habr.com/ru/post/472766/?utm_campaign=472766&utm_source=habrahabr&utm_medium=rss

В области автоматического тестирования можно встретить разные инструменты, так, для написания авто-тестов на языке Python одним из наиболее популярных решений на данный момент является py.test.
 
Прошерстив множество ресурсов связанных с pytest и изучив документацию с официального сайта проекта я не смог найти прямое описание решения одной из основных задач — запуск тестов с тестовыми данными, хранящимися в отдельном файле. Иначе, можно сказать, подгрузки параметров в тестовые функции из файла(-ов) или параметризация из файла напрямую. Такая процедура в тонкостях нигде не описана и единственные упоминание данной возможности есть лишь в одной строке документации pytest.

В этой статье я расскажу о своем решении этой задачи.
источник
2019 October 25
PythonDigest
Python Bytes: #153 Auto format my Python please!
https://pythonbytes.fm/episodes/show/153/auto-format-my-python-please

Audio
источник
PythonDigest
«Вроде, такое уже было?» Поиск похожих инцидентов и заявок
https://habr.com/ru/post/472210/?utm_campaign=472210&utm_source=habrahabr&utm_medium=rss

Мы уже используем ML-модели для классификации инцидентов (https://habr.com/ru/post/421711/). Чтобы помочь нашей команде эффективнее обрабатывать заявки, мы создали еще одну ML-модель для подготовки списка "ранее закрытые похожие инциденты". Детали — под катом.
источник
PythonDigest
Talk Python to Me: #235 Python in your Browser with Skulpt
https://talkpython.fm/episodes/show/235/python-in-your-browser-with-skulpt

Audio
источник
2019 October 26
PythonDigest
[Перевод] Python и быстрые HTTP-клиенты
https://habr.com/ru/post/472858/?utm_campaign=472858&utm_source=habrahabr&utm_medium=rss

В наши дни, если вы пишете некое Python-приложение, то вам, скорее всего, придётся оснащать его функционалом HTTP-клиента, который способен общаться с HTTP-серверами. Повсеместное распространение REST API сделало HTTP-инструменты уважаемыми жителями бесчисленного множества программных проектов. Именно поэтому любому программисту необходимо владеть паттернами, направленными на организацию оптимальной работы с HTTP-соединениями.
источник