Archive for Ноябрь, 2014

Эмулирование задержек и потерь пакетов с помощью dummynet

При тестировании программного обеспечения иногда нужно понять, как оно поведет себя в сетях 3G/4G. Нас интересует влияние полосы пропускания, задержек, потери пакетов. При этом использоваться будет обычная локальная сеть. Рассмотрим использование dummynet для этой задачи.

PHP скрипт, генерирующий страницу с заданным размером

При тестировании биллинга бывает нужно списать определенный размер трафика. Из зарубежных ресурсов может быть полезным http://www.thinkbroadband.com/download.html, из российских — http://upyachka.ru/ (осторожно, трафик!). Но в первом случае появляется зависимость от полосы пропускания внешней линии, а во втором — нельзя указать размер страницы. И здесь нам на помощь придет PHP.

Использование кода httpd (апача) в своей программе

Представим ситуацию, когда вам надо использовать в своей программе кусок кода из опенсорсного проекта. В отдельных случаях удастся этот кусок локализовать и просто скопировать не заботясь о зависимости от других библиотек того самого опенсорсного проекта. Я рассмотрю более общий случай, когда зависимости (типы данных или функции) приходится тащить с собой. В качестве примера будет функционал […]

Компактный веб сервер для тестирования

Иногда для тестирования нужен легковесный веб сервер, функционал httpd или даже lighthttpd будет избыточен. Для таких целей подойдет самодельный веб сервер: сразу после отправки ответа на запрос происходит выход. Данная версия помогла мне в случае, когда надо было имитировать обрыв ответа. Сервер посылает длину ответа 2000 в заголовке, но ответ заметно короче. Скомпилированный бинарник использовался […]

Пример использования Navigation Timing API

Данный API позволяет веб приложению собрать данные о работе на стороне клиента — редирект, наступление какого-то события, активность DOM. Более подробные сведения ищите тут Navigation Timing API Overview Я приведу скрипт, который собирает и отсылает данные (если используете CMS, просто вставьте в конец футера, чтоб <script>…</script> оказалось в самом конце):