Одна из вещей, которые периодически требуются в тестировании, особенно при тестировании различных API, - это генерация сочетаний различных параметров. Скажем, у нас есть несколько параметров, которые могут быть использованы при вызове RESTful сервиса, при этом любой параметр может присутствовать или отсутствовать. Казалось бы, можно использовать циклы для решения этой задачи, но, возможно, более удобным будет использование битовой маски. Давайте посмотрим, как.
- 17.06.2018
- 10.09.2017
Маска подсети - это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
<адрес-подсети>/<количество-бит>
- 02.09.2017
Вопрос: как добавить почтовый сервер в белый список для получения почты от плохо настроенного почтового сервера или рассылки через провайдера массовых рассылок?
- 29.01.2017
Вопрос: Как включить basic-аутентификацию для прокси-сервера Squid, чтобы при подключении прокси-сервера в браузере запрашивался логин и пароль пользователя?
Ответ:
- 21.01.2017
Мониторинг даты продления доменного имени - действие, которое нельзя недооценить. Я уже писал о том, как мониторить, сколько дней осталось до продления SSL-сертификата, и теперь давайте разберемся с другой частой проблемой - неожиданным окончанием срока регистрации доменного имени. Казалось бы, все регистраторы на сегодняшний день заранее об этом напоминают (причем обычно несколько раз). Но проблема в том, что эти письма либо не читают, либо они как-то попадают в спам. В общем, не все в курсе, что у них заканчивается срок регистрации доменного имени. В результате сайт не работает, люди не понимают, почему, и тратят иногда много времени, чтобы понять, что происходит. Тем временем доменное имя пропадает из кэша DNS, и через пару дней (или даже раньше, зависит от разных факторов) посетители перестают попадать на сайт. Давайте посмотрим, как мониторить дату окончания регистрации доменного имени. Естественно, скриптом на bash.
- 14.01.2017
Проверка сертификата сервера из bash может быть полезна для мониторинга, чтобы не пропустить дату продления сертификата. Такие проблемы как продление доменного имени и продление SSL-сертификата достаточно распространены, даже серьезные организации иногда забывают проплатить домен или купить новый сертификат. Поэтому хорошей практикой является мониторинг даты окончания действия сертификата и доменного имени. С доменным именем разберемся в другой раз, а пока давайте посмотрим, как написать скрипт, который не только покажет поля сертификата на удаленном сервере, но и скажет, сколько дней осталось до окончания сертификата.
- 07.01.2017
Приоритеты репозиториев apt позволяют исправить проблемы, похожие на ту, что описана здесь. В общих чертах суть проблемы выглядит так: из неофициального репозитория устанавливаются пакеты, версия которых считается более высокой, чем версия пакета из официального репозитория. Один из репозиториев, с которыми возникают такие проблемы, - deb-multimedia.org. Вот как можно решить проблемы с пакетами DMO, используя приоритеты репозиториев менеджера пакетов APT.
- 24.12.2016
Вопрос: при использовании git или curl возникает такая ошибка:
curl: (35) gnutls_handshake() failed: Public key signature verification has failed.
Что с этим делать?
Ответ:
- 18.12.2016
Inotify - это подсистема ядра Linux, которая позволяет отслеживать изменения файловых систем. Использование этой подсистемы позволяет выполнять определенные действия в том случае если вы создали файл, что-то в него записали, открыли, закрыли, удалили и так далее. Использование этого механизма позволяет избавиться от необходимости вставлять в скрипты проверки с таймаутами при помощи команды sleep. Это упрощает логику скрипта, поскольку нам нужно просто ждать информацию об изменениях файловой системы, а при получении информации о том, что что-то изменилось, выполнить необходимые действия. Давайте рассмотрим пример скрипта, использующего inotify.
- 06.10.2016
Я уже писал статью о написании игры “2048” на bash, и сегодня хотел бы показать, как просто писать несложные игры на bash. Для этого я выбрал несложную игру, которую наверняка все знают, - игру “Пятнашки”. В ней используются примерно те же механизмы, что и в “2048”, но в этот раз я не буду оптимизировать ее по размеру так сильно, я постараюсь просто показать, как организуется сама игра, чтобы вы могли написать собственную игру, может быть более сложную и интересную. Ну, приступим.