Python Tech Code • IT
3.81K subscribers
940 photos
107 videos
32 files
869 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
🤣 Для тех, кто родился и вырос в СССР, любит западных актёров кино и познал искусственный интеллект...

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📖 7 обязательных стратегий масштабирования вашей базы данных

1 - Индексация:
Проверьте шаблоны запросов вашего приложения и создайте правильные индексы.

2 - Материализованные представления:
Предварительно вычисляйте результаты сложных запросов и сохраняйте их для более быстрого доступа.

3 - Денормализация:
Сократите количество сложных соединений для повышения производительности запросов.

4 - Вертикальное масштабирование
Увеличьте производительность сервера базы данных, добавив больше ЦП, оперативной памяти или хранилища.

5 - Кэширование

Храните часто используемые данные на более быстром уровне хранения, чтобы снизить нагрузку на базу данных.

6 - Репликация
Создавайте копии вашей первичной базы данных на разных серверах для масштабирования операций чтения.

7 - Шардинг
Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записей, так и чтений.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Как работает Python под капотом

🔵Исходный код: Пишется в файлах .py.
🔸Интерпретатор: Считывает и выполняет код.
▫️Преобразование в байт-код: Компилируется в промежуточный байт-код (.pyc).
🔵Исполнение: Байт-код выполняется виртуальной машиной Python (PVM).
🔸Управление памятью: Автоматическое управление памятью и сборка мусора.
▫️Модули и библиотеки: Поддержка модульности и переиспользования кода.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Варианты ответа:
Anonymous Quiz
10%
[2, 2, 3]
19%
(2, 2, 3)
10%
[1, 2, 3]
61%
Ошибка
Подготовил очередной пакет с паттернами

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣 Анекдот дня

— Ты почему всё время на Python пишешь?
— Ну, мне сказали: «Тебе стоит попробовать Python, бро».
— И что?
— А я попробовал… Теперь tuple не изменить, list не остановить, а от indentation error спасает только кофе!

(Намек на неизменяемость tuple, гибкость list и вечные проблемы с отступами в Python.)

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Python функции

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🎙 Преобразовываем текст из PDF в аудиофайл

Для работы понадобятся две библиотеки: pdfplumber и gTTS.

🔵pdfplumber позволяет извлекать текст и другие элементы (например, таблицы) из PDF файлов. Она удобна для работы с PDF-документами и позволяет извлекать текст с разных страниц.

Установка библиотеки:
pip install pdfplumber


🔵Библиотека gTTS применяется для преобразования текста в речь, использующая API Google. Она позволяет создавать аудиофайлы в различных языках (включая русский).

Установка библиотеки:
pip install gTTS


📣 Этот скрипт извлечет текст из PDF и сохранит его в виде аудиофайла формата MP3.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📶Исходный код для восстановления забытых паролей от Wi-Fi

# Импорт модуля для выполнения системных команд
import subprocess

# Получаем метаданные о Wi-Fi профилях с помощью команды netsh
meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])

# Декодируем полученные данные из байтов в строку UTF-8, заменяя ошибки символами \
data = meta_data.decode('utf-8', errors="backslashreplace")

# Разделяем данные по строкам
data = data.split('\n')

# Создаем список для хранения имен Wi-Fi профилей
profiles = []

# Перебираем каждую строку в данных
for line in data:
# Ищем строки, содержащие "All User Profile" (имена Wi-Fi сетей)
if "All User Profile" in line:
# Разделяем строку по двоеточию
parts = line.split(":")
# Берем вторую часть (имя профиля)
profile_name = parts[1]
# Удаляем лишние пробелы и кавычки вокруг имени
profile_name = profile_name.strip()[1:-1]
# Добавляем имя профиля в список
profiles.append(profile_name)

# Выводим заголовок таблицы
print("{:<30}| {:<}".format("Имя Wi-Fi", "Пароль"))
print("----------------------------------------------")

# Перебираем все найденные профили Wi-Fi
for profile in profiles:
try:
# Пытаемся получить информацию о профиле, включая пароль
results = subprocess.check_output(['netsh', 'wlan', 'show', 'profile', profile, 'key=clear'])
# Декодируем и разделяем результат по строкам
results = results.decode('utf-8', errors="backslashreplace")
results = results.split('\n')

# Ищем строку с содержимым ключа (паролем)
password_lines = [line.split(":")[1].strip()[1:-1] for line in results if "Key Content" in line]

# Если пароль найден, выводим его
try:
print("{:<30}| {:<}".format(profile, password_lines[0]))
# Если пароль не найден, выводим пустое поле
except IndexError:
print("{:<30}| {:<}".format(profile, ""))

# Обрабатываем ошибку, если команда не выполнилась
except subprocess.CalledProcessError:
print("{:<30}| {:<}".format(profile, "Ошибка получения данных"))


Важные нюансы:
✔️Работает только в Windows (использует netsh — встроенную утилиту).
✔️Требует прав администратора для доступа к паролям.
✔️Пароли показываются только для текущего пользователя (если они не защищены дополнительно).
✔️Если пароль не сохранён (например, вводился вручную), он не будет извлечён.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟Первая строка кода import os загружает весь модуль os как объект.

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

🌟Вторая строка from os import * импортирует все функции и переменные из модуля os прямо в текущее пространство, но это может вызвать проблемы с именами, если есть одинаковые названия функций.

Кроме того, становится менее понятно, откуда взята функция.

🔥Поэтому лучше использовать import os — так стиль кода становится более ясным и безопасным.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM