Скачивание файла посредством JQuery

В принципе алгоритм следующий и простой: при нажатии некой кнопки например, мы создаем ссылку с атрибутом download и программно её нажимаем. Код, что-то вроде:

Сборка JS и CSS для продакшена при помощи npm grunt

В жизни каждого программиста мужика начинается период, когда размер и количество js файлов в проекте начинает невероятно множиться. И если для разработки это не особо мешает, а даже наоборот помогает структурировать информацию, для для продакшена это зло. Когда браузер пытается выкачать при загрузке страницы 50+ файлов css и js, случается так, что ему становится плоховато. Да и скорость рендеринга падает значительно. Есть решение: grunt. Пакет для npm который позволяет отслеживать изменения файлов в некоторых папках, а при изменении формировать один (несколько) выходных сжатых файлов.

Установка:

Для настройки необходимо создать файл Gruntfile.js. У меня вышло примерно такое содержимое:

Теперь если в консоли введёте:

То запустится и будет висеть задача отслеживания изменений и минимификации файлов.

JavaScript именованные массивы как набор записей

Обычно для этой цели используют конструкцию Map, однако лично мне  не нравится его синтаксис, когда для доступа необходимо использовать get /set. Поэтому я обычно использую создание объекта. Т.е. получается что-то вроде:

 




CSS: Выравнивание содержимого блоков по вертикали

Чтобы получилось нечто подобное:


HTML:

CSS:




Нагрузочное тестирование сайта с помощью Jmeter

Задача: провести нагрузочное тестирование сайта. Выяснить сколько пользователей в минуту, он может обслужить.

Дополнительно: тестирование сервера WEBSocket, так-же используемого на том-же сервере, где и расположен сайт.

Решение: используем инструмент Jmeter от фонда Apache.

1) Скачиваем, распаковываем, запускаем из папки bin или файл jmeter.bat (Windows) или jmeter.sh (Linux)

2) На сайте плагинов скачиваем плагины Plugins Manager и JMeterWebSocketSamplers. Ложим их в папку lib\ext, Jmeter перезапускаем. При помощи Plugins Manage, в дальнейшем (если захотите) сможете устанавливать дополнительные плагины.

3) Правой клавишей щелкаем по TestPlan, и создаем поток тестирования.

Далее в настройках выставляем количество потоков, время тестирования и количество циклов

4) Добавляем авторизацию на сайте (ну или просто открытие страницы — тогда POST запрос не заполняем)

 

К этому же узлу добавим и отчетность:

5) По тому-же принципу последовательно добавляем задачи WebSocketOpen,WebSocketSingleWrite и WebSocketClose. Т.е. после авторизации пользователя мы откроем соединение, пошлем что-то на сервер и закроем соединение.

Далее играем циферками количества поток, чтобы выяснить на скольких потоках сайт упадет отдохнуть..

 




1 16 17 18 19 20 54