🆓 Ваши SQL-запросы работают, но через месяц их уже сложно прочитать и изменить?
С ростом логики запросы превращаются в набор вложенных подзапросов. Разобраться в них сложно, поддержка занимает время, а любые изменения несут риск сломать результат.
На открытом уроке разберём
как использовать обобщенные табличные выражения (CTE), чтобы писать сложные запросы по шагам.
Покажем, как упростить структуру, сделать код читаемым и работать с иерархиями через рекурсивные CTE.
🗓 Урок проходит в преддверии старта курса «PostgreSQL для администраторов баз данных и разработчиков». Если вы хотите писать SQL, который легко читать и поддерживать — подключайтесь 21 мая в 20:00 МСК.
🔗 Регистрация открыта: https://vk.cc/cXMQQT
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
С ростом логики запросы превращаются в набор вложенных подзапросов. Разобраться в них сложно, поддержка занимает время, а любые изменения несут риск сломать результат.
На открытом уроке разберём
как использовать обобщенные табличные выражения (CTE), чтобы писать сложные запросы по шагам.
Покажем, как упростить структуру, сделать код читаемым и работать с иерархиями через рекурсивные CTE.
🗓 Урок проходит в преддверии старта курса «PostgreSQL для администраторов баз данных и разработчиков». Если вы хотите писать SQL, который легко читать и поддерживать — подключайтесь 21 мая в 20:00 МСК.
🔗 Регистрация открыта: https://vk.cc/cXMQQT
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤1
Media is too big
VIEW IN TELEGRAM
Протокол ICMP, утилита traceroute
Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.
Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.
Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.
источник
📲 Мы в MAX
👉 @sysadminof
Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.
Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.
Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.
источник
📲 Мы в MAX
👉 @sysadminof
👍14❤3👌1
👍12
Media is too big
VIEW IN TELEGRAM
Протокол NDP
Рассматриваем два сценария использования протокола NDP:
- Автоматическая настройка сетевой конфигурации. Компьютеры получают от маршрутизатора сетевые настройки в сообщении Router Advertisement.
- Определение MAC-адреса по известному IPv6 адресу. Компьютер, который хочет узнать MAC-адрес, высыдает сообщение NDP Neighbor Solicitation. Получатель отправляет свой MAC-адрес в ответ в пакете NDP Neighbor Advertisement. Информация сохраняется в таблице NDP (аналог ARP-таблицы в протоколе IPv4).
источник
📲 Мы в MAX
👉 @sysadminof
Рассматриваем два сценария использования протокола NDP:
- Автоматическая настройка сетевой конфигурации. Компьютеры получают от маршрутизатора сетевые настройки в сообщении Router Advertisement.
- Определение MAC-адреса по известному IPv6 адресу. Компьютер, который хочет узнать MAC-адрес, высыдает сообщение NDP Neighbor Solicitation. Получатель отправляет свой MAC-адрес в ответ в пакете NDP Neighbor Advertisement. Информация сохраняется в таблице NDP (аналог ARP-таблицы в протоколе IPv4).
источник
📲 Мы в MAX
👉 @sysadminof
👍6😱1
👩💻 Открытый урок «Деплой на стероидах: ускоряем доставку через Золотой путь (Golden Path)»
🗓 Сегодня: 18 мая в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Инженер платформенной инфраструктуры» от Otus.
Запуск нового сервиса часто превращается в сложный процесс: настройка CI/CD, инфраструктуры, доступов и окружений. Это замедляет разработку и увеличивает количество ошибок.
На вебинаре разберём концепцию Golden Path — готовых шаблонов и стандартов, которые позволяют запускать сервисы быстро, безопасно и одинаково для всех команд.
На вебинаре разберем:
- Почему деплой замедляет команды
- Что такое Golden Path и зачем он нужен
- Как стандартизировать запуск сервисов
- Роль шаблонов, CI/CD и developer portal
- Как сократить время запуска нового сервиса
- Частые ошибки при внедрении Golden Path
🔗 Ссылка на регистрацию: https://vk.cc/cXVkO4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🗓 Сегодня: 18 мая в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Инженер платформенной инфраструктуры» от Otus.
Запуск нового сервиса часто превращается в сложный процесс: настройка CI/CD, инфраструктуры, доступов и окружений. Это замедляет разработку и увеличивает количество ошибок.
На вебинаре разберём концепцию Golden Path — готовых шаблонов и стандартов, которые позволяют запускать сервисы быстро, безопасно и одинаково для всех команд.
На вебинаре разберем:
- Почему деплой замедляет команды
- Что такое Golden Path и зачем он нужен
- Как стандартизировать запуск сервисов
- Роль шаблонов, CI/CD и developer portal
- Как сократить время запуска нового сервиса
- Частые ошибки при внедрении Golden Path
🔗 Ссылка на регистрацию: https://vk.cc/cXVkO4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
Регулярное выражение
Регулярное выражение - это шаблон, сопоставляемый с искомой строкой слева направо. Термин «Регулярное выражение» сложно произносить каждый раз, поэтому, обычно, вы будете сталкиваться с сокращениями "регэкспы" или "регулярки". Регулярные выражения используются для замен текста внутри строк, валидации форм, извлечений подстрок по определенным шаблонам и множества других вещей.
https://github.com/zevilz/learn-regex/blob/master/translations/README-ru.md
📲 Мы в MAX
👉 @sysadminof
Регулярное выражение - это шаблон, сопоставляемый с искомой строкой слева направо. Термин «Регулярное выражение» сложно произносить каждый раз, поэтому, обычно, вы будете сталкиваться с сокращениями "регэкспы" или "регулярки". Регулярные выражения используются для замен текста внутри строк, валидации форм, извлечений подстрок по определенным шаблонам и множества других вещей.
https://github.com/zevilz/learn-regex/blob/master/translations/README-ru.md
📲 Мы в MAX
👉 @sysadminof
👍4🔥2❤1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Bash. Часть 1
1 Bash - Введение
2 Bash - Базовые понятия и логические конструкции
3 Bash - Циклы
4 Bash Конструкция case
5 Bash Функции
6 Bash Специальные символы
7 Bash Поиск программы в PATH
8 Bash Проверка ввода: только буквы и цифры
9 Bash Нормализация дат
10 Bash - Удобное представление больших чисел
источник
📲 Мы в MAX
👉 @sysadminof
1 Bash - Введение
2 Bash - Базовые понятия и логические конструкции
3 Bash - Циклы
4 Bash Конструкция case
5 Bash Функции
6 Bash Специальные символы
7 Bash Поиск программы в PATH
8 Bash Проверка ввода: только буквы и цифры
9 Bash Нормализация дат
10 Bash - Удобное представление больших чисел
источник
📲 Мы в MAX
👉 @sysadminof
👍9🔥3❤1
Горячие клавиши для работы в терминале Linux
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
📲 Мы в MAX
👉 @sysadminof
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
📲 Мы в MAX
👉 @sysadminof
👍4❤1
Вывод и удаление правил брандмауэра Iptables: инструкция
Приложение IPTables – брандмауэр, необходимый для безопасной работы с сетевыми ресурсами на платформе Linux. Рассмотрим узкую задачу: как просматривать списки правил, удалять ненужные, сбрасывать цепочки, очищать счетчик количества пакетов и их объема. Не рекомендуем трогать коннект по SSH, использующий порт 22, если вы не уверены на 100% в своих действиях, чтобы случайно не заблокировать удаленный доступ к тестовому хосту.
Просмотрим правила
Просмотрим перечень правил цепочки
Выведем перечень в виде таблицы
Выведем счетчик пакетов и их общего размера
Сбросим счетчик пакетов и их объема
Применим для удаления спецификацию
Применим для удаления номер
Сбросим одиночную цепочку
Сбросим все цепочки
https://i-odmin.ru/vyvod-i-udalenie-pravil-brandmaujera-iptables-instrukcija/
📲 Мы в MAX
👉 @sysadminof
Приложение IPTables – брандмауэр, необходимый для безопасной работы с сетевыми ресурсами на платформе Linux. Рассмотрим узкую задачу: как просматривать списки правил, удалять ненужные, сбрасывать цепочки, очищать счетчик количества пакетов и их объема. Не рекомендуем трогать коннект по SSH, использующий порт 22, если вы не уверены на 100% в своих действиях, чтобы случайно не заблокировать удаленный доступ к тестовому хосту.
Просмотрим правила
sudo iptables –SПросмотрим перечень правил цепочки
sudo iptables -S TCPВыведем перечень в виде таблицы
sudo iptables –LВыведем счетчик пакетов и их общего размера
sudo iptables -L INPUT –vСбросим счетчик пакетов и их объема
sudo iptables –ZПрименим для удаления спецификацию
sudo iptables -D OUTPUT -m conntrack --ctstate INVALID -j DROPПрименим для удаления номер
sudo iptables -L --line-numbersСбросим одиночную цепочку
sudo iptables -F INPUTСбросим все цепочки
sudo iptables –Fhttps://i-odmin.ru/vyvod-i-udalenie-pravil-brandmaujera-iptables-instrukcija/
📲 Мы в MAX
👉 @sysadminof
👍6