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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Объясните, что такое диспетчер облачного контроллера.

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
😁3
Очередной #дайджест для DevOps-a

🔴 Linux Network Performance Ultimate Guide — очень обстоятельно о работе сети в Linux

🔴 Как Linux победил в войнах Unix — чтиво о том, почему именно Linux обошёл другие дистрибутивы, существовавшие в то время

🔴 Rexi — утилита для проверки и тестирования регулярных выражений

🔴 Как SSH обеспечивает безопасность вашего соединения — какие меры безопасности реализованы в SSH для организации защищённого доступа в процессе подключения и работы

🔴 Docker на SwampUP 2024 — Docker примет участие в SwampUP 2024, который пройдет с 9 по 11 сентября в Остине, Техас
👍3
Какая практика предполагает развертывание кода в производственной среде перед фактическим производством?
Anonymous Quiz
16%
Непрерывное тестирование
26%
Canary Release
25%
Сине-зеленое развертывание
32%
Непрерывное развертывание
2🌚1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
4👍2👏1
Перечислите различные сервисы K8, которые могут работать на узлах.

Kubernetes (K8s) запускает различные службы на узлах, в том числе:

На рабочих узлах:
kubelet: отвечает за управление узлами и обеспечение того, чтобы контейнеры работали должным образом.
kube-proxy: предоставляет службы сетевого прокси-сервера для обеспечения связи между узлами и службами.
На главных узлах:
kube-apiserver: предоставляет API Kubernetes, через который все остальные компоненты взаимодействуют с кластером.
kube-scheduler: назначает вновь созданные модули узлу на основе доступности ресурсов и других ограничений.
kube-controller-manager: отслеживает состояние кластера и выполняет задачи для поддержания желаемого состояния, такие как масштабирование вверх или вниз.
Другие службы, которые могут работать на рабочих узлах, включают kube-dns, который обеспечивает разрешение DNS для служб Kubernetes, и kubelet, который управляет жизненными циклами модулей на узле.
👍1
🎭 Двойная игра в Power BI: как совмещать роли разработчика и администратора

Когда твой руководитель говорит: «А теперь ты еще и администратор сервера Power BI». Гид по выживанию для разработчика, внезапно ставшего многостаночником.

Читать статью
👍2
🛟🛟 Введение в Istio для Kubernetes: основы и начальная настройка

Управлять микросервисной архитектурой в Kubernetes порой весьма сложно. И здесь на помощь приходит Istio — мощная платформа, обеспечивающая сетевое взаимодействие, безопасность и наблюдаемость в кластере Kubernetes. В этой статье рассматриваются основы Istio и её начальная настройка.

Подробнее тут

#гайд
👍1