Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.38K photos
70 videos
4 files
2.57K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🐧💻 Пошаговый разбор процесса загрузки Linux

Загрузка Linux — это сложный, но увлекательный процесс, который проходит через несколько этапов, начиная с включения питания и заканчивая готовностью системы к работе. Разберём основные шаги загрузки, чтобы лучше понять, как Linux становится готовым к использованию.

1️⃣ Включение питания и начальная инициализация
Когда вы включаете компьютер, процессор начинает выполнение инструкций, записанных в BIOS или UEFI. Они проверяют оборудование, готовя систему к следующему шагу.

2️⃣ POST (Power-On Self-Test)
BIOS или UEFI выполняет самотестирование компонентов, таких как память, процессор и диски. Если тест прошёл успешно, система переходит к поиску загрузочного устройства.

3️⃣ Загрузчик просыпается
BIOS/UEFI передаёт управление загрузчику, например, GRUB.
GRUB позволяет выбирать ОС, если у вас их несколько.
Он загружает ядро Linux в память.

4️⃣ Инициализация ядра Linux
Ядро распаковывается и начинает работать:
Определяет и конфигурирует оборудование.
Подключает виртуальную файловую систему (initramfs).
Подготавливает систему к запуску процессов.

5️⃣ Запуск системы инициализации (systemd)
После того как ядро готово, оно запускает систему инициализации. В большинстве современных систем используется systemd, который:
Инициализирует необходимые сервисы.
Устанавливает состояние системы (например, текстовый или графический интерфейс).

6️⃣ Запуск пользовательского интерфейса
После запуска всех сервисов система предоставляет экран входа или консоль. Теперь Linux готов к использованию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥1🔥1
🤤 Икра черная, икра красная, а профессия — программирование

Сертификат на обучение от Proglib Academy — это крутой подарок для тех, кто интересуется IT, хочет освоить новую профессию и жить в шоколаде.

Почему наши курсы — хороший презент:

🔵Подходит для новичков и профессионалов: можно выбрать обучение под любой уровень знаний.
🔵Помогает развивать востребованные навыки, которые пригодятся в IT.
🔵Позволяет выбрать удобный формат обучения: можно учиться в своем темпе, когда удобно.

Сертификат оформляется за пару минут, и даже не нужно ломать голову над упаковкой.

🚀 Подарите возможность начать год с полезных знаний и карьерного роста → подробнее о сертификатах
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚2
🔍 Model Context Protocol (MCP): Упрощение разработки AI-приложений с Docker

Anthropic представила Model Context Protocol (MCP), новый стандарт для подключения AI-моделей и ассистентов к надёжным данным и инструментам. Этот подход значительно упрощает взаимодействие между AI и инфраструктурой. Однако развёртывание MCP-серверов остаётся сложным из-за различных архитектур и операционных систем. Решением этой проблемы становится Docker.

📌 Что такое Model Context Protocol?
MCP — это протокол, который:
Упрощает подключение AI-моделей к данным и инструментам.
Делает взаимодействие между ассистентами и источниками данных более предсказуемым и безопасным.
Работает как стандартный мост между AI и инфраструктурой, обеспечивая совместимость.

🚀 Как Docker помогает с MCP?
Консистентность окружения:
Docker позволяет запаковать сервер MCP и все его зависимости в контейнер. Это гарантирует, что приложение будет работать одинаково на всех машинах.

Поддержка нескольких архитектур:
MCP-сервера могут быть развёрнуты на различных платформах, включая ARM и x86, без изменений в коде.

Упрощённое развертывание:
Вместо сложной настройки окружения MCP можно развернуть с помощью одного контейнера Docker.

🔑 Преимущества использования Docker с MCP
Быстрое развертывание: запуск серверов MCP за минуты.
Масштабируемость: легко запускать несколько экземпляров MCP в распределённой системе.
Упрощённая разработка: разработчики могут работать в одинаковом окружении, избегая проблем с настройкой.

#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🦑👨💻 Программист в «Игре в кальмара»: каковы твои шансы выжить?

Каждый день вы укрощаете капризные серваки и спасаете горящий прод? Привыкли жить в режиме «всё сломалось в пятницу вечером»? 😈

Пора проверить, поможет ли вам стальная выдержка девопса и умение решать проблемы на лету выжить в самом безжалостном шоу! Узнайте, как далеко вы продвинетесь в «Игре в кальмара», где один неверный деплой ответ может стоить жизни 💀

🎯 Пройти тест
😁2
🌐 Что такое сеть Ingress?

Ingress — это термин, часто используемый в контексте Kubernetes, для описания способа управления входящим сетевым трафиком, направленным в кластер. Ingress представляет собой набор правил, определяющих, как трафик (например, HTTP и HTTPS-запросы) направляется к различным сервисам внутри кластера.

Основные концепции Ingress

💡Ingress-ресурс:
Это объект в Kubernetes, который содержит правила маршрутизации трафика. Например, он может определять, что запросы на example.com/api направляются на один сервис, а запросы на example.com/web — на другой.

💡Ingress-контроллер:
Это программный компонент, который реализует функциональность Ingress. Он принимает трафик из внешней сети и направляет его в кластер в соответствии с правилами, описанными в Ingress-ресурсе.

💡Протоколы:
Ingress работает с HTTP и HTTPS, что делает его подходящим для маршрутизации веб-трафика.

🔑 Как работает Ingress?
Внешние запросы попадают в кластер через Ingress-контроллер, который выступает точкой входа.
Контроллер анализирует Ingress-ресурс и определяет, куда направить трафик (в какой сервис или под).
Для маршрутизации используется информация о доменных именах, путях URL или других критериях.

🛠 Пример использования Ingress
Представьте, что у вас есть два сервиса:
Сервис A обрабатывает запросы на example.com/app.
Сервис B обрабатывает запросы на example.com/api.
С помощью Ingress вы можете настроить маршруты, чтобы оба сервиса были доступны через один публичный IP-адрес.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤖🎓 SmartClass: как научить AI проверять домашки программистов

Автоматизация рутинных задач — один из главных трендов в IT, но как насчет проверки домашек? Представьте себе систему, которая не только оценивает код студентов, но и помогает им понять свои ошибки, словно опытный наставник. Звучит как фантастика? В статье рассказывается, как проект SmartClass воплощает эту идею в реальность, используя возможности AI. Узнайте, какие технологии лежат в основе, с какими трудностями сталкиваются разработчики и как это меняет обучение программированию.

📎 Подробнее о том, как AI помогает проверять домашние задания
👩‍🚀 pISSStream: Телеметрия МКС прямо на вашем Mac

pISSStream — это приложение для macOS, которое отображает в строке меню текущий уровень заполнения бака для мочи на Международной космической станции в режиме реального времени.

🛠️ Установка и использование:
1. Скачайте последнюю версию pISSStream с GitHub-репозитория.
2. Запустите приложение; при успешном подключении к Lightstreamer и получении телеметрии МКС в строке меню отобразится иконка с процентом заполнения бака.
3. В случае потери соединения или сигнала приложение уведомит об этом, изменив иконку и показав соответствующее сообщение.
😁3👾2
Server-Sent Events: Почему эта технология недооценена

💡 Server-Sent Events (SSE) — это одна из тех технологий, которые незаслуженно остаются в тени WebSockets, хотя у нее есть свои уникальные преимущества. Статья объясняет, почему стоит обратить внимание на SSE, как они работают, и в каких случаях их использование будет особенно эффективным.

Основные преимущества SSE:
Простота: SSE использует HTTP, что упрощает настройку и интеграцию. Вам не нужно устанавливать сложные двусторонние соединения, как в случае с WebSockets.

Эффективность для односторонних данных: SSE идеально подходит для сценариев, где сервер отправляет обновления клиенту (например, уведомления, данные телеметрии или биржевые котировки).

Поддержка автоматического переподключения: при обрыве соединения браузеры автоматически восстанавливают его без дополнительного кода.

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

Когда использовать SSE?
Потоковые данные (например, обновления цен в реальном времени).
Уведомления от сервера (новости, изменения состояния).
Обновления пользовательских интерфейсов (доски задач, результаты опросов).

Ограничения:
SSE работает только по протоколу HTTP/HTTPS, в отличие от WebSockets, которые используют отдельный протокол.
Нет поддержки бинарных данных, только текстовые (обычно JSON).
SSE подходит только для соединений «сервер-клиент» (не поддерживает клиент-клиент).

Почему SSE недооценены?
Многие разработчики стремятся использовать современные или "хайповые" технологии, такие как WebSockets или gRPC. Однако в большинстве случаев для задач с односторонней передачей данных SSE являются более простым и легким в реализации решением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉2
🛠🔥 Как ускорить CI/CD пайплайн в 5 раз: опыт оптимизации

CI/CD-пайплайн — ключевая часть разработки. Его медлительность снижает продуктивность команды и замедляет релизы. В статьe автор делится опытом, как он сократил время выполнения пайплайна с 45 минут до 10.

Что сделано:
1️⃣ Разделение задач на параллельные процессы
Ранее этапы выполнялись последовательно. Теперь тесты, сборка и другие задачи запускаются параллельно, что экономит общее время.

2️⃣ Использование кэширования зависимостей
Зависимости (например, npm-модули) теперь не переустанавливаются заново для каждого запуска. Это снизило время установки на 80%.

3️⃣ Оптимизация тестирования
Тесты разделены на группы для выполнения в несколько потоков.
Реализован механизм пропуска тестов для файлов, которые не изменились.

4️⃣ Улучшение Docker-сборки
Пайплайн использует многоэтапные сборки Docker-образов. Это уменьшило их размер и время создания.

5️⃣ Переход на облачные раннеры
Использование облачных серверов позволило масштабировать ресурсы и избежать узких мест на локальных машинах.

Результаты:
Время выполнения пайплайна сократилось с 45 до 10 минут.
Тестирование ускорилось на 70%, сборка Docker-образов — на 50%.
Команда начала получать обратную связь от системы почти мгновенно, что улучшило процесс разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👻 Ghostty — новый терминал для современных разработчиков и DevOps

Друзья, знакомьтесь! Ghostty — это новый эмулятор терминала, который создан для работы на macOS и Linux. Его автор — Митчелл Хашимото, известный разработчик таких инструментов, как Vagrant и Terraform.

🔥 Почему Ghostty — это must-have:
Работает быстрее, чем многие популярные терминалы. Вы точно заметите разницу!
На macOS использует родные технологии для создания гладкого и удобного интерфейса. На Linux — поддержка GTK
Ghostty разрабатывается как проект с открытым исходным кодом.

Кому будет полезен?
Разработчикам: ускоряет работу с кодом и делает терминал удобным для современных инструментов.
Админам и DevOps: высокая производительность для CI/CD, контейнеров и мониторинга.
Исследователям данных: поддержка графики помогает визуализировать данные прямо в терминале.

💻 Хотите попробовать?

#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴 Интеграция Playwright и GitHub Actions: Оптимизация CI/CD

Современные веб-приложения требуют высокой скорости разработки и надежного тестирования. Одной из лучших практик является использование непрерывной интеграции и доставки (CI/CD), где автоматическое тестирование играет ключевую роль. В статье автор подробно рассматривает, как связать мощь Playwright с гибкостью GitHub Actions для создания эффективного процесса CI/CD. В этой публикации я расскажу об основных идеях и их преимуществах.

▶️ Playwright: Универсальный инструмент для тестирования
Playwright, разработанный Microsoft, позволяет создавать автоматические тесты для популярных браузеров, таких как Chromium, Firefox и WebKit. Его главные преимущества:
Поддержка различных языков программирования: JavaScript, Python, Java и C#.
Кросс-браузерное тестирование.
Простая настройка и интеграция с CI/CD.

GitHub Actions: Автоматизация на каждый день
GitHub Actions позволяет автоматизировать запуск тестов, сборку и развертывание приложений. Эта платформа интегрирована прямо в GitHub и идеально подходит для разработчиков, использующих эту экосистему.

Вместе с Playwright GitHub Actions позволяет:
Настроить автоматический запуск тестов при каждом изменении в коде.
Ускорить выявление ошибок.
Упростить доставку новых функций.

👨‍💻 Как это работает?
В статье подробно описывается процесс настройки рабочего процесса. Вот пример:
1️⃣ Создайте файл .github/workflows/playwright.yml;
2️⃣ Настройте шаги для проверки кода, установки зависимостей и запуска тестов;
3️⃣ Используйте Playwright CLI для выполнения тестов в автоматическом режиме.

Пример файла:
name: CI with Playwright

on:
push:
branches:
- main
pull_request:

jobs:
tests:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Install dependencies
run: npm install

- name: Run Playwright tests
run: npx playwright test
Please open Telegram to view this post
VIEW IN TELEGRAM
✉️ Давно хотели свой почтовый сервер? Вдохновляемся OpenBSD!

Мечтали о собственном почтовом сервере, но не знали, с чего начать? Статья от Николя Карпи — это отличный гид для тех, кто хочет создать простой и надежный почтовый сервер с использованием OpenBSD.

Что особенного в OpenBSD?
👍 Безопасность по умолчанию: OpenBSD — один из самых безопасных операционных систем благодаря строгим политикам и минималистичному подходу.
👍 Простота настройки: всё, что нужно для работы сервера, уже есть в базовой системе — никаких лишних пакетов.
👍 Идеально для почты: OpenBSD включает smtpd, который подходит для небольших или средних почтовых серверов.

Основные шаги
1️⃣ Настройка DNS-записей:
Создайте MX-записи для вашего домена.
Добавьте SPF, DKIM и DMARC для безопасности.
2️⃣ Установка OpenSMTPD:
Простое решение для работы с почтой.
Поддерживает шифрование и авторизацию.
3️⃣ Доставка почты:
Настройте пересылку писем на локальных или удалённых пользователей.
4️⃣Фильтрация и антиспам:
Использование spamd и других инструментов OpenBSD для блокировки спама.

Почему это стоит попробовать?
Никто больше не управляет вашей почтой, кроме вас.
Вы поймете, как работает интернет и электронная почта.
Настраивайте сервер под свои задачи.ц
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥰2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🤩 Resizer2: Управляй окнами на Windows как профессионал

Resizer2 — это утилита для Windows, позволяющая управлять окнами с помощью комбинации клавиши Win и мыши, подобно функционалу в KDE или i3.

Основные возможности:

Перемещение окон: удерживайте Win и левую кнопку мыши для перемещения окна; если окно полноэкранное или максимизировано, оно переместится между мониторами.
Изменение размера: удерживайте Win и правую кнопку мыши для изменения размера окна от ближайшего угла.
Прозрачность: используйте Win и прокрутку мыши для изменения прозрачности окна.
Свертывание: нажмите Win и среднюю кнопку мыши для сворачивания окна.
Максимизация/восстановление: двойной клик левой кнопкой мыши с удержанием Win для максимизации или восстановления окна.

Установка:
1️⃣Скачайте последнюю версию установщика с GitHub.
2️⃣Запустите установщик и следуйте инструкциям.

❗️Примечание: доступна портативная версия (.exe), не требующая установки, однако автозапуск настраивается только через установщик.
Please open Telegram to view this post
VIEW IN TELEGRAM
4
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях

Привет, DevOps-инженеры! Этот год вы снова доказали, что именно вы — невидимые герои, стоящие за стабильностью и масштабируемостью цифрового мира. Вместе с вами мы следили за трендами, автоматизировали процессы и исследовали новые подходы к работе.

Теперь пришло время подвести итоги: 2024 год был насыщен событиями и достижениями для всех нас, и Proglib делится своими ключевыми успехами, которые стали возможны благодаря нашему сообществу.

Добро пожаловать в обзор года!
👍4
🎨 Какими навыками должен владеть фронтендер

Фронтендер отвечает не только за визуальную часть, но и за заголовки, меню, карточки, кнопки, адаптивность и валидацию. Они пишут код, на основе которого работают сайты.

Знания и навыки, необходимые фронтендеру:
▪️ Уметь работать с HTML и CSS
▪️ Выучить язык программирования JavaScript
▪️ Овладеть одним из фреймворков на базе этого языка (React, Angular, Vue)
▪️ Уметь работать с Git
▪️ Понимать, что такое веб-страницы, протоколы HTTP/HTTPS, браузеры, домены и хостинг
▪️ Разбираться в REST API
▪️ Работать с Figma
▪️ Иметь базовые навыки проверки своего кода

➡️ Забирайте курс Frontend со скидкой 35%, он поможет со всем этим разобраться – https://proglib.io/w/eeccf187
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉1
Google в машине времени

Как давно вы пользуетесь Google? А задумывались, каким он был в самом начале? Для тех, кто помнит, это путешествие в прошлое, а для тех, кто не застал первые дни интернета, — уникальная возможность увидеть, с чего всё начиналось. Сайт, который переносит нас в эпоху простоты и минимализма, напомнит, как выглядел старый добрый Google.

Загляните и ощутите дух зарождения интернета — независимо от того, сколько лет вы в сети!

#новость
С наступающим, девопсы! Или уже наступившим!🎆🎆

Уже придумали чем заняться в новом году? 😉
Если нет, то предлагаем вам подборку фильмов к просмотру:

🔠 Игра в имитацию (2014)
🅰️ Стив Джобс (2015)
🔠 Revolution OS (2001)
©️ Железный человек (2008)
🔠 Кто я (2014)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
👍1🎉1
Давайте признавайтесь в комментариях — что вам подарили? 👇
#интерактив
👍3