Обновить
-1
0

Пользователь

Отправить сообщение

Добавление OCR-слоя и другие преобразования PDF

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

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

Ниже упомянуты ещё несколько полезных инструментов для парсинга PDF, в том числе для преобразования сложных математических PDF-документов в текстовый формат Markdown.

Читать далее

Паттерны проектирования в Python, о которых следует забыть

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

Попробуйте поискать в Интернете «Паттерны проектирования на Python» — и получите целую простыню туториалов, демонстрирующих, как в точности воспроизвести на Python паттерны проектирования из книги «Банды четырёх». Там же будут диаграммы классов, иерархии фабрик и столько шаблонного кода, что выхлопа хватит, чтобы отопить маленькую деревню. Так вам внушают, будто вы пишете «серьёзный» код. Умно. Профессионал ьно. Готово для корпоративного использования.

Но вот в чём проблема: большинство из этих паттернов решают проблемы, которые в Python просто отсутствуют. Паттерны разрабатывались для таких языков как Java и C++, где для выполнения самых базовых вещей требуется настоящая эквилибристика — нет ни функций первого класса, ни динамической типизации, ни модулей в качестве пространств имён. Разумеется, вам потребуется Фабрика или Синглтон, если без них в вашем языке просто не с чем работать.

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

Читать далее

От консоли к GUI: Как написать игру «Сапёр» на Python с нуля версия GUI (часть вторая)

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

Создайте свою версию легендарного «Сапёра» на Python с графическим интерфейсом. В этом подробном руководстве вы шаг за шагом реализуете полноценную игру: от настройки игрового поля с помощью Tkinter до обработки кликов, управления флагами и интеллектуального открытия клеток. Вы освоите генерацию мин с безопасной зоной, рекурсивное раскрытие пустых областей, систему подсчёта времени и проверку условий победы

Читать далее

XTools-py — универсальные утилиты для Python-разработчиков

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

🚀 XTools-py — универсальные утилиты для Python-разработчиков

Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас.

XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку.
Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения.

✨ Возможности

Find — быстрый поиск и работа с коллекциями данных.

Matrix — операции с матрицами.

Config — удобная работа с JSON, YAML, INI.

Validator — валидация строк, чисел и других типов.

Cache — простой кеш с TTL.

DateTimeUtils — работа с датами и временем.

MathUtils — расширенные математические функции.

ColorUtils — преобразование и обработка цветов.

EncryptionUtils — шифрование и хеширование.

TextUtils — удобные манипуляции с текстом.

UnitConverter — конвертация единиц измерения.

AWS S3 — облачное хранилище (асинхронно/синхронно).

Читать далее

Интеграл, как способ приоткрыть черепную коробку

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

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

Вперед - интегрализироваться!

Использование нейросетей в разработке игр. Часть 2. Делаем платформер

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

В первой части этой стати мы с нейросетью Qwen пытались создать аналог Pong! в зимнем сеттинге (Снежинка вместо шарика и на фоне падает снег).

Итак, с понгом Qwen справился, настало время для более сложных испытаний. Посмотрим, как он справится с платформером.

Читать далее

Telegram Web App. Всё о Mini Apps

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

В прошлой статье я уже рассмотрел основные возможности Web App. Cегодня же подведём итоги, расскажем все особенности и нюансы работы с Web App в Telegram и соберём простенькое веб-приложение.

Читать далее

Удобный софт для работы с файлами SQLite

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

Все мы любим SQLite. Это идеальный движок БД, компактная библиотека размером менее 1 МБ, быстрая, автономная и неубиваемая. Более того, это в принципе удобный способ хранения информации, поскольку СУБД выигрывает у файловой системы по скорости доступа, сжатию, функциональности полнотекстового поиска и т. д. Например, она вдвое быстрее файловой системы Ext4 под Linux.

SQLite — самая популярная в мире СУБД. Как рассказывалось в статье «Безумные и забавные факты о SQLite», в мире активно используется более триллиона (!) БД SQLite, это невероятное число. Просто она встроена во все смартфоны, браузеры, операционные системы и бесчисленное число других приложений.

Читать далее

Создаём образ RDP-клиента для запуска с USB-флешки (часть 1)

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

Как создать загрузочный образ RDP-клиента для запуска USB-флешки.
Часть 1. Подготовка загрузочного образа.

Установка и настройка базовых пакетов. Настройка сетевого интерфейса, grub для работы на USB-накопителе.

Читать далее

Создаём образ RDP-клиента для запуска с USB-флешки (часть 2)

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

Как создать образ RDP-клиента для запуска с USB-флешки (часть 2)
Установка графической среды и RDP-клиента.

Читать далее

Создаём образ RDP-клиента для запуска с USB-флешки (часть 3)

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

В части 1 и части 2 мы подробно рассмотрели процесс создания загрузочного образа RDP-клиента на базе Debian 12. В результате у нас получился готовый к использованию образ, который можно записать на USB-носитель или установить на жёсткий диск.

В некоторых случаях требуется уменьшить размер виртуального диска — не просто сжать образ, а физически уменьшить объём виртуального qcow2-диска.

Самый надёжный способ — создать новый образ с меньшим диском и перенести туда систему.

Читать далее

Как поднять локальную LLM за 5 минут

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

Как поднять локальную LLM за 5 минут 🚀

Хотите свой ChatGPT, который работает локально и не требует интернета?
В статье показываю, как развернуть Ollama + OpenWebUI в Docker:

• Ollama — инструмент для запуска локальных LLM (LLaMA, Mistral, Gemma и др.)
• LLaMA — серия открытых языковых моделей от Meta
• OpenWebUI — удобный веб-интерфейс, похожий на ChatGPT, но для ваших локальных моделей

Минимальные требования: 8 GB RAM, 4 CPU, 25 GB диска.

Всё сводится к трём шагам:

Установить Docker

Настроить docker-compose с Ollama и OpenWebUI

Зайти в локальный веб-интерфейс и протестировать свою LLM 🎉

💻 Код, конфиги и пошаговая инструкция в статье!

Читать далее

Сказ о том, как я с locale'ями боролась

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

Сказ о том, как я с астрой боролась и ее локалями!

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

Читать далее

Как запаковать простое приложение в Docker: на пальцах

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

Привет, я Дмитрий Желудков, архитектор по эксплуатации, и сегодня я покажу, как собрать приложение в docker на вот этих вот 4 левых пальцах (а как же иначе, у нас же серьёзное исследование).

Читать далее

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

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

Привет! Это команда курса «Python для анализа данных». Собрали для вас подборку бесплатных ресурсов для изучения Python с нуля. Здесь вы найдёте как интерактивные курсы с практическими заданиями, так и теоретические материалы с подробными объяснениями.

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

Читать далее

Пишем чат-бота для мессенджера MAX на Python

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

Рассказываю как создать эхо-бота для MAX на Python с помощью библиотеки maxapi без проблем для aiogram разработчика!

Получить код

Как я написал современный GUI для yt-dlp на Python

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

Надоело каждый раз лезть в терминал, чтобы скачать видео с YouTube? Мне тоже. Поэтому я сделал нормальный GUI для yt-dlp - без лишних кнопок, с современным интерфейсом и чтобы просто работал. Код на GitHub, готовая сборка тоже есть.

Зачем вообще это делать?

Да, yt-dlp крутой - качает с кучи сайтов, быстрый, надёжный. Но блин, каждый раз набирать команды в консоли - это не для всех. Особенно когда нужно быстро скачать что-то и не париться с параметрами.

Посмотрел на существующие GUI - одни выглядят как из 2005 года, другие напичканы настройками, которые 99% пользователей никогда не трогают. Захотелось сделать что-то простое: вставил ссылку, выбрал качество, скачал. Всё.

Что хотел получить:

Простоту - минимум кликов от ссылки до файла

Нормальный вид - тёмная тема, без уродских кнопок из 90-х

Скорость - никаких тормозов и зависаний

Работает везде - Windows точно, остальные ОС в планах

Не требует установки - скачал exe и пользуешься

Читать далее

Когда денег нет, но мы держимся. Резервное копирование на Python

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

Разработка универсальной системы резервного копирования на языке Python. Как сделать, как применить.

Читать далее

Операции ввода-вывода в Python

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

Все мы пользуемся различными приложениями для разных целей. Банковские приложения для операций с денежными средствами, мессенджеры для общения. Они принимают внутрь себя команду от человека и возвращают ответ. Банальный запрос ответ, но это так кажется с первого взгляда. Эти операции называются Input Output и они является самой распространённой операцией в сети. Предлагаю сегодня разобраться как они работают.

Читать далее

Фундаментальные шаблоны проектирования на Python

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

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

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность