Обновить
808.79

Python *

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

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

Быстрая оценка эффекта рекламы/события на ключевые показатели: Python + Causal Impact

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

Приветствую, меня зовут Владислав Поляков, я аналитик данных в Сбербанке. Сегодня я хочу поделиться, пожалуй, самым простым и быстрым способом оценки эффекта рекламы/события на ключевые показатели. Способ заключается в использовании библиотеки pycausalimpact для Python. Документация к библиотеке.

Вводные:

Данные: Данные ЦБ РФ по ключевой ставке и объему выданных кредитов с 2013 года.

Что будем оценивать?: Как повышение ключевой ставки повлияло на объем выданных кредитов.

Как будем оценивать?: С помощью библиотеки pycausalimpact для Python

Читать далее

BitImageTool — пиктограммы для кнопок и панелек приложений, закодированные в ASCII

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

Статья о том, как легко делать графические кнопки для панелей инструментов, не таская за приложением гору бинарных ресурсов с картинками. Этот метод платформонезависимый и может быть использован в различных языках и средах, позволяющих работать с графикой и растровыми изображениями. Ниже приводятся примеры для C# (WinForms / WPF), JavaScript, Python.

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

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

Читать далее

Как мы перешли с оффсетной пагинации на курсорную, или о проблемах динамической фильтрации

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

Привет, меня зовут Надежда и я Backend-разработчик в HiFi-стриминге Звук! Занимаюсь всем, что связано с подкастами и немузыкальным контентом (а вы знаете, что в Звуке есть аудиокниги? Разработка нашей команды! PodcaTS, привет!). Какое-то время я также техлидила сервисы, которые отвечали за отдачу мета-информации и всего, что связано с аудио (артисты, релизы, треки, подкасты, аудиокниги) в Звуке.

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

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

Читать далее

Как ускорить интеграцию API с помощью библиотеки и продвигать свои услуги

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

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

Читать далее

Опыт автоматизации рутины: подсчет спецификации при помощи python

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

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

Читать далее

Создание меню/кнопок в pyTelegramBotAPI на основе SQL запроса

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

В данной статье планирую поделиться с вами своей наработкой, которая позволяет создавать меню и кнопки вашего Telegram бота на основе данных хранящихся в БД.

Реализовывать все это будем на Python и нам потребуются библиотеки.

Читать далее

Кастомные email-оповещения в Apache Airflow

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

Пролог

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

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

Дорогой читатель, наверное, задаст риторический вопрос:
- Как это?! Разве чего-то нельзя достичь с помощью программирования?!
Вопрос, конечно, к месту, и ответ в большинстве случаев очевиден:
- Нет ничего невозможного… главное грамотно спроектировать техническое решение.
Но сейчас немного не об этом, а о целесообразности расхода ресурсов: трудозатрат, количество привлеченных специалистов и т.п.

Давайте почитаем-с

Как я в 35 пытался стать Python-разработчиком, и почему у меня [пока] ничего не вышло

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

Мои родители инженеры микроэлектронной техники, мой младший брат ML-разработчик уровня lead, друзья — системные и бизнес-аналитики. А я — гуманитарий. Мне не повезло. С характером, способностями, обстоятельствами, мало ли чем ещё. В какой-то момент я понял, что так больше не может продолжаться и решил в свои тогда ещё 34 года «залететь в ИТ». Выбрал курсы по Python на степике, потому что это самый популярный и довольно простой язык. Вдохновился историями «старокодящих», которые смогли. Почитал новости о диком дефиците программистов в России. И с головой ушёл в обучение.

Что могло пойти не так?

1400 строк кода без программирования: как я собрал ИИ-бота с помощью Claude

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

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

Результат превзошел мои ожидания и показал, насколько далеко продвинулись возможности ИИ в генерации кода за последний год. Видео демки:

Читать далее

Часть 2. Алгоритм Тарьяна для приведения нелинейной системы уравнений к вычисляемой последовательности подстановок

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

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

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

Читать далее

Асинхронные увeдомления в Telegram: простое решение с новой библиотекой

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

Привет!

Сегодня я расскажу вам о том, как упростить процесс отправки уведомлений в Telegram с помощью новой библиотеки — easy_async_tg_notify. Если вы, как и я, часто сталкиваетесь с необходимостью отправки сообщений через Telegram от различных сервисов (проектов, скриптов), то это руководство будет для вас полезным.

Читать далее

Как написать мод для TrackMania 2020 и не запутаться

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

Привет, Хабр! Меня зовут Вова, я разработчик в Selectel. В прошлом году серии TrackMania исполнилось 20 лет. Это игра моего детства и мне захотелось «размять свои юные олдскулы», посмотреть, что изменилось, и применить новые навыки.

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

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

Шесть причин выучить Julia в 2024 году

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


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

А чтобы подогреть ваш интерес, мы подготовили небольшую статью (опирались на этот материал, спасибо авторам, и добавили много тезисов на основе нашего опыта с Julia) с описанием основных причин, почему вы должны срочно заинтересоваться Julia и подать заявку на Летнюю школу. Приятного чтения!

Читать далее

Как я создал архиватор из задачки с техсобеса: сжатие файлов с помощью RLE

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

Привет, меня зовут Рома. Я работаю в отделе спецпроектов KTS на позиции Python backend-разработчика. 

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

Читать далее

Donkey.bas на Python в 170 строк

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

В этой статье я поведаю вам о своём намерении написать ремейк старой DOS игрушки Donkey.bas с использованием стандартных библиотек Python: Tkinter, Time, Random и Winsound..

Читать далее

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

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

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

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

- Использование инструментов Alembic и SQLAlchemy для управления базой данных.

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

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

Читать далее

Telegram вместо студии звукозаписи: как я создал бота для мобильных музыкантов

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

Привет! Я Виктор, проектный менеджер в Selectel. Последние 20 лет мое хобби — написание музыки. Выходит с переменным успехом (писать музыку, конечно), но это часть моей жизни. Сначала был Fruity Loops 3, потом Reaper, но душа всегда тянулась к «железу» и новым технологиям.

Под катом — история pet-проекта, который призван упростить жизнь мобильным музыкантам. Либо заставить технических специалистов сказать *meh* («До» малой октавы). Осторожно — внутри нейронки, музыкальное «железо» и плохой код на Python.
Читать дальше →

Как сделать доступ в личный кабинет с помощью Flet

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

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

Читать далее

Как наш ученик попал на стажировку в VK. История Артёма Мазура

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

Мы следим за жизнью всех ребят, которые приходят в ЦПМ и участвуют в наших проектах. Каждый раз, когда мы узнаем об их достижениях, нам очень трепетно и радостно! Сегодня мы хотим поделиться историей Артёма Мазура, который прошел на стажировку, внимание, в VK!

Читать далее