💻 Готовим новое исследование отечественного рынка DevOps. Это большой разговор с топ-менеджерами и разработчиками, которые развивают DevSecOps для разработки собственного ПО или внедрения готового продукта.
🔔 Примите участие в исследовании, регистрируйтесь по ссылке и получите результат первым!
В фокусе исследования:
⚫️Текущее состояние рынка ИТ с фокусом на DevSecOps
⚫️Готовность перехода компаний на облачные технологии, взаимодействие с DevOps инструментами
⚫️Основные тренды в сфере безопасности DevSecOps
⚫️Рынок специалистов DevSecOps — где искать сотрудников и как изменились зарплаты
⚫️Рейтинги DevOps инструментов и оценка степени использования подходов DevOps в организациях
Станьте респондентом Russia DevOps Report 2023.
Результаты представим уже в апреле!
Реклама. Информация о рекламодателе
🔔 Примите участие в исследовании, регистрируйтесь по ссылке и получите результат первым!
В фокусе исследования:
⚫️Текущее состояние рынка ИТ с фокусом на DevSecOps
⚫️Готовность перехода компаний на облачные технологии, взаимодействие с DevOps инструментами
⚫️Основные тренды в сфере безопасности DevSecOps
⚫️Рынок специалистов DevSecOps — где искать сотрудников и как изменились зарплаты
⚫️Рейтинги DevOps инструментов и оценка степени использования подходов DevOps в организациях
Станьте респондентом Russia DevOps Report 2023.
Результаты представим уже в апреле!
Реклама. Информация о рекламодателе
🏆 Чтобы получить новые знания, опыт совместной работы и общение с лучшими экспертами, пройдите предварительную регистрацию в Летних школах Яндекса 2024!
Больше 50% выпускников становятся стажёрами и сотрудниками Яндекса💪
В этом году будет запущено больше школ:
🔸 Школа бэкенд-разработки;
🔸 Школа разработки интерфейсов;
🔸 Школа мобильной разработки;
🔸 Школа менеджеров Яндекса;
🔸 Школа аналитиков-разработчиков.
После лекций в онлайне будет практика в офисах Яндекса в Москве, Санкт-Петербурге и Екатеринбурге. Вам оплатят проезд и проживание, если вы из другого города📍
👉Подать заявку
Больше 50% выпускников становятся стажёрами и сотрудниками Яндекса💪
В этом году будет запущено больше школ:
🔸 Школа бэкенд-разработки;
🔸 Школа разработки интерфейсов;
🔸 Школа мобильной разработки;
🔸 Школа менеджеров Яндекса;
🔸 Школа аналитиков-разработчиков.
После лекций в онлайне будет практика в офисах Яндекса в Москве, Санкт-Петербурге и Екатеринбурге. Вам оплатят проезд и проживание, если вы из другого города📍
👉Подать заявку
Что случится, если отключить буферизацию
Привет. Чтобы результаты вывода софта/скриптов отображались без задержек в реальном времени — отключи буферизацию.
На практике, эффект буферизации незаметен, либо софт/скрипты и так работают в реальном времени.
Распространенный случай.
Ты всяко с таким сталкивался: запустил программу, которая пишет данные в файл. И пока софтина не отработает, файл с результатами, визуально пустой. Грыжа!
Но хочется же в реальном времени наблюдать, как файл заполняется и делать выводы. А что если софтина работает 10 часов? А выхлоп нужен вчера?
Проблема этого условного скрипта, в том, что файл bashdays.log создаётся только, после выполнения скрипта. Как отслеживать прогресс?
Воспользуйся отключением буферизации!
Всё делается с помощью утилиты stdbuf. Утилита изменяет способ буферизации программ.
Ключ «o» взаимодействует со стандартным выводом (stdout). А аргумент «L» означает Line buffered, то есть, буферизация по строкам.
В примере выше, буфер очищается после каждой строки вывода. А в файле bashdays.log появится долгожданный результат, без мучительного ожидания.
Одно из применений stdbuf:
Если закрыть вкладку с сессией, скрипт продолжит работу.
Либо можешь воспользоваться утилитой script:
Ключ «f» выполняет аналогичную функцию, после каждой операции, запускается flush, запись на диск.
На этом смею откланяться, хорошего дня/вечера!
tags: #bash #linux
—
Привет. Чтобы результаты вывода софта/скриптов отображались без задержек в реальном времени — отключи буферизацию.
На практике, эффект буферизации незаметен, либо софт/скрипты и так работают в реальном времени.
Распространенный случай.
Ты всяко с таким сталкивался: запустил программу, которая пишет данные в файл. И пока софтина не отработает, файл с результатами, визуально пустой. Грыжа!
Но хочется же в реальном времени наблюдать, как файл заполняется и делать выводы. А что если софтина работает 10 часов? А выхлоп нужен вчера?
/usr/local/sbin/script.sh &> bashdays.log
Проблема этого условного скрипта, в том, что файл bashdays.log создаётся только, после выполнения скрипта. Как отслеживать прогресс?
Воспользуйся отключением буферизации!
Всё делается с помощью утилиты stdbuf. Утилита изменяет способ буферизации программ.
stdbuf -oL /usr/local/sbin/script.sh &> bashdays.log
Ключ «o» взаимодействует со стандартным выводом (stdout). А аргумент «L» означает Line buffered, то есть, буферизация по строкам.
По умолчанию при перенаправлении в файл, стандартный вывод (stdout) полностью буферизуется и записывается в файл после сброса.
В примере выше, буфер очищается после каждой строки вывода. А в файле bashdays.log появится долгожданный результат, без мучительного ожидания.
Одно из применений stdbuf:
stdbuf -oL nohup /usr/local/sbin/script.sh &> bashdays.log
Если закрыть вкладку с сессией, скрипт продолжит работу.
Либо можешь воспользоваться утилитой script:
script -c <PROGRAM> -f bashdays.txt
Ключ «f» выполняет аналогичную функцию, после каждой операции, запускается flush, запись на диск.
На этом смею откланяться, хорошего дня/вечера!
tags: #bash #linux
—
Работать и не уставать, достигать цели, но делать это в кайф - реально!
Как научиться делать дела и не выгорать?
Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам.
▪️ Как научиться отвлекаться от работы и отдыхать?
▪️ Как совместить кучу рабочих задач и время с семьей?
▪️ Как справиться с прокрастинацией?
▪️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
👨🏻💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.
Реклама. ООО «ТД «Степмотор», ИНН: 7804501708, erid: 2VtzqwMJebM
Как научиться делать дела и не выгорать?
Психолог взрослого человека - канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам.
▪️ Как научиться отвлекаться от работы и отдыхать?
▪️ Как совместить кучу рабочих задач и время с семьей?
▪️ Как справиться с прокрастинацией?
▪️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
👨🏻💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.
Реклама. ООО «ТД «Степмотор», ИНН: 7804501708, erid: 2VtzqwMJebM
Охохо, привет! Размазывать бытовуху не буду, сразу к делу. В bash есть офигительная команда, называется она «readonly». С помощью неё ты сможешь защитить любую переменную от изменения. Получается этакая константа, которую довольно сложно перезаписать.
И не дай бог кто-то решит ее перезаписать, получит в лоб ошибкой:
Буквально сегодня ебался со скриптом уволившегося коллеги и не мог понять, какого лешего я получаю неочевидные результаты.
Оказалось, всё очень даже очевидно. Этот скуфяра мало того что применил ООП в скриптах (это пиздец), так еще и воспользовался «readonly». Спасибо тебе дорогой друг. Надеюсь на новом месте, тебе такого с кубернейтсами не позволяют делать. Диверсант блядь.
Ладно. Теперь про «readonly». Если не можем победить, значит нужно изучить и победить. Это как в анекдоте 18+:
Я ебу все что движется, а всё что не движется, я двигаю и ебу.
Поехали двигать!
Переменная защищается так:
Если её попытаться переопределить, то моментально отправляешься в пешее эротическое. Возникает логичный вопрос — как её откатить обратно и сделать нормальной переменной?
В голову приходит логичный ответ, сделай так:
А вот и нет! Сразу получишьхуем ошибкой по башке:
Хм… интересное кино. А чо делать? Не использовать «readonly»! Ну а если пришлось с этим столкнутся, придется использовать древнюю магию. Мы её кстати недавно использовали в этом посте.
Чтобы заансетить константу, открываем «Ящик Пандоры»:
Если получил $1 = 0, значит всё прошло успешно.
Такими консервированными переменными хорошо манипулировать во всяких конфигах, например в .bashrc и т.п. Если кто-то захочет что-то переопределить, у него ничего не получится. Защита от дурака. Но помни, что древняя магия gdb может не сработать на этом проклятии, если ты не root.
Например, можно защитить переменную PATH от вмешательств и ни одна собака его не зареврайтит. И порой даже ты сам.
В общем изучай. Хороших тебе предстоящих выходных и береги себя!
tags: #bash #linux
—
И не дай бог кто-то решит ее перезаписать, получит в лоб ошибкой:
bash: VAR: readonly variable
Буквально сегодня ебался со скриптом уволившегося коллеги и не мог понять, какого лешего я получаю неочевидные результаты.
Оказалось, всё очень даже очевидно. Этот скуфяра мало того что применил ООП в скриптах (это пиздец), так еще и воспользовался «readonly». Спасибо тебе дорогой друг. Надеюсь на новом месте, тебе такого с кубернейтсами не позволяют делать. Диверсант блядь.
Еще раз, НЕ НУЖНО УСЛОЖНЯТЬ, ООП и выкрутасы оставь для программистов.
Ладно. Теперь про «readonly». Если не можем победить, значит нужно изучить и победить. Это как в анекдоте 18+:
Поехали двигать!
Переменная защищается так:
readonly VAR=1234
Если её попытаться переопределить, то моментально отправляешься в пешее эротическое. Возникает логичный вопрос — как её откатить обратно и сделать нормальной переменной?
В голову приходит логичный ответ, сделай так:
unset VAR
А вот и нет! Сразу получишь
bash: unset: VAR: cannot unset: readonly variable.
Хм… интересное кино. А чо делать? Не использовать «readonly»! Ну а если пришлось с этим столкнутся, придется использовать древнюю магию. Мы её кстати недавно использовали в этом посте.
Чтобы заансетить константу, открываем «Ящик Пандоры»:
gdb -ex 'call (int) unbind_variable("VAR")' --pid=$$ --batch
Если получил $1 = 0, значит всё прошло успешно.
Такими консервированными переменными хорошо манипулировать во всяких конфигах, например в .bashrc и т.п. Если кто-то захочет что-то переопределить, у него ничего не получится. Защита от дурака. Но помни, что древняя магия gdb может не сработать на этом проклятии, если ты не root.
Например, можно защитить переменную PATH от вмешательств и ни одна собака его не зареврайтит. И порой даже ты сам.
В общем изучай. Хороших тебе предстоящих выходных и береги себя!
tags: #bash #linux
—
Любишь унижения? Рекомендую!
Здрасти. В Linux есть возможность включить «оскорбительный режим», который работает из коробки без установки дополнительного шлака.
Суть этого режима: при использовании команды sudo, если ты ввел неправильный пароль, система унизит тебя.
Для включения, добавь в файл /etc/sudoers (либо в /etc/sudoers.d/fuck.conf) такую строчку:
А после этого попробуй выполнить от пользователя:
И введи неправильный пароль. Результаты бывают разные:
Все эти фразочки зашиты в библиотеке
Делается так:
Предварительно закомментируй Defaults insults. Можно конечно пересобрать
Уверен есть способ запустить такой Bash скрипт по триггеру:
Изучай!
tags: #bash #linux
—
Здрасти. В Linux есть возможность включить «оскорбительный режим», который работает из коробки без установки дополнительного шлака.
Суть этого режима: при использовании команды sudo, если ты ввел неправильный пароль, система унизит тебя.
Для включения, добавь в файл /etc/sudoers (либо в /etc/sudoers.d/fuck.conf) такую строчку:
Defaults insults
А после этого попробуй выполнить от пользователя:
sudo apt update
И введи неправильный пароль. Результаты бывают разные:
Take a stress pill and think things over.
You fucking stupid shit!
My mind is going. I can feel it.
Realy? Are you on drugs?
Все эти фразочки зашиты в библиотеке
/usr/libexec/sudo/sudoers.so
. Но на английском не интересно. Поэтому можно выводить своё сообщение через такой хак: Делается так:
Defaults badpass_message="Еще одна попытка и я тебя выебу!"
Предварительно закомментируй Defaults insults. Можно конечно пересобрать
sudoers.so
со своими фразами, но геморно. Ну либо пропатчить прям этот файл через HEX редактор. Уверен есть способ запустить такой Bash скрипт по триггеру:
#!/bin/bash
messages=("Неверный блядь пароль! У тебя палец сломан?"
"Еще одна попытка и я тебя выебу"
"Может, тебе стоит попробовать свою девичью фамилию?")
echo "${messages[$RANDOM % ${#messages[@]}]}"
Изучай!
tags: #bash #linux
—
🗓 12 марта, 16:00
📌 Как не потерять бизнес в 2024? Основы информационной безопасности
В 2023 год участились случаи взлома сервисов, хакерских атак, утечек персональных данных. На вебинаре от коллеги обсудят, как обеспечить безопасность инфраструктуры и не потерять данные клиентов.
Программа вебинара:
◽️ Какие атаки были популярны в 2023 году и какие будут актуальны в 2024?
◽️ Как быстро могут вас взломать и какие могут быть последствия?
◽️ Как найти уязвимости и проанализировать безопасность инфраструктуры?
◽️ Пошаговый гайд по повышению защищенности.
Регистрируйтесь на мероприятие и участвуйте в розыгрыше приза за лучший вопрос: https://slc.tl/qdqro
Реклама ООО «Селектел» erid 2VtzquWVJ3V
📌 Как не потерять бизнес в 2024? Основы информационной безопасности
В 2023 год участились случаи взлома сервисов, хакерских атак, утечек персональных данных. На вебинаре от коллеги обсудят, как обеспечить безопасность инфраструктуры и не потерять данные клиентов.
Программа вебинара:
◽️ Какие атаки были популярны в 2023 году и какие будут актуальны в 2024?
◽️ Как быстро могут вас взломать и какие могут быть последствия?
◽️ Как найти уязвимости и проанализировать безопасность инфраструктуры?
◽️ Пошаговый гайд по повышению защищенности.
Регистрируйтесь на мероприятие и участвуйте в розыгрыше приза за лучший вопрос: https://slc.tl/qdqro
Реклама ООО «Селектел» erid 2VtzquWVJ3V
Кто сеет ветер, тот пожнет бурю
А давай пожнем бурю! Как мы любим. Недавно я писал пост про readonly и переменные. Ну дак вот, заансетить переменную можно и другим способом.
Не спеши переключать канал, будет ОХУЕННО интересно.
Bash теперь не менее опасен чем perl.
ctypes - это не просто очередная скриптовая библиотека, это штука позволяет вызывать функции из shared библиотек на СИ, прямо из bash скриптов. Охуеть да?
Можно сказать это внештатный модуль для Bash с огромным функционалом. Где не справился Bash, справится Bash + ctypes.
Могу сравнить это с паскалем и вставками на ассемблере, ох любил я это дело в школе. Учительница по информатике плакала кровавыми слезами, когда читала мои исходники. А потом вообще просто начала ставить пятерки, чтобы не видеть моих брейнфаков.
Давай попрактикуемся. Собираем модуль ctypes.
По умолчанию вся эта байда ставится в папку /usr/local/bin и /usr/local/lib. Но при сборке путь можно изменить через параметр
Так собрали, установили. Чо дальше? А дальше пишем самую простую so библиотеку:
Компилируем:
На выходе получаем готовый файл
Команда nm покажет, все глобальные функции и переменные, которые доступны в библиотеке
Ок. Всё верно! Символ T перед названием функции, означает, что функция глобальная. А символ U (puts) = что эту функцию можно вызвать из вне.
Ну и теперь с помощью ctypes мы можем вызвать эту функцию из Bash скрипта.
Опа нихуя! На экран получаем результат выполнения СИ функции hello_bashdays. Собственно Hello, Bashdays!
И это всего лишь верхушка айсберга, если копнуть глубже…
Вот несколько отзывов на ctypes:
- Это отвратительно
- Это должно прекратиться
- Вы зашли слишком далеко
- Это шутка?
Вот такие интересные штуки существуют. Надеюсь тебе понравилось. Теперь ты знаешь как собирать shared so файлы и легко вызывать от туда функции.
Аа забыл, как заансетить переменную:
Вот и все. И никаких тебе танцев с gdb. Переменная VAR обнулена.
Примени это с умом, ведь на тёмную сторону перейти очень легко. Увы, но я уже там!
🌐 Страница проекта на github
tags: #bash #linux
—
А давай пожнем бурю! Как мы любим. Недавно я писал пост про readonly и переменные. Ну дак вот, заансетить переменную можно и другим способом.
Не спеши переключать канал, будет ОХУЕННО интересно.
Bash теперь не менее опасен чем perl.
ctypes - это не просто очередная скриптовая библиотека, это штука позволяет вызывать функции из shared библиотек на СИ, прямо из bash скриптов. Охуеть да?
Можно сказать это внештатный модуль для Bash с огромным функционалом. Где не справился Bash, справится Bash + ctypes.
Могу сравнить это с паскалем и вставками на ассемблере, ох любил я это дело в школе. Учительница по информатике плакала кровавыми слезами, когда читала мои исходники. А потом вообще просто начала ставить пятерки, чтобы не видеть моих брейнфаков.
Давай попрактикуемся. Собираем модуль ctypes.
git clone https://github.com/taviso/ctypes.sh.git
cd ctypes.sh
./autogen.sh
./configure
make
sudo make install
По умолчанию вся эта байда ставится в папку /usr/local/bin и /usr/local/lib. Но при сборке путь можно изменить через параметр
PREFIX=$HOME make install
.Так собрали, установили. Чо дальше? А дальше пишем самую простую so библиотеку:
#include <stdio.h>
void hello_bashdays() {
printf("Hello, Bashdays!\n");
}
Компилируем:
gcc -shared -o /tmp/bashdays.so bashdays.c
На выходе получаем готовый файл
bashdays.so
с функцией hello_bashdays. Проверяем какие символы доступны в скомпилированной библиотеке:nm -g /tmp/bashdays.so
Команда nm покажет, все глобальные функции и переменные, которые доступны в библиотеке
bashdays.so
. Мне выдало такое:w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
w __cxa_finalize.2.5
w __gmon_start__
0000000000001119 T hello_bashdays
U puts.2.5
Ок. Всё верно! Символ T перед названием функции, означает, что функция глобальная. А символ U (puts) = что эту функцию можно вызвать из вне.
Ну и теперь с помощью ctypes мы можем вызвать эту функцию из Bash скрипта.
#!/bin/bash
source /usr/local/bin/ctypes.sh
dlopen "/tmp/bashdays.so"
dlcall "hello_bashdays"
Опа нихуя! На экран получаем результат выполнения СИ функции hello_bashdays. Собственно Hello, Bashdays!
И это всего лишь верхушка айсберга, если копнуть глубже…
Вот несколько отзывов на ctypes:
- Это отвратительно
- Это должно прекратиться
- Вы зашли слишком далеко
- Это шутка?
Вот такие интересные штуки существуют. Надеюсь тебе понравилось. Теперь ты знаешь как собирать shared so файлы и легко вызывать от туда функции.
Аа забыл, как заансетить переменную:
readonly VAR=123
source /usr/local/bin/ctypes.sh
dlcall unbind_variable string:VAR
Вот и все. И никаких тебе танцев с gdb. Переменная VAR обнулена.
Примени это с умом, ведь на тёмную сторону перейти очень легко. Увы, но я уже там!
🌐 Страница проекта на github
tags: #bash #linux
—
Лучшие подкасты про саморазвитие в IT
Как понять, каких навыков тебе не хватает для карьерного роста? Как эти навыки развивать и какие курсы выбрать? Чему нужно учиться, чтобы выдержать конкуренцию с нейросетями? Нашли ответы на вопросы в выпусках подкаста:
⭐️Обучение в IT: как его выбрать и совмещать с работой
Из подкаста узнали, как не ошибиться при выборе образовательного трека, какие привычки помогут сделать самообразование приятной рутиной и как распознать бесполезные курсы.
⭐️Нейросети ВМЕСТЕ с разработчиками или ВМЕСТО них
Гости рефлексируют над стремительным проникновением нейросетей в IT и обсуждают, как специалистам адаптироваться и оставаться востребованными.
⭐️ Развитие личного бренда в IT
В выпуске обсудили, почему важно развивать личный бренд и как найти баланс между развитием реальных навыков и самопрезентацией.
Смотрите выпуски на YouTube или слушайте на аудиоплощадках. «Сегодня на ретро» — подкаст о повседневных проблемах в карьере IT-специалистов. В нем практикующие разработчики, те...
Как понять, каких навыков тебе не хватает для карьерного роста? Как эти навыки развивать и какие курсы выбрать? Чему нужно учиться, чтобы выдержать конкуренцию с нейросетями? Нашли ответы на вопросы в выпусках подкаста:
⭐️Обучение в IT: как его выбрать и совмещать с работой
Из подкаста узнали, как не ошибиться при выборе образовательного трека, какие привычки помогут сделать самообразование приятной рутиной и как распознать бесполезные курсы.
⭐️Нейросети ВМЕСТЕ с разработчиками или ВМЕСТО них
Гости рефлексируют над стремительным проникновением нейросетей в IT и обсуждают, как специалистам адаптироваться и оставаться востребованными.
⭐️ Развитие личного бренда в IT
В выпуске обсудили, почему важно развивать личный бренд и как найти баланс между развитием реальных навыков и самопрезентацией.
Смотрите выпуски на YouTube или слушайте на аудиоплощадках. «Сегодня на ретро» — подкаст о повседневных проблемах в карьере IT-специалистов. В нем практикующие разработчики, те...
Кот насрал в макбук
Причем не «На», а конкретно «Вв». Сегодня снова про гавно и котов, которые выставляют айтишников на 200к рублей.
Сторис
С утра настраивал примитивный kubernetes кластер для клиента, пилил таску с ноута, сидя на унитазе. Ну а как, удалёнка, могу себе позволить. Жил бы один, вообщеб обратно в обезьяну эволюционировал.
Короче время дейлика с другим клиентом, бросаю открытый ноут в сортире на коврик, бегу к стационарному компу где установлен zoom. 15 минут слушаю очередную хуиту от лосей, проблема не у нас, а на серверах. Классика. По привычке — выгораю, шлю нахуй, реву.
Ну и вот!
Вся эта поебень заканчивается, закидываю в кружку кофея, беру вонючий айкос и направляюсь в обсерваторию. А в кабинете меня ждет картина маслом. Ну как маслом…
Ноут который я бросил на коврик… Ему был произведен основательный апгрейд + 100500 к бренду.
Подробности описывать смысла не вижу. Все предельно просто: кот решил, что посрать на теплоё и закрыть крышку будет нативнее, чем в свой тазик.
А новое и тёплое всегда безумно манит. Тем более присутствует интерактив — закрыть крышку. Зона комфорта. Ну ты и сам это прекрасно понимаешь.
Я даже не стал визжать как сучка, мой косяк, спровоцировал животное. И так ему яйца уже заскейлили за заслуги. Уличные коты себе такого не позволяли, как этот голубых сука кровей, сеньор блядь помидор.
Напомнил знакомого, который, любил гадить в лифтах. Сейчас кстати работает JAVA разработчиком. Тоже сеньор, лифты заменил на GIT репозитории. Забавно, но ситуация страшная.
Сначала комбик за 50к, потом стена и диван в зале, а сегодня макбук за 200к. Хотя сам кот стоил всего 5к. Сомнительно конечно вложение было. Что дальше, хуй знает. Снова выгорел, поревел…
Проанализировав произошедшее, в очередной раз убедился, что от apple и кубернейтсов одно зло. Linux / Windows / Android / Bash / Ctypes наше всё.
Таску в джире пометил как кот - Blocked, а ноут выставил на авито. Так что будь аккуратнее если решишь купить б/у железяку, возможно ранее в её красивонасрали проапгрейдили.
В комментах фото этого диверсанта. Результат апгрейда выкладывать не буду, у меня психологическая травма. Но если есть любители прекрасного, пишите Максу, он скинет.
И всегда помни — даже если кот кастрирован, с его жопой ты ничего не сделаешь. Максимум сможешь провести ретроспективу по методологии «Scrum».
Говорят в айти охуенно весело. Справедливо!
tags: #рабочиебудни
—
Причем не «На», а конкретно «Вв». Сегодня снова про гавно и котов, которые выставляют айтишников на 200к рублей.
Сторис
С утра настраивал примитивный kubernetes кластер для клиента, пилил таску с ноута, сидя на унитазе. Ну а как, удалёнка, могу себе позволить. Жил бы один, вообщеб обратно в обезьяну эволюционировал.
Короче время дейлика с другим клиентом, бросаю открытый ноут в сортире на коврик, бегу к стационарному компу где установлен zoom. 15 минут слушаю очередную хуиту от лосей, проблема не у нас, а на серверах. Классика. По привычке — выгораю, шлю нахуй, реву.
Ну и вот!
Вся эта поебень заканчивается, закидываю в кружку кофея, беру вонючий айкос и направляюсь в обсерваторию. А в кабинете меня ждет картина маслом. Ну как маслом…
Ноут который я бросил на коврик… Ему был произведен основательный апгрейд + 100500 к бренду.
Подробности описывать смысла не вижу. Все предельно просто: кот решил, что посрать на теплоё и закрыть крышку будет нативнее, чем в свой тазик.
А новое и тёплое всегда безумно манит. Тем более присутствует интерактив — закрыть крышку. Зона комфорта. Ну ты и сам это прекрасно понимаешь.
Я даже не стал визжать как сучка, мой косяк, спровоцировал животное. И так ему яйца уже заскейлили за заслуги. Уличные коты себе такого не позволяли, как этот голубых сука кровей, сеньор блядь помидор.
Напомнил знакомого, который, любил гадить в лифтах. Сейчас кстати работает JAVA разработчиком. Тоже сеньор, лифты заменил на GIT репозитории. Забавно, но ситуация страшная.
Сначала комбик за 50к, потом стена и диван в зале, а сегодня макбук за 200к. Хотя сам кот стоил всего 5к. Сомнительно конечно вложение было. Что дальше, хуй знает. Снова выгорел, поревел…
Такое происходит только в фильмах, но увы, порой я думаю, что живу в каком-то сценарии Тарантино.
Проанализировав произошедшее, в очередной раз убедился, что от apple и кубернейтсов одно зло. Linux / Windows / Android / Bash / Ctypes наше всё.
Таску в джире пометил как кот - Blocked, а ноут выставил на авито. Так что будь аккуратнее если решишь купить б/у железяку, возможно ранее в её красиво
В комментах фото этого диверсанта. Результат апгрейда выкладывать не буду, у меня психологическая травма. Но если есть любители прекрасного, пишите Максу, он скинет.
И всегда помни — даже если кот кастрирован, с его жопой ты ничего не сделаешь. Максимум сможешь провести ретроспективу по методологии «Scrum».
Говорят в айти охуенно весело. Справедливо!
tags: #рабочиебудни
—
Выделенные серверы Vscale от 1490 ₽/месяц
Сайт, игра, пет-проект или другая идея— все это легко запустить на серверах в простой панели Vscale.
Ты найдешь выделенные и облачные серверы в РФ с бесплатной защитой от DDoS-атак на базовом уровне (L3-L4), с 1 Гбит/с безлимитного Интернета, с GPU или без. Плати за час или за месяц, как удобно.
В скором будущем планируется запуск облачных баз данных и управляемых кластеров Kubernetes. А пока можешь заглянуть в наш уютный чатик, где быстро можно что-то спросить или поделиться опытом.
Посмотри все доступные конфиги в панели Vscale: https://slc.tl/m4t0j
Реклама ООО «Селектел» erid 2VtzqukMxRi
Сайт, игра, пет-проект или другая идея— все это легко запустить на серверах в простой панели Vscale.
Ты найдешь выделенные и облачные серверы в РФ с бесплатной защитой от DDoS-атак на базовом уровне (L3-L4), с 1 Гбит/с безлимитного Интернета, с GPU или без. Плати за час или за месяц, как удобно.
В скором будущем планируется запуск облачных баз данных и управляемых кластеров Kubernetes. А пока можешь заглянуть в наш уютный чатик, где быстро можно что-то спросить или поделиться опытом.
Посмотри все доступные конфиги в панели Vscale: https://slc.tl/m4t0j
Реклама ООО «Селектел» erid 2VtzqukMxRi
Есть такие команды, они выведут справку по утилите printf:
НО. Каждая команда выведет свою версию справки (почти). То есть результат вывода будет отличаться в разных случаях. Не веришь? Попробуй сам.
В первом пункте с help printf всё понятно. Получишь некий огрызок, который трудно назвать страницей помощи. Да и во втором тоже самое.
В 1-2 вызывается именно встроенная утилита printf в оболочку Bash. А вот в третьем пункте, выведется достаточно внушительный хелп.
И этот внушительный хелп будет от схожей, внешней утилиты printf, которая располагается тут: /usr/bin/printf.
Посмотреть все варианты printf можно так:
На экран выведется список:
Ну и везде советуют пользоваться встроенной в Bash командой help, она нативнее и поддерживает почти весь синтаксис оболочки. Тут уже решать тебе.
Я очень редко читаю документацию таким способом, предпочитаю сразу загуглить. Ладно. Изучай.
tags: #bash
—
1. help printf
2. printf --help
3. env printf --help
НО. Каждая команда выведет свою версию справки (почти). То есть результат вывода будет отличаться в разных случаях. Не веришь? Попробуй сам.
В первом пункте с help printf всё понятно. Получишь некий огрызок, который трудно назвать страницей помощи. Да и во втором тоже самое.
В 1-2 вызывается именно встроенная утилита printf в оболочку Bash. А вот в третьем пункте, выведется достаточно внушительный хелп.
И этот внушительный хелп будет от схожей, внешней утилиты printf, которая располагается тут: /usr/bin/printf.
Посмотреть все варианты printf можно так:
type -a printf
На экран выведется список:
printf is a shell builtin
printf is /usr/bin/printf
printf is /bin/printf
Ну и везде советуют пользоваться встроенной в Bash командой help, она нативнее и поддерживает почти весь синтаксис оболочки. Тут уже решать тебе.
Я очень редко читаю документацию таким способом, предпочитаю сразу загуглить. Ладно. Изучай.
tags: #bash
—
Научитесь разрабатывать безопасные приложения на курсе Positive Technologies
19 марта стартует обучение на курсе AppSec: Разработка безопасного программного обеспечения.
Курс разработан совместно с ведущими экспертами в области безопасной разработки и проводится на базе МФТИ.
Вы узнаете основные принципы и методологии разработки безопасных приложений, научитесь работать с угрозами, рисками и обеспечивать безопасность на разных уровнях: от контейнерной инфраструктуры до облачной безопасности.
Курс будет для вас полезен, если вы являетесь практикующим разработчиком, DevOps-инженером, системным администратором или тестировщиком.
О чём ещё важно знать:
- Вас ждёт 4,5 месяца обучения.
- Лекции и семинары будут проходить 2-3 раза в неделю в 19:00.
- В ходе обучения закрепите практику на 3-х практических проектах.
Новый поток стартует 19 марта – успейте оставить заявку!
19 марта стартует обучение на курсе AppSec: Разработка безопасного программного обеспечения.
Курс разработан совместно с ведущими экспертами в области безопасной разработки и проводится на базе МФТИ.
Вы узнаете основные принципы и методологии разработки безопасных приложений, научитесь работать с угрозами, рисками и обеспечивать безопасность на разных уровнях: от контейнерной инфраструктуры до облачной безопасности.
Курс будет для вас полезен, если вы являетесь практикующим разработчиком, DevOps-инженером, системным администратором или тестировщиком.
О чём ещё важно знать:
- Вас ждёт 4,5 месяца обучения.
- Лекции и семинары будут проходить 2-3 раза в неделю в 19:00.
- В ходе обучения закрепите практику на 3-х практических проектах.
Новый поток стартует 19 марта – успейте оставить заявку!
🚀 Хотите узнать, как отслеживать стабильность развертывания в вашем проекте?
✅Тогда вам обязательно стоит посетить бесплатный урок по теме «KPI и метрики непрерывной доставки — отслеживаем стабильность развертывания на примере ArgoCD» от OTUS! Спикер Михаил Чугунов — ведущий DevOps-инженер.
⚡️На вебинаре:
- рассмотрим, какие метрики и ключевые показатели нужны для успешного мониторинга и оценивания качества конвейера доставки;
- поговорим об инструментах;
- на примере ArgoCD разберем несколько кейсов, которые могут пригодиться на «боевых» стендах.
⏰ Занятие пройдёт 26 марта в 20:00 мск в рамках курса «SRE практики и инструменты». Доступна рассрочка на обучение!
➡️Пройдите короткий тест прямо сейчас и получите спец. цену на курс, а также запись урока!
✅Тогда вам обязательно стоит посетить бесплатный урок по теме «KPI и метрики непрерывной доставки — отслеживаем стабильность развертывания на примере ArgoCD» от OTUS! Спикер Михаил Чугунов — ведущий DevOps-инженер.
⚡️На вебинаре:
- рассмотрим, какие метрики и ключевые показатели нужны для успешного мониторинга и оценивания качества конвейера доставки;
- поговорим об инструментах;
- на примере ArgoCD разберем несколько кейсов, которые могут пригодиться на «боевых» стендах.
⏰ Занятие пройдёт 26 марта в 20:00 мск в рамках курса «SRE практики и инструменты». Доступна рассрочка на обучение!
➡️Пройдите короткий тест прямо сейчас и получите спец. цену на курс, а также запись урока!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Не бей себя ушами по щекам!
Вопрос который я задаю на собесах, возможно с подвохом. Частенько ставит в ступор соискателей. Короче.
Есть два бесконечных bash цикла:
И тут начинается… у людей включается javascript мышление и они начинают троить. Раз есть задача, значит есть и разница в поведении, значит будут какие-то разные ожидаемые результаты.
Рисуют мне какие-то формулы, строят гипотезы, даже пытаются доказать свою правоту и послать меня на хуй.
Ведь как происходит, пишешь ты годами bash скрипты и даже не задумываешься, а схренали я использую «:» а не «true»? Да потому что оно нахер не всралось про это думать, работает и ок.
На самом деле эти циклы делаю одно и тоже. Объяснение простое:
Команда «:» всегда возвращает 0. Да «:» это команда, попробуй её запустить, а следом выполнить
Эта пустая команда, которая ничего не делает и всегда завершается успехом. Ее используют, там где в синтаксисе скрипта требуется какая-либо команда.
Для while справедливо требуется продолжение, вот мы и продолжаем с помощью «:» чтобы интерпретатор не засыпал ошибками. Этакая заглушка, для синтаксической корректности.
Ну а так как true тоже команда и всегда возвращает статус 0, получается что «:» и true = идентичны. Просто написать двоеточие намного быстрее.
Ноги растут из древних Bourne Shell, где не было встроенных команд ни true ни false. Использовали именно «:».
Получается «:» легаси? Ну можно и так сказать. Если хочешь чтобы твои скрипты работали в древних оболочках, используй «:». А если похер, то делай true.
Вот что лучше читается?
Мне очевиднее первый вариант, если не знать за «:», то словишь ступор. Такие дела. Изучай.
tags: #linux #bash
—
Вопрос который я задаю на собесах, возможно с подвохом. Частенько ставит в ступор соискателей. Короче.
Есть два бесконечных bash цикла:
while :
do
done
while true
do
done
Вопрос: почему в первом случае используется «:», а во втором «true»?
И тут начинается… у людей включается javascript мышление и они начинают троить. Раз есть задача, значит есть и разница в поведении, значит будут какие-то разные ожидаемые результаты.
Рисуют мне какие-то формулы, строят гипотезы, даже пытаются доказать свою правоту и послать меня на хуй.
Ведь как происходит, пишешь ты годами bash скрипты и даже не задумываешься, а схренали я использую «:» а не «true»? Да потому что оно нахер не всралось про это думать, работает и ок.
На самом деле эти циклы делаю одно и тоже. Объяснение простое:
Команда «:» всегда возвращает 0. Да «:» это команда, попробуй её запустить, а следом выполнить
echo $?
и получишь 0.Эта пустая команда, которая ничего не делает и всегда завершается успехом. Ее используют, там где в синтаксисе скрипта требуется какая-либо команда.
Для while справедливо требуется продолжение, вот мы и продолжаем с помощью «:» чтобы интерпретатор не засыпал ошибками. Этакая заглушка, для синтаксической корректности.
Ну а так как true тоже команда и всегда возвращает статус 0, получается что «:» и true = идентичны. Просто написать двоеточие намного быстрее.
Хотя с другой стороны, если писать true, то код становится более читаемым.
Ноги растут из древних Bourne Shell, где не было встроенных команд ни true ни false. Использовали именно «:».
Получается «:» легаси? Ну можно и так сказать. Если хочешь чтобы твои скрипты работали в древних оболочках, используй «:». А если похер, то делай true.
Вот что лучше читается?
if true; then
echo "hello bashdays"
fi
if :; then
echo "hello bashdays"
fi
Мне очевиднее первый вариант, если не знать за «:», то словишь ступор. Такие дела. Изучай.
tags: #linux #bash
—
Java используют Сбербанк, «Яндекс Маркет», «Госуслуги». На нём создают приложения для банков, IT-корпораций и стриминговых сервисов, разрабатывают интернет-магазины, игры и облачные решения. Попробуйте себя в роли Java-разработчика, напишите несколько программ и решите, нравится ли вам эта профессия, на бесплатном мини-курсе Skillbox.
Сразу после регистрации дарим гайд по профессии Java-разработчика: 👉 https://epic.st/EzTyS?erid=2VtzqwrrieA
Мини-курс подойдёт новичкам разного возраста, а также:
📌 Тем, кто хочет оценить сферу IT
📌 Тем, кто стремится зарабатывать на удалёнке
📌 Разработчикам с небольшим опытом
В программе:
— Основы профессии и языка Java
— Telegram-бот на Java. Запускаем готового бота
— Программа для обработки файлов
— Живой эфир с экспертом по Java
Успейте записаться бесплатно!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Сразу после регистрации дарим гайд по профессии Java-разработчика: 👉 https://epic.st/EzTyS?erid=2VtzqwrrieA
Мини-курс подойдёт новичкам разного возраста, а также:
📌 Тем, кто хочет оценить сферу IT
📌 Тем, кто стремится зарабатывать на удалёнке
📌 Разработчикам с небольшим опытом
В программе:
— Основы профессии и языка Java
— Telegram-бот на Java. Запускаем готового бота
— Программа для обработки файлов
— Живой эфир с экспертом по Java
Успейте записаться бесплатно!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
У самурая нет тестов, только прод
Здрасти. Есть куча способов как определить, в каком окружении запущен Bash скрипт. На хостовой машине или внутри docker контейнера. Я предпочитаю самый простой.
Банально проверяем наличие файла
И да файл
А если требуется высший пилотаж, прям УНИВЕРСАЛЬНО, прочекать docker и lxc, идем таким путём:
Тут суть такая, во всех хост-системах
Запускаем на хостовой машине:
Запускаем в контейнере:
✔️ Может зафакапить, так как не установлен пакет procps.
Да, кто не знал, как сохранять изменения в docker контейнерах, применяется commit. То есть ставишь софт в контейнере, настраиваешь его там под себя. А потом делаешь:
<ID> - ID того контейнера, в котором все ставил
<name> - да похуй, можешь указать тот же самый
После перезапуска контейнера все твои настройки сохранятся. Но лучше этим не частить, а собирать контейнеры сразу с нужной тебе хуйнёй.
Ладно, погнали дальше спасать этот прекрасный мир.
tags: #linux #bash
АSHDАYS | BАSHDАYS.CОM
Здрасти. Есть куча способов как определить, в каком окружении запущен Bash скрипт. На хостовой машине или внутри docker контейнера. Я предпочитаю самый простой.
if [ -f /.dockerenv ]; then
echo "I'm inside docker";
else
echo "I'm living in real world!";
fi
Банально проверяем наличие файла
.dockerenv
и всё! Да, так просто. Способ самый универсальный и используется разработчиками в 99% случаев.И да файл
.dockerenv
можно удалить и тогда скрипт сломается. Удобно, если хочешь помешать скриптам определять где они выполняются. НО после перезапуска контейнера файл .dockerenv
снова появится.А если требуется высший пилотаж, прям УНИВЕРСАЛЬНО, прочекать docker и lxc, идем таким путём:
if [ -n "$(grep 'kthreadd' /proc/2/status 2>/dev/null)" ]; then
echo "I'm living in real world!"
else
echo "I'm inside container";
fi
Тут суть такая, во всех хост-системах
PID(2) == kthreadd
. Запускаем на хостовой машине:
ps -p 2
PID TTY TIME CMD
2 ? 00:00:00 kthreadd
Запускаем в контейнере:
ps -p 2
PID TTY TIME CMD
хуй с маслом
✔️ Может зафакапить, так как не установлен пакет procps.
Да, кто не знал, как сохранять изменения в docker контейнерах, применяется commit. То есть ставишь софт в контейнере, настраиваешь его там под себя. А потом делаешь:
docker commit <ID> <name>
<ID> - ID того контейнера, в котором все ставил
<name> - да похуй, можешь указать тот же самый
После перезапуска контейнера все твои настройки сохранятся. Но лучше этим не частить, а собирать контейнеры сразу с нужной тебе хуйнёй.
Ладно, погнали дальше спасать этот прекрасный мир.
tags: #linux #bash
АSHDАYS | BАSHDАYS.CОM
🏹 Предупреждён о современных киберугрозах – значит вооружён
«Лаборатория Касперского» приглашает вас на бесплатный вебинар «Сезон киберохоты: аналитика инцидентов за 2023 год», который состоится 11 апреля в 11:00 (МСК).
Знаете ли вы, что сегодня киберхищники берут не качеством, а количеством? В 2023 году произошло перераспределение в разбивке уровней критичности инцидентов, сделав этот период рекордным по количеству инцидентов низкой критичности, но в чем причина? А известно ли вам, какие отрасли наиболее привлекательны для кибермонстров?
На вебинаре эксперты «Лаборатории Касперского» представят новые аналитические отчеты Kaspersky MDR и Kaspersky Incident Response, расскажут об актуальных уловках атакующих, а также дадут рекомендации по их эффективному обнаружению и реагированию.
Каждый участник получит полные отчетов. И это еще не всё – на вебинаре состоится розыгрыш нескольких памятных подарков!
👉🏻 Зарегистрироваться
Реклама АО "Лаборатория Касперского". ИНН 7713140469
«Лаборатория Касперского» приглашает вас на бесплатный вебинар «Сезон киберохоты: аналитика инцидентов за 2023 год», который состоится 11 апреля в 11:00 (МСК).
Знаете ли вы, что сегодня киберхищники берут не качеством, а количеством? В 2023 году произошло перераспределение в разбивке уровней критичности инцидентов, сделав этот период рекордным по количеству инцидентов низкой критичности, но в чем причина? А известно ли вам, какие отрасли наиболее привлекательны для кибермонстров?
На вебинаре эксперты «Лаборатории Касперского» представят новые аналитические отчеты Kaspersky MDR и Kaspersky Incident Response, расскажут об актуальных уловках атакующих, а также дадут рекомендации по их эффективному обнаружению и реагированию.
Каждый участник получит полные отчетов. И это еще не всё – на вебинаре состоится розыгрыш нескольких памятных подарков!
👉🏻 Зарегистрироваться
Реклама АО "Лаборатория Касперского". ИНН 7713140469
Без скрипта не выловишь и рыбку из пруда
你好! Познакомился вчера на созвоне с китайцем, зовут его что-то вроде АнХуй. Смешной персонаж. Что-то мне 40 минут втирал на сломанном английском. Я ни слова не понял, но уверено махал головой как обезьяна на бананы. 🅰️
По итогу встречи я выучил слова «Нихао» и «Херанука», а он всяко выучил — «ты, заебал» и «пиздец». Вот так и работаем. Айти объединяет.
Ну чо, поехали двигать пингвинов
Сегодня изучаем —
Эта такая штука… короче с помощью нее можно запускать команды и скрипты в новых сеансах и группах процессов. Скрипт запущенный через
Это гарантирует, что если родительский процесс получит сигнал SIGHUP, то запущенный скрипт через
Пишем башник
✔️ Скрипт будет нихуя не делать 200 секунд.
Запускаем:
Сразу видим, что оболочка продолжила работать в интерактивном режиме. Можно вводить команды и продолжать работу. А что со скриптом
Это скрипт запущен через
Видишь, он не является частью процессов bash, а работает самостоятельно, в общем дереве процессов. Запущенный скрипт не привязан к текущему терминалу.
А это скрипт
Видим цепочку, скрипт работает в текущей оболочке bash. Если закрыть оболочку, то и скрипт прекратит свою работу.
Давай сравним setsid и nohup
Если запустить так:
Наблюдаем такую картину:
Пишем
Процесс отделился от закрытой оболочки и попал в корень всех процессов. В данный момент он продолжает работу.
Теперь запускаем
А тут сразу процесс отделился от оболочки и стал корневым. Даже если написать
Хм. Не велика разница. Но она все же есть. Команда
Изучай.
tags: #bash #linux
АSHDАYS | BАSHDАYS.CОM
你好! Познакомился вчера на созвоне с китайцем, зовут его что-то вроде АнХуй. Смешной персонаж. Что-то мне 40 минут втирал на сломанном английском. Я ни слова не понял, но уверено махал головой как обезьяна на бананы. 🅰️
По итогу встречи я выучил слова «Нихао» и «Херанука», а он всяко выучил — «ты, заебал» и «пиздец». Вот так и работаем. Айти объединяет.
Ну чо, поехали двигать пингвинов
Сегодня изучаем —
setsid
Эта такая штука… короче с помощью нее можно запускать команды и скрипты в новых сеансах и группах процессов. Скрипт запущенный через
setsid
будет независим от родительского процесса.Это гарантирует, что если родительский процесс получит сигнал SIGHUP, то запущенный скрипт через
setsid
продолжит работу. Nohup? Почти.. Поехали в практику.Пишем башник
bashdays.sh
#!/bin/bash
echo "Starting..."
sleep 200
echo "Finished..."
✔️ Скрипт будет нихуя не делать 200 секунд.
Запускаем:
setsid ./bashdays.sh
Сразу видим, что оболочка продолжила работать в интерактивном режиме. Можно вводить команды и продолжать работу. А что со скриптом
bashdays.sh
? Давай запустим pstree и визуально глянем.Это скрипт запущен через
setsid
├─sshd─bash
├─sshd─bash─pstree
└─sshd─sshd
├─bashdays.sh─sleep
Видишь, он не является частью процессов bash, а работает самостоятельно, в общем дереве процессов. Запущенный скрипт не привязан к текущему терминалу.
А это скрипт
bashdays.sh
запущен напрямую, без setsid
├─sshd─bash
├─sshd─bash─bashdays.sh─sleep
Видим цепочку, скрипт работает в текущей оболочке bash. Если закрыть оболочку, то и скрипт прекратит свою работу.
Давай сравним setsid и nohup
Если запустить так:
nohup ./bashdays.sh &
Наблюдаем такую картину:
├─sshd─┬─sshd─bash─pstree
├─sshd─bash─bashdays.sh─sleep
Пишем
exit
и видим уже такое:├─sshd─sshd─bash─pstree
├─bashdays.sh─sleep
Процесс отделился от закрытой оболочки и попал в корень всех процессов. В данный момент он продолжает работу.
Теперь запускаем
setsid ./bashdays.sh
├─sshd─┬─sshd───bash───pstree
└─sshd───bash
├─bashdays.sh─sleep
А тут сразу процесс отделился от оболочки и стал корневым. Даже если написать
exit
и закрыть терминал, sleep
продолжит работу.Хм. Не велика разница. Но она все же есть. Команда
setsid
более прямой способ создания нового сеанса, тогда как nohup
просто игнорирует сигнал SIGHUP.Изучай.
tags: #bash #linux
АSHDАYS | BАSHDАYS.CОM
Как величать сервера
Мне часто задают этот вопрос, всем одно и тоже отвечать заёбисто. Поэтому вот вам пост, буду ссылку потом на него всем скидывать.
Короче нет бест-практик. Нет серебряной пули. Есть не стандартизированная самодеятельность. Если по-простому, то как хочешь, так и называй, лишь бы тебе было удобно.
Помню когда начинал играть на гитаре, не знал что аккорды имеют название. Поэтому сам придумывал эти названия (mt-1/sl-4/sep-7). Производные от Metallica, Slayer, Sepultura и т.п.
Но спустя год оказалось, что все стандартизировано и пришлось мучительно переучиваться. Да, в те времена мы еще на ZX спектрумах кодили, про интернет и не знали. А спросить за музыку было не у кого. Все методом тыка, всё на слух. Эх, это было прекрасное время.
Короче все зависит от твоего облачного провайдера, твоей инфры и вообще всё индивидуально. У меня инфра в основном вся в Selectel. Там есть разграничение по проектам. В каждом проекте можешь заводить любое количество инстансов. Ну я думаю везде что-то похожее, в яндексе по крайней мере также. В aws уже не помню, в DO тоже есть.
✔️ Моя схема как давать погоняла железякам.
По итогу имею примерно такое:
Проект bashdays, а дальше инстансы с префиксом. Цифровой индекс полезен, когда горизонтально скейлишь. Регионы и т.п. хуиту не добавляю, нет необходимости.
Если уж и надо глянуть регион, лезу в панельку селектела и смотрю в каком ДЦ у меня все это лежит. Но обычно это требуется когда пишешь тикет в саппорт. А так нахер надо. Учись упрощать!
Про балансировщик нагрузки писал в этом посте, как заебись его организовать и полезный пост по заголовкам и проксипасам. Мастрид.
Ну а так инфы по неймингу в интернете полно, я лишь показал как делаю сам. Потому что у каждого свои задачи и хотелки.
Хоть «ебанутый-носорог-1» назови, главное чтобы тебе комфортно было.
Знаешь же поговорку — Никого не слушай, НО прислушивайся! Хороших выходных тебе, увидимся.
Кстати расскажи в комментах как ты называешь свои сервера, очень интересно послушать. Всё, теперь точно до завтра!
tags: #bash #linux
@ВАSНDАYS | BАSHDАYS.CОM
Мне часто задают этот вопрос, всем одно и тоже отвечать заёбисто. Поэтому вот вам пост, буду ссылку потом на него всем скидывать.
Короче нет бест-практик. Нет серебряной пули. Есть не стандартизированная самодеятельность. Если по-простому, то как хочешь, так и называй, лишь бы тебе было удобно.
Помню когда начинал играть на гитаре, не знал что аккорды имеют название. Поэтому сам придумывал эти названия (mt-1/sl-4/sep-7). Производные от Metallica, Slayer, Sepultura и т.п.
Но спустя год оказалось, что все стандартизировано и пришлось мучительно переучиваться. Да, в те времена мы еще на ZX спектрумах кодили, про интернет и не знали. А спросить за музыку было не у кого. Все методом тыка, всё на слух. Эх, это было прекрасное время.
Короче все зависит от твоего облачного провайдера, твоей инфры и вообще всё индивидуально. У меня инфра в основном вся в Selectel. Там есть разграничение по проектам. В каждом проекте можешь заводить любое количество инстансов. Ну я думаю везде что-то похожее, в яндексе по крайней мере также. В aws уже не помню, в DO тоже есть.
✔️ Моя схема как давать погоняла железякам.
База данных = db1
Редиска = rd1
Вебнода (nginx + php) = w1
Админки (nginx + php) = a1
Реплика БД = r1
Микросервисы = d1 (daemons)
Стораджи = st1
Балансировщик = b1
По итогу имею примерно такое:
bashdays-b1 (балансировщик)
bashdays-w1 (вебнода 1)
bashdays-w2 (вебнода 2)
bashdays-w3 (вебнода 3)
bashdays-a1 (админки 1)
bashdays-r1 (реплика БД)
bashdays-st1 (могильник файлов)
bashdays-st2 (реплика могильника)
bashdays-db1 (база данных)
bashdays-r1 (редиска)
bashdays-d1 (микросервисы, демоны)
Проект bashdays, а дальше инстансы с префиксом. Цифровой индекс полезен, когда горизонтально скейлишь. Регионы и т.п. хуиту не добавляю, нет необходимости.
Если уж и надо глянуть регион, лезу в панельку селектела и смотрю в каком ДЦ у меня все это лежит. Но обычно это требуется когда пишешь тикет в саппорт. А так нахер надо. Учись упрощать!
Про балансировщик нагрузки писал в этом посте, как заебись его организовать и полезный пост по заголовкам и проксипасам. Мастрид.
Ну а так инфы по неймингу в интернете полно, я лишь показал как делаю сам. Потому что у каждого свои задачи и хотелки.
Хоть «ебанутый-носорог-1» назови, главное чтобы тебе комфортно было.
Знаешь же поговорку — Никого не слушай, НО прислушивайся! Хороших выходных тебе, увидимся.
Кстати расскажи в комментах как ты называешь свои сервера, очень интересно послушать. Всё, теперь точно до завтра!
tags: #bash #linux
@ВАSНDАYS | BАSHDАYS.CОM