Обновить
837.75

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Симуляция односерверных очередей на python

Время на прочтение5 мин
Охват и читатели4.2K

Концептуально модель симуляции может состоять из 5 элементов – сущностей, атрибутов, переменных состояния, событий и действий.

Читать далее

Голосовое управление

Время на прочтение8 мин
Охват и читатели14K

Алиса, Siri, Маруся - это далеко не весь список проектов в области голосовых помощников. С каждым днем проектов становиться больше, а функционал шире и кажется настал тот момент, когда всерьез можно подумать о переводе компьютера на голосовое управление.

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

Читать далее

Kaggle titanic dataset. Анализ данных с помощью SQL запросов

Время на прочтение28 мин
Охват и читатели15K

Не смотря на то, что Python был бы предпочтительным инструментом для исследовательского анализа, я хотел посмотреть, смогу ли я провести весь исследовательский анализ с помощью SQL-запросов. Моя цель - показать, насколько сильно может помочь SQL для рабочего процесса.

Хотя SQL имеет ограничения с визуализацией данных, всё равно, можно получить больше выгоды, быстро написав запросы и выведя результаты.

Читать далее

Дифференциальная приватность для моделей PyTorch с библиотекой Opacus

Время на прочтение7 мин
Охват и читатели1.4K

Эта статья носит прикладное значение и не объясняет все подробности дифференциальной приватности. Цель статьи - познакомить читателя с библиотекой Opacus и показать, как изменять классификатор без потерь в эффективности обучения. 

Анонимизация не всегда эффективна

Приватность - сложная вещь.

Как показала практика Netflix в соревновании Netflix Prize простой анонимизации набора данных недостаточно. 

Мы разберем, как использовать библиотеку, на примере обучения модели классификации PyTorch набору MNIST с использованием DP-SGD

Читать далее

Regex for lazy developers

Время на прочтение9 мин
Охват и читатели25K

Регулярные выражения для ленивых людей?!

Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;)

Читать далее

SFTP под root-ом в WinSCP для удаленной отладки(PyCharm)

Время на прочтение3 мин
Охват и читатели6.5K

Этот пост предназначен в первую очередь для новичков в разработке, впервые столкнувшихся с необходимостью запуска скриптов из-под root-а, взаимодействующих с ресурсами/устройствами, доступ до которых возможен только с сервера приложений, находящимся за NAT-ом. Частая ситуация в телекоме.

Читать далее

Поиск названия компании с использованием Python и контекстно-свободных грамматик

Время на прочтение5 мин
Охват и читатели6.4K

Сложно представить задачу более востребованную и частотную, чем задачу текстового поиска. Упростить ее помогают совершенно разные инструменты и методы, однако универсального решения нет. Как один из оптимальных вариантов в статье представлен парсер библиотеки Natasha для поиска почти любой структурированной информации в тексте.

Читать далее

Возможности интеграции Counter-Strike: Global Offensive

Время на прочтение9 мин
Охват и читатели17K
Image by andytb under license CC BY-SA 2.0
Counter-Strike: Global Offensive — современная версия старой доброй «CS 1.6». За двадцать лет развития серии технологии сильно изменились. Ранее соревнования по CS проходили в конференц-залах, а информация, доступная наблюдателю, была крайне скудна. Сейчас крупные соревнования по Counter-Strike проводятся на огромных стадионах, а количество выводимой на экраны информации зашкаливает.

Мне стало интересно, как организован экспорт игрового состояния в сторонние системы, например, для управления сценическим освещением. В этой статье я расскажу про то, как это работает, и покажу, как можно превратить телефон на Android в устройство вывода игрового состояния.
Читать дальше →

Python: Логируем как профессионалы

Время на прочтение13 мин
Охват и читатели59K

Часто вижу, что помимо обработки исключений, люди мучаются кое с чем еще, а именно с логированием.

Большинство людей не знают, что писать в логи, поэтому решают логировать все, что угодно, думая, что все подряд – это в любом случае лучше, чем ничего, и, в конечном итоге, просто создают шум. А шум – это информация, которая никак не помогает вашей команде понять, в чем дело и как решить проблему.

Читать далее

Создание API на основе протокола MTProto

Время на прочтение9 мин
Охват и читатели11K

В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать протокол MTProto для бэкенда. Разработку вел на python, так как я этот язык хорошо знаю и был уверен, что смогу на нем реализовать свою идею. Для удобства использовал библиотеку aiohttp для соединения по web-socket’у, а для описания структур использовал typings и dataclass.

Читать далее

Многопоточный Python на примерах: как правильно хранить настройки приложения

Время на прочтение14 мин
Охват и читатели38K

Если опустить первое и самое главное предубеждение относительно питонячьей многопоточности у большинства программистов — что её не существует из-за GIL, — то остается другое, и, наверное, вполне достоверное: что многопоточность — это сложно, и нам этого, пожалуйста, не надо. И знаете что? Так оно и есть. Многопоточность — это сложно, особенно когда выбираешься за пределы стандартных руководств и попадаешь со своей многопоточной поделкой в реальный мир. И, возможно, вам не нужно. Ни здесь, ни далее я не буду обсуждать целесообразность написания многопоточного кода на Python и сразу перейду к тому, как это делать.

Так как же?

Находим нарушителей на миллионы рублей при помощи борщевика и Python

Время на прочтение6 мин
Охват и читатели11K

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

Читать далее

Простой GUI калькулятор на Python #3. Backspace, отрицание и регулировка размера шрифта

Время на прочтение6 мин
Охват и читатели15K

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

Дописываем!

Ближайшие события

Блокчейн на Python

Время на прочтение7 мин
Охват и читатели42K
Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобраться с его отличиями от кода, написанного на JavaScript.

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



Несмотря на то, что исходная статья появилась на свет после того, как её автор ознакомился с примером блокчейн-разработки на Python, мне хотелось написать Python-код, который как можно более точно воспроизводит JavaScript-код из статьи. Это позволит сопоставить реализацию блокчейна на разных языках.

Я, кроме того, собираюсь сделать так, чтобы моя реализация блокчейна, как и в статье про JavaScript, тоже поместилась бы в 60 строк.
Читать дальше →

Металлургический хакатон ЕВРАЗа по Data Science: результаты, проекты и победители

Время на прочтение8 мин
Охват и читатели3.9K

Привет, Хабр! На связи ЕВРАЗ, и сегодня мы хотим рассказать, как организовали и провели хакатон по Data Science и Computer Vision. Казалось бы, где металлургия и где хакатон — но нет. На самом деле, в мире практически не осталось предприятий, которые работают без поддержки IT.

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

Металлургии необходимы инновации, и для участников EVRAZ AI Challenge мы подготовили задачи, соответствующие реальным запросам бизнеса. О том, что из этого получилось — под катом.

Читать далее

Книга «Python и DevOps: Ключ к автоматизации Linux»

Время на прочтение11 мин
Охват и читатели22K
image Привет, Хаброжители! За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования. Это практическое руководство научит вас использовать Python для повседневных задач администрирования Linux с помощью наиболее удобных утилит DevOps, включая Docker, Kubernetes и Terraform.

Умение взаимодействовать с Linux играет важнейшую роль для миллионов специалистов. Python сильно упрощает эту задачу. Прочитав книгу, вы научитесь разрабатывать программное обеспечение и использовать контейнеры, а также выполнять мониторинг, телеметрию, нагрузочное тестирование ПО и вводить его в эксплуатацию. Ищете эффективный способ достичь поставленных целей на Python? Это руководство — для вас.
Читать дальше →

Краткий экскурс в ruGPT-3. Инструкция и демонстрация

Время на прочтение8 мин
Охват и читатели27K

GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть слово “Open”, по факту модель GPT-3 является проектом проприетарного типа, то есть, с закрытым программным кодом, доступ к которому выдаётся за деньги.

В октябре этого же года команды из SberDevices на основе статьи от OpenAI и кода модели GPT2 смогли разработать русскоязычный аналог под название ruGPT-3 в 5 вариациях от 125 млн. до 13 млрд. признаков, используя мощности суперкомпьютера «Кристофари», а самое главное, что в данном случае код действительно открытый, за исключением модели на 13 млрд.

За счет универсальности и гибкости модели ее можно использовать не только для создания текста, но и в десятках других сложных сценариев, например:

Читать далее

Диаграмма воронки в Python

Время на прочтение6 мин
Охват и читатели12K

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

В этой статье мы рассмотрим, как построить воронку с нуля с помощью Matplotlib, а затем рассмотрим более простую реализацию с помощью Plotly.

Читать далее

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 2

Время на прочтение7 мин
Охват и читатели11K

В предыдущей статье я рассказал о подготовке данных для тестирования, что данные лучше генерировать, а не клонировать. Теперь стоит подробно разобрать, как их генерировать. Есть несколько подходов к генерации данных: c SQL, Python, сериализацией. У всех из них есть свои плюсы, минусы и особенности, которые стоит учитывать.

Читать далее

Пишем Python-расширение на Ассемблере (зачем?)

Время на прочтение34 мин
Охват и читатели18K

Прим. Wunder Fund: в жизни каждого человека случается момент, когда ему приходиться позаниматься реверс-инжинирингом. В статье вы найдёте базовые особенности работы с ассемблером, а также прочитаете увлекательную историю господина, который решил написать Питон-библиотеку на ассемблере и многому научился на своём пути.

Иногда, чтобы полностью разобраться с тем, как что-то устроено, нужно это сначала разобрать, а потом собрать. Уверен, многие из тех, кто это читают, в детстве часто поступали именно так. Это были дети, которые хватались за отвёртку для того, чтобы узнать, что находится внутри у чего-то такого, что им интересно. Разбирать что-то — это невероятно увлекательно, но чтобы снова собрать то, что было разобрано, нужны совсем другие навыки.

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

Эксперимент, о котором я хочу рассказать, пронизан тем же духом. Мне хотелось узнать о том, смогу ли я написать расширение для CPython на чистом ассемблере.

Зачем мне это? Дело в том, что после того, как я дописал книгу CPython Internals, разработка на ассемблере всё ещё была для меня чем-то весьма таинственным. Я начал изучать ассемблер для x86-64 по этой книге, понял какие-то базовые вещи, но не мог связать их со знакомыми мне высокоуровневыми языками.

Вот некоторые вопросы, ответы на которые мне хотелось найти:

— Почему расширения для CPython надо писать на Python или на C?
— Если C-расширения компилируются в общие библиотеки, то что такого особенного в этих библиотеках? Что позволяет загружать их из Python?
— Как воспользоваться ABI между CPython и C, чтобы суметь расширять возможности CPython, пользуясь другими языками?

Читать далее

Вклад авторов