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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Перечислите некоторые исходные пространства имен, из которых запускается Kubernetes.

Вот некоторые начальные пространства имен:
Default: это пространство имен включено Kubernetes, чтобы пользователи могли начать использовать новый кластер без необходимости предварительного создания пространства имен.
Kube-system: это пространство имен для объектов, созданное системой Kubernetes.
Kube-public: это пространство имен доступно для чтения как аутентифицированным, так и неаутентифицированным клиентам. Оно зарезервировано в основном для использования в кластере.
👍21🌚1
Kamal

Open Source-инструмент для развёртывания веб-приложений с помощью Docker. В нем всё одинаково просто работает и при деплое на 50 серверов, и при деплое 5 приложений на одном сервере.

Особенности:
👉 переход с использования прокси Traefik на собственный kamal-proxy;
👉 Kamal 2.0 будет запускать все контейнеры в кастомной сети Docker;
👉 новый способ передачи секретов в контейнеры.

#софт
👍31
🤔🤔 Proxmox vs FreeBSD: кто производительнее

Сравнительные тесты Proxmox и Bhyve

Подробности тут

#туториал
👍51
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

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

👉Подписаться👈
3❤‍🔥2🔥2
🐞🔍 Инструменты отладки JavaScript: 7 незаменимых помощников разработчика

Обзор семи ключевых инструментов отладки JavaScript, которые помогают разработчикам эффективно выявлять и исправлять ошибки в коде. Каждый из них имеет уникальные функции и преимущества, такие как интеграция с популярными платформами, возможность мониторинга в реальном времени, поддержка различных языков и фреймворков.

🔗 Читать статью
🔗 Зеркало
😁32🔥1
Очередной #дайджест для DevOps-ов

🛟 Armada — используя Armada, Kubernetes может стать основой для пакетной обработки и обслуживания рабочих нагрузок и выполнения миллионов заданий на нодах в день

🛟 Kubernetes на Proxmox — в статье автор создает кластер и две ноды: управление и рабочая. В качестве дополнительной задачи — сквозной доступ к PCIe для рабочей ноды

🛟 Рассказ о переводе Kubernetes на новую платформу— связка website-metadata-scraper, KDP, ArgoCD и CloudFlare с шифрованием origin

🛟 Практический пентест Kubernetes — правильная настройка среды оркестрации влияет на работу всей инфраструктуры

🛟 Введение в Istio для Kubernetes: основы и начальная настройка — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes
1👍31🎉1
#вопросы_с_собеседования

Объясните концепцию Ingress в Kubernetes

Ingress — это объект API Kubernetes, который используется для предоставления маршрутов HTTP и HTTPS извне кластера к сервисам внутри кластера. Это обеспечивает единую точку входа в кластер, позволяет более просто управлять приложениями и устранять проблемы с маршрутизацией.
3🔥2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⚛️🔄 Улучшенная обработка асинхронных операций в React 19

Новая функциональность в React 19 направлена, прежде всего, на улучшение:
☑️ Управления состоянием.
☑️ Обработки ошибок.
☑️ Работы с асинхронными операциями.

👉 Рассмотрим ключевые улучшения подробнее:
▪️ Actions предназначены для обработки асинхронных запросов и автоматизации управления отложенными состояниями, ошибками и оптимистичными обновлениями. Фронтендеры теперь могут работать с асинхронными операциями более интуитивно, сохраняя пользовательский интерфейс отзывчивым в любое время — даже когда запросы выполняются в реальном времени.
▪️ Улучшенная работа с формами: в React 19 появился новый хук useActionState, который предоставляет разработчикам встроенную поддержку для обработки состояний и отправки формы.
▪️ Оптимистические обновления — способ мгновенно показать пользователю предполагаемый финальный результат в интерфейсе, даже если в фоновом режиме продолжается обработка данных. Это делает приложение более отзывчивым, особенно в случаях плохого соединения или долгих запросов. Если при выполнении возникает ошибка, интерфейс возвращается к исходному состоянию.
▪️ В React 19 появилась новая возможность — использовать API use для работы с ресурсами, такими как промисы и контексты, прямо внутри функции рендеринга. Это позволяет использовать use даже в условных конструкциях, что ранее было невозможно с хуками.
▪️ Server Components в React 19 — новый способ рендеринга компонентов: рендеринг происходит заранее, либо один раз во время сборки, либо при каждом запросе на сервере, который отделен от клиентской части приложения. Похожим образом реализован серверный рендеринг в Next.js.
▪️ Server Actions — новая функция в React, позволяющая компонентам на клиенте вызывать асинхронные функции, выполняемые на сервере.

🔗 Читать статью полностью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
33
Объясните, что такое диспетчер облачного контроллера.

Cloud Controller Manager позволяет связать кластер с API облачного провайдера. Cloud-controller manager позволяет поставщикам облачных услуг развиваться независимо от основного кода Kubernetes, абстрагируя специфичный код. Это позволяет поставщикам облачных услуг разрабатывать и поддерживать свой код независимо от основного кода Kubernetes.

Используя CCM, облачные операции, такие как создание и управление балансировщиками нагрузки, томами блочного хранения и облачными сетевыми ресурсами, могут выполняться бесперебойно в кластере Kubernetes. Это позволяет пользователям использовать преимущества как Kubernetes, так и облачного провайдера, сводя к минимуму потенциальные проблемы совместимости.
👍31
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных

Долгое время SQL использовали лишь для запросов и изменения записей в базах данных — для полноценного программирования в привычном смысле слова он не подходил. Однако добавление рекурсивных общих табличных выражений (CTE) сделало SQL полным по Тьюрингу. Рекурсивные CTE состоят из двух частей:

• Нерекурсивная часть (базовый случай) — создает начальные данные.
• Рекурсивная часть — может выполняться много раз, каждый раз используя результат предыдущего шага.

Благодаря CTE на SQL можно при желании реализовать любой алгоритм. Энтузиасты уже сделали:

Визуализацию множества Мандельброта с помощью ASCII-графики.
3D-движок для рисования объемных фигур.
GPT на 500 строках SQL-кода. Подробная статья о реализации этого проекта опубликована здесь.
Трассировку лучей (это метод создания реалистичных изображений).

На прошлой неделе коллекция крутых SQL-проектов пополнилась еще одной интересной разработкой — версией «Тетриса».

Эта реализация демонстрирует несколько нестандартных SQL-техник, о которых стоит знать, даже если вы используете SQL только по прямому назначению:

Игровой цикл. В основе игры – рекурсивное общее табличное выражение (CTE). Оно создает бесконечный цикл, который инициализирует состояние игры, обновляет его на основе ввода пользователя и отрисовывает игру. Цикл продолжается, пока игра не закончится.
Вывод игры. Поскольку SQL-запрос обычно возвращает результат только после завершения, для отображения игры в реальном времени используется команда RAISE NOTICE. Эта команда выводит информацию в стандартный вывод, позволяя отображать игровое поле и другую информацию в процессе игры.
Пользовательский ввод. Обработка пользовательского ввода реализована через отдельную таблицу в базе данных. Эта таблица служит коммуникационной шиной между игрой и пользователем. Пользователь добавляет команды в эту таблицу, а игра их считывает.
Решение проблемы изоляции данных. Чтобы игра могла видеть новые команды, добавленные в таблицу ввода во время выполнения запроса, используется расширение dblink. Оно позволяет создавать новое подключение к базе данных с новым снимком данных, что дает возможность считывать самые последние команды пользователя.
Предотвращение кэширования. Чтобы PostgreSQL не кэшировал результаты запроса к таблице ввода, к запросу добавляется уникальный идентификатор итерации. Это заставляет базу данных выполнять запрос заново на каждой итерации игрового цикла.

Для управления состоянием игры и обработки игровых событий используются подзапросы и агрегатные функции.

• Подзапросы позволяют вычислить новое состояние игры после каждого хода, включая позицию фигуры, состояние поля, счет и т. д. К примеру, рекурсивный подзапрос используется для вычисления максимального количества линий, на которые может упасть текущая фигура.
• Агрегации применяются для подсчета очищенных линий, выбора фигуры с наименьшим рангом, обновления счета и уровня игры. Например, BOOL_OR() применяется для определения, есть ли хотя бы одно столкновение между фигурой и занятыми клетками на поле.

🔗 Подробнее читайте в статье
🔗 Зеркало
😁32👍1
Привет, друзья! 👋

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

🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?

Спасибо за ваше участие! 🚀
👍21
💻 15 лучших ноутбуков для программиста в 2024 году

Хочешь заменить свой рабочий ноут?


Вот тебе путеводитель по лучшим машинам для разработки в 2024 году. От доступных моделей до настоящих монстров производительности. В конце статьи рекомендации наших читателей.

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
#дайджест перед выходными

↕️ Наглядное руководство по туннелированию SSH и переадресации портов — сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения

↕️ Неинтерактивная SSH-аутентификация — аутентификация по паролю по-прежнему остаётся самой популярной, особенно в сетевом оборудовании

↕️ tmux — это консольная утилита-мультиплексор, которая представляет собой современную копию GNU Screen под лицензией BSD

↕️ OpenTelemetry from 0 to 100 — путь от первых коммитов до реальных этапов на проде

↕️ Реагирование на инциденты ИБ в Linux-системах — статья будет полезна в первую очередь начинающим администраторам Linux-систем и отделам ИБ для составления планов по реагированию
4
📊 Data Science и Big Data: сходства и различия

В нашей статье разложим по полочкам сходства и различия между специализациями Data Science и Big Data.

🌻 Что внутри?

▪️ Термины
▪️ Применение
▪️ Навыки
▪️ Карьерные перспективы

👉 Ссылка на Статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔🤔 Сокрытие процессов Linux с помощью Bind Mounts

Если у вас есть вредоносный процесс, который вы хотите скрыть, используйте Bind Mounts, чтобы смонтировать другой каталог поверх каталога /proc/PID для вредоносного процесса.

Подробности здесь

#туториал
👍5
🏢 Как компании превращают данные в деньги: обзор российских практик Data Science

Обсуждаем, куда податься с полученными навыками — как наука о данных используется в российских компаниях. Кейсы коммерческого использования Data Science на территории России в нашей статье: финансы и ритейл, наука и производство, информационные системы и индустрия развлечений.

Хотите приобрести навыки для выполнения этих кейсов, тогда забирайте курсы:
🔵 Математика для Data Science
🔵 Основы программирования на Python

👉Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🥇 Лучший способ создания паттерна проектирования Singleton в JavaScript и TypeScript

Делимся эффективными методами реализации паттерна Singleton в JavaScript и TypeScript. Кроме того рассмотрим преимущества паттерна и потенциальные риски его использования.

🔗 Читать статью
🔗 Зеркало
👏1