ru
Feedback
Yet Another Engineer

Yet Another Engineer

Открыть в Telegram
388
Подписчики
-124 часа
+17 дней
+1530 дней
Архив постов
Yandex Cloud Terraform modules. Если вы используете Yandex Cloud, то я вам настоятельно рекомендую управлять ресурсами через Terraform. А для того, чтобы не писать свои костыли модули, Yandex Cloud расшарил модули на популярные ресурсы: https://github.com/terraform-yacloud-modules Пользуйтесь на здоровье 😎 P.S. С наступающим, девопсы! 🎄 Желаю всем держать 99.9999% SLA и получить грейдап. Увидимся в новом году 🙂 #devops #terraform

Данные Postgres в S3? Свежий доклад коллеги о хранении данных OLTP / OLAP СУБД в объектных хранилищах (S3 like): https://www.youtube.com/watch?v=K9M3pLoH2y8 Доклад получился простым, но в тоже время интересным и насыщенным. У Андрея явный талант оратора. #databases

Искусственный интеллект 🤖 Если вы, как и я, совершенно не разбираетесь в этой теме, настоятельно рекомендую посмотреть документальный фильм от Ника Чернобаева: https://www.youtube.com/watch?v=5jSy1g9sUUs Автор провел колоссальную работу. Этот фильм удивляет усвоей глубиной и информативностью, и его действительно интересно смотреть. #ai

Пранк IT работодателей: https://www.youtube.com/watch?si=9rSl0_chwb-Pw3Rl&v=BC_2_weLxbg Случайно попалось это видео, но прям до слез смеялся 🤦 Осторожно, мат. #offtop #humor

GUI для управления Docker контейнерами. Нашел интересный проект dokemon, через этот UI можно управлять контейнерами, вольюмами, сетями образами и смотреть логи на множестве серверах. Пока сам не пробовал, но может кому-то будет интересно запилить где-нибудь в dev контуре и посмотреть на это в деле. #opensource #containers

🐘Новое видео. Траблшутим подключение к PostgreSQL: https://www.youtube.com/watch?v=UodYvLRH_Zs #linux #sadservers #postgresql

Как анализировать потребление RAM в Linux? Нашел интересный сайт, в котором простым языком объясняется как анализировать потребление памяти в Linux: https://www.linuxatemyram.com/ Тезисно перескажу. 1. Посмотреть потребление памяти можно с помощью команды: free -m

$ free -m
                total        used        free      shared  buff/cache   available
  Mem:           1504        1491          13           0         855      792
  Swap:          2047           6        2041
- total - общая память в МБ - used - используемая память (включает в себя так же кеш buff/cache) - free - свободная память (которая даже кешом не используется) - shared - память используемая tmpfs - buff/cache - память для буфферов ядра и кеша - available - это память доступная для приложений в любой момент 2. Все ОК, если: - free близок к нулю - used близок к total - остаток available больше 20% от total - swap used не используется 3. Все НЕ ок, если: - available близок к нулю - swap used близок к total - есть записи о работе OOM-Killer в выводе команды: dmesg | grep oom-killer

👽Новое видео на канале. Проходим очередную задачку на sadservers: https://www.youtube.com/watch?v=MwcnX4NJTvg Вы узнаете о простом методе защиты port knocking и как его "взломать". В видео напишем простой bash-скрипт с циклом и условием.

Будь профессионалом. 💼 Порой меня спрашивают: "А как войтивайти?", теперь у меня есть универсальный ответ: https://www.youtube.com/watch?v=bCIre4-3Dp8 Курпатов выразил правильную мысль - нужно быть профессионалом. Нет смысла вкатываться в айти, если ты не готов втухать, не готов учиться в свое свободное время, не готов углубляться в детали своей профессии. Все это необходимо, чтобы качественно выполнять свою работу. В начале пути у меня ничего не получалось. Я писал код с множеством багов (да и сейчас не мало) и довольно медленно. Я ничего не понимал, из-за этого чувствовал себя плохо, думал что я тупой, но со временем я начал обрастать знаниями и опытом и кардинально изменил взгляд на трудности. Раньше проблемы казались нерешаемыми и лишь очередной раз доказывали мою непригодность, однако теперь для меня это что-то вроде квеста или загадки, я уверен что я найду ключ к ее решению, и это вызывает интерес, а когда решаю задачу, то получаю огромное удовольствие. Коллеги, если кто-то читает эту заметку и видит себя в ней, то знайте, это скоро пройдет. Самое главное это учиться, не бояться ошибок, пробовать новое, влезать во все проекты и тогда вы полюбите свою профессию и станете профессионалами. Всем удачи! #offtop

Как я веду конспекты (+ учусь)? 🎓 От вас был запрос рассказать какой базой знаний я пользуюсь и как веду конспекты, рассказываю 👌 Тема и правда важная. Если научиться грамотно составлять конспекты, можно начать лучше запоминать информацию и возвращаться к ней по мере необходимости, тем самым увеличив свою продуктивность. I. Базы знаний 🧠 1. Notion. Вообще я вам крайне рекомендую овладеть базовыми навыками работы в Notion, суперполезная утилита для конспектов и таблиц. 2. Markdown + git. Markdown - это простой язык разметки, который позволяет создавать красивые конспекты прямо в git-репозитории. Я создал закрытый репозиторий в котором по директориям раскидываю различные конспекты, например: IT -> Databases -> PostgreSQL -> MVCC -> notes.md / homework.md / questions.md 3. Тетради (что?). Да, я пользуюсь обычными тетрадями. Раньше не любил этим заниматься, думал что гораздо быстрее и эффективней быстренько скопировать в Notion / Markdowm. Да, быстрее, но так вы просто лишаете себя возможности запомнить материал. Когда вы пишете в тетрадь, вы проговариваете и лучше запоминаете материал, главное делать это осознанно. Но если хотите писать в Notion, то делайте это осознанно, без копирования блоков текста. II. Как вести конспекты ✏️ 1. Не переписывайте все что услышали. Во-первых, это сэкономит вам время на запись и на повторение. Во-вторых, вам нужно записывать и конспектировать только ключевые идеи. 2. Если вы что-то не поняли, запишите это со знаком вопроса, а потом вернитесь туда с ответом. Если вы не поняли что такое индексы, ну ок, продолжайте дальше, а через час / день / неделю вернитесь к этому вопросу, сделайте дополнительный ресерч и запишите ответ. 3. Старайтесь использовать как можно больше картинок, диаграмм, таблиц. Если ваш конспект будет состоять только из формул, команд и текста, то он принесет мало толку. Наш мозг очень любит картинки, так ему гораздо проще понять сложную идею. III. Общие советы ❗️ 1. Не отвлекайтесь. Посветите непрерывной учебе какое-то время: 30 / 45 / 60 минут 2. Делайте перерывы. Не учитесь 4-6 часов к ряду, это не эффективно и вредно. Делайте перерывы хотя бы каждый час на 10 минут. 3. Максимально изолируйтесь на время учебы. Это может быть кафе, свой кабинет, библиотека. Найдите место, где вас никто не будет отвлекать. Я еду в офис в субботу (обычно там почти никого) и посвящаю от 4-6 учебе и своим проектам. 4. Отключите все оповещения, уберите телефон с глаз долой, не заходите на отвлекающие сайты. Про это все я уже писал заметку, можете прочитать ее. IV. Ресурсы 📺 1. (video - 7:29) What is markdown? 2. (cheatsheet) Markdown 3. (video - 30:51) How to use Notion? 4. (video - 10:27) How to Become a Straight A Student? 5. (video - 6:36) 7 Note-taking Secrets of the Top 1% of Students

Kubernetes v1.29. На днях вышла новая версия Kubernetes v1.29 под названием Mandala. Вот пару полезных ссылок для заинтересов
Kubernetes v1.29. На днях вышла новая версия Kubernetes v1.29 под названием Mandala. Вот пару полезных ссылок для заинтересованных: 1. Kubernetes Release Notes 2. Обзор фич от Фланта на habr #containers #kubernetes

📺 Залил 3 часть прохождения лабораторных работ с сайта sadservers. Sad Servers | (easy) 3. Santiago: Find the secret combination В этот раз будем искать секретную комбинацию. Из ролика вы узнаете как искать текст в файлах с помощью grep, как выделять его цветом, искать количество вхождений строки в тексте. Пока задания простые, но дальше будет сложнее и интереснее. #linux #troubleshooting

Проверка синтаксиса языков разметки и шаблонизации онлайн. Порой мы все сталкиваемся с синтаксическими ошибками и трудностями в шаблонизации через jinja2 или go template. 🤦 Вот вам 5 хороших ресурсов для проверки синтаксиса и шаблонизации: 1. JSON: https://jsonlint.com/ 2. YAML: https://yamlchecker.com/ 3. bash: https://www.shellcheck.net/ 4. jinja2: https://jsonlint.com/ 5. go template: https://gotemplate.io/ Конечно, можно использовать cli утилиты, но иногда удобней сделать это в браузере. #devops #utils

Проект для прокачки навыков DevOps. Вот вам идеи для прокачки себя как инженера: 1. Настрой minimal Linux сервер (gentoo / archlinux / Linux From Scratch / Linux для себя (LFS-fork)) 2. Напиши приложение to-do list с API на Flask, Django или FastAPI (/list, /get, /delete, /add, /update). Репозиторий можно создать на Github или Gitlab 3. Напишите тесты вашего API с помощью pytest 4. Проведите нагрузочное тестирование с помощью k6, yandex tank, jmeter 5. Запихните ваше приложение в Dockerfile 6. Поднимите на виртуалке Nexus и отправьте туда образ контейнера 7. Настройте CI/CD из Github Actions или Gitlab: 1. сначала проведите ваши тесты и линтеры, 2. затем соберите образ и отправьте его в ваш реджестри в Nexus, 3. затем запустите деплой контейнера на вашу виртуалку 8. Поднимите кластер kubernetes с нуля руками (kubernetes the hard way) 9. Исправьте ваш CI/CD, пусть теперь деплой будет в созданный вами кластер k8s 10. Добавьте в ваше приложение метрики и логи 11. Поднимите в кластере k8s сервис Prometheus + Alertmanager + Grafana и настройте отправку метрик приложения туда 12. Поднимите в кластере k8s ELK или Grafana Loki и отправьте туда логи вашего приложения 13. Добавьте к вашему долгосрочное сервису хранение данных сначала используя локальную БД SQLite 14. Поднимите PostgreSQL и перепишите приложение, чтобы хранил информацию там 15. Настройте автоматический логический И физический бэкап БД (с помощью bash скрипта и утилит резервного копирования) 16. Поднимите второй инстанс PostgreSQL и настройте физическую репликацию данных 17. Доработайте скрипт бэкапов, чтобы он отправлял бэкапы в S3 хранилище в Yandex Cloud 18. Добавьте метрики PostgreSQL в Prometheus, а логи в ELK (Loki) Еще идеи для проектов: https://www.youtube.com/watch?v=ZibXA79LPLs Всем этим занимался по работе или в отдельных проектах, но мне было бы интересно с нуля все это сделать в одной репе. Может что-то вроде стримов запущю по реализации этого проекта. #linux #devops #projects

Грустные серверы стали чуть веселей. Вторая часть траблшутинга с сайта sadservers: https://www.youtube.com/watch?v=htkkUAXI-gw #linux #troubleshooting

DevOps мертв? Нужно срочно учиться на SRE? Человек из этого шортса говорит правильные вещи. Говорит, что за последние 30 лет был: IT Helpdesk, sysadmin, network administrator, software engineer, devops engineer, sre, но всегда занимался одним и тем же - внедрял и поддерживал различные технологии. Не важно как называется должность в трудовой или резюме, главное что вы делаете. Сфокусируйтесь на этом. Однажды давно мне предложили работу "junior devops engineer" в одной крупной российской компании, я прошел собеседование и меня взяли, но когда пришел это оказалась самая настоящая поддержка, которая 24/7 смотрит логи приложения в kibana и эскалирует проблемы на 2 линию или в разработку. Проработал я там 3 недели и ушел. Какой вывод можно сделать из этого? 1. Когда ищите работу обращайте внимание не только на название позиции, но и на обязанности. 2. Нет смысла менять работу с devops engineer на SRE или говорить "я хочу быть скорее sre, чем devops", так как это одно и тоже. Как по мне есть позиция системный инженер, которая включает все те позиции, что я перечислил выше.

Видео тестовое, посмотрим будет ли интересен такой формат :) https://www.youtube.com/watch?v=wsieuEr3dBo

Купил микрофон и сразу же решил опробовать его в деле 🙂 Вы хорошо так залайкали пост про sadservers и я решил записать серию прохождений задачек от туда. #linux #troubleshooting

Практика bash и не только. Открыл для себя крутой сайт с задачками на программирование: https://exercism.org Там есть много задач по bash. Выполнять можно не только на сайте, но и локально установив пакет exercism:

# Ubuntu
wget https://github.com/exercism/cli/releases/download/v3.2.0/exercism-3.2.0-darwin-x86_64.tar.gz
tar -xf exercism-3.2.0-darwin-x86_64.tar.gz
mkdir -p ~/bin
mv exercism ~/bin
echo 'export PATH=~/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
exercism version

# MacOS
brew update
brew install exercism
Далее заходим на сайт и выбираем задачку, например bash/hello-world. Скачиваем файлы задачи:

exercism download --track=bash --exercise=hello-world
Затем выполняем задачу по инструкции в README.md. После выполнения тестируем:

exercism test
И если все тесты прошли успешно, то загружаем решение на сайт:
exercism submit
Все эти действия можно выполнить на сайте, но мне удобней разрабатывать в своем любимом VSCode, поэтому выбрал вариант с cli. Плюс, обычно я храню такое на github, вот и для этого сайта создал репу: https://github.com/mdubakin/exercism Практика, практика и еще раз практика! #linux #bash #programming

Как вам трейлер GTA VI? 🔥- супер, не зря ждали 10 лет 👍- неплохо, крутой графон и детализация 👎- так себе 🤔- кто такой этот ваш GTA?