четверг, 30 августа 2012 г.

Для тех, кто хочет себе сайт

Ну вдруг такие люди ещё остались ;)

Дам пару тезисов на подумать.
Тезис первый: "прежде чем создать сайт, надо понять какие проблемы и как их будет этот сайт решать".
К примеру, для сайта-визитки: нужно дать клиенту исчерпывающую информацию о нас самым коротким способом, что бы он(клиент) из минимальных данных смог извлечь максимум информации.

Тезис второй: "сайт - это программное обеспечение".
К примеру: google.com и yandex.ru это тоже сайт, хоть и технически очень сложные. Т.е. на базе веб, можно так же решать любые задачи.

Тезис третий: "Заказчик обязан как минимум участвовать в проектировки будущего ПО, в идеале во всех стадиях проекта".
К примеру: для сайта-визитки участие клиента минимально, текст предоставить, а вот при создании портала или корпоративного бизнес приложения, заказчик сам должен держать руку на пульсе и  в самом начале выдавать как можно больше актуальных данных. Смотреть вместе с исполнителем будущие сценарии пользователей. Заказчик просто обязан внимательно изучить прототип и составить контрольные тесты для этого.

P.S.: заказчику не стоит заниматься микроменеджментом, а вот расставить по каждому этапу контрольные тесты - это здравая идея, которая позволит достаточно точно и в срок сдавать проект.

Bash, как много в этом слове

Собственно лечить людей башем не буду, достаточно удобный шел с удобным языком.
Пару нюансов
$(( 5/2 )) # будет два
echo 5/2 | bc -l # будет счастье.

А к чему я это всё. Писал вчера код для итерационного тестирования одной штуки на баше.
И словил достаточно предсказуемый фокус
Задача, выполнять программу в течении 5 минут и сказать, сколько раз программа выполнилась.
Алгоритм простой, на каждую итерацию определяем текущее время и увеличиваем счетчик.
Казалось бы какой будет оверхед если один запуск программы длится около одной десятой секунды. Условно счетчик должен показать на 30 секундах 300 итераций, а если вызвать 300 раз программу, то выполнится она должна за 29 секунд.
Так вот в баше оказалось, что время для ста итераций - 10 секунд, а вот выполнение этих 100 итераций заняло 7 секунд.

P.S.: всё равно баш отличная штука, но каждому микроскопу свой гвоздь.