Справочник Программиста
Open in Telegram
По рекламе - @it_start_programmer Сайт - https://it-start.online/ YouTube - https://www.youtube.com/@it_start Реклама на бирже - https://telega.in/c/programmersGuide_1 Предложить идею: @it_start_suggestion_bot
Show more5 744
Subscribers
-124 hours
-147 days
-6130 days
Posts Archive
🚀 notebookllama – это полностью open‑source альтернатива Google NotebookLM, использующая LlamaCloud для своей инфраструктуры.
Ориентирован на конвертацию документов (PDF) в подкаст‑формат, где AI генерирует скрипт и превращает его в аудио разговор между двумя «ведущими».
Основные возможности:
⏺Распознавание и извлечение содержимого PDF
⏺Генерация сценария подкаста с драматическими вставками
⏺Конвертация текста в речь через открытые TTS-модели, такие как
bark и Parler‑tts
⏺Полностью настраиваемый open-source код, включая API, UI-компоненты, поддержку LlamaCloud и возможность замены компонентов под собственные нужды
📱 Репозиторий
➡️Справочник Программиста. Подписаться🗂 Код для отслеживания изменений в папке на Python
Для отслеживания изменений в директории в коде используется библиотека watchdog.
➡️Установка библиотеки:
pip install watchdog
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
class MyEventHandler(FileSystemEventHandler):
def on_any_event(self, event):
"""Логирует любое событие файловой системы."""
if event.is_directory:
event_type = "Каталог"
else:
event_type = "Файл"
if event.event_type == 'created':
print(f"СОЗДАН: {event_type} {event.src_path}")
elif event.event_type == 'deleted':
print(f"УДАЛЕН: {event_type} {event.src_path}")
elif event.event_type == 'modified':
print(f"ИЗМЕНЕН: {event_type} {event.src_path}")
elif event.event_type == 'moved':
print(f"ПЕРЕМЕЩЕН: {event_type} из {event.src_path} в {event.dest_path}")
def start_watching(path):
event_handler = MyEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
print(f"Мониторинг папки: {path}. Нажмите Ctrl+C для остановки.")
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
print("Мониторинг остановлен.")
if __name__ == "__main__":
# Замените 'путь_к_папке' на фактический путь к папке, которую вы хотите отслеживать
folder_to_watch = 'путь_к_папке'
# Создаем папку, если она не существует (необязательно, для демонстрации)
if not os.path.exists(folder_to_watch):
os.makedirs(folder_to_watch)
print(f"Создана папка для демонстрации: {folder_to_watch}")
start_watching(folder_to_watch)
➡️Справочник Программиста. Подписаться🔥 scrubadub — это Python‑библиотека, которая предназначена для удаления личной и конфиденциальной информации из произвольного текста.
Основные возможности:
🔵Удаление личной и конфиденциальной информации (PII) из текста.
🔵Поддержка распознавания имён, email‑адресов, телефонов, URL, адресов, дат рождения, номеров документов и карт.
🔵Возможность подключения дополнительных детекторов.
🔵Настройка замены (текстовые метки, хеши, форматирование).
🔵Локализация для поддержки региональных форматов данных.
🔵Добавление пользовательских паттернов для поиска и удаления.
🔵Гибкая конфигурация детекторов (добавление, удаление, приоритеты).
➡️Установка:
pip install scrubadub
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться👩💻 Всем программистам посвящается!
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
🤖 Нейросети — t.me/neuro_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Java — t.me/java_ready
👩💻 Linux — t.me/linux_ready
🖼️ DevOps — t.me/devops_ready
📖 IT Книги — t.me/books_ready
👩💻 Frontend — t.me/frontend_ready
📱 JavaScript — t.me/javascript_ready
👩💻 Backend — t.me/backend_ready
📱 GitHub & Git — t.me/github_ready
👩💻 Весь IT — t.me/it_ready
👩💻 Bash & Shell — t.me/bash_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
🗣 parler‑tts — это полностью открытая система синтеза речи с управляемыми характеристиками.
Основные возможности:
🔵Открытый синтез речи с управляемыми характеристиками
🔵Генерация голоса на основе текстового описания
🔵Выбор из 34 предобученных голосов
🔵Поддержка Mini и Large моделей с разным числом параметров
🔵Управление скоростью, тембром, шумом и реверберацией
🔵Возможность дообучения на собственных записях
🔵Ускорение работы через Torch Compile и Flash Attention 2
🔵Поддержка потоковой генерации аудио
🔵Инструменты для автоматической аннотации речи
📱 Репозиторий
➡️Справочник Программиста. Подписаться
🖼 Код для массового сжатия изображений в папке на Python
Для массового сжатия изображений в коде используется библиотека
Pillow, для добавления прогресс-бара - tqdm.
➡️Установка модуля: pip install Pillow tqdm
from pathlib import Path
from PIL import Image
from tqdm import tqdm
def process_images_compact(input_path: str, output_folder: str = 'out', max_width: int = 1920, quality: int = 85):
out_dir = Path(output_folder)
out_dir.mkdir(parents=True, exist_ok=True)
allowed_exts = {'.jpg', '.jpeg', '.png'}
# Собираем список всех файлов в input_path (и подпапках), которые имеют разрешенные расширения
# rglob('*') рекурсивно ищет все файлы и папки
files = [p for p in Path(input_path).rglob('*') if p.suffix.lower() in allowed_exts]
for p in tqdm(files, leave=False):
# Открываем изображение с помощью Pillow
im = Image.open(p)
# Получаем текущие ширину и высоту изображения
w, h = im.size
# Проверяем, превышает ли ширина изображения заданную максимальную ширину
if w > max_width:
# Вычисляем коэффициент масштабирования
ratio = max_width / w
# Изменяем размер изображения, сохраняя пропорции
im = im.resize((max_width, int(h * ratio)))
# Определяем полный путь для сохранения обработанного изображения в выходной папке
output_file_path = out_dir / p.name
# Сохраняем изображение
if p.suffix.lower() == '.png':
im.save(output_file_path, optimize=True)
else:
im.save(output_file_path, quality=quality, optimize=True)
if __name__ == "__main__":
process_images_compact('my_photos', output_folder='resized_photos', max_width=1024, quality=80)
➡️Справочник Программиста. ПодписатьсяGitVerse News
Канал для разработчиков — профи, начинающих и кому просто любопытно. Обсуждаем AI и open source, делимся новостями, изучаем крутые кейсы.
Подписаться
#реклама 16+
О рекламодателе
📦 InvenTree – это управления складом и номенклатурой, построенная на Python /Django и предоставляющая полный REST API как для веб-интерфейса, так и для внешних интеграций.
Основные возможности:
🔵Автоматическая аутентификация через токены или логин/пароль.
🔵Получение и фильтрация данных через удобные методы.
🔵Создание, обновление и удаление объектов (CRUD).
🔵Работа с объектами склада и запасами.
🔵Управление деталями, категориями, локациями и BOM.
🔵Прикрепление файлов и добавление параметров к объектам.
🔵Перезагрузка и синхронизация данных.
🔵Простая интеграция с REST API сервера InvenTree.
➡️Установка:
pip install inventree
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяМы знаем, как цифровизировать ваш бизнес
В VK Tech мы ежедневно разрабатываем продукты, которые помогают компаниям автоматизировать процессы, экономить время и улучшать клиентский опыт.
В канале VK Tech рассказываем о ключевых технологиях, делимся рабочими кейсами и обсуждаем главные вопросы, которые волнуют бизнес. Здесь вы найдете ответы на вопросы:
✅ Как цифровизация влияет на рост бизнеса?
✅ Какие IT-решения стоит внедрить в первую очередь?
✅ Что нового в трендах автоматизации?
Присоединяйтесь, чтобы узнать, как технологии могут изменить ваш бизнес.
Подписаться
#реклама
О рекламодателе
🚀 premier — это легковесная Python-библиотека для контроля скорости вызовов функций.
Позволяет ограничивать частоту вызовов функций в асинхронных и синхронных приложениях — особенно полезна для API-клиентов и ботов.
Основные возможности:
🔵Ограничение количества вызовов функции за определённый интервал времени
🔵Поддержка синхронного и асинхронного кода
🔵Простое применение через декораторы
🔵Возможность настройки интервалов и количества попыток
➡️Установка:
pip install premier
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяДизайн в FIGMA с нуля. Бесплатный курс + портфолио
Онлайн-программа с наставником и чатом. Дизайн от профессионалов. Доступ 0 руб.
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
🔍 microsandbox — это само-хостируемая платформа для безопасного выполнения недоверенного пользовательского или AI-сгенерированного кода в изолированных microVM’ах (микро-виртуальных машинах).
Проект ориентирован на случаи, когда нужно дать ИИ-агентам или пользователям возможность запускать произвольный код (Python, Node.js и т.д.) с сильной изоляцией и управляемыми ресурсами.
Основные возможности:
🔵Безопасное выполнение недоверенного (в т.ч. AI‑сгенерированного) кода в изолированных микро‑ВМ.
🔵SDK для Python, JavaScript/TypeScript и Rust для программного управления песочницами и запуска кода.
🔵Управление через сервер и CLI.
🔵Запуск команд, скриптов и интерактивных сессий внутри песочницы
🔵Более сильная граница безопасности, чем у контейнеров (Docker/OCI), за счёт изоляции уровня ВМ.
➡️Установка:
pip install microsandbox
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяОнлайн-магистратура с IT специальностями от Яндекса
Совместно с ИТМО, МИФИ, МФТИ.
Онлайн-магистратура с актуальными программами и гибким графиком обучения.
Получите высокооплачиваемую IT профессию, официальный диплом и практические знания.
Господдержка оплаты. Совмещение с работой!
Подать заявку
#реклама 16+
practicum.yandex.ru
О рекламодателе
📔 nbconvert — это официальный инструмент проекта Jupyter для конвертации Jupyter Notebook (.ipynb) в различные форматы: HTML, PDF, Markdown, LaTeX, слайды (Reveal.js) и другие.
Основные возможности:
🔵Преобразование .ipynb в HTML, PDF, LaTeX, Markdown, reStructuredText и другие форматы.
🔵Создание слайд-презентаций из ноутбуков на основе Reveal.js.
🔵Поддержка шаблонов (Jinja2) для кастомизации внешнего вида и структуры вывода.
🔵Интеграция с Jupyter, возможность конвертации прямо из командной строки (jupyter nbconvert notebook.ipynb).
🔵Возможность встраивания исполняемого кода, графиков и медиа в конечные документы.
🔵API для использования в Python-скриптах.
➡️Установка:
pip install nbconvert
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяПриглашаем на Yandex Neuro Scale
В этом году главная конференция Yandex Cloud объединит разработчиков, архитекторов, инженеров и IT-руководителей, чтобы обменяться опытом и увидеть, как работают технологии, которые меняют индустрии. 7 тематических треков, 50+ докладов, реальные бизнес-кейсы и нетворкинг!
✨Участие бесплатное, нужно только зарегистрироваться!✨
Зарегистрироваться
#реклама 16+
scale.yandex.cloud
О рекламодателе
Реклама на Яндексе
🚀 cement — это Python-фреймворк для создания интерфейсных (CLI) и серверных приложений.
Cтабильная, гибкая и расширяемая основа, подходящая как для маленьких скриптов, так и для крупных многокомпонентных систем.
Основные особенности:
🔵Интерфейсы через handler’ы для логирования, парсинга аргументов, конфигурации, вывода, кэширования, контроллеров, расширений и плагинов.
🔵Поддержка вложенных подкоманд и контроллеров для сложных CLI.
🔵Гибкая работа с конфигурацией (поддержка .conf, .yaml и других форматов).
🔵Система хуков и плагинов для расширяемости.
🔵Ноль внешних зависимостей у ядра.
🔵100% покрытие тестами и соответствие PEP‑8.
➡️Установка:
pip install cement
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться🌳anytree — это удобная Python-библиотека для создания, визуализации и работы с древовидными структурами данных с минимальным количеством кода.
Основные возможности:
🔵Создание деревьев с любой вложенностью
🔵Поддержка различных типов обхода: прямой, обратный, по уровням
🔵Автоматическое определение родителя и потомков
🔵Удобная текстовая визуализация дерева (RenderTree)
🔵Простая сериализация и десериализация
➡️Установка:
pip install anytree
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. Подписаться📦 py7zr — это Python-библиотека для работы с архивами 7z (7zip) в чистом Python без зависимости от нативных бинарников 7-Zip.
Основные возможности:
🔵Чтение и распаковка .7z-архивов.
🔵Создание новых .7z-архивов с поддержкой сжатия.
🔵Поддержка AES-шифрования и паролей.
🔵Работа с потоками и файловыми объектами.
🔵Совместимость с многотомными архивами.
➡️Установка:
pip install py7zr
📱 Репозиторий
⚙️ Документация
➡️Справочник Программиста. ПодписатьсяПолучите IT профессию с официальным ДОКУМЕНТОМ!
Не просто курсы – а полноценное образование с дипломом о профессиональной переподготовке или удостоверением о повышении квалификации, внесенным в Росреестр!
Выбирайте направление:
-Web-разработчик
-Инженер MikroTik
-Специалист по AI и машинному обучению
-Сетевой инженер
-Linux-администратор
-Python-программист
-DevOps-инженер
-Администратор Windows Server
-Специалист по слаботочным сетям (СКС)
Ваши гарантии:
✅Законный документ о квалификации
✅Право на ведение профдеятельности
✅Весомое преимущество при трудоустройстве
✅Поддержка ментора
✅Дистанционное обучение
Инвестируйте в будущее – получите не только знания, но и официальную профессию!
Перейти на сайт
#реклама 16+
dms-it.ru
О рекламодателе
💽 Код для контроля свободного места на Python
Для контроля свободного места на диске в коде используется модуль
psutil.
➡️Установка модуля: pip install psutil
import shutil
def check_disk_space(path='/'):
try:
total, used, free = shutil.disk_usage(path)
return total, used, free
except FileNotFoundError:
print(f"Ошибка: Путь '{path}' не найден.")
return None
except Exception as e:
print(f"Произошла ошибка: {e}")
return None
def bytes_to_gb(bytes_value):
"""Конвертирует байты в гигабайты."""
return bytes_value / (1024**3)
if __name__ == "__main__":
# Можно указать путь, который необходимо проверить.
# Для Windows используйте букву диска, например 'C:/'
# Для Linux/macOS используйте '/' для корня или определенную точку монтирования, например '/home'
path_to_check = '/' # Измените, если хотите проверить другой путь
disk_info = check_disk_space(path_to_check)
if disk_info:
total_bytes, used_bytes, free_bytes = disk_info
total_gb = bytes_to_gb(total_bytes)
used_gb = bytes_to_gb(used_bytes)
free_gb = bytes_to_gb(free_bytes)
print(f"--- Информация о дисковом пространстве для '{path_to_check}' ---")
print(f"Общий объем: {total_gb:.2f} GB")
print(f"Использовано: {used_gb:.2f} GB")
print(f"Свободно: {free_gb:.2f} GB")
# Здесь можно добавить проверку порогового значения
free_percentage = (free_bytes / total_bytes) * 100
print(f"Свободно: {free_percentage:.2f}%")
if free_percentage < 10:
print("ВНИМАНИЕ: Свободное место на диске ниже 10%! Рассмотрите возможность очистки.")
else:
print("Не удалось получить информацию о дисковом пространстве.")
➡️Справочник Программиста. Подписаться