🐘 Postgres использует архитектуру «отдельный процесс на каждое подключение», поэтому в большинстве случаев вам нужен connection pooler.
Пул соединений вставляется между приложением и базой: он держит набор постоянных подключений и динамически назначает их входящим запросам. Самый распространённый инструмент - PgBouncer, у которого есть три режима работы.
1) Session pooling - каждое приложение-подключение закрепляется за одним pooled-соединением.
2) Transaction pooling - каждую транзакцию привязывают к pooled-соединению и освобождают сразу после завершения.
3) Statement pooling - каждое выражение получает соединение, но нет поддержки многозапросных транзакций, что сильно ограничивает кейсы.
Режим 1 плохо решает проблемы высокой конкуренции Postgres, поэтому обычно не подходит при большом числе подключений. Режим 3 слишком ограничивающий, так как многозапросные транзакции нужны многим приложениям. В итоге режим 2 даёт лучший баланс возможностей и контроля над соединениями.
Именно transaction pooling, тот режим, который PlanetScale применяет для всех своих PgBouncer-инстансов.
Пул соединений вставляется между приложением и базой: он держит набор постоянных подключений и динамически назначает их входящим запросам. Самый распространённый инструмент - PgBouncer, у которого есть три режима работы.
1) Session pooling - каждое приложение-подключение закрепляется за одним pooled-соединением.
2) Transaction pooling - каждую транзакцию привязывают к pooled-соединению и освобождают сразу после завершения.
3) Statement pooling - каждое выражение получает соединение, но нет поддержки многозапросных транзакций, что сильно ограничивает кейсы.
Режим 1 плохо решает проблемы высокой конкуренции Postgres, поэтому обычно не подходит при большом числе подключений. Режим 3 слишком ограничивающий, так как многозапросные транзакции нужны многим приложениям. В итоге режим 2 даёт лучший баланс возможностей и контроля над соединениями.
Именно transaction pooling, тот режим, который PlanetScale применяет для всех своих PgBouncer-инстансов.
❤5👍2
Forwarded from Devops / Bash / Linux
Linux совет дня💡
Нужно быстро найти исполняемые файлы в каталоге?
Используй
Пример:
В отличие от проверки прав через
Bash советы
Нужно быстро найти исполняемые файлы в каталоге?
Используй
find с флагом -executable — он покажет только те файлы, которые действительно можно запускать.Пример:
find . -type f -executable
В отличие от проверки прав через
-perm, этот вариант учитывает реальные разрешения и ACL, поэтому результат точнее — вывод включает только те файлы, которые доступны для выполнения текущим пользователем.Bash советы
❤5👍3
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
❤2👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🎙️ Qwen3-TTS-Flash мощно прокачали — теперь это самый обширный генератор речи с поддержкой десятков разных голосов, языков и диалектов.
• Больше 49 уникальных голосов — они охватывают разные возрасты, национальности и пол персонажей. Подходит для любых сценариев.
• Знает 10 языков (включая русский!), местные акценты и аутентичные диалекты — даже сычуаньский.
• Реализм синтеза речи вышел на новый уровень — теперь нейронка на ходу адаптирует ритм, темп и интонации, мимикрируя под произношение человека.
Пробуем — тут.
• Больше 49 уникальных голосов — они охватывают разные возрасты, национальности и пол персонажей. Подходит для любых сценариев.
• Знает 10 языков (включая русский!), местные акценты и аутентичные диалекты — даже сычуаньский.
• Реализм синтеза речи вышел на новый уровень — теперь нейронка на ходу адаптирует ритм, темп и интонации, мимикрируя под произношение человека.
Пробуем — тут.
❤2🔥2
⚡️ Полезные инструменты в Linux, которые стоит знать
Небольшой список утилит, которые помогают быстро понять, что происходит с системой и где именно проблема.
pidstat
Мониторит использование ресурсов конкретными процессами или группами процессов.
Показывает загрузку CPU, память, I/O, переключения задач и потоки. Очень удобно для анализа performance-проблем.
netstat
Отображает статистику сетевых протоколов ICMP, IP, TCP и UDP.
Полезен для диагностики сетевых соединений, портов и состояний сокетов.
lsof
Показывает все открытые файлы в системе.
Незаменим, когда нужно понять:
- какой процесс держит файл
- почему нельзя размонтировать диск
- кто слушает порт
iostat
Даёт информацию о загрузке CPU и дисковой подсистемы.
Отлично подходит для выявления I/O bottleneck и проблем с дисками.
vmstat
Показывает общую картину работы системы:
CPU, память, block I/O, процессы, paging и interrupts.
Хороший инструмент для быстрого health-check сервера.
Если умеешь читать вывод этих команд - диагностика Linux становится в разы быстрее.
Небольшой список утилит, которые помогают быстро понять, что происходит с системой и где именно проблема.
pidstat
Мониторит использование ресурсов конкретными процессами или группами процессов.
Показывает загрузку CPU, память, I/O, переключения задач и потоки. Очень удобно для анализа performance-проблем.
netstat
Отображает статистику сетевых протоколов ICMP, IP, TCP и UDP.
Полезен для диагностики сетевых соединений, портов и состояний сокетов.
lsof
Показывает все открытые файлы в системе.
Незаменим, когда нужно понять:
- какой процесс держит файл
- почему нельзя размонтировать диск
- кто слушает порт
iostat
Даёт информацию о загрузке CPU и дисковой подсистемы.
Отлично подходит для выявления I/O bottleneck и проблем с дисками.
vmstat
Показывает общую картину работы системы:
CPU, память, block I/O, процессы, paging и interrupts.
Хороший инструмент для быстрого health-check сервера.
Если умеешь читать вывод этих команд - диагностика Linux становится в разы быстрее.
❤5🔥5👍3
Forwarded from Machinelearning
Андрей опубликовал разбор своего нового пет-проекта. Он создал систему, которая анализирует архивные треды Hacker News и с помощью LLM проверяет, сбылись ли предсказания пользователей спустя 10 лет.
Проект использует так называемые «послезнание» (hindsight), чтобы сравнивать старые комментарии с реальностью, выявлять визионеров и находить самые громкие ошибки.
Технически решение представляет собой пайплайн, который собирает данные через API Algolia и обрабатывает их с помощью структурированного промпта.
Тестовый прогон на 930 обсуждениях (месячный архив статей Hacker News) занял около часа и обошелся всего в 58 долларов.
На выходе система генерирует статический сайт с «Залом славы» аналитиков и рейтингом точность прогнозов.
Исходный
@ai_machinelearning_big_data
#AI #ML #LLM #Tutorial #Karpaty
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.).
Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы.
👉 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
1) Разработка стала платформо-ориентированной
Компании всё чаще строят внутренние платформы для разработчиков:
- developer platform
- internal tooling
- self-service инфраструктура
Цель - сократить путь от идеи до продакшена и убрать лишние согласования. Kubernetes сам по себе больше не цель, а лишь инструмент.
2) Kubernetes - уже стандарт, а не преимущество
K8s окончательно перешёл в разряд базовой инфраструктуры:
- стандарт для средних и крупных команд
- основа CI/CD, безопасности и observability
- фундамент platform engineering
Фокус сместился с «как развернуть кластер» на «как сделать его незаметным для разработчика».
3) DevOps трансформировался в Platform Engineering
Классический DevOps как универсальная роль постепенно исчезает.
На его место приходят:
- platform teams
- golden paths
- стандартизированные шаблоны сервисов
Главная цель — developer experience, а не бесконечная поддержка инфраструктуры.
4) Облако больше не про дешевизну
Сегодня облако — это:
- скорость запуска продуктов
- масштабирование без боли
- managed-сервисы вместо самописных решений
Экономия вынесена в отдельную дисциплину — FinOps, а не считается встроенным преимуществом облака.
5) Наблюдаемость важнее логов
Логи перестали быть основным инструментом понимания системы.
На первый план выходят:
- метрики
- трассировки
- SLO и error budgets
Системы проектируются так, чтобы их можно было понимать в реальном времени, а не разбирать постфактум.
6) Инструментов стало слишком много
Одна из ключевых проблем индустрии:
- перегруженные CI/CD пайплайны
- десятки инструментов без владельцев
- высокая когнитивная нагрузка на команды
Выигрывают те, кто упрощает стек, а не добавляет новые инструменты.
Вывод
Современная разработка — это уже не гонка фреймворков и технологий.
Это про:
- удобство и скорость работы разработчика
- стандарты и повторяемость
- управляемую сложность
- устойчивое развитие команд без выгорания
Коротко:
инфраструктура стала продуктом, а разработчик — её пользователем.
https://stateof.themodernsoftware.dev/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3💩1
⚡ Eletrize - live-reload инструмент для Go и других языков: слежка за изменениями файлов + автоматический запуск команд для ускорения разработки и тестирования.
Что важно:
• Следит за изменениями и запускает команды (например, сборку/перезапуск сервера)
• Поддерживает конфиги в YAML/JSON
• Может наблюдать несколько схем/папок
• Интегрируется с VSCode launch.json
• Работает не только с Go, но и с другими языками при настройке
• MIT-лицензия, простой в установке через
Полезно для того, чтобы быстрее видеть результаты изменений без ручных перезапусков.
GitHub: https://github.com/lasfh/eletrize
Что важно:
• Следит за изменениями и запускает команды (например, сборку/перезапуск сервера)
• Поддерживает конфиги в YAML/JSON
• Может наблюдать несколько схем/папок
• Интегрируется с VSCode launch.json
• Работает не только с Go, но и с другими языками при настройке
• MIT-лицензия, простой в установке через
go install Полезно для того, чтобы быстрее видеть результаты изменений без ручных перезапусков.
GitHub: https://github.com/lasfh/eletrize
❤3
🖥️ Создайте свой собственный ОС с uniOS
uniOS — это хобби-операционная система, созданная с нуля на C++20. Она поддерживает работу с реальным оборудованием x86-64, включает в себя работающую оболочку, сетевые функции TCP/IP и поддержку USB.
🚀Основные моменты:
- Полностью самописный ядро с поддержкой C++20.
- Предоставляет многозадачность и управление памятью через битовые карты.
- Включает собственный стек TCP/IP и драйвер USB 3.0.
- Простая файловая система uniFS и командная оболочка с поддержкой скриптов.
📌 GitHub: https://github.com/unionyxx/uniOS
uniOS — это хобби-операционная система, созданная с нуля на C++20. Она поддерживает работу с реальным оборудованием x86-64, включает в себя работающую оболочку, сетевые функции TCP/IP и поддержку USB.
🚀Основные моменты:
- Полностью самописный ядро с поддержкой C++20.
- Предоставляет многозадачность и управление памятью через битовые карты.
- Включает собственный стек TCP/IP и драйвер USB 3.0.
- Простая файловая система uniFS и командная оболочка с поддержкой скриптов.
📌 GitHub: https://github.com/unionyxx/uniOS
❤6👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Нашли красивый и полезный ИНТЕРАКТИВНЫЙ проект, который показывает, как эволюционировали устройства хранения информации. Там можно посмотреть на работу SSD, HDD и даже ленточных накопителей. 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2🥰2
🔥 На Stepik вышел курс, который учит работать с Docker так, как это делают в реальных проектах с уклоном на реальные рейсы.
Этот практический курс покажет, как упаковывать приложения в контейнеры, собирать лёгкие и безопасные образы, поднимать несколько сервисов через docker-compose и готовить окружение для продакшена.
Ты пройдёшь путь от первого контейнера до полной инфраструктуры: с логами, сетями, томами, переменными окружения, безопасностью и отладкой.
Никакой теории ради теории, только реальные шаги, из которых рождается рабочая среда разработчика и прод-окружение.
🎁 В честь нового года ближайшие 48 часов - скидка 50 процентов!
👉 Начать обучение
Этот практический курс покажет, как упаковывать приложения в контейнеры, собирать лёгкие и безопасные образы, поднимать несколько сервисов через docker-compose и готовить окружение для продакшена.
Ты пройдёшь путь от первого контейнера до полной инфраструктуры: с логами, сетями, томами, переменными окружения, безопасностью и отладкой.
Никакой теории ради теории, только реальные шаги, из которых рождается рабочая среда разработчика и прод-окружение.
🎁 В честь нового года ближайшие 48 часов - скидка 50 процентов!
👉 Начать обучение
❤3👍3👎2🔥2
Проектирование кластеров Kubernetes - выбор размера рабочих узлов
Каким должен быть кластер Kubernetes: с малым количеством мощных узлов или с множеством слабых? В этой статье разбираются плюсы и минусы обоих подходов.
При создании кластера Kubernetes один из первых вопросов, который у вас возникает: «Какой тип рабочих узлов (worker nodes) использовать и сколько их нужно?»
Если вы строите локальный (on-premises) кластер, стоит ли заказать несколько мощных серверов последнего поколения или использовать десяток-другой старых машин, пылящихся в вашем дата-центре?
Или, если вы используете управляемый сервис Kubernetes, например Google Kubernetes Engine (GKE), что лучше выбрать для достижения желаемой вычислительной мощности: восемь инстансов
https://learnkube.com/kubernetes-node-size
#devops #девопс
Каким должен быть кластер Kubernetes: с малым количеством мощных узлов или с множеством слабых? В этой статье разбираются плюсы и минусы обоих подходов.
При создании кластера Kubernetes один из первых вопросов, который у вас возникает: «Какой тип рабочих узлов (worker nodes) использовать и сколько их нужно?»
Если вы строите локальный (on-premises) кластер, стоит ли заказать несколько мощных серверов последнего поколения или использовать десяток-другой старых машин, пылящихся в вашем дата-центре?
Или, если вы используете управляемый сервис Kubernetes, например Google Kubernetes Engine (GKE), что лучше выбрать для достижения желаемой вычислительной мощности: восемь инстансов
n1-standard-1 или два n1-standard-4?https://learnkube.com/kubernetes-node-size
#devops #девопс
❤2👍2🔥2
Обе операционные системы: отличные платформы для специалистов по безопасности. Kali Linux удерживает лидерство среди профессионалов благодаря большому набору специализированных инструментов и широкой поддержке, а Parrot OS предлагает сбалансированный и ресурсосберегающий вариант с уклоном в приватность и универсальность
В этой статье мы разберем что лучше выбрать для пентеста
Видео: https://www.youtube.com/watch?v=LRDIQGCurms
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3