Обновить
1024K+

Python *

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

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

Как написать новостной Телеграм-канал если ты не программист. Часть третья

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

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

Читать далее

Исследование режима Copy-on-Write в pandas. Часть 1

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

Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на копирование при записи запланирован на апрель 2024 года. У разработчиков библиотеки нет планов поддержки некоего «режима совместимости» или режима, в котором CoW не применяется.

Эта серия публикаций посвящена рассказу о том, как работают внутренние механизмы CoW в pandas. Она призвана помочь пользователям библиотеки понять, что происходит при выполнении кода, узнать о том, как эффективно пользоваться копированием при записи, и о том, как адаптировать свой код под новые возможности pandas. Здесь будут приведены примеры того, как использовать данный механизм для того чтобы добиться от системы самого высокого уровня производительности. Здесь же будет рассмотрено и несколько антипаттернов, использование которых в программах ведёт к появлению в них ненужных «узких мест». Пару месяцев назад я написал небольшой вводный материал по Copy‑on‑Write в pandas.

Читать далее

Как написать новостной Телеграм-канал если ты не программист. Часть вторая

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

Хотел отложить написание второй части трилогии в долгий ящик, но судя по просмотрам первого эпизода - тема создания Телеграм-ботов все еще актуальна на Хабр.

Во второй части сфокусируемся на разработке бизнес-логики бота. В нашем проекте, для взаимодействия с Telegram, будем использовать библиотеку Aiogram. Для Python написано достаточное количество библиотек для работы с ТГ, но Aiogram, наверное, самая популярная. Советую прочитать руководство по работе с Aiogram от Groosha - для меня это была основная теоретическая база. Кроме непосредственной работы с функционалом библиотеки, советую обратить внимание на раздел "Роутеры. Структура" - я буду следовать этой логике при создании бота.

Читать далее

Поиск пересечений между отрезком и прямой или прямой и прямой в трехмерном пространстве

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

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

Блин классно, хочу ознакомиться

Отправляем уведомления в определенный топик в чате Telegram

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

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

Читать далее

Искусственный интеллект на Python с использованием TensorFlow и Keras

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

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

Одним из ключевых инструментов для реализации нейро-сетевых архитектур и алгоритмов глубокого обучения является язык программирования Python. Благодаря наличию мощных библиотек, таких как TensorFlow и Keras, создание и обучение нейронных сетей на Python стало достаточно простым.

TensorFlow - это библиотека для машинного обучения, разработанная компанией Google. Она позволяет определять, тренировать и запускать нейронные сети различных архитектур. Keras - библиотека глубокого обучения высокого уровня, может использовать TensorFlow в качестве бэкенда. Keras упрощает создание моделей нейросетей благодаря удобному API.

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

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

Читать далее

Разработка real-time приложений с Python и WebSocket

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

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

Читать далее

Как в 180 000 раз ускорить анализ данных с помощью Rust

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

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

Как мы заинжектили кнопку на Behance

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

Дело было год назад, не помню что я там забыл, но мне определенно хотелось скачать какую‑то картинку с behance.net, но как вы знаете — опции скачать там нет. Зная, как работает веб — я без проблем забрал нужное изображение найдя ссылку в HTML коде, но не все готовы так заморачиваться, поэтому я решил автоматизировать этот процесс.

Так появился python‑модуль behance‑py, который, если верить статистике с pepy.tech, имеет более 5 тысяч установок и расширение для Chrome, о котором более подробно в статье.

Читать далее

“Ну и долго мне ещё до магазина?” Или пара слов о геоинформационном анализе с помощью Python

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

Привет, хабр! Сегодня мы хотели бы продолжить тему обработки пространственных данных средствами Python библиотеки estaty. Мы уже рассказывали о том как можно Объединять открытые данные Open Street Map и Landsat для уточнения площадей зеленых зон вокруг объектов недвижимости.

Теперь же поговорим о более сложном анализе

Ну правда, долго?

Борьба с несбалансированными данными

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

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

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

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

Что же делает борьбу с несбалансированными данными такой сложной задачей?

Читать далее

Головоломки на Python: Увлекательный Путь к Мастерству в Программировании

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

Головоломки на Python: Увлекательный Путь к Мастерству в Программировании

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

Читать далее

Celery: изучаем на реальных примерах ч.1

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

Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управления временем выполнения и обработки ошибок - вы получите цельное представление о том, как Celery может решать ваши задачи.

Читать далее

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

Реализация консенсусного алгоритма Raft

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

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

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

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

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

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

Читать далее

Как написать новостной Телеграм-канал если ты не программист. Часть первая

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

Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.

Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я не работаю и никогда не работал разработчиком (по крайней мере пока, но открыт к предложениям:)), не учил алгоритмов (кроме пузырька) и многого не знаю. Мне просто интересно, как мне кажется, “программировать”, а иногда даже хочется поделиться своим опытом.

Итак, что же мы будем делать. Это будет новостной ТГ-канал - новости в него будут попадать с новостного сайта с RSS-лентой. Администратор сможет модерировать новости, прежде чем они попадут в канал через ТГ-бот. Также возможна реализация автоматического рерайта/перевода новостей при помощи Chat-GPT или иной текстовой AI.

В процессе работы мы “пощупаем” работу с внешними библиотеками (их будет достаточно много) и виртуальным окружением venv, спарсим RSS-ленту и страницу новостей, заглянем в мир асинхронного Python, коснемся основ работы с SQLite и даже попробуем задеплоить нашего бота на VSD-сервер через Docker-контейнер.. если у меня хватит на описание всего этого времени и сил:)

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

Для хорошего старта всем начинающим и слабо ориентирующимся в синтаксисе Python рекомендую посмотреть вводный курс CS-50. Тут ссылка на свежую версию на-английском, на просторах YouTube есть более древняя, но переведенная на русский версия.

Читать далее

Как получить полезную информацию из своих категориальных признаков?

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

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

Читать далее

Что выбрать новичку: Python или Java?

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

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

Читать далее

Работа с временными рядами в Python. Часть 2

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


Добро пожаловать во вторую часть нашей серии статей "Работа с временными рядами в Python." В первой части, мы ознакомились с основами работы с временными рядами и научились анализировать и визуализировать их. Теперь мы переходим к более продвинутым аспектам этой увлекательной темы.
Читать дальше →

У нас в Excel поселился замечательный Python

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

На Хабре уже была новость об этом знаменательном событии. Правда, она похожа на пересказ официального пресс-релиза Microsoft, но такой и должна быть "новость".

Читать далее

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность

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

Привет, уважаемые читатели!

GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.

Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который блокирует доступ к объекту Python interpreter в многопоточных средах, разрешая выполнять лишь одну инструкцию за раз. Этот механизм, хоть и заботится о безопасности и целостности данных, одновременно становится камнем преткновения для тех, кто стремится максимально задействовать многозадачность и использовать полностью потенциал многоядерных процессоров.

Читать далее