• В данной шпаргалке рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание:
• Протоколы:
- REST и GraphQL;
- gRPC;
- Webhook;
- Производительность API;
- HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC);
- SOAP, REST, GraphQL и RPC;
- Сначала код и сначала API;
- Коды статусов HTTP;
- Шлюз API;
- Эффективное и безопасное API;
- Инкапсуляция TCP/IP;
- Почему NGINX называют "обратным" прокси?
- Алгоритмы балансировки нагрузки;
- URL, URI и URN.
• CI/CD:
- CI/CD простыми словами;
- Технический стек Netflix (конвейер CI/CD).
• Архитектурные паттерны:
- MVC, MVP, MVVM, MVVM-C и VIPER;
- 18 основных архитектурных паттернов.
• База данных:
- 8 структур данных, улучшающих работу баз данных;
- Выполнение инструкции SQL в базе данных;
- Теорема CAP;
- Типы памяти и хранилищ данных;
- Визуализация запроса SQL;
- Язык SQL.
• Кэш:
- Кэширование данных;
- Причины высокой производительности Redis;
- Случаи использования Redis;
- Стратегии кэширования.
• Микросервисная архитектура:
- Типичная микросервисная архитектура;
- Лучшие практики микросервисов;
- Типичный технический стек микросервисов;
- Причины высокой производительности Kafka.
• Платежные системы:
- Почему кредитную карту называют "самым выгодным продуктом банка"? Как VISA/Mastercard делают деньги?
- Принцип работы VISA.
• DevOps:
- DevOps, SRE и Platform Engineering;
- Что такое Kubernetes?
- Docker и Kubernetes;
- Принцип работы Docker.
• Git:
- Принцип работы команд Git;
- Принцип работы Git;
- Git merge и git rebase.
• Облачные сервисы:
- Популярные облачные сервисы по состоянию на 2023 год;
- Облачная нативность.
• Инструменты, повышающие продуктивность разработки:
- Визуализация файлов JSON;
- Автоматические преобразование кода в архитектурные диаграммы.
• Linux:
- Файловая система Linux;
- 18 основных команд Linux.
• Безопасность:
- Принцип работы HTTPS;
- OAuth 2.0 простыми словами;
- 4 наиболее распространенных механизмов аутентификации;
- Сессия, куки, JWT, SSO и OAuth;
- Безопасное хранение паролей в базе данных и их валидация;
- JWT (JSON Web Token) простыми словами;
- Принцип работы Google Authenticator и других типов двухфакторной аутентификации.
• Реальные системы:
- Технический стек Netflix;
- Архитектура Twitter по состоянию на 2022 год;
- Эволюция архитектуры Airbnb в течение последних 15 лет;
- Монорепозиторий и микрорепозитории.
#DevOps #SysOps
Please open Telegram to view this post
VIEW IN TELEGRAM
• Поделюсь с Вами интересной книгой, которая позволяет познакомиться с внутренностями ядра Linux. Версия на английском (оригинальном) языке доступна здесь: https://0xax.gitbooks.io/linux-insides/content/
• Есть еще версия, которая переведена (не полностью) на русский язык: https://proninyaroslav.gitbooks.io/linux-insides-ru/content/
#Linux #Книга
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
• Этот проект содержит 284 вопроса и ответа, которые можно использовать для проверки собственных знаний или во время собеседования на должность администратора Linux (*nix). Очень удобно, что вопросы разбиты на категории (от простых, к сложным):
• Немного не по теме, но в качестве дополнительного материала стоит ознакомиться с очень полезной статьей на хабре, в которой собраны некоторые вопросы, касающиеся сетей: https://habr.com/ru/articles/189268/
#Linux #Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - trimstray/test-your-sysadmin-skills: A collection of Linux Sysadmin Test Questions and Answers. Test your knowledge and…
A collection of Linux Sysadmin Test Questions and Answers. Test your knowledge and skills in different fields with these Q/A. - trimstray/test-your-sysadmin-skills
This media is not supported in your browser
VIEW IN TELEGRAM
• Iptables - это мощный инструмент управления сетью в Linux, который позволяет администраторам управлять входящими и исходящими пакетами данных. Это основной инструмент для настройки межсетевых экранов в системах #Linux.
#iptables
Please open Telegram to view this post
VIEW IN TELEGRAM
• Ещё один ресурс, где можно прямо в браузере протестировать работу разных дистрибутивов Linux:
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
DistroSea
Test Linux distros online - DistroSea
Instantly test run Linux distros online in the cloud for free, right from your web browser. No installation or live boot required.
• Иногда для анализа вредоносного программного обеспечения или, например, для отладки какого-либо процесса может потребоваться дамп памяти процесса. Но как его собрать без отладчика? Постараемся ответить на этот вопрос в статье.
Задачи:
- Обозначить цель сбора дампа процесса.
- Описать структуру памяти процессов в Linux и отметить различия в старой и новой версиях ядра ОС.
- Рассмотреть вариант снятия дампа памяти процесса внутри виртуальной машины на базе связки гипервизора Xen и фреймворка с открытым исходным кодом DRAKVUF.
Содержание статьи:
- Что такое дамп памяти и зачем он нужен?
- Как организована память процессов в ОС Linux?
- Почему в новых ядрах используется иная структура (maple tree)?
- Сбор областей виртуальной памяти на версии ядра до 6.0;
- Сбор областей виртуальной памяти, начиная с версии 6.1;
- Реализация при помощи Xen и DRAKVUF.
#Linux #RE #kernel
Please open Telegram to view this post
VIEW IN TELEGRAM
• В одном из блогов заметил полезную статью, которая содержит в себе определенный набор необходимых инструментов, когда инцидент на сервере уже случился. Автор в своей статье рекомендует установить их заранее =))
#Linux #Tools
Please open Telegram to view this post
VIEW IN TELEGRAM
• Небольшое руководство, которое подсвечивает некоторые слабые места Linux. Основной упор сделан на повышении привилегий и закреплению в системе, а в качестве примера мы будем использовать несколько уязвимых виртуальных машин. Содержание следующее:
• RECON:
- Info;
- Открытые источники.
• SCAN:
- Info;
- Скан nmap;
- Скан средствами OC;
- Обфускация IP;
- Скан директорий сайта;
- Cкан поддоменов;
- Скан WordPress.
• VULNERABILITY ANALYSIS:
- Анализ.
• EXPLOITATION:
- Info;
- BruteForce;
- Local Enumeration.
• PRIVILEGE ESCALATION:
- Info;
- Локальные аккаунты;
- Crack hash;
- Misconfig;
- Kernel exploits.
• PERSISTENCE:
- info;
- SSH Keys;
- ПсевдоROOT аккаунт;
- bashrc;
- Cron Jobs;
- Systemd;
- Systemd Timers;
- rc.local;
- MOTD;
- APT;
- Git hook;
- Git config;
- PAM backdoor;
- Заключение.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Нашел очень полезную подборку из 27 репозиториев на GitHub. Тут вам и коллекция полезных скриптов для автоматизации различных задач, и настройка безопасности, и даже различные задачки для повышения скила. В общем и целом, много крутых и полезных ресурсов, обязательно ознакомьтесь:
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• В книге "Linux From Scratch" приведены объяснения и инструкции, нужные для того, чтобы спроектировать и собрать свою собственную систему. При этом вы вправе отклониться от инструкций в соответствии с собственными замыслами, что, в частности, является важной частью данного проекта. Управление остается за вами, автор просто протягиваем вам руку помощи с тем, чтобы вы начали на свое собственное турне.
• Специально собранные системы Linux будут полезны не только для того, чтобы удовлетворить конкретные требования пользователей, но также служат идеальным средством обучения, позволяющим программистам и системным администраторам повысить свои (уже существующие) навыки работы с Linux.
• Книга состоит из следующих частей:
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Когда-то давно, я обращал внимание на то обстоятельство, что в отличие от винды сообщения об ошибках здесь не особо информативны, а порой система просто не желает делать то, что тебе нужно, по непонятным причинам. В Suicide Linux эта философия доведена до абсолюта: любую ошибку при вводе команд в консоли ОС воспринимает, как запрос на очистку жесткого диска «
rm -rf /
». Вероятно, что это самая "своеобразная" ОС, с которой мне доводилось сталкиваться.• Suicide Linux — нечто вроде игры, позволяющей понять, насколько долго вы сможете пользоваться системой прежде, чем потеряете все свои данные. Заодно он позволит хорошенько отточить свои навыки работы в терминале и как следует выучить синтаксис команд Linux. К слову, для удобства пользователя разработчики распространяют Suicide Linux в виде контейнера Docker.
#Разное #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Как известно, #Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой #Linux.
• По итогу мы получим:
- http-сервер, запущенный в изолированном сетевом пространстве;
- Доступ к этому серверу по порту 8000 из loopback (localhost) интерфейса хоста;
- Перенаправление пакетов от других машин по tcp порту 8000 в наш http-сервер.
• Дополнительный материал: в этой статье автор рассказывает о том, как работает сеть в контейнерах и разбирает следующие вопросы:
- Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельная сетевая среда?
- Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?
- Как выйти во внешний мир (например, в Интернет) изнутри контейнера?
- Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?
- Как реализовать публикацию портов, подобную Docker?
#Сети #DevOps #Docker
Please open Telegram to view this post
VIEW IN TELEGRAM
• Если Вы хотя бы чуть-чуть знакомы с Linux, то наверняка задавались вопросом: "Для чего? Почему такое огромное кол-во дистрибутивов? Можно же было сделать один-два, ну три варианта… Почему их сотни?"...
• Вы и так знаете, что большинство дистрибутивов НЕ делаются для продажи, а создаются как сопутствующий инструмент, который решает определенные задачи и потребности. Это относится не только к дистрибутивам, но и к инструментам, которые есть в Linux. И чаще всего созданное решение авторы публикуют в открытом доступе для ознакомления или использования всем желающим. Созданное решение надо развивать, исправлять ошибки, тестировать, и гораздо продуктивнее, если к этой работе подключатся энтузиасты с новыми предложениями.
• Давайте представим, что Вы пришли на ярмарку, где цель показать свое мастерство и обзавестись полезными контактами с мастерами в определенных сферах, а продажи - на втором месте. Отсюда получаем качество продукта и уважение к клиенту - отсутствие телеметрии и рекламы, открытый API, модульность и т.д. А уже потом, если будет спрос, будет и предложение (готовность платить за работающую систему (люди и компании)).
• Ну, а сколько дистрибутивов на самом деле? Скажу сразу, точное кол-во никто не знает. Может тысяча? Может сотни тысяч? Собственный дистрибутив может создать любой желающий, особенно если за основу взят другой дистрибутив. Тут даже и знаний особых не нужно. Неделя-две и вот Вы создали свой собственный дистрибутив.
• Для создания собственного дистрибутива есть пошаговая инструкция, с которой может ознакомиться любой желающий. Она опубликована в открытом доступе (ссылка будет ниже) и содержит 400 страниц информации. Именно поэтому вам и потребуется 2 недели свободного времени =)
• P.S. Если Вам интересно, какие дистрибутивы существовали в разное время, то на этой странице отображается актуальный список в хронологическом порядке:
- С даты начала проекта до даты окончания существования дистрибутива или текущего года, если разработка дистрибутива в текущий момент продолжается.
- Посредством соединения кривыми линиями показано, какие дистрибутивы являются производными от других дистрибутивов.
- Вертикальные пунктирные линии указывают на различные слияния проектов.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Полезный плейлист коротких видеороликов для начинающих, об утилитах, которые помогают получить информацию о состоянии системы (iostat, rsyslog, top, vmstat).
• System Logging with rsyslog on Oracle Linux;
• System Logging with logwatch on Oracle Linux;
• System Logging with journald on Oracle Linux;
• Using the sosreport Utility on Oracle Linux;
• Using the iostat Utility on Oracle Linux;
• Using the mpstat Utility on Oracle Linux;
• Using the vmstat Utility on Oracle Linux;
• Using the netstat Utility on Oracle Linux;
• Using the top Utility on Oracle Linux;
• Use Gprofng for Performance Profiling Applications;
• Linux Auditing System on Oracle Linux.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Еще один полезный плейлист от Oracle, который содержит материал по инструментам для настройки и управления сетью в системе - nmcli, nftables, ip, firewalld:
• Network Configuration Files on Oracle Linux;
• Using NetworkManager CLI (nmcli) on Oracle Linux;
• Network Bonding in Oracle Linux with the NMCLI Utility;
• Create VLANs in Oracle Linux with the NMCLI and IP Utilities;
• Using the ip command on Oracle Linux;
• Introduction to using firewalld on Oracle Linux;
• Using nftables on Oracle Linux.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Отличный видеоматериал, который содержит описание и примеры команд Linux для начинающих: https://youtu.be/gd7BXuUQ91w
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
60 Linux Commands you NEED to know (in 10 minutes)
Get yourself a Linux cloud server with Linode!!: https://ntck.co/linode ($100 Credit good for 60 days as a new user!!)
In this video, NetworkChuck shows you the top 60 Linux commands you NEED to know! If you are a beginner in Linux, this is THE video you…
In this video, NetworkChuck shows you the top 60 Linux commands you NEED to know! If you are a beginner in Linux, this is THE video you…
• Нашел очень полезное приложение для #Android, которое представляет собой нечто среднее между шпаргалкой, энциклопедией и самоучителем для изучения различных команд Linux.
• Здесь вы найдете все, что используемые при работе с UNIX-подобными системами. Все команды разбиты по разделам. Например для работы с файлами, папками, сетью и т.д. А может вы ищите хакерские примочки? Пожалуйста!
• Исходный код открыт, приложение можно скачать с GitHub или F-Droid.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Объемная книга (CheatSheet) для изучения командной строки Linux. Материал пригодиться не только начинающим, но и опытным пользователям Linux. Содержание следующее:
• Basics;
- File Hierarchy Standard (FHS);
- Commands;
• Disk and File System Management;
- General Disk Manipulation (non-LVM);
- Globs (Wildcards);
- Regex;
- Stream redirection;
• Text Readers & Editors;
- Less;
- VI;
• User and Group Management;
• File System Permissions;
• SSH;
• Cronjobs;
• Package Management;
- RPM;
- YUM;
• List of commands by category:
- Directory Navigation;
- File Commands;
- File and Directory Manipulation;
- Package archive and compression tools;
- System commands;
- Networking Commands;
- Package Management;
- User Information commands;
- Session commands;
- Getting Help;
- Applications.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
• Энтузиаст опубликовал видеоинструкцию по замене операционной системы любого удаленного сервера Linux только с помощью SSH на NetBSD. Этот процесс занимает менее 10 минут, используя открытый скрипт проекта takeover.sh.
#NetBSD #SSH #Linux
#NetBSD #SSH #Linux
• Если вы захотите использовать #Linux сейчас, современные варианты установки весьма просты: скачайте файл ISO или образ диска на карту MicroSD. Все очень легко, достаточно зайти на DistroWatch. Но в 1990-х годах, когда Linux только начинал набирать популярность как ОС общего пользования, протестировать его было не так просто. Прежде чем приступать к работе, нужно было установить систему на жёсткий диск. Но новые пользователи очень переживали по поводу этого и не хотели устанавливать что-то незнакомое на жёсткий диск, боясь его повредить. Если Linux хотел завоевать внимание большой аудитории потенциальных пользователей, нужно было презентовать свой продукт так, чтобы обычный человек мог попробовать эту новую систему без риска навредить своему компьютеру.
• Была только одна проблема — подходящей технологии ещё не существовало. Оригинальный альфа-релиз Yggdrasil Linux/GNU/X можно считать первым live CD, созданным специально под Linux. Он был создан ещё до того, как появился термин «live CD». Для его установки требовалось 8 МБ ОЗУ, а в то время такой объём ОЗУ было недоступен на большинстве компьютеров. Yggdrasil быстро оказался в забвении. Это означало, что неохваченных пользователей все еще можно было заинтересовать.
• Технический прогресс пошел на пользу Linux. В 2000 году у многих дома был Pentium III и совсем недавно вышел Pentium 4. Кэдди для дисков уже ушли в прошлое, а скорость дисковода CD-ROM составляла 52x. Скорость вращения составляла 6000 оборотов в минуту, а скорость чтения данных — 6 МБ в секунду. Также начали появляться первые DVD-диски, скорость которых была 1,25 МБ в секунду. DVD становились более популярными и могли вмещать значительно больше данных. Здесь возник вопрос о распространении — как сделать так, чтобы эти live CD попали в руки тысяч пользователей?
• С этого момента на сцене появляется загрузочная визитка. К слову, CD не обязательно должен был быть стандартным диском круглой формы с диаметром 12 см. Он мог иметь абсолютно любую форму, главное, чтобы он вращался в дисководе и лазер мог его считать. Благодаря этому появились CD-диски различных размеров. Например, mini-CD, которые были размером всего 80 миллиметров и могли вмещать до 24 минут аудио или 210 мегабайтов данных. Этот формат был очень популярен в Японии, и его часто использовали для записи CD-синглов, практически по той же технологии, что и виниловые синглы. И одним из возможных вариантов была форма визитки. В 1999 году группа сотрудников компании Linuxcare решила сделать дистрибутив такого размера, чтобы он мог поместиться на этом крошечном диске.
• В статье 2000 года на Linux.com Рассел C. Павличек отмечает, что они быстро завоевали расположение более технически продвинутых пользователей. «Эти CD быстро стали главной темой обсуждения на мероприятиях, посвящённых Linux, и были самыми желанными подарками на выставках LinuxWorld и Atlanta Linux Showcase», — сообщает Рассел. Визитка стала редким образцом предмета для хвастовства, который при этом был невероятно полезным и мог использоваться в ежедневной работе. Благодаря этому возрос интерес общества к идее live CD. Существовала вероятность, что после того, как пользователи попробуют систему, они разберутся с утилитами и начнут использовать весь потенциал ОС Linux.
• Всего через пару лет появилось больше дистрибутивов в форме визитной карточки, включая их прямого потомка LNX-BBC, о котором можно узнать больше в Internet Archive. Вскоре после этого для каждого нового дистрибутива Linux начали использовать диски CD-ROM и DVD-ROM в формате «live CD». После появления и развития технологии флэш-накопителей Linux продолжил стремительно набирать популярность, так как новые технологии сделали процесс тестирования операционной системы более комфортным.
#Linux #Разное
Please open Telegram to view this post
VIEW IN TELEGRAM