Pull to refresh
10
0.2
Артем @it_police

Web developer. Вы не видели что в телеграм канале.

Send message

Взаимодействие с MOEX ISS через Python

Level of difficultyEasy
Reading time4 min
Views20K

В этой статье я хочу дать поверхностное представление о том, как работает взаимодействие с MOEX ISS на Python requests. Да, сегодня уже существуют готовые решения для работы с MOEX, например aiomoex. Но как по мне, лучше всегда сначала что‑то захардкодить и понять, как это работает под капотом. Если вы только знакомитесь с MOEX ISS или начинаете заниматься анализом временных рядов, думаю, вам эта статья будет полезна. Если же вы более продвинутый специалист, то вряд ли найдете здесь что‑то новое.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments1

Простая настройка VPS, NGINX и FastAPI: Пошаговое руководство. Часть 2

Level of difficultyMedium
Reading time6 min
Views5.7K

Всем привет! Продолжаю раскрывать тему простой настройки VPS, NGINX и FastApi. В прошлой части мы раскрыли следующие темы: покупка VPS сервера, покупка доменного имени и создали простое FastApi приложение, которое подгружает index.html файл с простыми стилями.

Напоминаю, что написание всего контента было в рамках темы про запуск aiogram 3.x телеграм бота с технологией вебхуков в связке с FastApi. Раскрыл тему максимально подробно, так что если для вас было проблематично работать с вебхкуками, то милости прошу к моей статье.

Небольшой дисклеймер

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

Теперь к делу. Сегодня мы:

Читать вторую часть
Total votes 10: ↑2 and ↓8-6
Comments13

Асинхронные микросервисы на Python

Level of difficultyEasy
Reading time8 min
Views15K

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

Почему асинхронность так важна для наших микросервисов? Представьте себе множество людей, ожидающих в лифте – каждый из них хочет двигаться своим темпом, и никто не хочет ждать, когда лифт подойдет к нужному этажу. Так и в мире микросервисов – каждый сервис может заниматься своей задачей, не блокируя другие. Асинхронность позволяет нам этим заниматься: вместо того чтобы ждать ответа от одного сервиса, мы можем отправить запрос другому и эффективно использовать время, пока ждем ответа.

Читать далее
Total votes 13: ↑9 and ↓4+8
Comments12

Как правильно оформить Open Source проект

Reading time7 min
Views54K

В свободное и не свободное время[1] я развиваю несколько своих проектов на github, а также, по мере сил, участвую в жизни интересных для меня, как программиста, проектах.


Недавно один из коллег попросил консультацию: как выложить разработанную им библиотеку на github. Библиотека никак не связана с бизнес-логикой приложения компании, по сути это адаптер к некоему API, реализующему определённый стандарт. Помогая ему, я понял что вещи, интуитивно понятные и давно очевидные для меня, в этой области, совершенно неизвестны человеку делающему это впервые и далёкому от Open Source.


Я провел небольшое исследование и обнаружил что большинство публикаций по этой теме на habrahabr освещают тему участия (contributing), либо просто мотивируют каким-нибудь образом примкнуть к Open Source, но не дают исчерпывающей инструкции как правильно оформить свой проект. В целом в рунете, если верить Яндекс, тема освещена со стороны мотивации, этикета контрибуции и основ пользования github. Но не с точки зрения конкретных шагов, которые следует предпринять.


Так что из себя представляет стильный, модный, молодёжный Open Source проект в 201* году?

Читать дальше →
Total votes 89: ↑84 and ↓5+79
Comments135

Понимаем декораторы в Python'e, шаг за шагом. Шаг 2

Reading time12 min
Views231K

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


Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
Читать дальше →
Total votes 73: ↑67 and ↓6+61
Comments25

NetworkX для удобной работы с сетевыми структурами

Reading time5 min
Views99K

Рассматривается библиотека NetworkX предназначенная для создания, манипуляции и изучения структуры, динамики и функционирования сложных сетевых структур.
Рассмотрены основы использования библиотеки в качестве инструмента обучения, прикладного программирования или научных исследований.
Основой для описания библиотеки служат официальные материалы с сайта.
Рассмотрена версия библиотеки 1.5.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments35

Четыре способа написать Hello world, или инструменты для создания GUI на Python

Level of difficultyEasy
Reading time5 min
Views47K

После написания программы ее можно модифицировать и добавить графический интерфейс — с Python это проще, чем кажется. Для программирования красивого и функционального GUI иногда достаточно простого знания html и css.

Под катом — подборка некоторых инструментов для создания интерфейсов на Python. Сохраняйте статью в закладки и предлагайте свои варианты в комментариях!
Читать дальше →
Total votes 43: ↑40 and ↓3+50
Comments61

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Level of difficultyMedium
Reading time5 min
Views38K

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

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Total votes 35: ↑32 and ↓3+40
Comments13

Пишем чат-бот для Telegram на Python, используя webhook и минимум внешних библиотек

Reading time12 min
Views65K

Меня зовут Андрей Устьянцев, я ведущий аналитик направления Big Data Лиги Цифровой Экономики, и в этой статье я расскажу, как писал чат-бот в Telegram на webhook. Если вы знаете, что это такое, и подготовка не вызывает интереса — можете сразу переходить к разделу «Очень кратко». С остальными поделюсь всеми необходимыми шагами.

Читать далее
Total votes 7: ↑4 and ↓3+3
Comments12

Telegram Bot с подключением OpenAI GPT-3.5-turbo

Level of difficultyEasy
Reading time4 min
Views63K

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

Это именно то, что я намеревался сделать, когда создавал телеграмм-бота ChatGPT. Этот бот использует OpenAI GPT-3.5, чтобы предоставить пользователям более естественный и похожий на человеческий опыт общения. Но я не остановился на достигнутом. Я также включил контекст, рисование ИИ и парсинг Google, чтобы сделать бота еще более мощным и универсальным.

Читать далее
Total votes 14: ↑11 and ↓3+12
Comments34

Пишем простого бота-администратора для Telegram на Python. Тестируем на жене

Level of difficultyEasy
Reading time8 min
Views64K

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

После анализа нескольких библиотек для создания телеграм-ботов, я выбрал библиотеку Telebot, которая предоставляет богатый набор инструментов для разработки функционально-насыщенных ботов.

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

Тестировать бота мы будем с помощью моей жены.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments7

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Views441K

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

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост
Total votes 119: ↑106 and ↓13+93
Comments39

17 интересных (и забавных) API для вашего проекта

Reading time7 min
Views130K


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

Читать дальше →
Total votes 44: ↑36 and ↓8+40
Comments7

9 причин использовать dataclasses в Python

Reading time8 min
Views48K

Начиная с версии 3.7 в Python представлены dataclasses (см. PEP 557), новый функционал, определяющий классы, содержащие и инкапсулирующие данные.

Недавно я начал использовать этот модуль в нескольких Data Science-проектах, и мне понравилось. Навскидку этому есть две причины:

Меньше шаблонного кода;

Лучшая читабельность и более простая поддержка кода.

Читать далее
Total votes 25: ↑23 and ↓2+23
Comments8

Введение в Data classes

Reading time7 min
Views230K

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".



Введение


Все приведенные примеры требуют для своей работы Python 3.7 или выше

Большинству python-разработчикам приходится регулярно писать такие классы:


class RegularBook:
    def __init__(self, title, author):
        self.title = title
        self.author = author

Уже на этом примере видна избыточность. Идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы __eq__ и __repr__.


Модуль dataclasses содержит декоратор @dataclass. С его использованием аналогичный код будет выглядеть так:


from dataclasses import dataclass

@dataclass
class Book:
    title: str
    author: str
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments19

Information

Rating
2,831-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer, Web Developer
Middle
From 900 ₽
Python
Flask
Fastapi
SQLalchemy
Celery
Nginx
Git
Linux
Docker
Redis