🛠 Что нового в Git 2.49
Разработчики продолжают совершенствовать инструмент, добавляя новые функции и улучшения, которые делают работу с Git еще более эффективной.
Основные изменения:
➖ Обновления скриптов автодополнения для zsh.
➖ Оптимизация git pack-objects и git repack: эти команды получили опцию использования альтернативной хеш-функции для улучшения выбора delta-баз.
➖ Новая опция --expire-to в git gc: команда
➖ Улучшения в git clone: команда
➖ Введение команды git backfill: улучшает производительность работы с репозиториями, особенно в случаях, когда blobs (файлы с содержимым) не загружаются сразу при клонировании.
➖ Улучшение git push --atomic --porcelain: ранее эта команда игнорировала ошибки на удаленной стороне, теряя статус ошибки от дочернего процесса.
➡️ Подробнее об обновлении
💭 Обсудим обновление? Какие пункты поменяют что-то в вашей работе?
🐸 Библиотека devops'a #свежак
Разработчики продолжают совершенствовать инструмент, добавляя новые функции и улучшения, которые делают работу с Git еще более эффективной.
Основные изменения:
git gc
теперь поддерживает опцию --expire-to
, передаваемую в git repack
.git clone
теперь поддерживает создание поверхностной копии для отдельного коммита, который не обязательно находится на вершине какой-либо ветки.💭 Обсудим обновление? Какие пункты поменяют что-то в вашей работе?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6❤1
💻 Превращаем нейросеть в терминал
Вводите команды — он отвечает. Как настоящий bash, но без segmentation fault.
Попробуйте сами, а мы подождём вас в комментариях 👇
🐸 Библиотека devops'a #буст
Вводите команды — он отвечает. Как настоящий bash, но без segmentation fault.
I want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. when i need to tell you something in english, i will do so by putting text inside curly brackets {like this}. my first command is pwd
Попробуйте сами, а мы подождём вас в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Библиотека питониста | Python, Django, Flask
🐍 Твой Python-код жрёт память? 11 способов это исправить!
Высокая производительность и масштабируемость невозможны, если приложение неэффективно расходует RAM. Разберём лучшие техники оптимизации памяти в Python, которые помогут сократить потребление ресурсов и ускорить работу кода.
👉 Читать статью
Библиотека питониста
Высокая производительность и масштабируемость невозможны, если приложение неэффективно расходует RAM. Разберём лучшие техники оптимизации памяти в Python, которые помогут сократить потребление ресурсов и ускорить работу кода.
👉 Читать статью
Библиотека питониста
💡 VS Code в браузере одной кнопкой
👨💻 — Сколько нужно айтишников, чтобы открыть редактор кода?
😎 — Один и точка.
1. Зайти в свой репозиторий на GitHub
2. Нажать "."
3. Получить браузерный VS Code прямо в репозитории
🐸 Библиотека devops'a #буст
👨💻 — Сколько нужно айтишников, чтобы открыть редактор кода?
😎 — Один и точка.
1. Зайти в свой репозиторий на GitHub
2. Нажать "."
3. Получить браузерный VS Code прямо в репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
🏗 7 основных стратегий обеспечения устойчивости распределенных систем
Высоконагруженные распределенные системы должны справляться с миллионами запросов в секунду, оставаясь стабильными даже при сбоях в базах данных или внешних API. Это возможно только при условии, что в основе системы заложены проверенные стратегии обеспечения устойчивости.
В этой статье мы подробно рассмотрим, как нисходящие и восходящие шаблоны помогают минимизировать влияние отказов и эффективно управлять нагрузкой, обеспечивая стабильность и бесперебойную работу популярных приложений.
🔗 Читать статью
🔗 Зеркало
🐸 Библиотека хакера
Высоконагруженные распределенные системы должны справляться с миллионами запросов в секунду, оставаясь стабильными даже при сбоях в базах данных или внешних API. Это возможно только при условии, что в основе системы заложены проверенные стратегии обеспечения устойчивости.
В этой статье мы подробно рассмотрим, как нисходящие и восходящие шаблоны помогают минимизировать влияние отказов и эффективно управлять нагрузкой, обеспечивая стабильность и бесперебойную работу популярных приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Перед вами — сетка со словами, зашифрованными по горизонтали. Одни — из священного круга DevOps. Другие — из лексикона тех, кто видел staging, production и postmortem в одном окне
💬 Напишите сколько терминов выловили из этой сетки. Делитесь результатом под спойлером, чтобы остальные тоже могли испытать судьбу (и свою внимательность).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👾1
☸️ CKAD 2025. Самый свежий гайд по сдаче сертификации Certified Kubernetes Application Developer
CKAD стал более строгим к деталям — без системной подготовки можно завалить даже на банальных заданиях. Если хочется разобраться, что важно для получения сертификации — эта статья сэкономит часы.
➡️ Читать статью
🐸 Библиотека devops'a
CKAD стал более строгим к деталям — без системной подготовки можно завалить даже на банальных заданиях. Если хочется разобраться, что важно для получения сертификации — эта статья сэкономит часы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
📰 Дайджест новостей за неделю
Собрали для вас подборку интересных апдейтов и событий, мимо которых лучше не проходить.
🔹 Google покупает Wiz
Google Cloud решили не изобретать безопасность, а купить готовую. На этой неделе анонсировали приобретение Wiz — быстрорастущего стартапа, который уже обошёл многих в облачной безопасности.
🔹 Kubernetes запускает JobSet
В K8s представили новый API-ресурс JobSet, и это не просто «ещё один CRD». Это попытка упростить работу с группами джобов, у которых есть зависимости, например: сначала сканируем, потом обрабатываем, потом отчитываемся.
🔹 Docker + TensorFlow
Docker решили показать, что ИИ — это не только аналитика и чат-боты, но и развлечения. Опубликован гайд, как собрать игру Snake, которую обучает TensorFlow. Всё запускается в контейнере, а модель управляет змейкой, будто она сама знает, где вкуснее.
🔹 Обновление KDE Plasma
🔹 Обновление Git
🐸 Библиотека devops'a #свежак
Собрали для вас подборку интересных апдейтов и событий, мимо которых лучше не проходить.
🔹 Google покупает Wiz
Google Cloud решили не изобретать безопасность, а купить готовую. На этой неделе анонсировали приобретение Wiz — быстрорастущего стартапа, который уже обошёл многих в облачной безопасности.
🔹 Kubernetes запускает JobSet
В K8s представили новый API-ресурс JobSet, и это не просто «ещё один CRD». Это попытка упростить работу с группами джобов, у которых есть зависимости, например: сначала сканируем, потом обрабатываем, потом отчитываемся.
🔹 Docker + TensorFlow
Docker решили показать, что ИИ — это не только аналитика и чат-боты, но и развлечения. Опубликован гайд, как собрать игру Snake, которую обучает TensorFlow. Всё запускается в контейнере, а модель управляет змейкой, будто она сама знает, где вкуснее.
🔹 Обновление KDE Plasma
🔹 Обновление Git
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Forwarded from Библиотека собеса по DevOps | вопросы с собеседований
✍🏻 Зачем контейнерам Docker нужны проверки работоспособности?
Контейнеры Docker полагаются на проверки работоспособности, чтобы гарантировать свою бесперебойную работу. Развертывание контейнера, который работает, но не обрабатывает запросы, может создать проблемы для групп развертывания. Проверки работоспособности отслеживают эти проблемы в режиме реального времени и мгновенно информируют нас.
Например, проверку работоспособности можно добавить в Dockerfile следующим образом:
Эта проверка работоспособности пингует конечную точку работоспособности контейнера каждые 30 секунд и отмечает контейнер как неработоспособный, если он не может выполнить три последовательные попытки. Этот упреждающий мониторинг помогает быстро выявлять и устранять проблемы.
Библиотека собеса по DevOps
Например, проверку работоспособности можно добавить в Dockerfile следующим образом:
HEALTHCHECK --interval=30s --timeout=10s --retries=3 CMD curl -f http://localhost:8080/health || exit 1
Эта проверка работоспособности пингует конечную точку работоспособности контейнера каждые 30 секунд и отмечает контейнер как неработоспособный, если он не может выполнить три последовательные попытки. Этот упреждающий мониторинг помогает быстро выявлять и устранять проблемы.
Библиотека собеса по DevOps
👍3
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какова цель поля AddressType в EndpointSlice для сервиса без селекторов?
👾 — Чтобы указать тип внутренней базы данных
👍 — Чтобы указать тип IP-адресов, используемых конечными точками
🥰 — Чтобы определить сетевые политики для доступа к конечным точкам
⚡️ — Чтобы настроить параметры балансировки нагрузки
Библиотека задач по DevOps
👾 — Чтобы указать тип внутренней базы данных
👍 — Чтобы указать тип IP-адресов, используемых конечными точками
🥰 — Чтобы определить сетевые политики для доступа к конечным точкам
⚡️ — Чтобы настроить параметры балансировки нагрузки
Библиотека задач по DevOps
❤1⚡1👍1
🔐 Google представил OSV-Scanner v2
Новая версия OSV-Scanner серьёзно расширяет возможности для разработчиков:
• Теперь сканируются проекты на .NET, Python, Java, JS, Go, Haskell — включая такие форматы, как deps.json, uv.lock, bun.lock, Uber Jars и др.
• Сводка по уязвимостям с фильтрами по критичности, пакетам, слоям в виде интерактивного HTML-отчёта
• Если вы используете Java с Maven, инструмент подскажет, как безопасно обновить уязвимые зависимости с минимальными рисками.
• Анализ образов Debian, Ubuntu и Alpine с определением уязвимых пакетов, историей слоев, идентификацией базового образа и фильтрацией ложных срабатываний
➡️ Подробнее про нововведения
🐸 Библиотека devops'a #свежак
Новая версия OSV-Scanner серьёзно расширяет возможности для разработчиков:
• Теперь сканируются проекты на .NET, Python, Java, JS, Go, Haskell — включая такие форматы, как deps.json, uv.lock, bun.lock, Uber Jars и др.
• Сводка по уязвимостям с фильтрами по критичности, пакетам, слоям в виде интерактивного HTML-отчёта
• Если вы используете Java с Maven, инструмент подскажет, как безопасно обновить уязвимые зависимости с минимальными рисками.
• Анализ образов Debian, Ubuntu и Alpine с определением уязвимых пакетов, историей слоев, идентификацией базового образа и фильтрацией ложных срабатываний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
🤔 Динамический расчёт ресурсов CPU в k8s
Контейнеры едят CPU как подростки пиццу: сначала вяло, потом жадно, потом — «а где ещё?». И вот вы сидите, смотрите на график использования — кто-то недогружен, кто-то перегрет, а бюджеты летят в трубу. Разберёмся как рассчитывать выделение ресурсов динамически.
Три подхода к динамическому расчёту CPU для контейнеров
1️⃣ Использовать 80% от запрашиваемого CPU как рабочий предел
Если приложение стабильно использует 0.5 CPU, логично задать лимит в 0.625, чтобы 80% этого значения приходилось на реальную загрузку.
✅ Простой и понятный подход.
❌ Неясно, насколько увеличивать ресурсы, если контейнер начинает использовать 100% — особенно если это происходит часто.
2️⃣ Использовать 80% как базу, но масштабировать экспоненциально
Для более гибкого поведения при высоких нагрузках можно использовать формулу:
При достижении 100% загрузки, ресурсы увеличиваются не линейно, а экспоненциально. Это позволяет:
✅ Быстрее реагировать на рост нагрузки.
❌ Требует вычислений и точного контроля за логикой перерасчёта. Повышается сложность реализации.
3️⃣ Основываться на показателях CPU Pressure и Throttling
Вместо анализа только текущей загрузки CPU, отслеживаются показатели давления на процессор (например,
✅ Ориентируется на реальную потерю производительности, а не просто на высокий usage.
❌ Подход зависит от поведения конкретного приложения. Не все нагрузки отражаются через throttling одинаково. Необходимо тестирование и калибровка.
Делитесь как вы выделяете ресурсы, в частности CPU, в kubernetes 👇
🐸 Библиотека devops'a #буст
Контейнеры едят CPU как подростки пиццу: сначала вяло, потом жадно, потом — «а где ещё?». И вот вы сидите, смотрите на график использования — кто-то недогружен, кто-то перегрет, а бюджеты летят в трубу. Разберёмся как рассчитывать выделение ресурсов динамически.
Три подхода к динамическому расчёту CPU для контейнеров
Если приложение стабильно использует 0.5 CPU, логично задать лимит в 0.625, чтобы 80% этого значения приходилось на реальную загрузку.
✅ Простой и понятный подход.
❌ Неясно, насколько увеличивать ресурсы, если контейнер начинает использовать 100% — особенно если это происходит часто.
Для более гибкого поведения при высоких нагрузках можно использовать формулу:
new_request = current_request * (actual_usage / 0.8)^2
При достижении 100% загрузки, ресурсы увеличиваются не линейно, а экспоненциально. Это позволяет:
✅ Быстрее реагировать на рост нагрузки.
❌ Требует вычислений и точного контроля за логикой перерасчёта. Повышается сложность реализации.
Вместо анализа только текущей загрузки CPU, отслеживаются показатели давления на процессор (например,
cpu_throttled_seconds_total
или node_cpu_pressure
). При их росте можно автоматически увеличивать ресурсы.✅ Ориентируется на реальную потерю производительности, а не просто на высокий usage.
❌ Подход зависит от поведения конкретного приложения. Не все нагрузки отражаются через throttling одинаково. Необходимо тестирование и калибровка.
Делитесь как вы выделяете ресурсы, в частности CPU, в kubernetes 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Команда Kubernetes опубликовала информацию о критической уязвимости — CVE-2025-1974, которая затрагивает Ingress-NGINX контроллер и может привести к удалённому выполнению кода (RCE) внутри кластера.
Что за уязвимость
Если вы используете аннотацию
nginx.ingress.kubernetes.io/configuration-snippet
,то через неё можно внедрить вредоносный код прямо в конфигурацию nginx внутри пода. При определённых условиях это позволяет злоумышленнику исполнить произвольный код на стороне сервера.
Уязвимые версии:
• До v1.10.2 (включительно v1.10.1)
• До v1.9.7 (включительно v1.9.6)
Что можно сделать прямо сейчас:
✅ Обновите Ingress-NGINX до v1.10.2 или v1.9.7
🛑 Проверьте свои манифесты: есть ли аннотации вроде
configuration-snippet
, server-snippet
, location-snippet
?🔒 Отключите возможность использования произвольных сниппетов, если не уверены в их безопасности.
🔍 Пройдитесь по всем Ingress-объектам в кластере — особенно если вы используете Helm-чарты сторонних приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
🏭 Минималистичный CI/CD без зависимости от облаков
Woodpecker CI — это self-hosted CI/CD с открытым исходным кодом, родом из Drone (ещё до того, как тот стал частично закрытым). Хорошее решение для тех, кто устал от Jenkins и не хочет жить в GitHub Actions.
Почему стоит обратить внимание:
• Ставится за 10 минут через Docker, без танцев с плагинами и XML.
• woodpecker.yml описывает всё: шаги, окружения, пайплайны.
• Поддерживает плагины из экосистемы Drone, интегрируется с любой инфраструктурой.
• Self-hosted, без облачных сюрпризов, идеально для приватных репозиториев или air-gapped сред.
• Работает с GitHub, GitLab, Gitea и другими.
▶️ Быстрый старт
Запустить контейнер:
И добавить .woodpecker.yml в корень проекта:
Если нужен CI без vendor lock-in и с полным контролем — стоит попробовать Woodpecker.
➡️ Официальный ресурс инструмента
🐸 Библиотека devops'a #буст
Woodpecker CI — это self-hosted CI/CD с открытым исходным кодом, родом из Drone (ещё до того, как тот стал частично закрытым). Хорошее решение для тех, кто устал от Jenkins и не хочет жить в GitHub Actions.
Почему стоит обратить внимание:
• Ставится за 10 минут через Docker, без танцев с плагинами и XML.
• woodpecker.yml описывает всё: шаги, окружения, пайплайны.
• Поддерживает плагины из экосистемы Drone, интегрируется с любой инфраструктурой.
• Self-hosted, без облачных сюрпризов, идеально для приватных репозиториев или air-gapped сред.
• Работает с GitHub, GitLab, Gitea и другими.
▶️ Быстрый старт
Запустить контейнер:
docker run -d \
-e WOODPECKER_GITEA=true \
-e WOODPECKER_ADMIN=myuser \
-v woodpecker:/var/lib/woodpecker \
woodpeckerci/woodpecker-server
И добавить .woodpecker.yml в корень проекта:
pipeline:
test:
image: node:18
commands:
- npm install
- npm test
Если нужен CI без vendor lock-in и с полным контролем — стоит попробовать Woodpecker.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20🔥3
🎙 Надо ли идти в DevOps в 2025 году
В свежем выпуске подкаста DevOps Kitchen Talks устроили настоящее путешествие от первых шагов в IT до устройства на первую работу в DevOps — с ошибками, выгоранием, выборами, переломными моментами и неожиданными откровениями.
Гость, который прошёл путь от айтишника «по наводке» до работающего DevOps-инженера. Ведущие разложили по полочкам, что на самом деле ждёт новичка в 2025 году.
➡️ Слушать подкаст
🐸 Библиотека devops'a #буст
В свежем выпуске подкаста DevOps Kitchen Talks устроили настоящее путешествие от первых шагов в IT до устройства на первую работу в DevOps — с ошибками, выгоранием, выборами, переломными моментами и неожиданными откровениями.
Гость, который прошёл путь от айтишника «по наводке» до работающего DevOps-инженера. Ведущие разложили по полочкам, что на самом деле ждёт новичка в 2025 году.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👨🏻💻 Исследование IT-аудитории Proglib 2025: зарплаты, технологии, профессии
Кто такой современный разработчик в 2025 году? Актуальное исследование портрета IT-специалистов: зарплаты, технологии, специализации и демография разработчиков.
➡️ Вся статистика и детали — здесь
Библиотека программиста #свежак
Кто такой современный разработчик в 2025 году? Актуальное исследование портрета IT-специалистов: зарплаты, технологии, специализации и демография разработчиков.
Библиотека программиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📁 Команда дня: копирование файла без scp
Альтернативой команде scp для маленьких файлов может служить такая команда:
Напишите в комментариях последнюю команду из своего терминала⬇️
🐸 Библиотека devops'a #буст
Альтернативой команде scp для маленьких файлов может служить такая команда:
cat file.txt | ssh user@host "cat > /tmp/file.txt"
Напишите в комментариях последнюю команду из своего терминала
Please open Telegram to view this post
VIEW IN TELEGRAM