Обновить
564.14

Python *

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

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

Автоматизируем торговлю криптой на бирже, ещё и на DEX

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

Привет, Хабр! В этой статье я делюсь инструментами, которые позволили эффективно создать автоматизированную систему торговли (АСТ) криптовалютой на централизованной (CEX) и децентрализованной (DEX) биржах. Система вышла в продакшн в начале 2022 года и работала только на централизованных биржах. После того как летом 2023 года правительство США начало блокировать работу криптобирж для граждан США, было принято решение о подключении децентрализованной биржи, так как децентрализация не требует проходить KYC.

Итак, начнём!

Читать далее

Создание простого и работоспособного генетического алгоритма для нейросети с Python и NumPy

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

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

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

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

Вначале нам потребуется импортировать модули:

Читать далее

Плагин на LibreOffice с Gigachat API

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

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

Читать далее

Правильная работа с базой данных на Python

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

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

Читать далее

Сколько ядер CPU можно использовать параллельно в Python?

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

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

Как же проверить, сколько ядер есть у компьютера? И действительно ли это хороший совет?

Оказывается, на удивление сложно определить, сколько потоков выполнять:

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

- Хуже того, из-за таких функций CPU, как параллельность на уровне команд и одновременной многопоточности (Hyper-threading в CPU Intel), количество ядер, которое можно эффективно использовать, зависит от того кода, который напишете вы!

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

Читать далее

PLC Allen Bradley подключение с помощью Python

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

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

Хочу немного поведать тебе как через Python в локальной сети можно подключиться к PLC от Allen Bradley.

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

Читать далее

Ortools — библиотека для решения задачи VRP

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

Привет! Меня зовут Илья Набатчиков, я MLE в компании Kamaz Digital. Также я являюсь учусь в онлайн магистратуре на базе университета ИТМО @ai-talent.

Сегодня я хочу рассказать о библиотеке ortools для решения проблемы маршрутизации транспортных средств с учетом ограничений по времени и грузоподъемности (CVRPTW).

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

Читать далее

4 миллиарда операторов if

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

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

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

Поэтому я решил изучить эту идею проверки чётности числа при помощи одних сравнений, чтобы понять, насколько хорошо она работает в реальных ситуациях. Я сторонник высокопроизводительного кода, поэтому решил реализовать это на языке программирования C, потому что он и сегодня остаётся самым быстрым языком в мире с большим отрывом от других (благодаря гению Денниса Ричи).

Читать далее

Python без типов: таким он когда-то был

Время на прочтение5 мин
Охват и читатели10K
О типизации в Python сказано уже очень много. Если вам выпало сомнительное удовольствие поработать со мной, то вы, вероятно, в курсе, насколько скептически я отношусь к типизации в Python. Причины тому – сложность синтаксиса, mypy еле ползает, реализация языка в принципе переусложнена, а взаимодействовать с ним зачастую неудобно. Сегодня я не буду упирать на эти детали, а хочу пригласить вас в небольшое путешествие в прошлое и рассказать, каковы были мои первые впечатления от работы с Python. Почему? Потому что я думаю, что существует фундаментальный и глубокий конфликт между формообразующей философией Python и концепцией типизации. Причём, этот конфликт не нов.
Читать дальше →

Вы точно хотите быть Data Scientist-ом?

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

Прочитав замечательную статью от @dalerank, я подумал, а чем собственно мы хуже: моя любимая индустрия тоже полна мифов и разочарований, особенно учитывая недавние "прорывы в AI" и хайп вокруг больших языковых моделей по типу ChatGPT.

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

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

Нет, скорее всего вы не будете создавать state of the art (SOTA) системы, которые будут рисовать, искать информацию и писать код лучше, чем эти бесполезные кожаные мешки. А даже если будете - это будет только 20% вашей работы. Так ли это грустно? - я постараюсь рассказать под катом.

Читать далее

Реальный Python: грустные факты, которые вас разочаруют

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

Начинаем гуглить информацию о Python. Все статьи как под копирку: тут хорошо платят, легко учиться, гостеприимное коммьюнити, просто рай на земле. Это ловушка. Я писала на Python полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле. 

Читать далее

Flask для начинающих

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

Как начать работать с Flask

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

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

За 15-20 минут чтения вы получите не только теоретические знания, но и практические советы от опытного разработчика. Присоединяйтесь к миру веб-разработки и откройте для себя, как просто и увлекательно может быть создание ваших первых веб-приложений с Flask!

Читать далее

Размещение телеграмм бота (Aiogram3) на VPS/VDS

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

Расскажу как просто задеплоить телеграмм бота на Aiogram 3 с webhook на VPS/VDS. Посмотреть видео версию, которую я выложил, можно на YouTube

Также покажу установку двух типов сертификатов SSL: ...

C Nginx и без него ...

Читать далее

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

Торговый бот на Python с нуля (с использованием Binance API), часть 2

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

Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!

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

Читать далее

День в Квартале Образования. Поиски Деда Мороза продолжаются

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

В преддверии Нового года Хабраслизень занят поисками пропавшего Деда Мороза на огромной Фабрике подарков. Не без помощи хабраюзеров, конечно, которые следят за ходом поисков в хабе «Адвент 24». Они уже успели обыскать Книжный квартал, но следов Деда Мороза не нашли. Теперь внимание Хабраслизня привлёк большой Квартал Образования. 

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

Разобраться с роботами

Монтаж уличной ip-камеры и вывод изображения по RTSP (python, raspberry pi)

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

Камеры видеонаблюдения стали для многих стран обыденностью, например в Китае, они могут свисать гроздьями, через каждые 5 метров, по улице. Но в провинции России это все еще может быть в новинку. Я отношусь к видеонаблюдению по большей мере положительно. Ведь вид камеры, даже превентивно может предотваратить хулиганство (однажды я использовал муляжи камер в офисе:)), а главное это возможность контроллировать обьект наблюдения.

Этот пост про монтаж уличной камеры, на стену многоквартирного дома и программную реализацию - вывод изображения, без использования стандартной программы, оптимизацию (размещение на raspberry pi).

Читать далее

Учимся анализировать данные на примере API Codewars

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

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

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

Читать далее

Товары-аналоги и с чем их едят или Свежий подход к формированию групп товаров для управления ассортиментом Ozon fresh

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

Мы команда data science Ozon fresh. В этой статье мы расскажем об одной из наших задач - алгоритм, который помогает управлять нашим огромным ассортиментом.

Ozon fresh — это сервис быстрой доставки продуктов, бакалеи, бытовой техники, электроники и других товаров. В нашем ассортименте более 35 000 уникальных позиций (готовая еда, мясо, рыба, фрукты, овощи, товары для гигиены и многое другое). Специфика Ozon fresh заключается в мини-складах, где хранятся товары. Они доставляются клиентам в радиусе нескольких километров. 

Управление таким количеством позиций требует много человеческих и технологических ресурсов. У нас этим занимаются более 30 человек. Для упрощения работы мы  используем различные группировки товарных позиций. Самая популярная — иерархическая четырёхуровневая группировка (далее мы будем называть её «категорийное дерево»).

Читать далее

Введение в SQL & СУБД на примере доступа к данным через Python

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

Краткое введение в SQL (+СУБД) на примере доступа к данным через Python. Я начинающий Data Scientist и решил написать статью где будет базовое введение в sql, а также как извлекать данные через разные способы (SQLalchemy, Requests).

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

Логи в телеграм-ботах

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

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

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

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

Читать далее

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