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

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

     26.09.2022       Выпуск 458 (26.09.2022 - 02.10.2022)       Статьи

Java из Python и обратно на Android

Продолжение статьи C/C++ из Python (ctypes) на Android. Теперь поговорим о том как использовать Java из Python, ведь для android это родной язык и почти все работающие библиотеки и нужные вещи написаны на ней. Научимся создавать классы, вызывать методы, возвращать результат и дергать callback-и. На Linux аналогично работает.

     26.09.2022       Выпуск 458 (26.09.2022 - 02.10.2022)       Статьи

Taichi и 100-кратное ускорение Python-кода

Python стал самым популярным языком во многих быстроразвивающихся областях, таких, как глубокое обучение и различные направления анализа и обработки данных. Но при этом за удобство работы с Python-кодом, за высокий уровень его читабельности, приходится платить производительностью. Конечно, все мы время от времени жалуемся на скорость работы программ, и Python, безусловно, не стоит винить во всех грехах. Несмотря на это, справедливым будет заявление о том, что природа Python, интерпретируемого языка, не способствует высокой производительности кода, особенно когда речь идёт о «тяжёлых» вычислениях (один из признаков таких вычислений — наличие в программе нескольких вложенных циклов).

     26.09.2022       Выпуск 458 (26.09.2022 - 02.10.2022)       Статьи

Важно ли DS аналитику знать про software development?

Множество курсов, призванных подготовить DS специалистов «за полгода», создают впечатление, что уж сертифицированным датамайнером стать достаточно просто. А что? Немного основ DS языка, немного по структуре данных, немного по различным преобразованиям данных, немного SQL, немного математики (в ML не погружаемся, только знакомимся), немного визуализации, немного HTML+JS+CSS. Специалист готов? На практике оказывается, что маловато будет.

     24.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Объясняю Pattern Memento (Снимок)

Первый паттерн, который я бы хотел с вами разобрать - Memento (снимок). После, с перерывом ~2 недели будут выходить и остальные. Если у вас есть замечания или вы что-то не понимаете - пишите в комменты, разбор самых интересных вопросов я добавлю в статью.

     24.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Сканер уязвимостей на Python или как написать сканер за 6 часов

Недавно мне довелось участвовать в хакатоне по информационной безопасности на научной конференции в прекрасном городе Санкт-Петербург в СПбГУТ. Одно из заданий представляло из себя написание собственного сканера уязвимостей на любом ЯП с условиями, что использование проприетарного ПО и фреймворков запрещено. Можно было пользоваться кодом и фреймворками существующих сканеров уязвимости с открытым кодом. Это задание и мое решение с моим коллегой мы и разберем в этой публикации.

     22.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

GUI Генератор паролей на Python

Штош. В этой статье я научу вас делать кроссплатформенное приложение генератор паролей с графическим интерфейсом. Мы будем использовать язык Python и библиотеку PySide6 - привязку к инструментарию фреймворка Qt.

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

В статье я постарался затронуть все моменты создания и сборки приложения. Ознакомиться с проектом можно на GitHub.

 

     21.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Similar images: API

Кортокая версия. Я набил API и python библиотеку, которые позволяют искать картинки похожую на искомую.API бесплатный, на один запрос выдает до 20 похожих картинок.В базе данных 18 миллионов изображений. Надеюсь, в ближайшее время, добавлю еще 50M.API: LINKpython wrapper: LINKWeb Demo: LINK. Можно загрузить свою картинку или воспользоваться текстовым поиском. Можно кликать на картинки в результате поиска и смотреть что найдет по ней. Хороший вопрос за сколько шагов можно дойти от чего-то невинного до порнухи или хотя бы обнаженки

     21.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Кто же такой этот многорукий бандит?

Представьте на секунду, что вы очень азартный игрок, который только что попал в казино и не может выбрать, за какой игровой автомат ему сесть. Или один муравей из колонии, выбирающий по какому пути ему пойти на поиски пищи. Или даже вы – это целый маркетплейс, который думает, какую же цену, ему поставить на тот или иной товар!

     20.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Решаем судоку при помощи компьютерного зрения

Судоку – это игра, в которой игровое поле представляет собой квадрат размером 9×9, разделённый на меньшие квадраты со стороной в 3 клетки. Таким образом, всё игровое поле состоит из 81 клетки. В них уже в начале игры стоят некоторые числа (от 1 до 9), называемые подсказками. От игрока требуется заполнить свободные клетки цифрами от 1 до 9 так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3×3 каждая цифра встречалась бы только один раз

     19.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Я сделаю свою «умную» колонку… «with blackjack and hookers!». Эпизод 2(но двоек не существует). Проект NeBender

Данный проект является одновременно развитием и ответвлением проекта Pinder - https://habr.com/ru/post/538862/В комментариях к первой статье(да и сам думал об этом тоже) мне предлагали вариант для распознавания смыслов на GPT.Почитал немного про использование GPT, круто это всё конечно, вот прямо спорткар, Ferrari какой-нибудь в мире NLP. В общем Ferrari это круто, но я люблю велосипеды, поэтому было принято решение запилить пусть что-нибудь простое, но своё.Так появился проект NeBender(Neural Bender).

     19.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Обзор markdown редакторов для Django

Подобрать удобный инструмент, для работы с markdown из Django админки, без лишних танцев с бубном.

     19.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Списковые включения в Python мощнее, чем можно подумать

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

     19.09.2022       Выпуск 457 (19.09.2022 - 25.09.2022)       Статьи

Гайд по первичной настройке асинхронного Python-приложения с GraphQL-библиотекой Strawberry

Пишете на Python и давно хотели запрыгнуть на поезд хайпа по GraphQL, но никак не могли выбрать между Graphene и Ariadne? Предлагаем вам третий вариант – Strawberry.

Strawberry – code-first библиотека с большим количеством батареек. 2.6 тыс. звёзд в репозитории на GitHub. Для описания типов можно использовать dataclasses и pydantic-модели. Из коробки поддерживается асинхронность.

     18.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Обучение модели Stable Diffusion текстовой инверсии с помощью diffusers

Листая интернет на наличие интересных технологий в области нейронных сетей и различного искуства, я наткнулся на пост в Твиттере, в котором Suraj Patil объявил о возможности обучения модели Stable Diffusion текстовой инверсии используя всего 3-5 изображений.

     17.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Читаем почту mail.ru из python при помощи imap

Подробно разбираем работу библиотек imaplib и email, открываем ящик и читаем письма (получаем из писем всё что есть) на примере mail.ru (хотя в целом, должно работать везде).Рабочие задачи заставили обратиться к классике - электронной почте, материала довольно много в сети, но подробного развернутого изложения не хватило, делюсь результатами изысканий, кто не сталкивался ещё с этой задачей, надеюсь, будет полезно

     16.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Как мы взяли бронзу вместо золота на Kaggle или умей верно выбрать сабмит

Мы тут недавно потратили месяц на соревнование «UW-Madison GI Tract Image Segmentation» и не взяли золото. Золотую медаль не взяли, но теперь у каждого из нас есть первая бронза. И сейчас мы кратко расскажем про сработавшие подходы в сегментации. А еще расскажем, что можно было сделать, чтоб все-таки забрать золото. (Спойлер: мы были в шаге от золота ...)

     16.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Фасад для python библиотеки

Для python существует множество различных библиотек, но часто бывает, что для конкретного проекта функционал какого-либо пакета - избыточен. В большинстве случаев необходимо вызывать лишь несколько постоянно повторяющихся методов, да и часть их аргументов не меняется от вызова к вызову. В относительно простом приложении проблему константных аргументов можно решить при помощи functools.partial или вообще поместить повторяющийся код в отдельную функцию, но что, если даже в этом случае код со временем становится все более запутанным и сложным для читаемости? На мой взгляд, неплохим выходом из ситуации служит использование объектно-ориентированного подхода, а именно написание некого класса "обвязки" с более простыми методами, инкапсулирующими в себе сложную логику обращения к оригинальной библиотеке.

     15.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Вот почему вам стоит использовать оператор Walrus в Python

Выражение присваивания (также известное как оператор walrus) — это функциональность, которая появилась в Python недавно, в версии 3.8. Однако применение walrus является предметом дискуссий и множество людей испытывают безосновательную неприязнь к нему.

     14.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Все июльские обновления VS Code 2022

Работа с Python в VS Code 1.70 стала проще, точность определения конфликтов слияния Git — выше, а ещё появились доработки интеграции с интерактивными блокнотами Jupyter.

     14.09.2022       Выпуск 456 (12.09.2022 - 18.09.2022)       Статьи

Фильтр по интервалу дат в админке Django

В текущем проекте появилась потребность фильтровать таблицы в админке Django по условию "от такой-то даты/времени до такой-то даты/времени". К моему удивлению, для такой расхожей задачи при беглом поиске подходящих готовых решений найти не удалось. Может плохо искал, напишите в комментах.