Обновить
758.93

Python *

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Изучение статистических закономерностей на примере измерения фона космического излучения

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

Цель работы: на примере статистики регистрации фоновых космических частиц изучить статистические закономерности однородного во времени случайного процесса; проверить возможность описания исследуемого процесса статистическими законами Пуассона и Гаусса; измерить среднее число регистрируемых космических лучей в секунду и определить погрешность результата.

Оборудование: счётчик Гейгера—Мюллера, компьютер с интерфейсом для связи со счётчиком, расчётная программа.

Читать далее

Telegram bot который принимает фотографии и публикует их

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

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

Читать далее

Книга: «Грокаем алгоритмы. 2-е изд.»

Время на прочтение5 мин
Охват и читатели22K
image Хаброжители, привет!

Мы снова возвращаемся с вторым изданием книги “Грокаем алгоритмы”! Красивым, новеньким, актуализированным. От первого тиража всё ещё пахнет типографией, а код примеров обновлен на Python 3!

Зачем второе издание? Первое было интересным, понятным, запоминающимся. Но оно было выпущено в далёком 2016 году, а перевод появился лишь в 2017. В сфере компьютерных технологий всё меняется и обновляется с невероятной скоростью, неудивительно, что автор решил актуализировать свою книгу.

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