Pull to refresh
-1
0
Send message

Создаем свой «Photoshop» на Python: пишем десктопный редактор изображений с помощью Flet и Pillow

Level of difficultyMedium
Reading time14 min
Reach and readers13K

Название громкое, но цель реальна: написать на Python простую, но полезную утилиту для обработки изображений, которая выглядит и работает как современное приложение.
Внутри — пошаговый гайд, где мы берем всю мощь библиотеки Pillow для работы с картинками, добавляем магию Flet для создания интерфейса. Только чистый Python.

Читать далее

Забудьте про print(): Современное и красивое логирование в Python с помощью Loguru

Level of difficultyMedium
Reading time15 min
Reach and readers23K

Все мы начинали с print() для отладки, но в серьезных проектах это превращается в хаос. Стандартный logging? Мощно, но громоздко. Пора это исправить.

Loguru — это библиотека, которая делает логирование простым, как print(), и мощным, как logging, но без боли и десятков строк конфигурации. В статье покажу, как одной строкой настроить цветные логи, автоматическую ротацию файлов и ловить исключения с полным контекстом переменных. Заходите, чтобы сделать свою отладку в разы приятнее.

Читать далее

Tkinter. Размещение в окне кнопки с картинкой

Level of difficultyEasy
Reading time3 min
Reach and readers9K

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

Читать далее

Код, за который не стыдно: Практика чистописания для начинающих Python-разработчиков

Level of difficultyMedium
Reading time21 min
Reach and readers9.4K

Каждый из нас хотя бы раз в жизни писал код, который можно описать фразой: «Ну, оно как-то работает, лучше не трогать». Мы наспех добавляем костыль, чтобы успеть к дедлайну, оставляем переменную с именем data2 или пишем функцию на 200 строк, обещая себе вернуться к ней «позже». И знаете что? Это «позже» никогда не наступает.

Читать далее

ИИ-расширения для браузеров: лучшие плагины для Chrome и Edge в 2025 году

Level of difficultyEasy
Reading time4 min
Reach and readers12K

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

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

Читать далее

Создаем GUI на Python: от простого скрипта к Markdown-редактору с Flet

Level of difficultyMedium
Reading time9 min
Reach and readers17K

В этой статье мы познакомимся с Flet — революционным фреймворком, который позволяет делать именно это. Flet дает вам возможность создавать интерактивные GUI на чистом Python, а для отрисовки использует мощный движок Flutter. Результат — быстрые, красивые и нативные приложения для Windows, macOS, Linux и даже для веба, без необходимости писать ни строчки на Dart или JavaScript.

Читать далее

Создаем красивые и удобные CLI-приложения на Python с помощью Typer и Rich

Level of difficultyMedium
Reading time10 min
Reach and readers23K

Вспомните свой последний скрипт для автоматизации. Возможно, он скачивал данные, обрабатывал файлы или отправлял отчеты. Вы быстро набросали логику, запустили из командной строки, передав пару аргументов через sys.argv, и… всё сработало. Вы молодец.

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

Читать далее

Как я уменьшил Docker-образ Go-приложения с 1.92 GB до 9 MB

Reading time6 min
Reach and readers32K

Первый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.

Читать далее

Изучаем Python: модуль Pytest для начинающих с домашним заданием

Level of difficultyMedium
Reading time16 min
Reach and readers13K

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

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

Читать далее

5 библиотек Python, которые выведут вас на новый уровень. Часть 2

Level of difficultyMedium
Reading time17 min
Reach and readers19K

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

Читать далее

Изучаем ООП Python: наследования для начинающих с домашним заданием

Level of difficultyMedium
Reading time16 min
Reach and readers8.5K

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

Проще говоря, вместо того чтобы говорить: «Гоблин — это что-то, у чего есть здоровье и атака. Дракон — это что-то, у чего есть здоровье и атака», мы говорим: «Сначала создадим общий шаблон "Враг" с базовыми характеристиками. А гоблин и дракон — это разновидности этого врага, которые наследуют всё от него и добавляют что-то своё».

Читать далее

Изучаем Python: модуль csv для начинающих с домашним заданием

Level of difficultyMedium
Reading time13 min
Reach and readers8.9K

CSV (Comma-Separated Values) — это универсальный язык для обмена табличными данными, который понимают все, от Excel до сложных баз данных. Вся его сила в простоте: это обычный текст, где значения разделены запятыми. Именно поэтому он стал стандартом для выгрузки отчетов, переноса контактов и подготовки данных.

Читать далее

Изучаем Python: модуль pathlib для начинающих с домашним заданием

Level of difficultyMedium
Reading time15 min
Reach and readers11K

Забудьте о ручном склеивании строк: с pathlib пути элегантно конструируются с помощью оператора /. Проверка существования, чтение, получение родительской директории — всё это становится методами и атрибутами самого объекта. В результате код получается не просто чище и читабельнее, он становится более надежным и по-настоящему "питоничным" (Pythonic).

Читать далее

Изучаем Python: модуль json для начинающих с домашним заданием

Level of difficultyMedium
Reading time14 min
Reach and readers17K

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

Читать далее

Внедряем вход через Госуслуги за 3 шага — подробный гайд

Reading time10 min
Reach and readers13K

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

Если ваша компания работает на российском рынке, то вы наверняка сталкивались с запросами клиентов на «вход через Госуслуги». В нашем BILLmanager за это отвечает модуль «Авторизация через ЕСИА». Он позволяет клиентам входить в BILLmanager через аккаунт на Госуслугах, упрощает регистрацию и проверку данных.

Сегодня мы рассмотрим, как настроить авторизацию через ЕСИА в BILLmanager 6. Разберём этот процесс шаг за шагом, чтобы сделать его максимально простым и понятным. Разложили все по полочкам — от установки самого модуля до работы с сертификатами. Сохраняйте, чтобы не потерять!

Читать далее

Телеграмм бот на Python aiogram 3. Часть 4

Level of difficultyMedium
Reading time9 min
Reach and readers6.6K

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

В Telegram существует два принципиально разных типа клавиатур, каждый из которых служит своей цели:

ReplyKeyboardMarkup: Постоянные кнопки, заменяющие стандартную клавиатуру.

InlineKeyboardMarkup: Встроенные в сообщение кнопки, которые отправляют боту "сигналы" (callback) и позволяют редактировать уже отправленный контент.

Читать далее

Декораторы в Python для начинающих с домашним заданием

Level of difficultyMedium
Reading time18 min
Reach and readers10K

Привет, Хабр! Если вы работаете с Python дольше пары недель, вы наверняка сталкивались с конструкцией, начинающейся с символа @. Это декораторы — мощный инструмент, который делает код чище, читабельнее и соответствует принципу DRY (Don't Repeat Yourself). Но за элегантным синтаксисом скрывается несколько ключевых концепций языка, которые важно понимать.

Читать далее

Изучаем Python: модуль re для начинающих с практическим домашним заданием

Level of difficultyMedium
Reading time21 min
Reach and readers5.6K

В мире, где существуют десятки специализированных библиотек для парсинга HTML, XML, JSON и других форматов, может показаться,- что регулярные выражения — это устаревший инструмент. Однако такое мнение ошибочно. Регулярные выражения, или RegEx, остаются фундаментальным и незаменимым навыком в арсенале любого разработчика, работающего с текстовыми данными.

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

Читать далее

Что такое дескрипторы в Python и почему вам следует о них знать

Level of difficultyMedium
Reading time13 min
Reach and readers19K

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

Читать далее

С чего начать? 10 учебных проектов на Python для вашего GitHub

Level of difficultyMedium
Reading time13 min
Reach and readers15K

Написал статью с подборкой пет-проектов на Python.

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity