Обновить
541.85

Python *

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

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

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

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

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

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

Читать далее

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

Время на прочтение7 мин
Количество просмотров9.7K

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

Читать далее

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

Время на прочтение34 мин
Количество просмотров16K

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

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

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

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

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

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

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

Читать далее

Консольные изображения ( от ЧБ до 24bit )

Время на прочтение4 мин
Количество просмотров8.7K

В данной статье будет рассмотрен прогресс от ЧБ картинки в консоли до 24 bit изображения в ней же
Чёрно белое -> 48 цветов -> 216 цветов -> 24 bit

Читать далее

Как посчитать количество звёзд на фото?

Время на прочтение4 мин
Количество просмотров6.5K

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

Узнать!

Восстанавливаем результаты выборов в Государственную думу 2021 года с помощью машинного обучения

Время на прочтение9 мин
Количество просмотров26K

Результаты выборов в государственную думу, которые проходили 17-19 сентября 2021 вызывают сомнения у многих экспертов. Независимый электоральный аналитик Сергей Шпилькин оценил количество голосов, вброшенных за партию власти, примерно в  14 миллионов. В данной работе применены методы машинного обучения для того, чтобы выявить избирательные участки, на которых подсчет голосов происходил без нарушений и установить истинный результат на тех участках, где , предположительно, были зарегистрированы ошибочные данные.

Полученные в ходе исследования данные визуализируются с помощью графиков и карт.

Читать далее

Автоматическое принятие приглашений к обмену документами в ЭДО Диадок по API

Время на прочтение7 мин
Количество просмотров6K

Автоматизация приема приглашений к обмену документами в кабинете ЭДО

Читать далее

Сегментация изображений со спутника с помощью сверточной нейронной сети

Время на прочтение5 мин
Количество просмотров6.2K

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

Сейчас мы попытаемся решить похожую задачу. В данном кейсе будут проанализированы спутниковые снимки на предмет определения на них географических объектов, таких как реки, поля, дома, дороги и леса. Для решения таких задач используется сверточная нейронная сеть. Одной из распространенных её архитектур является модель U-Net. На вход нейронной сети подается изображение, и далее создается маска, которая будет определять объекты из разных классов на изображении.

Читать далее

Библиотека Pygame / Часть 2. Работа со спрайтами

Время на прочтение7 мин
Количество просмотров29K

Вторая часть серии руководств «Разработка игр с помощью Pygame». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python. Начать стоит с урока:

Читать далее

Python и чистая архитектура в 2021 году

Время на прочтение11 мин
Количество просмотров26K

Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018). Кроме того, я написал статью о чистой архитектуре на Python, которая попала в рассылку RealPython.com … но сейчас заканчивается 2021 год, и мы ушли далеко вперед. Давайте рассмотрим, как развился Python, изучим разные крутые библиотеки, благодаря которым реализовывать чистую архитектуру на Python сегодня стало гораздо проще.

Сначала вспомним о том, зачем она нужна.

Читать далее

Работа с квалифицированными сертификатами в свете новой редакции Приказа №795 ФСБ РФ от 29 января 2021 года

Время на прочтение10 мин
Количество просмотров10K
7 сентября 2021 года мне пришло электронное письмо:
fsb795
Добрый день.
не планируете библиотеку подправить под свежие изменения в приказе 795 ?
Было понятно, что речь идет о пакете fsb795, написанном на Python для разбора квалифицированных сертификатов. Требования к составу и форме квалифицированного сертификата установлены Приказом ФСБ России от 27.12.2011 №795. Но 29 января 2021 года в этот приказ были внесены изменения. Именно об этих изменениях мне и напомнил автор письма. Письмо я получил 7 сентября, а изменения вступили в силу 1-го сентября 2021 года. В этот период времени я был увлечён написанием статьи, связанной с пятидесятилетием окончания Казанского суворовского военного училища и выбора мною стези программиста:

Читать дальше →

Визуализация данных с помощью веб-фреймворка Dash

Время на прочтение4 мин
Количество просмотров11K

Dash является довольно интересным Веб-фреймворком для визуализации данных и имеет в семе довольно много полезных функций в сочетании с простотой их применения.

Читать далее

Библиотека Pygame / Часть 1. Введение

Время на прочтение6 мин
Количество просмотров146K

Это первая часть серии руководств «Разработка игр с помощью Pygame». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python.

Читать далее

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

Как я собирал ретро-консоль на базе Raspberry Pi 4 и подружил ее с проездными московского метро

Время на прочтение20 мин
Количество просмотров18K

История о том, как я собирал ретро-консоль на базе Raspberry Pi 4
и подружил ее с проездными московского метро в качестве «картриджей».

Читать далее

Создание корпуса для задачи автоматического исправления ошибок

Время на прочтение6 мин
Количество просмотров1.3K

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

Самым известным мультиязыковым корпусом является LANG-8, в котором содержатся тексты на восьмидесяти языках. Этот массив данных был создан людьми, изучающими иностранные языки; пользователи исправляли чужие ошибки, и данные об этом автоматически попадали в систему. Однако количественное соотношение текстов на различных языках в корпусе колеблется. Так, на английском языке присутствуют свыше миллиона различных примеров, а для некоторых других языков их около десяти тысяч. Стоит также отметить тот факт, что данные собирались без какой-либо фильтрации и верификации, из-за чего в некоторых "правильных" предложениях могут присутствовать ошибки. Всё же этот корпус также крайне мал, что приводит к необходимости использования синтетических данных.

Читать далее

Фильтрация шума сигнала

Время на прочтение7 мин
Количество просмотров56K

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

Читать далее

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

Время на прочтение5 мин
Количество просмотров22K

Введение

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

Читать далее

10 легких задач по Python и SQL, которые оказались сложными :/

Время на прочтение6 мин
Количество просмотров61K

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

Ну нет, это слишком легко и очевидно, люди от нас просто отпишутся за такие плевые задачи.

Однако, все оказалось иначе. 

Мы собрали для Вас 10 интересных мини-задачек по Python и SQL, которые кажутся очень простыми, но большинство опрошенных (около 76%) дали неправильные ответы. Вот такая вот суровая статистика ¯\_(ツ)_/¯

Проверьте - а сколько задачек Вы решите правильно?

Читать далее

Книга «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура»

Время на прочтение11 мин
Количество просмотров32K
image Привет, Хаброжители! Популярность Python продолжает расти, а значит, проекты, созданные на этом языке программирования, становятся все масштабнее и сложнее. Многие разработчики проявляют интерес к высокоуровневым паттернам проектирования, таким как чистая и событийно-управляемая архитектура и паттерны предметно-ориентированного проектирования (DDD). Но их адаптация под Python не всегда очевидна.

Гарри Персиваль и Боб Грегори познакомят вас с проверенными паттернами, чтобы каждый питонист мог управлять сложностью приложений и получать максимальную отдачу от тестов. Теория подкреплена примерами на чистом Python, лишенном синтаксической избыточности Java и C#.

В этой книге:

  • «Инверсия зависимостей» и ее связи с портами и адаптерами (гексагональная/чистая архитектура).
  • Различия между паттернами «Сущность», «Объект-значение» и «Агрегат» в рамках DDD.
  • Паттерны «Репозиторий» и UoW, обеспечивающие постоянство хранения данных.
  • Паттерны «Событие», «Команда» и «Шина сообщений».
  • Разделение ответственности на команды и запросы (CQRS).
  • Событийно-управляемая архитектура и реактивные расширения.
Читать дальше →

Я не чувствую давления async

Время на прочтение11 мин
Количество просмотров11K

Async в моде. Async Python, Async Rust, Go, Node, .NET и т.д. Выбирайте свою любимую экосистему, и в ней будет свой модуль для асинхронности. Насколько хорошо работает вся эта асинхронная история, во многом зависит от экосистемы и среды выполнения языка, но в целом у нее есть несколько приятных преимуществ. Что действительно становится проще – это ожидание завершения операции, выполнение которой требует некоторого времени. Теперь это настолько просто, что количество способов выстрелить себе в ногу невероятно выросло. Тот способ, о котором я хочу сегодня поговорить – это тот, в котором вы не осознаете, что стреляете себе в ногу, пока система не начнет перегружаться. Да, я про управление давлением. Родственным термином в сетевых технологиях является «контроль потока». 

Читать далее

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