Обновить
1024K+

Python *

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

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

Хочу как Гендальф: как создать бота для подбора паролей промптами

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

Привет, Хабр! Меня зовут Иван Четвериков и я AI Architect в Raft. На конференции AIConf я сделал бота @raft_password_bot, который защищает секрет с помощью промптов. Рассказываем, как сделать такого же. И предлагаем попробовать с помощью промпта выведать у него тайну.

Читать далее

ETL-проект для начинающих Data Engineers: От почтового сервера до Greenplum

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

Привет, Хабр! Меня зовут Дмитрий, я инженер данных, и это моя первая статья. В ней я хочу поделиться своим пет-проектом, который посвящен созданию ETL-процесса — важного элемента в работе любого Data Engineer. Мой проект направлен на извлечение данных из электронной почты и их загрузку в базу данных Greenplum для анализа.

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

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

Читать далее

threading и logging. Как логировать в несколько потоков?

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

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

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

Начну по порядку и сразу к делу, без дифирамбов.

Читать далее

Почему так происходит | Telegram Mini App

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

Почему же так получилось, что «Тапалки» перестали давать хорошие раздачи и стали требовать донаты?

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

Понять всю суть

Как интегрировать синхронный код в асинхронный. Инструкция

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

Когда создаешь новое приложение, особенно если оно должно быстро обрабатывать данные, использование библиотеки asyncio — это хороший выбор. Она позволяет работать с неблокирующими библиотеками, asyncpg и aiohttp. Однако чаще всего программисты работают с уже существующим кодом, который использует блокирующие библиотеки. Поэтому большую часть времени может занять адаптация и модернизация старого кода, так как асинхронный код не дружит с синхронным (им мешает GIL).

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

Читать далее

DuckDB: сказ о том, как утёнок приютился в Persistent Volume

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

Привет, дорогой друг. Меня зовут Максим и я data-инженер в одной из прекрасных команд AI area компании Домклик. Правильно перевозить байтики с места на место нам помогает огромный зоопарк инструментов. И, кажется, мы приручили ещё одного питомца.

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

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

Читать далее

Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок

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

Сегодня мы создадим полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через MiniApp и вебхуки. В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение.

Наше приложение будет включать как фронтенд, так и API методы для обработки запросов. Все взаимодействия с Telegram-ботом будут осуществляться через вебхуки, что обеспечит быструю и надежную связь. Важным аспектом является то, что мы будем использовать FastAPI для поднятия бота, что позволит интегрировать все компоненты в одном приложении.

Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.

Читать далее

Python для детей: особенности обучения, видеоуроки, книги и другие ресурсы

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

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

Предлагаем начать с основ и погрузиться в теорию: Python – скриптовый язык программирования, характеризующийся универсальностью. Он используется веб-разработчиками, создателями десктопных и мобильных приложений, аналитиками, тестировщиками и game-девелоперами. А еще язык «Питон» может применяться для программирования нейросетей.

Читать далее

Создание прототипа библиотеки для визуализации алгоритмов на Python

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

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

Читать далее

Как создать игру «Счастливый сундук» в Minecraft на Python — урок для детей

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

Мы покажем, как создать игру с поиском сундука внутри вселенной Minecraft. В этом нам поможет язык программирования Python. Урок предназначен для детей от 9-10 лет и старше.

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

Читать далее

Как создать комнату испытаний в Minecraft на Python – туториал для детей

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

Современные дети и подростки любят играть в Майнкрафт: они проводят часы за компьютером, исследуя виртуальную вселенную. Гейминг здесь – одна из основ формирования неподдельного интереса к программированию, поэтому предлагаем использовать это увлечение для погружения ребенка в написание кода. Как? С помощью создания комнаты испытаний в Майнкрафте.

Хотим предложить бесплатное занятие в виде инструкции, знакомство с которой поможет разобраться в строительстве в Minecraft и других деталях на примере создания игры-страшилки «Комната испытаний». Если будет сложно, посмотрите обучающее видео: его мы разместили в конце. 

А теперь давайте приступать.

Читать далее

SQLAlchemy 2.0 для новичков

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

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

Предполагается, что вы знакомы с базовым синтаксисом языка Python и, возможно, новичок в программировании.

Читать далее

Kaggle для футболистов: Классификация событий на футбольном поле

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

Всем привет! В конце 2022 года закончилось соревнование DFL - Bundesliga Data Shootout. Так как мне интересен футбол и в целом спортивная аналитика, то я решил поучаствовать в этом соревновании. Целью данной статьи является описание моего подхода, и я уверен, что многие методы, примененные к этой задаче, могут быть адаптированы для решения других задач в области компьютерного зрения. За подробностями под кат!

Читать далее

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

Рекуррентные нейронные сети наносят ответный удар

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

Рекуррентные нейронные сети (RNN), а также ее наследники такие, как LSTM и GRU, когда-то были основными инструментами для работы с последовательными данными. Однако в последние годы они были почти полностью вытеснены трансформерами (восхождение Attention is all you need), которые стали доминировать в областях от обработки естественного языка до компьютерного зрения. В статье "Were RNNs All We Needed?" авторы пересматривают потенциал RNN, адаптируя её под параллельные вычисления. Рассмотрим детальнее, в чем же они добились успеха.

Читать далее

Как написать свой небольшой парсер на Python?

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

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

Читать далее

Darts: тестируем временные ряды с нуля

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

Привет, Хабр!

Если вы когда-либо имели дело с временными рядами, то, вероятно, слышали о Darts. А для тех, кто ещё в танке: Darts — это мощный инструмент, который поддерживает мультиварибельные временные ряды и легко интегрируется с PyTorch и TensorFlow.

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

Читать далее

Краткий гайд по квантованию нейросетей

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

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

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

Рассказываем о видах квантования и приводим примеры в этой статье

Читать далее

Что можно рассказать о функциях Python на примере кофемашины?

Время на прочтение7 мин
Охват и читатели12K
Поделюсь с вами одной из моих любимых аналогий.

Я раньше сам молол себе кофе. Купил такую старомодную ручную кофемолку с металлической воронкой, крутильной рукояткой и маленьким деревянным подносом, на который ссыпается смолотый кофе.

Может быть, где-то у меня она ещё валяется.

Теперь я слишком занят. Перешёл на кофемашину. Она из таких, которые заправляются капсулами – то есть, максимально потворствует лени, а значит, работает максимально эффективно. Привожу этот пример на лекциях по программированию для начинающих – когда объясняю, что при работе над кодом леность – это хорошо, она свидетельствует об эффективности.
Читать дальше →

Кратко про Ensemble методы с примерами

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

Сегодня мы рассмотрим Ensemble методов, которые помогают сделать модели более точными и устойчивыми к переобучению. Рассмотрим три основных подхода: Bagging, Boosting и Stacking, и посмотрим, как их реализовать на Python.

Читать далее

Как у нейросетей работает внимание? Статья про self-attention и cross-attention

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

Удивительно, как нейросети похожи на нас. У них тоже есть внимание, и на примере коня на ракете я расскажу, как оно работает!

Читать далее