Одна из вещей, которые периодически требуются в тестировании, особенно при тестировании различных API, — это генерация сочетаний различных параметров. Скажем, у нас есть несколько параметров, которые могут быть использованы при вызове RESTful сервиса, при этом любой параметр может присутствовать или отсутствовать. Казалось бы, можно использовать циклы для решения этой задачи, но, возможно, более удобным будет использование битовой маски. Давайте посмотрим, как.
Архив рубрики: Статьи
Маска подсети: считаем на bash
Маска подсети — это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
<адрес-подсети>/<количество-бит>. Читать далее
Мониторинг даты продления доменного имени
Мониторинг даты продления доменного имени — действие, которое нельзя недооценить. Я уже писал о том, как мониторить, сколько дней осталось до продления SSL-сертификата, и теперь давайте разберемся с другой частой проблемой — неожиданным окончанием срока регистрации доменного имени. Казалось бы, все регистраторы на сегодняшний день заранее об этом напоминают (причем обычно несколько раз). Но проблема в том, что эти письма либо не читают, либо они как-то попадают в спам. В общем, не все в курсе, что у них заканчивается срок регистрации доменного имени. В результате сайт не работает, люди не понимают, почему, и тратят иногда много времени, чтобы понять, что происходит. Тем временем доменное имя пропадает из кэша DNS, и через пару дней (или даже раньше, зависит от разных факторов) посетители перестают попадать на сайт. Давайте посмотрим, как мониторить дату окончания регистрации доменного имени. Естественно, скриптом на bash. Читать далее
Проверка сертификата сервера из bash
Проверка сертификата сервера из bash может быть полезна для мониторинга, чтобы не пропустить дату продления сертификата. Такие проблемы как продление доменного имени и продление SSL-сертификата достаточно распространены, даже серьезные организации иногда забывают проплатить домен или купить новый сертификат. Поэтому хорошей практикой является мониторинг даты окончания действия сертификата и доменного имени. С доменным именем разберемся в другой раз, а пока давайте посмотрим, как написать скрипт, который не только покажет поля сертификата на удаленном сервере, но и скажет, сколько дней осталось до окончания сертификата. Читать далее
Приоритеты репозиториев apt и deb-multimedia.org
Приоритеты репозиториев apt позволяют исправить проблемы, похожие на ту, что описана здесь. В общих чертах суть проблемы выглядит так: из неофициального репозитория устанавливаются пакеты, версия которых считается более высокой, чем версия пакета из официального репозитория. Один из репозиториев, с которыми возникают такие проблемы, — deb-multimedia.org. Вот как можно решить проблемы с пакетами DMO, используя приоритеты репозиториев менеджера пакетов APT. Читать далее
Inotify в bash: ловим изменения файловой системы
Inotify — это подсистема ядра Linux, которая позволяет отслеживать изменения файловых систем. Использование этой подсистемы позволяет выполнять определенные действия в том случае если вы создали файл, что-то в него записали, открыли, закрыли, удалили и так далее. Использование этого механизма позволяет избавиться от необходимости вставлять в скрипты проверки с таймаутами при помощи команды sleep. Это упрощает логику скрипта, поскольку нам нужно просто ждать информацию об изменениях файловой системы, а при получении информации о том, что что-то изменилось, выполнить необходимые действия. Давайте рассмотрим пример скрипта, использующего inotify. Читать далее
WordPress: как правильно настроить
Как правильно настроить WordPress для его быстрой работы? WordPress — одна из наиболее популярных систем управления контентом (CMS), но, к сожалению, нужно уметь ее правильно настраивать, чтобы обеспечить максимальную скорость работы и минимальное время отклика. Это позволит в том числе сэкономить на стоимости хостинга. Казалось бы, ничего сложного. Берем сервер, ставим пакеты, скачиваем свежий WordPress, устанавливаем его, и всё. Но, на самом деле, всё не так просто. Для настройки сервера для быстрой и эффективной работы сайта на базе системы управления контентом WordPress потребуется следующее: Читать далее
«Пятнашки» на bash’е: разбираем архитектуру игры
Я уже писал статью о написании игры «2048» на bash, и сегодня хотел бы показать, как просто писать несложные игры на bash. Для этого я выбрал несложную игру, которую наверняка все знают, — игру «Пятнашки». В ней используются примерно те же механизмы, что и в «2048», но в этот раз я не буду оптимизировать ее по размеру так сильно, я постараюсь просто показать, как организуется сама игра, чтобы вы могли написать собственную игру, может быть более сложную и интересную. Ну, приступим. Читать далее
Пишем игру 2048 на bash в 2048 байт и меньше
Вы наверняка знакомы с игрой 2048. Достаточно простая, но захватывающая игра, смысл которой в том, чтобы перемещать клетки с цифрами, которые при соединении двух клеток с одинаковым числовым значением превращаются в одну клетку с числовым значением, представляющим сумму этих двух значений. И поскольку я большой любитель bash, я решил написать эту игру на bash’е, уложив ее в 2048 байт. Читать далее
Сохраняем входящую и исходящую почту в postfix
Иногда при разработке веб-приложений в тестовых целях нужно просматривать почту, которую отправляет сайт, или почту, которая приходит на сервер. Естественно, самый лучший вариант это сделать — дать возможность почтовому серверу, через который происходит отправка и получение, самому это делать. И при тестировании обычно имеет смысл не отправлять почту наружу, чтобы популярные почтовые сервисы не приняли вас за спамера и не блокировали потом рассылки с продакшена. При использовании в качестве почтового сервера postfix для контроля за входящей и исходящей почтой можно сделать следующее: Читать далее