Обновить
580.96

Python *

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

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

Практические рекомендации по работе с Docker для Python-разработчиков

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

Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.

Читать далее

Как создать легко воспроизводимый DS проект

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

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

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

Читать далее

Selenium python как сохранить данные сессии и установить кастомный путь до профиля Chrome

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

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

В статье будет рассказано, как была решена данная проблема.

Читать далее

Находим аномалии в российской статистике COVID-19

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

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

Последние часто ссылаются на совместное расследование «Медузы», «Медиазоны» и «Холода», которое утверждает, что в реестре Минздрава в 5 раз больше зарегистрированных случаев коронавируса, чем сообщается официально. Само расследование базируется на исследовании Сергея Шпилькина, который ранее с помощью статистических методов доказал фальсификации на выборах. В чем проблема этого исследования?

Читать далее

Kafka, Python и золотая рыбка

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

Поймал как-то программист золотую рыбку, а она ему и говорит человеческим голосом: «Отпусти меня в синее море, я исполню любое твоё желание». Программист ЦПУшечкой поскрипел, да и выдал техзадание. «Построй мне», – говорит, – «систему обработки неидемпотентных запросов, да чтоб она была высокопроизводительной, масштабируемой, гибкой и отказоустойчивой!». Охнула сперва золотая рыбка, но взяла себя в плавники и молвила: «Не печалься, ступай себе домой, код написан, система развёрнута. Отпускай меня уже». Удивился программист: «Да ладно? Ну, сейчас проверю и отпущу». «Нет», – возражает рыбка – «пока ты проверяешь, я уж засохну, и всё волшебство исчезнет». Программист задумался: «Что же делать: сначала отпустить, а потом проверить, или сначала проверить, а потом сушёную рыбу к пиву получить?».

Мечты о золотой рыбке не раз посещали умы даже опытных разработчиков. В погоне за оптимальной системой обработки запросов многие отдают недели и месяцы своей жизни, а некоторые готовы отдать и душу, чтобы всё работало без сбоев.
Но нужны ли такие жертвы? Нет... Ведь у вас есть мегабыстрая Apache Kafka, супергибкий Python и возможности NoSQL баз данных. Все эти решения прекрасны по отдельности, но как из них собрать один конвейер для обработки данных, не растеряв их преимущества? Рассмотрим под катом.

Читать далее

Ontol про пентест и этичное хакерство: подборка лучших бесплатных курсов на YouTube

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

Анджелина как бы намекает, что пора стать этичным хакером.

Чтобы YouTube не банил обучающие курсы по хакерству, их назвали курсами этичного хакерства.

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

Есть очень дорогие курсы, есть не очень дорогие, а есть бесплатные. Вообще-то, тру хакер всё должен выучить самостоятельно по книгам, но иногда можно и на YouTube подсмотреть.

Предлагаем вашему вниманию подборку 20+ самых популярных обучающих видеокурсов на YouTube.
Читать дальше →

Homer – новый шифр омофонической замены

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

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

Я предлагаю обратиться к одному из самых первых методов шифрования – методу подстановки. В 21-ом веке этот метод может показаться ненадежным.

Но в этой статье я попробую доказать обратное.

Моя идея основана на шифре омофонической замены. Принцип, лежащий в основе данной идеи заключается в замене всех байтов файла А номерами позиций этих байтов в файле В. Полученный файл С является зашифрованным файлом А (Рис. 1).

Читать далее

Telegraph API: автоматизированное создание заметок

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

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

Читать далее

Получаем кривую плотности распределения вероятности… быстрее и точнее

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

Недавно на Хабре вышла статья за авторством MilashchenkoEA , в которой автор восполняет обнаруженный им пробел в доступных материалах по методам построения кривых плотности распределения вероятности по имеющемуся набору числовых данных. Акцент в статье сделан на методическую сторону получения (оценки) плотности вероятности случайной величины, поэтому автор не преследует цели получения оптимального, с вычислительной точки зрения, алгоритма. Что ж, в данной заметке попытаемся исправить эту ситуацию, а также взглянем под другим углом на способ решения данной задачи.

Читать далее

Простой GUI калькулятор на Python #2. Основной функционал

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

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

Правильно!

Нейродайджест: главное из области машинного обучения за октябрь 2021

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

3D-рендеринг сцены из нескольких фотографий, определение глубины и освещения по фото, нейронный дизайнер интерьеров, генерация звука по видео и многое другое в октябрьской подборке.

Перейти к обзору

Ещё одна статья о декораторах в python, или немного о том, как они работают и как они могут поменять синтаксис языка

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

Декораторы в python являются одной из самых часто используемых возможностей языка. Множество библиотек и, особенно, веб-фреймворков предоставляют свой функционал в виде декораторов. У неопытного python разработчика уйдёт не так уж много времени, чтобы разобраться, как написать свой декоратор, благо существует огромное количество учебников и примеров, а опытный разработчик уже не раз писал свои декораторы, казалось бы, что ещё можно добавить и написать о них?

Я постараюсь раскрыть информацию о том, как работают стандартные декораторы staticmethod, classmethod, а так же сам интерпретатор python, как писать декораторы, принимающие аргументы без дважды вложенных функций, ну, и наконец, как немного поменять синтаксис python.

Read more

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

QA meetup 2: нагрузочное тестирование

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

Всем привет! В прошлый раз мы встречались с вами 29 июля и разговаривали про автоматизацию тестирования (видеозапись X5 QA meetup #1). В этот раз мы хотим осветить тему нагрузки и показать, что она есть везде и нужна всем (ну или почти всем).

Приглашаем 17 ноября в 18:00 на наш второй онлайн-митап по QA от X5 Tech по нагрузочному тестированию. Поговорим о том, как построить нагрузочное тестирование, как автоматизировать рутину в нагрузке, какой инструмент нагрузки использовать для Python, а также как нагружать SAP быстро. Эксперты из Х5 Tech, Росбанка, Accenture и Московского кредитного банка поделятся своим опытом и будут рады ответить на ваши вопросы.

Читать далее

Сравнение различных видов ML классификаторов в задаче распознавания сигналов

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

Задача состоит в классификации гидроакустических сигналов. Сонары (гидролокаторы) посылают звук высокой частоты в определенном направлении и получают отраженную звуковую волну. По характеристике этой волны можно сделать вывод, от чего именно она отразилась – от морской мины или же от подводного камня, скалы. Используемый для решения задачи набор данных был разработан сотрудником аэрокосмического технологического центра Полом Горманом в разгар холодной войны. Для получения данных металлический цилиндр и цилиндрическая горная порода, оба длиной около 1,5 метров, размещались на песчаном дне океана.

Читать далее

Простой GUI калькулятор на Python #1. Дизайн приложения

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

Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение прямо как в системе. Ну или хотя бы что-то похожее.

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

Научиться!

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

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

Прим. Wunder Fund: в статье рассказано, зачем появилась и существует глобальная блокировка интерпретатора в Питоне, как она работает, и как она влияет на скорость работы Питона, а также о том, куда в будущем, вероятно, будет двигаться Питон. У нас в фонде почти всё, что не написано на плюсах — написано на Питоне, мы пристально следим за тем, куда движется язык, и если вы тоже — вы знаете, что делать )

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

Здесь я опираюсь на особенности CPython 3.9. По мере развития CPython некоторые детали реализации GIL, определённо, изменятся. Материал опубликован 22 сентября 2021 года, после публикации в него внесено несколько дополнений.

Читать далее

Обучение с подкреплением на Python: Пример не из «качалки»

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

Обучение с подкреплением молодая и бурно растущая дисциплина. Это обстоятельство привело к тому что информации об этом на русском языке почти нет. Особенно, если дело касается объектно-ориентированного подхода, и практических задач не из арсенала "качалки".

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

Жги

Профилирование программ

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

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

Читать далее

Пишем первого робота для банка

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

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

Любопытно, к чему все это приведет

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