Обновить
1024K+

Python *

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

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

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

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

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

Потребуется небольшой код на Python, библиотеки backtrader_binance,  backtrader и API ключ полученный с биржи Binance.

Читать далее

Network configuration compliance и как его готовить

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

TLDR: в этой статье я рассуждаю о подходах к организации валидации конфигураций сетевых железок и презентую свой плагин для NetBox, позволяющий легко создавать эти самые комплаенс‑тесты.

Если вы работаете с сетевой инфраструктурой средних или крупных размеров, то наверняка сталкивались с ситуацией, когда коробка настроена «слегка» неправильно. Ну т. е. прямо сейчас все работает, аварии нет, но все же проблема есть. Это может быть какой‑то неправильно настроенное резервирование, которое выстрелит в самый неподходящий момент (например, VRRP только на одном роутере), либо просто какая‑то штука, которая ухудшает эксплуатацию (на интерфейсе в сторону клиента нет дескрипшена и теперь вам придется лезть в ненавистный GUI: CRM/OSS/BSS/WTF).

Configuration compliance (или валидация конфигураций) — это процесс автоматической проверки конфигурации на соответствие некоторым правилам.

Читать далее

Создание бесплатного ChatGPT телеграм бота на Python

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

Это моя первая статья но надеюсь вам понравится! Почему я решил создать эту статью, когда скорее всего есть уже много других подобных? Дело в том что официальное API компании OpenAI(компании которая создала ChatGPT) - платное(пробный период быстро заканчивается), но недавно я нашел метод, которым сам пользуюсь, через который можно создавать приложения с использованием ChatGPT - бесплатно, покажу на примере просто Telegram-чатбота.

Читать далее

Полезные методы работы с данными в Pandas. Часть 3

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

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

Рост объемов хранения данных в последние годы привел к развитию и использованию более сложных и гибких структур для их хранения. Одной из таких структур является JSON (JavaScript Object Notation), который быстро стал популярным и широко используется благодаря своей легкости в чтении и гибкости. JSON позволяет организовывать данные в виде вложенных ключ- значение пар, что позволяет эффективно хранить и передавать структурированные данные.

Вложенные структуры данных в формате JSON встречаются в самых разных областях. Например, они используются в API для обмена информацией между клиентами и серверами, в NoSQL базах данных для хранения и обработки больших объемов полуструктурированных данных, а также в различных приложениях и сервисах, где требуется гибкость и эффективность в работе с данными. Все это делает важным умение обрабатывать и анализировать сложные структуры данных, такие как JSON, и интегрировать их в процессы обработки и анализа данных с использованием инструментов, таких как Pandas.

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

Читать далее

Игры в телеграм в 2023. Пациент жив или скорее мертв?

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

Всем привет! Это создатель игры Dev's Battle (Образовательной MMO-RPG игры для разработчиков в Телеграмм). В этой статье я решил рассказать про наш опыт использования телеграма, как платформы для создания игры, а также обсудить с другими разработчиками плюсы и минусы этой концепции.

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

Читать далее

Сколько Надо Строк Кода Для Того Чтобы Подписать Артефакты? (спойлер: 3 строки)

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

Бывает ситуация, когда надо чтобы прошивка или любой другой артефакт сам сказал в каком состоянии был GIT репозиторий с кодовой базой, когда эту прошивку собирали. Надо как-то добавить в text/rodata сегмент памяти такие метаданные как "из какой ветки собрали прошивку", "какой была контрольная сумма последнего коммита".

Данная подсказка может существенно помочь при сопровождении ПО.

В тексте представлен скрипт, который делает эту работу.

Как вы думаете сколько строк кода надо для подписи прошивки?

Читать далее

Python Дайджест: как ускорить Django проект до (почти) максимума

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

Завершение цикла статей про техническое оживление Python Дайджест. В первых трех частях рассказано как был совершен переход с Python 3.4 на Python 3.11 и Django 4, отформатирована вся кодовая база с pre-commit, настроена автоматизация задач на основе Github Actions. В заключительной части расскажу как получить "быстрый" сайт.


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

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

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

Хочу показать вам, как легко создавать своих торговых роботов для фондового рынка. Вы сможете протестировать ваши торговые стратегии на истории цен акций/фьючерсов, вам нужно только написать алгоритм принятия решений вашей стратегии на покупку или продажу актива — т.к. весь основной каркас робота уже написан. А добавив всего 4 строчки кода, ваша протестированная стратегия на истории сможет работать в live на реальном рынке, выставляя заявки на покупку и продажу в рынок.

Читать далее

Безопасная разработка на Python

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

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

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

Читать далее

Об инициации весов при обучении нейронных сетей. Личный опыт и рассуждения

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

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

В статье представлены результаты обучения с различными наборами инициации весов и предложены соответствующие выводы.

Читать далее

StackLLaMA: практическое руководство по обучению LLaMA с помощью RLHF

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

ChatGPTGPT-4 и Claude — это мощные языковые модели, которые дообучают, используя метод, который называется «обучение с подкреплением на основе отзывов людей» (Reinforcement Learning from Human Feedback, RLHF). Благодаря этому такие модели лучше отражают наши ожидания в плане их поведения, они лучше соответствуют тому, как мы собираемся их использовать.

В этом материале мы рассмотрим процесс обучения модели LLaMa c использованием RLHF. Модель будет учиться отвечать на вопросы с сайта Stack Exchange.

Читать далее

Что произошло в мире Python за последний месяц

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

Привет! Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. В апреле поговорили об исследовании экосистемы Django от JetBrains, LTS-релизе Django 4.2, релизе Pandas 2.0 и свежих PEP. Под катом — текстовая выжимка из обсуждения.

Читать далее

GPT-4 добавляем новые знания: Git репозиторий

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

GPT-4 позволяет достаточно просто писать boilerplate код с использованием различных языков, технологий и библиотек. Но, есть небольшая проблема, данные GPT-4 не совсем актуальные и ограничены серединой 2021 года.

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

Поехали

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

Что такое драйвера в Jija?

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

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

Ну и по случаю появления драйвера для sqlalchemy, на этот раз речь пойдёт про драйвера, а если вы пропустили вступительную статью, советую прочитать сначала её для понимания.

Читать далее

Jija python async framework

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

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

При создании jija я думал об удобстве использования сборщика приложения джанги и лёгкости и асинхронности fastapi.

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

Читать далее

Сам себе Росстат

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

Начало тут

Руководящие документы по организации первичной медико-социальной помощи населению предписывают проводить сравнительный анализ численности населения по территориальным участкам (норматив численности населения на терапевтическом участке - 1700 взрослых, на педиатрическом участке - 800 детей, на акушерско-гинекологическом участке - 3300 женщин в возрасте 15 лет и старше и т.д.) .

Оценку численности населения по субъектам РФ Росстат публикует ежегодно на 1 января текущего года. Для крупных городов территории обслуживания населения медицинскими организациями часто не совпадают с адресно административным делением и распределение населения по зонам ответственности медицинской организации становится скорее творчеством нежели технологической процедурой. Вопрос как декомпозировать данные из бюллетеня Росстата до медицинского участка для меня остается нерешенным.

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

Для работы нам понадобится обезличенная выгрузка из МИС, содержащая данные по пациентам: пол, дату рождения, адрес регистрации, адрес фактического места жительства, данные медицинской организации и номера участка по терапевтическому или педиатрическому профилю. Я загрузил ее в pandas.dataframe.

Читать далее

Отладка C при помощи пакета Cosmopolitan Libc

Время на прочтение12 мин
Охват и читатели4.1K
Cosmopolitan Libc предоставляет набор отладочных возможностей, повышающих удобство разработки на C: трассировка вызовов функций, интеграция с gdb, среда выполнения ASAN/UBSAN и многое другое! На C написано много быстрого и критически важного кода. Если вы пользуетесь программами, написанными на C, если вам приходится предусматривать интерфейсы для работы с библиотеками на C, исправлять баги в коде на C, либо даже переписывать имеющуюся на С программу на каком-то другом языке, то именно этот инструмент помогает понять, что делается в вашем коде на C. Отладка – это не просто россыпь инструкций printf. В этом посте будет рассмотрено, как Cosmopolitan Libc помогает наверняка и как следует отлаживать код C. Все примеры находятся в этом репозитории.
Читать дальше →

Асинхронный файловый api-сервис

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

Идея написать данную статью родилась после моего фейла по разработке данного сервиса. Суть задачи была проста — написать сервер с базовыми методами сохранения и отдачи файлов и сервисными методами по специфичной обработке файлов. Обмен данными (тело запроса, возвращаемые данные) я реализовал через json, про асинхрон идею упустил. По началу всё было хорошо, файлы не превышали размер нескольких мегабайтов, методы использовались редко. Но буквально через пару месяцев размеры файлов стали измеряться десятками мегабайт, количество запросов сотни в минуту. Сервис стал тормозить, возникали ошибки совместного доступа к файлам. «Никогда Штирлиц не был так близок к провалу».

В этом кейсе я покажу как я переписал код сервиса.

Читать

Пишем простой ML веб-сервис на FastAPI

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

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

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

План:

1. Загрузка и подготовка модели машинного обучения для использования в веб-сервисе.

2. Создание веб-сервиса с помощью FastAPI.

3. Изучение пользовательского интерфейса FastAPI для удобного ручного тестирования и демонстрации работы приложения.

4. Написание автоматических тестов с помощью библиотеки pytest.

5. Запуск приложения в Docker-контейнере.

Код доступен на GitHub.

Читать далее

Real-time аналитика в Учи.ру: как смотреть сложные метрики

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

Привет, Хабр! Меня зовут Андрей Скиба и я Python-разработчик в ML-команде Учи.ру. Разным командам в нашей компании важно получать доступ к ключевым метрикам пользователей (количество сессий, DAU и другим) в режиме реального времени. Поэтому мы создали свою собственную систему real-time аналитики — быструю, простую и с удобным для нас функционалом. Сегодня я расскажу, как она устроена. 

Читать далее