Быстрый способ преобразовать текст в речь с помощью Python
Иногда нужно быстро озвучить фразу в скрипте — например, для тестов, уведомлений или просто экспериментов. Вот как это можно сделать с помощью библиотеки
#Python #TextToSpeech
Иногда нужно быстро озвучить фразу в скрипте — например, для тестов, уведомлений или просто экспериментов. Вот как это можно сделать с помощью библиотеки
pyttsx3:# Установите библиотеку (если ещё не установлена)
# pip install pyttsx3
import pyttsx3
# Инициализируем движок синтеза речи
engine = pyttsx3.init()
# Передаём фразу для озвучивания
engine.say("This is a test phrase.")
# Запускаем движок
engine.runAndWait()
#Python #TextToSpeech
🔥2🫡2
Настраиваем Nginx для проксирования MinIO с поддержкой WebSocket
Если вы используете Nginx для маршрутизации трафика к MinIO и не видите список файлов в бакетах через веб-интерфейс — скорее всего, проблема в отсутствии поддержки WebSocket в конфигурации.
Чтобы это исправить, необходимо добавить пару строк в блок
В результате весь
Также рекомендуется добавить таймауты, чтобы соединение не сбрасывалось при работе с большими файлами.
#minio #nginx #websocket
Если вы используете Nginx для маршрутизации трафика к MinIO и не видите список файлов в бакетах через веб-интерфейс — скорее всего, проблема в отсутствии поддержки WebSocket в конфигурации.
Чтобы это исправить, необходимо добавить пару строк в блок
location:proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
В результате весь
server-блок будет выглядеть примерно так:server {
listen 443 ssl;
server_name minio.example.xyz;
ssl_certificate /etc/nginx/ssl/minio.example.xyz.crt;
ssl_certificate_key /etc/nginx/ssl/minio.example.xyz.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
allow 10.0.0.0/8;
allow 172.16.0.0/12;
allow 192.168.0.0/16;
deny all;
location / {
proxy_pass https://k8s;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port '443';
proxy_set_header Access-Control-Allow-Origin *;
proxy_ssl_verify off;
proxy_ssl_name minio.example.xyz;
proxy_ssl_server_name on;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}Также рекомендуется добавить таймауты, чтобы соединение не сбрасывалось при работе с большими файлами.
#minio #nginx #websocket
👍2🫡1
Uptime Kuma — крутая альтернатива UptimeRobot и Pingdom, но self-hosted и бесплатная
Uptime Kuma — это лёгкий, но мощный инструмент для мониторинга доступности сервисов. Работает из коробки, ставится через Docker за пару минут. Выглядит круто, умеет много:
- Поддерживает HTTP(s), TCP, Ping, DNS, Push
- Telegram, Slack, Discord и ещё куча способов алертов
- Красивые графики и история инцидентов
- Удобный веб-интерфейс и автообновление
- Отлично подойдёт как для pet-проекта, так и для мониторинга боевых сервисов
GitHub
Демо
#monitoring #notifications #uptime #alerts
Uptime Kuma — это лёгкий, но мощный инструмент для мониторинга доступности сервисов. Работает из коробки, ставится через Docker за пару минут. Выглядит круто, умеет много:
- Поддерживает HTTP(s), TCP, Ping, DNS, Push
- Telegram, Slack, Discord и ещё куча способов алертов
- Красивые графики и история инцидентов
- Удобный веб-интерфейс и автообновление
- Отлично подойдёт как для pet-проекта, так и для мониторинга боевых сервисов
GitHub
Демо
#monitoring #notifications #uptime #alerts
🔥2
release-it — CLI-инструмент для релизов и версионирования
Если ты хочешь:
- автоматически обновлять версии,
- создавать changelog'и,
- пушить теги в GitLab или GitHub,
- и даже публиковать пакеты…
…тебе точно стоит попробовать release-it!
Что он умеет:
- Обновляет версию в
- Генерирует
- Создаёт и пушит git-теги
- Публикует на npm, GitHub, GitLab и др.
- Настраивается через
Пример команды:
#Git #CI
Если ты хочешь:
- автоматически обновлять версии,
- создавать changelog'и,
- пушить теги в GitLab или GitHub,
- и даже публиковать пакеты…
…тебе точно стоит попробовать release-it!
Что он умеет:
- Обновляет версию в
package.json (или других файлах)- Генерирует
CHANGELOG.md на основе коммитов- Создаёт и пушит git-теги
- Публикует на npm, GitHub, GitLab и др.
- Настраивается через
.release-it.json, release-it.config.js и CLIПример команды:
npx release-it
#Git #CI
👍1🔥1
kubectl-switch — это простой инструмент для управления и переключения между несколькими файлами конфигурации Kubernetes. Позволяет выгрузить все kubeconfig-файлы в одну директорию и быстро переключаться между ними через CLI.
Никакой ручной правки ~/.kube/config всё делается одной командой. Особенно полезно, если у вас несколько окружений: dev, staging, production.
Ссылка на репозиторий
#kubernetes #kubeconfig
Никакой ручной правки ~/.kube/config всё делается одной командой. Особенно полезно, если у вас несколько окружений: dev, staging, production.
Ссылка на репозиторий
#kubernetes #kubeconfig
🔥5
Статья о `tofuutils/tenv` — теперь на русском языке!
Работаете с Terraform, OpenTofu, Terragrunt или Atmos? Тогда
Читайте перевод на русском
#terraform #opentofu #tenv #tofuutils #terragrunt #atmos #terramate
Работаете с Terraform, OpenTofu, Terragrunt или Atmos? Тогда
tenv станет незаменимым помощником в управлении версиями и упрощении инфраструктурной работы. Это удобный CLI-инструмент, который позволяет быстро переключаться между версиями и поддерживать чистоту окружения.Читайте перевод на русском
#terraform #opentofu #tenv #tofuutils #terragrunt #atmos #terramate
👍2
Freelens — кроссплатформенный графический интерфейс для управления кластерами Kubernetes.
Поддерживает kubectl, Helm и kubeconfig
Работает на macOS, Linux и Windows
Репозиторий
#K8s #OpenSource
Поддерживает kubectl, Helm и kubeconfig
Работает на macOS, Linux и Windows
Репозиторий
#K8s #OpenSource
❤8
Cursor 1.0 вышел в релиз — завезли новые фишки:
— Jupyter Notebooks теперь можно редачить прямо в IDE (пока с Sonnet, но будет больше)
— BugBot для GitHub: сам находит баги в PR и предлагает фиксы
— Фоновые агенты: запускаешь задачи в фоне, можно хоть несколько сразу
— Память контекста: если сказал "не трогай модель" — Cursor запомнит
— Быстрая интеграция MCP — можно подключить сервер из списка в один клик (или свой)
Cursor всё больше похож на полноценного тиммейта в коде
#devtools #ai #cursor #github #jupyter #release
— Jupyter Notebooks теперь можно редачить прямо в IDE (пока с Sonnet, но будет больше)
— BugBot для GitHub: сам находит баги в PR и предлагает фиксы
— Фоновые агенты: запускаешь задачи в фоне, можно хоть несколько сразу
— Память контекста: если сказал "не трогай модель" — Cursor запомнит
— Быстрая интеграция MCP — можно подключить сервер из списка в один клик (или свой)
Cursor всё больше похож на полноценного тиммейта в коде
#devtools #ai #cursor #github #jupyter #release
🔥5⚡2
Умное масштабирование: прогнозное управление узлами с помощью Prometheus, NestJS и Prophet
Хорошая статья с примером реализации системы, которая предсказывает нагрузку и масштабирует инфраструктуру заранее, а не в ответ на уже произошедшие пики.
В основе — связка Prometheus (сбор метрик), NestJS (обработка и API) и Prophet от Meta (модель прогнозирования временных рядов).
Подходит тем, кто хочет уйти от тупого горизонтального автоскейлинга и начать использовать прогнозные подходы.
Ссылка на статью
#prometheus #nestjs #prophet #autoscaling
Хорошая статья с примером реализации системы, которая предсказывает нагрузку и масштабирует инфраструктуру заранее, а не в ответ на уже произошедшие пики.
В основе — связка Prometheus (сбор метрик), NestJS (обработка и API) и Prophet от Meta (модель прогнозирования временных рядов).
Подходит тем, кто хочет уйти от тупого горизонтального автоскейлинга и начать использовать прогнозные подходы.
Ссылка на статью
#prometheus #nestjs #prophet #autoscaling
🔥5👍4
KubeMedic — диагностика и устранение неполадок в Kubernetes с помощью ИИ
Инструмент, который помогает находить и устранять проблемы в кластере Kubernetes.
Работает на базе LLM: вы описываете проблему в свободной форме, а KubeMedic анализирует состояние кластера и предлагает конкретные шаги по устранению.
Хорошо вписывается в пайплайн поддержки и пригодится тем, кто регулярно разбирается с "плавающими" багами или нестабильным поведением сервисов.
Ссылка на репозиторий
#kubernetes #troubleshooting #ai #diagnostics #kubemedic
Инструмент, который помогает находить и устранять проблемы в кластере Kubernetes.
Работает на базе LLM: вы описываете проблему в свободной форме, а KubeMedic анализирует состояние кластера и предлагает конкретные шаги по устранению.
Хорошо вписывается в пайплайн поддержки и пригодится тем, кто регулярно разбирается с "плавающими" багами или нестабильным поведением сервисов.
Ссылка на репозиторий
#kubernetes #troubleshooting #ai #diagnostics #kubemedic
🔥3
Как добавить пользователя в Яндекс Облако:
Что-то все путаются, напишу-ка я пост чтобы пересылать его всем кому будет нужно =)
Чтобы выдавать доступы (это может делать пользователь с ролью админ) нужно сначала добавить человека в облако. А вот добавлять в облако может только его владелец и только по почте принадлежащей яндексу (гугловая НЕ подойдет). Поэтому для того чтобы выдать доступ в облако стороннему человеку нужно:
1) Добавить пользователя на странице показанной на первом скриншоте
2) После приглашения, человек привяжется к вашей организации, но почти ничего не увидит в ней, поэтому далее ему нужно выдать досту непосредственно на ресурсы. Делается это на вкладке AccessBinding по кнопке ConfigureAccess (скриншот 2)
3) Далее нажимаем на нужного человека и выдаем ему нужную роль, нажимаем Save (скриншоты 3 и 4)
4) Готово! Как человек примет приглашение на почте, у него уже будут нужные доступы (пришлашение, если не изменяет память, актуально неделю, нужно успеть)
ПС: Если вы регистрируете новый аккаунт на организацию, напишите @QTU100 в Telegram, проведу по партнерке чтобы получили кешбек)
ППС: Если интересно как выдавать доступы в S3 яндекса, поставьте плюсик, там замудренно))
Что-то все путаются, напишу-ка я пост чтобы пересылать его всем кому будет нужно =)
Чтобы выдавать доступы (это может делать пользователь с ролью админ) нужно сначала добавить человека в облако. А вот добавлять в облако может только его владелец и только по почте принадлежащей яндексу (гугловая НЕ подойдет). Поэтому для того чтобы выдать доступ в облако стороннему человеку нужно:
1) Добавить пользователя на странице показанной на первом скриншоте
2) После приглашения, человек привяжется к вашей организации, но почти ничего не увидит в ней, поэтому далее ему нужно выдать досту непосредственно на ресурсы. Делается это на вкладке AccessBinding по кнопке ConfigureAccess (скриншот 2)
3) Далее нажимаем на нужного человека и выдаем ему нужную роль, нажимаем Save (скриншоты 3 и 4)
4) Готово! Как человек примет приглашение на почте, у него уже будут нужные доступы (пришлашение, если не изменяет память, актуально неделю, нужно успеть)
ПС: Если вы регистрируете новый аккаунт на организацию, напишите @QTU100 в Telegram, проведу по партнерке чтобы получили кешбек)
ППС: Если интересно как выдавать доступы в S3 яндекса, поставьте плюсик, там замудренно))
👌3🔥1
Apple тихо выкатили свой "Docker"
Сразу после WWDC, без всякого шума, Apple запостила вот это.
Это их собственный инструмент для запуска Linux-контейнеров на macOS.
Называется просто — container.
Что важно:
- Написан на Swift;
- Заточен под Apple Silicon;
- Работает через лёгкие виртуалки (никакого Docker Desktop);
- Понимает обычные OCI-образы.
Смотри, как это работает тут
Пока всё выглядит как минималистичная альтернатива Docker под macOS, сделанная «по-эппловски»: без лишнего.
Интересно, во что это вырастет.
#OCI #AppleSilicon #CLI #tooling
Сразу после WWDC, без всякого шума, Apple запостила вот это.
Это их собственный инструмент для запуска Linux-контейнеров на macOS.
Называется просто — container.
Что важно:
- Написан на Swift;
- Заточен под Apple Silicon;
- Работает через лёгкие виртуалки (никакого Docker Desktop);
- Понимает обычные OCI-образы.
Смотри, как это работает тут
Пока всё выглядит как минималистичная альтернатива Docker под macOS, сделанная «по-эппловски»: без лишнего.
Интересно, во что это вырастет.
#OCI #AppleSilicon #CLI #tooling
👍3🔥3❤1
Kube-fledged — оператор для Kubernetes, который умеет:
- Кешировать образы контейнеров на конкретных worker-нодах
- Автоматически подгружать их по списку, заданному в CRD
- Работать как с публичными, так и с приватными репозиториями
Зачем это нужно:
1. Ускорение старта подов (образ уже на узле)
2. Предсказуемость: нужные образы всегда под рукой
3. Полезно для edge-кластеров и pre-warmed нод в autoscaling группах
Инструмент mature, используется в проде и поддерживает все основные CRI.
GitHub: https://github.com/senthilrch/kube-fledged
#Kubernetes #KubeFledged #Docker
- Кешировать образы контейнеров на конкретных worker-нодах
- Автоматически подгружать их по списку, заданному в CRD
- Работать как с публичными, так и с приватными репозиториями
Зачем это нужно:
1. Ускорение старта подов (образ уже на узле)
2. Предсказуемость: нужные образы всегда под рукой
3. Полезно для edge-кластеров и pre-warmed нод в autoscaling группах
Инструмент mature, используется в проде и поддерживает все основные CRI.
GitHub: https://github.com/senthilrch/kube-fledged
#Kubernetes #KubeFledged #Docker
❤4🔥2
Шпаргалка по работе с kubectl
Все kubectl имеют следующий шаблон:
kubectl VERB RESOURCE SELECTOR OTHER_PARAMETERS
Где VERB - это действие по отношению к ресурсу. К наиболее частым относятся:
1) get
2) edit
3) describe
4) top
5) delete
Где RESOURCE может быть (но не только эти, конечено):
1) pod
2) deploy
3) svc
4) node
5) job
6) cronjob
7) ...
Где SELECTOR может быть:
1) -n NAMESPACE_NAME (все в неймспейсе)
2) -n NAMESPACE_NAME RESOURCE_NAME (конкретный ресурс в неймспейсе)
3) -A (все ресурсы во всех неймспейсах)
4) -A -l "app.kubernetes.io/instance-name=APP_NAME" (все ресурсы во всех c заданным лейблом. Да, селекторы можно комбинировать)
Где OTHER_PARAMETERS может быть:
1) --previous в сочетание с logs (RESOURCE) для получения предыдущих логов (до последнего рестарта)
2) --follow в сочетание с logs (RESOURCE) для непрерывного отображения новых логов
3) -ti -- /bin/sh в сочетание с exec (RESOURCE) для перехода в терминал основного контейнера в поде
4) -o wide в сочетании с get (VERB) для расширенного отображения информации
5) -o yaml в сочетании с get (VERB) для вывода полного описание ресурса в stdout в yaml формате
Некоторые часто используемые команды:
1) Получить фактическую загрузку и статус нод (серверов в кластере):
kubectl top node
2) Получить детальную информацию по ноде/поду:
kubectl describe node NODE_NAME (ноды не находятся в неймспейсах)
kubectl describe pod -n dev-main-dev auth-backend-v56-5bb8db858d-cwx2t
3) Смотреть логи всех подов приложения (main-backend для примера):
kubectl logs -n dev-main-dev -l "app.kubernetes.io/instance-name=main-backend" --follow
4) Перейти в консоль контейнера пода auth-backend-v56-5bb8db858d-cwx2t:
kubectl exec -n dev-main-dev auth-backend-v56-5bb8db858d-cwx2t -ti -- /bin/sh
#k8s #kubernetes #cli #kubectl
Все kubectl имеют следующий шаблон:
kubectl VERB RESOURCE SELECTOR OTHER_PARAMETERS
Где VERB - это действие по отношению к ресурсу. К наиболее частым относятся:
1) get
2) edit
3) describe
4) top
5) delete
Где RESOURCE может быть (но не только эти, конечено):
1) pod
2) deploy
3) svc
4) node
5) job
6) cronjob
7) ...
Где SELECTOR может быть:
1) -n NAMESPACE_NAME (все в неймспейсе)
2) -n NAMESPACE_NAME RESOURCE_NAME (конкретный ресурс в неймспейсе)
3) -A (все ресурсы во всех неймспейсах)
4) -A -l "app.kubernetes.io/instance-name=APP_NAME" (все ресурсы во всех c заданным лейблом. Да, селекторы можно комбинировать)
Где OTHER_PARAMETERS может быть:
1) --previous в сочетание с logs (RESOURCE) для получения предыдущих логов (до последнего рестарта)
2) --follow в сочетание с logs (RESOURCE) для непрерывного отображения новых логов
3) -ti -- /bin/sh в сочетание с exec (RESOURCE) для перехода в терминал основного контейнера в поде
4) -o wide в сочетании с get (VERB) для расширенного отображения информации
5) -o yaml в сочетании с get (VERB) для вывода полного описание ресурса в stdout в yaml формате
Некоторые часто используемые команды:
1) Получить фактическую загрузку и статус нод (серверов в кластере):
kubectl top node
2) Получить детальную информацию по ноде/поду:
kubectl describe node NODE_NAME (ноды не находятся в неймспейсах)
kubectl describe pod -n dev-main-dev auth-backend-v56-5bb8db858d-cwx2t
3) Смотреть логи всех подов приложения (main-backend для примера):
kubectl logs -n dev-main-dev -l "app.kubernetes.io/instance-name=main-backend" --follow
4) Перейти в консоль контейнера пода auth-backend-v56-5bb8db858d-cwx2t:
kubectl exec -n dev-main-dev auth-backend-v56-5bb8db858d-cwx2t -ti -- /bin/sh
#k8s #kubernetes #cli #kubectl
🔥3👍1
Всё ещё используешь pip + venv в 2025?
Есть способ лучше — uv
Менеджер пакетов для Python, который:
→ Быстрее, чем pip
→ Легче, чем virtualenv
→ Полностью совместим с pip, venv и pyproject.toml
→ Почти мгновенная установка зависимостей
→ Без раздутых окружений
→ Чистый и предсказуемый workflow
Если тебя когда-либо раздражали:
- медленные pip install
- сломанные venv
- проблемы с зависимостями
...то uv — это must-try.
Статья
GitHub
#Python #DevTools #pip #venv #uv
Есть способ лучше — uv
Менеджер пакетов для Python, который:
→ Быстрее, чем pip
→ Легче, чем virtualenv
→ Полностью совместим с pip, venv и pyproject.toml
→ Почти мгновенная установка зависимостей
→ Без раздутых окружений
→ Чистый и предсказуемый workflow
Если тебя когда-либо раздражали:
- медленные pip install
- сломанные venv
- проблемы с зависимостями
...то uv — это must-try.
Статья
GitHub
#Python #DevTools #pip #venv #uv
🔥4❤3🤝1
kl — интерактивный просмотрщик логов Kubernetes прямо в терминале
Полезный инструмент для тех, кто отлаживает микросервисы в Kubernetes и хочет видеть все логи в реальном времени.
kubetail позволяет стримить логи из группы подов с общим префиксом имени или по namespace, автоматически добавляя пометки, чтобы различать источники.
Упрощает диагностику, особенно в ситуациях с множеством реплик и распределённой логикой.
Репозиторий
#kubernetes #logs #k8s
Полезный инструмент для тех, кто отлаживает микросервисы в Kubernetes и хочет видеть все логи в реальном времени.
kubetail позволяет стримить логи из группы подов с общим префиксом имени или по namespace, автоматически добавляя пометки, чтобы различать источники.
Упрощает диагностику, особенно в ситуациях с множеством реплик и распределённой логикой.
Репозиторий
#kubernetes #logs #k8s
🔥4❤1👍1
Amazon выпустили собственную AI IDE — Kiro
По сути, это конкурент Cursor и Windsurf, но с улучшенной системой запоминания контекста проекта.
Поддерживает MCP, имеет режим автопилота и полностью совместим со всеми расширениями и плагинами VS Code.
Сейчас доступна бесплатно.
Подробнее: https://kiro.dev/
#ai #ide #amazon
По сути, это конкурент Cursor и Windsurf, но с улучшенной системой запоминания контекста проекта.
Поддерживает MCP, имеет режим автопилота и полностью совместим со всеми расширениями и плагинами VS Code.
Сейчас доступна бесплатно.
Подробнее: https://kiro.dev/
#ai #ide #amazon
🔥3👍2