Никита Парамонов | Swfuse – Telegram
Никита Парамонов | Swfuse
1.09K subscribers
359 photos
42 videos
8 files
414 links
DevOps инженер | Структурирую хаос

Помогаю с ростом и переходом в DevOps

Экономлю время - показываю короткий путь, докапываясь до сути

🔗 500+ Q&A с собеседований
github.com/Swfuse/devops-interview
Download Telegram
Привет, я Никита Парамонов \\ Swfuse
Соавтор ITHard и уже владелец канала

Работаю в DevOps и помогаю новичкам погрузиться в эту среду

📌Кратко про себя:


Прошел, пожалуй, самый длинный путь в профессию:
колледж -> универ -> фриланс -> техподдержка -> админ -> девопс

Сделал все ошибки, которые можно сделать на этом пути.
И знаю как срезать углы, чтоб вам не приходилось тратить так же много времени, как и мне :)

С чем я помогаю:
- Оцениваю знания с точки зрения стоимости на рынке
- Помогаю закрыть пробелы в навыках и знаниях через индивидуальный план развития
- Подсвечиваю слепые зоны в мышлении, которые препятствуют росту

---

📚 Полезные материалы:
* devops-interview (GitHub) - 500+ вопросов с ответами
🔥146👍5🤔3
Как фрилансер саботировал сайт клиента ради переезда к другому хостеру?

Я работал в хостинге, и пришла заявка следующего содержания:
По словам моего фрилансера, мой сайт у вас грузится медленнее, чем на хостинге X. Разберитесь

Открываем сайт и видим что действительно - главная страница висит 10 секунд, и потом открывается.
Начинаю копать, каких-то тяжелых запросов к базе не вижу.
Ошибок нигде нет.

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

Решил воспроизвести и подключиться к процессу, чтоб посмотреть что внутри происходит с помощью утилиты strace (грубо говоря она позволяет заглянуть в то, что происходит внутри программы на системном уровне).

И увидел там примерно следующую картину:
strace -tp <pid_процесса>
...
[pid 12345] nanosleep({tv_sec=10, tv_nsec=0}, ...


Здесь показан системный вызов nanosleep, который буквально говорит о том, что "жди 10 секунд и ничего не делай".

Начал искать проблему в коде сайта, и в начале одного из файлов увидел следующую конструкцию:
<?php

sleep(10);

//... остальной код


То есть кто-то умышленно засунул задержку в 10 секунд, чтобы сайт грузился медленнее и создавал иллюзию проблем с хостингом.
И, видимо, агитировал за переезд куда-то в другое место, где была партнёрская программа.

Собственно - эту историю показали клиенту, а что было дальше - неизвестно. Предполагаю, что к этому исполнителю больше не обращались.

—-

Мораль:
Если что-то тормозит, то копайте глубже. Иногда дело не в инфраструктуре, а в чьих-то корыстных целях.

А с чем вы сталкивались в своей практике? Пишите в комментариях.
🔥143👾1
Я слабослышащий

В школе и универе я часто не понимал половины того, что говорили преподаватели
Я сменил шесть школ — и каждый раз приходилось заново адаптироваться

Когда пришла пора работать, меня накрывал страх: “А как мне быть на созвонах? Как общаться с людьми? Как проходить собеседования?”

Сам путь не был простым.
Это мешало, но не останавливало.
Хотелось понять эту сферу изнутри - что это такое и как это работает.

И самым неприятным оказались не внутренние барьеры, а обычный снобизм тех, кто уже был "в теме".

Наверняка тебе попадались люди, которые:
* На твой вопрос давали ответ ссылкой "давай я поищу за тебя в гугле"

* "Если ты не знаешь Docker\Kubernetes\как включается компьютер - ты не инженер"

* "Сначала выучи основы, пройди мой путь, тогда поговорим"

Честно - это сильно тормозило, поскольку эти специалисты казались более авторитетными.
И казалось, что правильный путь только такой, про который они тебе рассказывали.

Однако:
Каждый человек когда-то был новичком
Каждый человек когда-то не знал базовых вещей
И каждый второй гуглил "как выйти из vim"
Необязательно тратить годы жизни на изучение какой-то технологии, чтобы найти работу.
И я хочу сделать так, чтобы люди не застревали там, где застревал я.

Собственно, мой проект, и этот канал - для того, чтобы:
* Можно было задавать "глупые" вопросы. И научиться грамотно это делать

* Дать понять, что не знать - это нормально, ошибки нас развивают

* Подсветить те инструменты, навыки и подходы, которые нужны сегодня на рынке. Не распыляясь на лишнее

Я сам через это прошел, и знаю как бывает сложно.

---

В следующих постах расскажу, действительно ли "не существует тупых вопросов".

А с какими проблемами сталкивались вы, когда начинали свой путь?
421🔥10👍82
Почему 'тупых вопросов не бывает', но тебя всё равно посылают в гугл

Доводилось ли вам сталкиваться с фразами:
"Тупых вопросов не бывает"
"Задавай мне любые вопросы"

Но почему-то, когда обращаешься к таким людям — в лучшем случае тебя отправляют в гугл.

👋Почему так?

Чаще всего дело не в том, что люди злые.
Проблема обычно кроется в формулировках.

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

Со временем я пришел к следующим пунктам, которые хочу закрыть, когда что-то спрашиваю:
- Минимизировать количество уточняющих вопросов
- Показать что уже пытался разобраться
- Если информации нет - накидывал где я её собрал


📝 Общая структура следующая:

1. Приветствие + контекст
Ссылка на задачу, вспомогательные ссылки, логи — всё, что не заставит искать "а о чем вообще речь, где искать?"

2. Что я уже проверил и сделал
Показать, что попытался разобраться сам.

3. Что я наблюдаю
Скриншот (полный экран, а не обрезок) или запись экрана с шагами воспроизведения.

4. Ожидаемое vs реальное
Что должно быть vs что получилось.

💡 Лайфхак:
Перед тем, как писать вопрос - отойди на пять минут от задачи.

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


Пример из практики:

Плохой вопрос (мой первый день работы):
"А что такое deadlock?"

Я сделал запрос в базу, и задал вопрос тут же, как только с этим столкнулся.
Меня послали в гугл.

Глядя на эту ситауцию сейчас я мог бы сделать следующее:
* Действительно погуглить
* Озвучить что нашел это, но не очень понятно почему это случилось (я сделал select * на базу)
* Уточнить насколько это норма в текущий момент времени и ситуации

Улучшенный вопрос:
Привет

Я сделал запрос в базу database.test select * from user

Но у меня вылезла ошибка: ERROR: deadlock detected

Погуглив я увидел что это как-то связано с блокировкой таблиц. И не понял - это что-то сделал не так, или тут есть какая-то проблема с базой?


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

Второй вопрос больше способствует ответу.
Либо бы попросили переделать запрос, либо подождать пока базу починят

---

Если вообще тяжело\страшно спрашивать (особенно когда только пришел в фирму) задать вопрос в нейронку.

🤖 Воспользуйся этим промптом:
Я хочу спросить у коллеги: [вставь свой вопрос].

Помоги переформулировать вопрос так, чтобы коллега мог ответить сразу, без уточнений.

Проверь по чеклисту:
1. Какой контекст нужно добавить? (ссылки, номера задач, что уже проверил)
2. Что я наблюдаю vs что ожидаю увидеть если это необходимо?
3. Какую я хочу решить проблему?
4. Какую информацию я хочу получить?

Переформулируй мой вопрос по структуре:
- Контекст (что делал, где, зачем)
- Что уже проверил
- Что наблюдаю (с примерами кода/логов)
- Конкретный вопрос

Также подскажи:
- Что ещё стоит проверить самому перед тем, как задать вопрос?
- Какую информацию я возможно упускаю?

После этого собери недостающую информацию, и задай улучшенный вопрос.

Чем больше дашь контекста - тем проще добиться нужного ответа.

---

Итого:
Задавать вопросы - это отдельный навык, его нужно развивать отдельно.
В большинстве случаев негативная реакция возникает когда человек свою работу по поиску информации перекладывает на других.


📣
Также мы обсуждали вопрос с коллегой (Миша, привет), он раскрыл вопрос с иной стороны.

💭
А какие у вас есть лайфхаки для формулировки вопросов?
С какими проблемами сталкивались?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥136👍4👾2
💡Всё гениальное просто?

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

Плюс было много аналогий с водой. Есть напор, есть поток, есть труба, которую можно пережать. И это просто визуализировать в голове.
В школе и универе материал подавали сухо, это не находило отклика.

—-

Вспоминается история из книги Ричарда Фейнмана "Вы, конечно, шутите, мистер Фейнман!".
Он там описывал проблему, где студенты заучивают термины, а не понимают их.
Ответ из учебника: «Это излучение света раздробленными кристаллами».
В этом сложно уловить суть. Какие кристаллы? Как проверить? Зачем это нужно?
Можно сказать иначе: возьми кусок сахара, расколи его в темноте, и увидишь вспышку.
Вот это оно и будет.



Тут я словил похожие ощущения. То, что в учебниках казалось сложным набором формул - тут раскрывается через простые аналогии.

И сложность заключается не в том, чтоб накрутить заумных терминов, а в том, чтоб найти самое простое объяснение.

В обучении Devops то же самое. Можно заучить команды, определения, понятия.
Но из-за разрозненности сложно понять что зачем нужно, и как они между собой связаны.
Поэтому в обучении я делаю то же самое: показываю систему целиком.

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



💬 А какие у вас были подобные моменты, когда сложное вдруг становилось элементарным?
👍125🔥3
Победил метод "сразу в бой" (50%)

Делюсь первым ресурсом overthewire, где можно попробовать его на практике

Начальная точка - уровень Bandit - серия мини-задач на отработку навыков linux-консоли

Формат простой - подключаешься по ssh к машине, ищешь пароль для перехода на следующий уровень, и так двигаешься дальше.
Здесь есть небольшие подсказки о том, какие из команд могут помочь в поиске пароля.
В отличие от sadservers, о котором писал раннее - этот ресурс совсем для новичков.
Но есть и продвинутые разделы с уклоном в пентест.

📕 Личный опыт
Сам его проходил несколько лет назад, и запомнилась история с файлами, у которых был нетипичный формат или пробелы.
Впоследствии мне это пригодилось на собеседовании, где тоже было похожее задание. За счет этого решил задачу быстро, потому что уже сталкивался с подобным.
Сервис хорошо развивает "чуйку" что где можно искать проблему, и какими наборами команд в моменте можешь воспользоваться.

🤹🏻‍♀️Что получишь:

* Понимание работы с нетипичными ситуациями (файлы с пробелами, скрытые символы, форматы файлов)
* Паттерны работы с основными командами linux
* Базовые навыки для админов, траблшутинга, и прохождения тестовых собеседований



⚡️Почему метод "сразу в бой" работает:
Здесь не ведут за руку, а скорее направляют чем можно воспользоваться.
У тебя есть цель - варианты решений перебираешь и ищешь сам.
Как в играх-песочницах - дается задача, инструменты, и зажигается азарт найти лучший способ.


Минусы:
Тратишь много времени на поиск решения (но в этом и смысл - сам учишься решать проблему)
Можно долго биться над задачей и найти неоптимальное решение.
Однако, это является важной частью процесса.
При разборе решений других людей - расширяешь и углубляешь понимание происходящего.



Кому подойдет:

Начинающим системным администраторам, devops-инженерам, и тем, кто хочет попробовать тему пентеста

Рекомендую попробовать пройти первые 5 уровней.
Кто попробует - напишите в комментариях что понравилось, а что показалось сложным
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍42
Никита Парамонов | Swfuse
Победил метод "сразу в бой" (50%) Делюсь первым ресурсом overthewire, где можно попробовать его на практике Начальная точка - уровень Bandit - серия мини-задач на отработку навыков linux-консоли Формат простой - подключаешься по ssh к машине, ищешь пароль…
По последнему посту решил объявить небольшой челлендж.
Хочу дать стимул новичкам, которые хотят прокачать знания консоли.

Нужно пройти уровни Bandit с 0 по 19, и получить пароль для входа на уровень 20, записав сессию в терминале
Призом будет месячная подписка на Claude

Записать сессию можно следующим образом в терминале:
noscript --timing=log-time.txt log-file.txt 

После чего проходи уровни, и когда закончишь заверши запись командой exit.


В рабочей директории появятся два файла:
* log-time.txt - тайминги между командами, для отслеживания времени
* log-file.txt - все вводимые команды, и их вывод

Что присылать в комментарии:
1. Оба файла записанной сессии (log-time.txt и log-file.txt)
2. Отписать в комменты что показалось самым сложным, и что нового узнал.
Решения должны быть твоими, без готовых гайдов

Дедлайн - 15 часов с момента публикации поста.
Первый, кто первым пришлет корректное решение - получит приз.
1👾7👍2🤯2
GitPocket

Сервис для формирования списка отложенного чтения (замена закрытому getpocket).
Забирает информацию по url и сохраняет в формате .md в ваш приватный репозиторий github.

Приложения наши, поэтому любые замечания и предложения по работе можете писать в комментарии или в личку канала.

Сайт
Бот в ТГ
👍6🔥51🤔1
С удивлением недавно узнал, что можно покупать подписки на зарубежные сервисы через RuStore

Пополнение бывает через подарки, через прямое пополнение баланса, либо же выдают карту с определенным балансом, и инструкцию к ней.

Попробовал оплатить несколько нейронок - работает нормально.
7🔥5🤔5
XRayCheck

Инструмент для проверки конфигов X-Ray и Hysteria. Парсит публичные источники, тестирует каждый конфиг, отсеивает нерабочие.

Запускается локально на Windows / Mac / Linux через скрипт.
Есть онлайн-версия с автообновляемыми результатами.

Сайт: https://whiteprime.github.io/xraycheck/
GitHub: https://github.com/WhitePrime/xraycheck
Канал: https://news.1rj.ru/str/xraycheck
1👍7🔥1