DevOps
22.8K subscribers
890 photos
93 videos
15 files
822 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://t.me/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - go chat jobs

РКН: clck.ru/3FmvZA
Download Telegram
➡️Нереальный открытый учебник по Computer Science и алгоритмам

🔗 eecs376.github.io/notes/algorithms.html

Прокачивайся — и тогда ИИ тебя не заменит)

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥7👍6
⚡️ Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

📌 Читать дальше
📌Часть 1: алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

@DevOPSitsec
6🔥6👍3
💻 Atlas Kubernetes Operator

— это контроллер Kubernetes, который использует Atlas для управления схемой вашей базы данных. Он осуществляет всю логику взаимодействия и работает non-stop.

Atlas Kubernetes Operator позволяет вам определить желаемую схему и применить ее к вашей базе данных с помощью Kubernetes API

Пользователи могут использовать Atlas DDL (язык определения данных) или обычный SQL для описания нужной схемы базы данных и использовать инструмент командной строки для планирования и применения миграций в своих системах.

Фичи:
🔘Поддержка декларативных миграций для схем, определенных в Plain SQL или Atlas HCL.
🔘Обнаружение рискованных изменений, таких как случайное удаление столбцов или таблиц, и определение политики для их обработки.
🔘Поддержка версионных миграций.
🔘Поддерживаемые БД: MySQL, MariaDB, PostgresSQL, SQLite, TiDB, CockroachDB.
🔘Декларативные миграции схем

🖥 Проект на GitHub

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
🔺Дизайн систем — основные понятия и принципы

CAP – Согласованность/целостность, доступность и устойчивость к разделению. Это означает, что версии одной и той же информации, хранящиеся на разных серверах, не противоречат друг другу и любой запрос к распределённой системе завершается корректным откликом. Такие системы возможны при поддержке ACID-требований к транзакциям

BASE — "в основном доступный, мягкое состояние, постепенно согласованный". Подход BASE ставит упор на доступность данных и их масштабируемость, позволяя достигнуть этих целей за счет компромисса в отношении согласованности данных.

SOLID — принцип единственной ответственности, принцип открытости/закрытости, принцип подстановки Барбары Лисков, принцип разделения интерфейса, принцип инверсии зависимостей

KISS — принцип, запрещающий использование более сложных средств, чем необходимо

И ещё некоторые важные требования к техническим системам в плане отказоустойчивости и т.д. на другом изображении

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥5🤔1
📌Всё про сортировку веток Git

Запустив git branch в репозитории, вы обычно получаете список веток в алфавитном порядке. Это может раздражать, когда у вас много веток (если только у вас нет очень жесткой системы именования по номеру тикета или чего-то подобного).
Не проблема, это можно изменить. Выполните в вашем репозитории следующую команду:
git branch --sort=-committerdate

Это отсортирует все ваши ветки по дате их последнего коммита

Для сортировки доступны такие опции:
- authordate
- committerdate
- creatordate
- objectsize
- taggerdate

Кроме того, если хотите всегда сортировать по одному из этих параметров, можно установить это в настройках:
git config --global branch.sort -committerdate


Также можно задать псевдоним:
git config --global alias.brcd "branch --sort=-committerdate".


Подробнее о работе с ветками можно почитать тут, ловите ссылки:
📎 Ветвление Git с примерами из реальной жизни
📎 Как удалить ветку в Git
📎 Как переименовать локальную ветку в Git

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍184🔥3
🔄Как упростить работу с YAML-файлами

YAML — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC).
Давайте рассмотрим несколько советов, которые помогут упростить работу с yml-файлами.


Используйте специализированные редакторы и плагины
Очевидный совет, но мало ли; работа с YAML в правильной среде даёт:
🔘подсветку синтаксиса
🔘автодополнение кода
🔘проверку отступов
🔘сниппеты (шаблоны кода)

Популярные плагины: YAML Support для VS Code, yaml-mode для Emacs, drawspaces для Gedit.


Генерируйте YAML из кода
Ручное написание сложных конфигураций на YAML не так приятно. Проще сначала определить нужную структуру данных в виде словарей и массивов в том же Python, а затем сгенерировать из нее YAML.

Есть такая структура:
data = {
"server": {
"port": 8000,
"enabled": true
},
"clients": [
{"name": "Client1", "address": "192.168.1.100"},
{"name": "Client2", "address": "192.168.1.101"}
]
}

С помощью PyYAML легко конвертируем в YAML-файл:
import yaml
with open('config.yaml','w') as f:
f.write(yaml.dump(data))

Получаем:
  
server:
port: 8000
enabled: true
clients:
- address: 192.168.1.100
name: Client1
- address: 192.168.1.101
name: Client2



Создавайте шаблоны
Намного проще взять существующую заготовку, подставить в нее данные приложения и получить готовый YAML-файл.

Например, при развертывании микросервисов в Kubernetes удобно иметь шаблон манифеста deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: <service_name>
labels:
app: <service_name>
spec:
replicas: 3
template:
metadata:
labels:
app: <service_name>
spec:
containers:
- name: <service_name>
image: <image>:<tag>
ports:
- containerPort: <port>
---
apiVersion: v1
kind: Service


▶️ Ещё несколько полезных советов по YAML

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥32
🖥 Подборка команд Docker

Ловите — самые востребованные команды Docker
Освежите эту важную информацию, чтобы она переместилась в долговременную память)

📎 Полезный сайт с подборкой команд и примерами

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍51
🌟 Вышел OpenSSH 9.7

Вышел проект OpenSSH 9.7. В новой версии открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP началось внесение изменений, предшествующих будущему прекращению поддержки ключей на базе алгоритма DSA.

В OpenSSH 9.7 предоставлена опция для отключения DSA на стадии компиляции, но сборка по умолчанию с поддержкой DSA пока сохранена. В следующем выпуске режим сборки будет изменён на отключение DSA по умолчанию, а в начале 2025 года реализация DSA будет удалена из кодовой базы проекта.

В новом выпуске OpenSSH предложен новый тип таймаутов в ssh и sshd, включаемый через указания значения global в директиве ChannelTimeout. В этом режиме OpenSSH отслеживает все открытые каналы и закрывает их разом, если во всех из них за указанный промежуток времени отсутствовал трафик. Например, когда к хосту одновременно открыты каналы для SSH-сеанса и перенаправления x11, новый режим позволяет закрыть сразу оба канала, если они неактивны, вместо раздельного отслеживания таймаутов для каждого канала.

Также из изменений в OpenSSH 9.7 отмечается значительное улучшение тестирования совместимости с проектом PuTTY.

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2