Обновить
1024K+

Python *

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

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

Дублирующий скрипт: как с его помощью мы ускорили бизнес-процесс с двух рабочих дней до семи минут

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели4.3K

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

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

Вас приветствуют Гевонд Асадян и Илья Мясников. В банке «Открытие» в управлении риск-технологий мы занимаемся внедрением моделей оценки кредитного риска. В этой статье на примере большого и сложного процесса выдачи экспресс-кредитов мы расскажем, как нам удалось реализовать полноценный дубль процесса на стороне одного проверочного скрипта и ускорить процесс выдачи экспресс-кредитов с двух рабочих дней до семи минут.

Далее про наш кейс

Граф стека вызовов — новая функция для GitHub, GitLab, JetBrains IDE

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.4K

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

Читать далее

Python Дайджест: как актуализировать всю кодовую базу с помощью pre-commit

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

Продолжаю рассказывать, как open source проект Python Дайджест спустя 5 лет без обновлений удалось актуализировать по всему стэку технологий. В первой части рассказал, как удалось outdated проект с Python 3.4 обновить до Python 3.11 и Django 4.1.


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


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

Генерация DAG в Apache Airflow

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

Пошаговая инструкция о том, как из одного DAG сделать фабрику DAG.

Включает в себя: установка Airflow через Docker и поэтапное объяснение того, как сделать фабрику DAG.

Читать далее

Какого цвета атомы?

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

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

И да, это кликбейтный заголовок :)

Клюнуть на кликбейтный заголовок

Простейший полнотекстовый поиск на Python с поддержкой морфологии

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели12K

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

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

После пары безуспешных попыток установить Elasticsearch я, как типичный изобретатель велосипеда и вечного двигателя, решила писать свой код.

Изобретение велосипеда на Python и pandas

Бесплатный мультиязычный чат для сайта на Tawk + Notion + Telegram + chatGPT + GPT-Index

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

Вы хотите общаться с посетителями сайта на всех языках и при этом чтобы вам помогал обученный на вашей базе знаний chatGPT?

Я следил за различными видами использования chatGPT с момента его выхода. Предлагаемое в статье решение я еще не встречал и поэтому думаю оно будет кому-то полезным.

Читать далее

LMS.NetMap швейцарский нож для анализа сетевой инфраструктуры

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели16K

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

Также по статистике проведенных пентестов около 70% ИТ и ИБ отделов
клиентов не имели карту сети. То есть админы даже представления не имели
как устроена топология сети и что там происходит. А ведь корпоративные
информационные системы давно стали неотъемлемой частью любого бизнеса,
являются основой множества бизнес‑процессов.

Читать далее

progressive_plots или ускоряем построение графиков

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели2.6K

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

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

Читать далее

Визуализация архитектуры модели PyTorch

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

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

В этом посте вы узнаете:

Как сохранить модель PyTorch в формате обмена

Как использовать Netron для создания графического представления.

Читать далее

Главное из мира Python за февраль 2023

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

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.

Читать далее

Цепочка методов в pandas. Прокачиваем свой код. Минигайд для интересующихся

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели34K

Цепочка методов (или цепочка вызовов, method chaining) - это стиль записи кода, который позволяет выполнять несколько операций за один раз, в конечном счете экономя время и энергию.

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

Читать далее

Отображение графа на Python с networkx

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели56K


Граф — это форма визуализации, позволяющая показывать и анализировать отношения между сущностями. Например, рисунок ниже показывает вклад редакторов Википедии на различных языках энциклопедии в июле 2013 года:



Можно сделать несколько наблюдений:


  • Английский (en) — основной язык, на который переводятся все остальные языки; в то же время многие англоязычные материалы переводятся на другие языки.
  • Китайский (zh) переводится на японский (ja), но не наоборот.
  • И китайский, и японский материалы переведены на английский, и наоборот.

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

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

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

Какие профессии выбирают женщины в столице и регионе

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.4K

Привет, хабр! Я Алексей, аналитик компании Мегапьютер. Недавно прошел праздник прекрасной половины человечества, и я задумался о женских популярных профессиях.

В настоящее время для женщин нет практически никаких ограничений в выборе профессии, но специфические, такие как программист, крановщик, машинист, выбирают лишь единицы. Многие представительницы прекрасного пола, кажется, до сих пор тяготеют к исконно женским видам деятельности. К ним традиционно относятся следующие профессии: учитель, медсестра, няня, воспитатель детского сада, бухгалтер, секретарь, косметолог, продавец и некоторые другие. Так ли это? Традиционно я решил провести исследование в нашей программе по анализу данных PolyAnalyst.

Анализу подверглись резюме представительниц прекрасного пола столиц и регионов. Аналитики компании загрузили резюме женщин Москвы и Санкт-Петербурга, Иваново и Твери с сайта по поиску работы.

Читать далее

Разработка Web API на Django с помощью Django REST framework: от создания моделей до тестирования

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели25K

Django REST framework (DRF) — это мощный и гибкий инструмент для создания Web API на основе Django. Он предоставляет удобные средства для создания RESTful API, поддерживает аутентификацию, авторизацию, сериализацию, валидацию и другие функции.

В этой статье мы рассмотрим, как использовать Django REST framework для создания Web API на базе Django.

Читать далее

Генерация 2D мира с помощью клеточного автомата на Python

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели17K

Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти и многие другие вопросы я попробую ответить.

Читать далее

Классификация изображений в облачной системе Google Colab

Уровень сложностиСложный
Время на прочтение43 мин
Охват и читатели11K

Нейронку можно обучить не только понимать, где на картинке собака, а где кошка. Можно шагнуть дальше, чтобы обучить ее распознавать данные графиков зрачковых реакций на свет и выдавать результат: норма или отклонение.

Эта статья про сверточные нейронные сети, классификацию изображений с помощью моделей глубокого обучения, а также применение Google Colab для написания кода на Python.

Читать далее

Учим нейросеть принимать решения на основе уже известного опыта (на примере Шахмат и загруженного датасета)

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

Учим нейросеть играть в Шахматы, загрузив в нее датасеты уже сыгранных партий с известным результатом.

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

Читать далее

5 полезных библиотек Python (с примерами)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели38K

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

Ознакомиться

Как создание бинарного классификатора открыло ящик Пандоры в стандартах владения английским языком

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели17K

Владение английским языком принято оценивать по системе CERF (Common European Reference Framework), состоящей из шести уровней, где уровень A1 – начинающие, а уровень С2 – профессионально владеющие иностранным языком. Международный уровень С2 часто позиционируется как “уровень образованного носителя”, и получение соответствующего сертификата зачастую является либо заветной мечтой, либо предметом гордости преподавателя-лингвиста.

Однако я не встречала в научной литературе доказательства полного соответствия уровня С2 уровню владения английским как родным. На самом деле, среди ученых нет единого мнения о том, возможно ли вообще изучающим язык достичь уровня, идентичного владению языком как родным (вот две статьи с практически одинаковым названием и противоположными выводами [1; 2]). Проведя небольшой опрос в одной из соцсетей, я увидела, что большинство моих коллег-преподавателей английского в глубине души все-таки считают, что «между уровнем носителя и уровнем С2 – бездна». Хотя были и те, кто выбрал вариант, что С2 – это действительно уровень образованного носителя.

Так есть разница или нет? Я решила разобраться, рассмотрев для начала всего лишь один аспект владения языком – письменную речь. О своем эксперименте, в котором не обошлось без искусственного интеллекта, я и хочу рассказать.

Вначале я создала опрос на Google Forms и предложила 17 русскоговорящим коллегам следующий челлендж: определить, написан ли английский текст носителем языка (британцем) или русскоязычным автором с уровнем английского С1-С2. Всего было 20 текстов. К исследованию приглашались эксперты с большим опытом проверки студенческих эссе и чтения оригинальных текстов, но, тем не менее, задача оказалась не из простых. Подсчитав вручную метрики, получаем: Accuracy = 0.6617; Precision = 0.6627; Recall = 0.6588; F1 = 0.66. Замечу, что этот опрос я также предлагала коренным британцам (пока только троим), и ...

Читать далее