ITDEAL
1.12K subscribers
749 photos
108 videos
11 files
571 links
Разработка комплексных IT решений для бизнеса и частных заказчиков.

Чат: @pybytes_chat

Founder: @lunasantrope
Download Telegram
🔒 Конвертация Python в исполняемый файл: Простой путь к защите и распространению вашего кода!

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

Исполняемый файл (.exe) - это самодостаточный файл, который запускается без Python и других зависимостей.
Два героя - PyInstaller и auto-py-to-exe - помогут вам с этим заданием.


Способ 1: С помощью PyInstaller

PyInstaller
— это надежный друг разработчика. Он создаст исполняемый файл, включив в себя все необходимые модули и библиотеки. С помощью команды pyinstaller, your_script.py, ваш код станет автономным!

Дополнительные возможности:
Создание однофайлового исполняемого файла с ключом --onefile.
Скрытие окна консоли с помощью --noconsole.


Способ 2: С помощью auto-py-to-exe

Auto-py-to-exe
— это удивительная графическая оболочка для PyInstaller. Она позволяет вам выбирать настройки и создавать исполняемый файл через простой и понятный интерфейс.

Как использовать:
1️⃣ Установите auto-py-to-exe с помощью pip install auto-py-to-exe.
2️⃣ Запустите auto-py-to-exe для открытия графической оболочки.
3️⃣ Выберите ваш скрипт и настройте параметры.
4️⃣ Нажмите "Convert .py to .exe" и получите ваш исполняемый файл!


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

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍531🔥1🦄1
⚗️ Изучаем программирование на Python: Книга от Пола Бэрри!

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


1️⃣ Достоинства:

🟢Простой язык, доступный для новичков в программировании.
🟢Отличное изложение материала по объектно-ориентированному программированию.
🟢Качественная печать и плотная бумага, удобство в использовании.


Недостатки:

🟠Некоторые сведения могут быть неактуальными (как, например, код в разделе про SQL).
🟠Отсутствие общего проекта, который пошагово раскрывал бы новые возможности (в отличие от других книг серии Head First).


Книга Пола Бэрри - это надежный спутник в вашем путешествии по изучению Python 🖼️
Вы сможете погрузиться в программирование, научиться создавать веб-приложения и расширять свои знания в объектно-ориентированной парадигме
🌩

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2
👁 Компьютерное зрение: Открытие мира через изображения!

Компьютерное зрение - фантастическая область, которая позволяет компьютерам увидеть и понимать мир через обработку изображений и видео.
Одним из важных инструментов в этой области является библиотека OpenCV. Давайте рассмотрим, как с её помощью можно распознавать объекты на изображении.

Представим что хотим найти карты из игры Дурак онлайн.
Данное изображение мы будем обрабатывать. (1)


💮 Шаг 1: Установка и подготовка OpenCV
Первый шаг - установка и настройка OpenCV. Сделать это можно с помощью pip:

pip install opencv-python

📷 Шаг 2: Загрузка и подготовка изображения
Для начала загрузим изображение, с которым будем работать:

image = cv2.imread('table_image.jpg')

Затем преобразуем изображение в оттенки серого и применим размытие:

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

Шаг 3: Пороговая обработка
Для обнаружения контуров на изображении используем пороговую обработку:

thresholded = cv2.threshold(blurred, 100, 255, cv2.THRESH_BINARY)[1]

💠 Шаг 4: Поиск контуров
Используем функцию cv2.findContours для поиска контуров:

contours, _ = cv2.findContours(thresholded, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

🍎 Шаг 5: Обводка объектов
Чтобы выделить найденные объекты, используем cv2.drawContours:

cv2.drawContours(image, contours, -1, (0, 255, 0), 2)

Шаг 6: Отображение результата
И, наконец, отобразим изображение с выделенными объектами:

cv2.imshow('Detected Objects', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Как мы видим программа успешно справилась с поиском карт на переднем и боковых планах, однако в центре все сработало не очень, ничего страшного, это исправимо. (2)


Библиотека OpenCV - это инструмент, который позволяет компьютерам "видеть" мир, а ваши знания могут легко превратиться в захватывающие проекты в области компьютерного зрения.
💎

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤩2👀21👍1
🚀 UptimeSystem: Берегите свой веб-мир!

UptimeSystem — это ваш надежный спутник в мире мониторинга доступности веб-сайтов и серверов.
С этим инструментом вы сможете легко следить за состоянием ваших ресурсов.


🌐 Отслеживание веб-сайтов: UptimeSystem поможет вам навсегда забыть о неожиданных недоступностях вашего сайта. Просто добавьте его в мониторинг и получайте уведомления о состоянии.

💻 Сервера и порты под контролем: Ваши сервера играют ключевую роль? UptimeSystem отслеживает доступность их портов, так что вы всегда будете в курсе.

🕒 Ваши задания вовремя: UptimeSystem не упустит выполнение ваших Cron-заданий. Теперь даже самые сложные задачи будут выполняться по графику.

Мгновенные уведомления: Забыли о проблеме? UptimeSystem напомнит. Получайте уведомления по электронной почте в случае изменения статуса сервисов.

🌟 На ваш выбор: UptimeSystem предлагает бесплатный вариант, но также предоставляет платные тарифы с расширенными функциями.


Будьте в курсе и уверены в доступности своих веб-ресурсов с UptimeSystem! 🛡

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2👾2
🌐 Виртуальные среды в Python: управление зависимостями

Знакомая ситуация: несколько Python-проектов с разными библиотеками.
Виртуальные среды приходят на помощь! 🆘

🙂 Виртуальная среда – это удобный инструмент Python для управления зависимостями и изоляции проектов.
Она позволяет устанавливать сторонние библиотеки (пакеты Python) локально в отдельной папке, исключая возможные конфликты.


🌟 Популярные менеджеры виртуальных сред:

🟣virtualenv: Вариант для Python 2 и 3.
🟣venv: Поставляется с Python 3, стандартный выбор.
🟣virtualenvwrapper: Расширения для virtualenv, полезны при управлении несколькими виртуальными средами.


🌟 Дополнительные варианты:

🟢pipenv: Удобное сочетание Pipfile, pip и virtualenv для упрощения управления виртуальными средами.
🟢poetry: Аналог pipenv.
🟢conda: Включено в Anaconda и Miniconda, идеально для научных и машинно-обучающих проектов.


▶️ Работа с Virtualenv и venv:

➡️Установка Virtualenv:

macOS и Linux: python3 -m pip install --user virtualenv
Windows: py -m pip install --user virtualenv

➡️Создание виртуальной среды:

macOS и Linux: python3 -m virtualenv my-env
Windows: py -m virtualenv my-env

➡️Активация виртуальной среды:

macOS и Linux: source my-env/bin/activate
Windows: .\my-env\Scripts\activate

➡️Выход из виртуальной среды:

deactivate

➡️Установка пакетов внутри среды:

pip install requests



Любителям venv стоит поменять "virtualenv" на "venv" в командах выше.
Эти инструменты сделают управление зависимостями в Python максимально удобным!
😵‍💫

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
4🦄2👾2
🚀 Cython 3.0: Сжатие границ между Python и C

По пути 5 лет разработки, великий релиз!
17 июля 2023 года - дата становления проекта Cython 3.0.


🌐 Замечательный мост между Python и C/C++.
Трансформирует код Python в C-формат и усиливает взаимодействие.
Cython - незаменим для Python-обвязок вокруг C-библиотек и ускоренных модулей.

🎁 Исходники Cython 3.0 доступны на GitHub с лицензией Apache 2.0.

🌟 Cython - мощный Python, упрощающий интеграцию с C-кодом.
Создание C-расширений для Python - легко, как Python!

🏎 Взлёт с производительностью!
Сравнивая с Python, Cython впечатляет: скорость на 30% выше (по тестам pybench).

🎉 Поддержка Python 3.11 в Cython 3.0.
Добавлены: Unicode для идентификаторов, ускоренные типы @dataclass и @total_ordering, безопасная обработка исключений в C-функциях и кусок API CPython.

👌 Смена с 0.29 на 3.0 подчёркивает переход Cython к Python 3.
Вершины возможностей!


🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
8👍4🦄2🔥1🥰1
🌚10🤓4🗿4🦄2
🌐 Улучшаем производительность и доступность ваших файлов на сайте с помощью Python и CDN (Content Delivery Network)!

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


🎂 Просто установите библиотеку с помощью pip:

pip install cdnupload

🚀 Далее, используя команду cdnupload, вы можете легко загрузить свои статические файлы на CDN.
Например, для загрузки файлов из папки /website/static на Amazon S3, вам достаточно выполнить следующую команду:

cdnupload /website/static s3://static-bucket --key-map=statics.json

🌟 Ваш контент будет автоматически распределён по серверам CDN, обеспечивая высокую скорость загрузки и лучший опыт для пользователей.
Ускорьте свой веб-сайт сегодня с помощью Python и CDN!


🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2
🏐 Фильтр Блума: Уникальность и Скорость!

Фильтр Блума – магия для мгновенной проверки элементов в множестве. Он оперативно определяет, входит ли элемент в заданное множество.


Библиотека bloom-filter – ваш помощник:

from bloom_filter import BloomFilter

# Создаём фильтр
bloom = BloomFilter(max_elements=10000, error_rate=0.1)

# Проверяем "test-key"
if "test-key" in bloom:
print("Есть!")
else:
print("Нет!")

🚀 Фильтр Блума – быстро и надёжно!


🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
42👍2
💎 Прокачай трейсинг ошибок: новый взгляд на отладку!

Отладка – это настоящее искусство, и мы знаем, как сделать её проще!
Прокачанный трейсинг ошибок в свежих релизах Python


Забудь о сложных трейсбеках, встречай новую возможность:

def inverse(number):
return 1 / number

print(inverse(0))

Теперь ошибку легко выявить: строки с символом ^ указывают на проблемный код.

В нашем случае:

Traceback (most recent call last):
File "/home/realpython/inverse.py", line 6, in <module>
print(inverse(0))
^^^^^^^^^^
File "/home/realpython/inverse.py", line 4, in inverse
return 1 / number
~~^~~~~~~~
ZeroDivisionError: division by zero

Увидел? Просто и информативно.
Теперь разгадывание ошибок – на позитиве!



🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥2🦄1
📊 Мастерим SQL: Обновление и добавление в БД

Привет, друзья кодера! Сегодня поговорим о том, как сделать работу с базой данных ещё более эффективной и удобной. Представляем вам метод, который позволит добавлять новые записи в базу данных или обновлять уже существующие - SQL в действии!


Как только SQL вступает в игру, появляется неотъемлемая задача - поддерживать актуальность базы данных. Но следить за каждой записью вручную - дело трудоемкое. Давайте рассмотрим пример запроса, который сделает эту задачу практически мгновенной:

WITH new_employees AS (
SELECT *
FROM (
VALUES
('George', 'Sales', 'Manager', 1000),
('Jane', 'R&D', 'Developer', 1200)
) AS t(name, department, role, salary)
)

INSERT INTO employees (name, department, role, salary)
SELECT name,
department,
role,
salary
FROM new_employees
ON CONFLICT (name) DO
UPDATE
SET department = EXCLUDED.department,
role = EXCLUDED.role,
salary = EXCLUDED.salary
RETURNING *;

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


Так что, добавляем записи, обновляем данные и держим базу в идеальном порядке с помощью SQL - инструмента, который делает вашу разработку ещё более продуктивной и легкой! 💾

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
2🐳2🦄2🔥1
🏠 Инструмент для визуализации архитектуры ПО Archsense!

Привет, любители кода и архитектурных решений! Представляю вам потрясающий инструмент — Archsense.


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

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

И самое замечательное — базовая функциональность Archsense абсолютно #бесплатно!
(Но, конечно же, есть и платные тарифы для дополнительных возможностей)


Не упустите шанс упростить визуализацию и понимание архитектуры вашего ПО с Archsense.

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1🗿1🦄1
ITDEAL pinned «🛠 Новый проект: 👉 КЛИК ➡️ React JS ➡️ TypeScript ➡️ SCSS ➡️ PHP Laravel ☞ PyBytes Media | Telegram / Instagram / Mentor Service»
🚀 Ошибки и Решения! 🛠

Привет!
В нашем мире программирования иногда даже небольшая опечатка может привести к заметным сбоям.


Давайте разберемся с некоторыми распространенными проблемами и их решениями:

1️⃣ Проблема: "Моя программа не запускается. Чёрное окошко мигнуло и исчезло!"

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

2️⃣ Проблема: "input" вызывает "SyntaxError".

Причина: Вероятно, вы запустили Python 2.
Решение: Установите Python 3!

3️⃣ Проблема: Программа на Python 2 выдаёт ошибку на Python 3.

Решение: Изучите различия между версиями и адаптируйте код для Python 3.

4️⃣ Проблема: "TypeError: Can't convert 'int' object to str implicitly."

Причина: Смешение числа со строкой без преобразования.
Решение: Преобразуйте строку в число с помощью "int()" перед сложением.

5️⃣ Проблема: "SyntaxError" из-за пропущенного двоеточия.

Решение: Добавьте двоеточие после условия.

6️⃣ Проблема: "NameError: name 'a' is not defined."

Решение: Объявите переменную "a" или исправьте опечатку.

7️⃣ Проблема: "IndentationError" или "TabError".

Решение: Поддерживайте правильный отступ (табуляцию или пробелы) в коде.

8️⃣ Проблема: "UnboundLocalError: local variable 'a' referenced before assignment."

Причина: Обращение к переменной перед её объявлением.
Решение: Используйте "global" или объявите переменную ранее.

9️⃣ Проблема: Данные не записываются в файл.

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


Мы разобрали лишь малую часть, но помните, что каждая ошибка — это шанс научиться и стать лучше!
Не бойтесь экспериментировать и искать решения.
Всё получится!
💻🤝

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍32🔥2
🔔 Важное объявление! 🔔

Мы хотим вас проинформировать о том, что в последнее время наш МЕНТОРСКИЙ СЕРВИС был на техническом обслуживании.

Но радостная новость в том, что мы успешно завершили этот период технического обслуживания!
Теперь вы можете снова наслаждаться обучением с нашими курсами или приобрести доступ к новым увлекательным материалам. В случае возникновения каких-либо трудностей или вопросов, не стесняйтесь обращаться в нашу службу поддержки.
Мы готовы оказать вам всю необходимую помощь!
Спасибо за ваше терпение и понимание. Давайте продолжим совершенствовать свои знания вместе! 💡📚


🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥1
Forwarded from A B [BOT] 
This media is not supported in your browser
VIEW IN TELEGRAM
2
😊 Программирование: Гладкое Сжатие в Python! 🌟

Привет, друзья!
Давайте поговорим о методах, которые сделают ваши списки более удобными и "гладкими".
Если ваш список имеет сложную вложенность, не беспокойтесь, у нас есть решение


1️⃣ Метод "spread" делает списки более плоскими, сохраняя вложенные элементы:
def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret

2️⃣ Функция "deep_flatten" рекурсивно сглаживает глубоко вложенные списки:
def deep_flatten(xs):
flat_list = []
[flat_list.extend(deep_flatten(x)) for x in xs] if isinstance(xs, list) else flat_list.append(xs)
return flat_list

Примените "deep_flatten" к списку [1, [2], [[3], 4], 5] и получите [1, 2, 3, 4, 5].

Ваши списки больше не будут страшными лабиринтами!


Сделайте ваши списки более удобными и легкими для обработки с этими методами.
Пишите код с удовольствием!
💻🌈

🔝 PyBytes Media | Telegram / 📷Instagram / 📈Mentor Service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍632🦄1