Интерблог

Архив рубрики "Советы"

Недолёт
Автор: Ognezmej. Опубликовано: 20 Июня 2012

Любой начинающий разработчик, получивший представление о библиотеке GD, приходит в восторг от открывающихся перед ним возможностей, и, в первую очередь - генерации картинок "на лету". Теперь не надо загружать на сервер множество изображений, иконок, превьюшек - PHP сам всё сделает из подручных материалов.

С первой проблемой сталкиваемся, когда количество картинок начинает превышать разумные пределы. Каковы они, эти разумные пределы - сами увидите. Страница и сами картинки даже при хорошем интернет-канале грузятся значительно медленнее, чем это должно быть, да и хостинг-провайдер начинает как-то косо смотреть на Ваш аккаунт. Каждая такая картинка - это запуск отдельного PHP-скрипта, теперь представьте, как увеличивается нагрузка на сервер для генерации 30, 50, 100 картинок... Рекомендации - генерировать картинки одной функцией, специально написанной для такого случая, единовременно, в статические файлы. В случае обновления - повторить процедуру генерации.

Вторая проблема - с динамически генерируемыми картинками не работает функция getimagesize(). Причина - запрос информации о файле совершается раньше, чем собственно файл создаётся. Решение отсутствует, рекомендации - избегать подобных сочетаний ингредиентов:)

 

Метки: PHP, Кодинг, Советы

А ещё AJAX нужен для...
Автор: Ognezmej. Опубликовано: 28 Мая 2012

Предположим, у Вас запускается тяжёлый PHP-скрипт. Достаточно тяжёлый, чтобы с шансами не уложиться в отпущенные сервером 30 секунд. Разумеется, можно через set_time_limit(), .htacess, php.ini попробовать изменить максимальное время выполнения скрипта, но далеко не все хостеры такое позволяют. По вполне закономерным причинам.

Что делать? Использовать аякс. Для начала осознаем простую истину. Тяжёлый скрипт обычно представляет собой не одну-единственную, а последовательность нескольких/многих функций, в том числе и зацикленных. Ага! Что такое функция? Это входные данные, некие действия и выходные данные. Последовательность функций - это когда входные данные последующей функции являются выходными данными предыдущей. Итак, разбиваем наш тяжёлый скрипт на составляющие функции так, чтобы исполнение каждой с гарантией уложилось в разрешённый отрезок времени. Например, делаем файл ajax.php, где в зависимости от переданной через GET переменной запускается та или иная функция. Делаем основной файл, из которого аяксом будем запускать поочерёдно нужные нам функции, анализируя их ответы. Благодаря Jquery эта задача превращается в чистое удовольствие.

$(селектор).load('ajax.php?function=one', {'var1':var1, 'var2':var2}, function(){анализируем выходные данные, запускаем функцию two, и так далее});

Для скорости работы данные из ajax.php можно получать в json, для простоты и наглядности - прямо в html.

Минусы - общее время работы всё-таки увеличивается. Но зато хотя бы работает. Плюсы - такую игрушку можно легко украсить progressbar-ом, а также можно легко отслеживать ошибки, не дожидаясь окончания работы всего скрипта. Ещё можно добавить кнопку "пауза", "продолжить" и наслаждаться тотальным контролем над выполнением приложения:)

 

Метки: Ajax, jQuery, PHP, Кодинг, Советы

Принцип неопределённости в PHP - праздник продолжается!
Автор: Ognezmej. Опубликовано: 12 Мая 2012

Попробуйте выполнить простенький код:

echo (106801004500603);

Понравилось? PHP считает, что он самый умный, и ему виднее, в каком формате сохранять число. Оно, конечно, и ладно бы, но рассмотрим пару задач.

 

Первая задача - вывести это самое число. Ни echo(), ни print() не выдадут ничего, кроме 1.068010045006E+14. Мы, однако же, не дураки, переведём число в формат string, и... получим то же самое. Слава-те-господи, в PHP существует функция number_format(), и number_format (106801004500603,0,'','') выдаст нам именно то, что мы хотим.

 

Вторая задача - занести это число в MYSQL. Вы уже поняли, что это не так просто, как кажется. Допустим, у нас некая таблица test, число надо записать в поле val. Первые четыре примера - если поле val - строковое, такое часто бывает, например, для всяких артикулов и серийных номеров, которые могут быть как просто числами, так и с наличием букв:

mysql_query('INSERT `test` SET `val`="106801004500603";'); - записывает 1.068010045006E+14

mysql_query('INSERT `test` SET `val`=106801004500603;'); - записывает 106801004500600

mysql_query('INSERT `test` SET `val`="'. number_format (106801004500603,0,'','') .'";'); - записывает 106801004500603

mysql_query('INSERT `test` SET `val`='. number_format (106801004500603,0,'','') .';'); - записывает 106801004500603

Если поле val - числовое:

mysql_query('INSERT `test` SET `val`="106801004500603";'); - записывает 106801004500600

mysql_query('INSERT `test` SET `val`=106801004500603;'); - записывает 106801004500600

mysql_query('INSERT `test` SET `val`="'. number_format (106801004500603,0,'','') .'";'); - записывает 106801004500603

mysql_query('INSERT `test` SET `val`='. number_format (106801004500603,0,'','') .';'); - записывает 106801004500603

Как видим, избавиться от принудительного форматирования или округления помогает всё тот же number_format(). А сколько ещё открытий чудных...

 

 UPDATE:

Увы, number_fromat() работает только до 15 знаков. Число, состоящее из более, чем 15 знаков, меняется произвольным образом.

echo number_format (106545548010045006503,0,'','');  выводит 106545548010045014016

Я понимаю, что это проблема глобальная, проблема хранения данных в памяти компьютера вообще, но почему нет адекватной функции, чтобы просто тупо перевести длинное число в строку?? А это уже как раз, как я понимаю, сказка о неявном приведении типов... Если ты видишь, какое число передаёшь, заключаешь его в кавычки, и нормальная строка. А если это переменная, которая считывается мало ли откуда и может быть мало ли чем? кавычки вообще ничего не дают...

 

 

Метки: MYSQL, PHP, Кодинг, Советы

Эмуляция плавности в ActionScript.
Автор: Ognezmej. Опубликовано: 20 Апреля 2011

Предыдущие статьи рассматривали анимацию в двух аспектах - с одной стороны, удобство её создания и редактирования, с другой стороны - устойчивость и работоспособность в руках конечного пользователя. Увы, одно другому обычно противоречит, и чем-то приходится жертвовать.

Тем не менее, выходы и лазейки всегда найдутся. Рассмотрим простенький пример, как можно изобразить подобие плавного ухода элемента в ноль (fade out), не используя кадровую анимацию и не перегружая компьютер большим количеством одновременно выполняемых вычислений. Метод основан на том, что глаз человеческий воспринимает одновременно далеко не так уж много информации. 24 кадра в секунду, чтоб движение казалось плавным - аксиома кинематографа. Чтобы движение казалось хоть каким-то движением, достаточно двух-трёх кадров. Используем вот эту простенькую конструкцию:

my_clip._alpha = 50;
var mPause = setInterval (function ()
                {
                clearInterval (mPause);
                my_clip._alpha = 0;                
                my_function();               
                }, 300);

my_function - функция, которая запускается по окончанию нашей как-бы-анимации.
300 - это 300 миллисекунд, примерно треть секунды. Можете посмотреть, как оно работает с другими значениями.

Запускаем - объект уходит в сумрак быстро, но с некоторой иллюзией плавности - то, что нам и было нужно. Оказалось достаточно одного промежуточного кадра.

Попытаемся подытожить. Для создания сложного интерактивного ролика приходится сочетать разные варианты анимации. При простейших движениях без участия пользователя целесообразнее использовать программную анимацию. Когда возникает необходимость анимации при наведении мыши, используем все возможные методы, чтобы не перегружать машину вычислениями. Если анимация нескольких объектов идентична - оптимальным будет создание одного объекта, внутри которого будет находиться ещё один объект, выполняющий всю необходимую анимацию через tween. Этот самый внутренний объект представляет собой несколько кадров, в каждом из которых изображён один из объектов, которые надо анимировать. Далее внешний объект копируется, при этом внутренний при помощи gotoAndStop() устанавливается на соответствующий кадр. Там, где важна не сколько красота анимации, сколько её наличие, можно использовать эмуляцию через промежуточный кадр. И, разумеется, нейтрализуем быструю мышь посредством onEnterFrame.

 

Метки: ActionScript, Кодинг, Советы

Программная анимация в ActionScript
Автор: Ognezmej. Опубликовано: 19 Апреля 2011

Спрашивается, нафига во Flash программная анимация, если есть tween и shape, позволяющие легко и непринуждённо производить большинство простейших изменений объекта?

Ответ кроется в самой постановке вопроса. Программная анимация нужна там, где работа с tween и shape занимает больше времени. Итак, представьте - нужно сделать разную анимацию нескольких разных объектов. Открываем каждый объект, добавляем туда кадры, прописываем состояние объекта в ключевых кадрах, прописываем события к тем или иным кадрам, если это нужно, выходим из объекта. И это с каждым. В случае, если не устраивает скорость или положение объекта во время анимации - опять заходим, меняем кадры, выходим. Даже, если анимация всех объектов абсолютно одинакова, в случае чего придётся редактировать каждый объект. Также возможна путаница с именами объектов, поскольку для удобства дальнейшей работы (но бабушка-то надвое) объект неподвижный помещается в объект с анимацией.

Кому-как, а мне рыться в монтажной линейке представляется занятием тоскливым до безнадёжности. Всё должно быть максимально автоматизировано.

А теперь представим себе программный путь. Размещаются объекты, пишется одна или несколько функций (а ещё проще - копируются готовые), и для каждого объекта - одна-две строчки в коде. А если анимация одинаковая или аналогичная - циклический перебор или что-то в этом роде. Изменение анимации происходит изменением параметров функций, всё делается в одном окне.

Для примера возьмём функцию fade, позволяющую плавно менять прозрачность объекта

MovieClip.prototype.fade = function (speed,limit,after)
    {
    var interval = Math.round(1000/speed);
    var grow = (this._alpha<limit);
    var Go = setInterval(function(obj) {
        var stopFade = false;
        if (grow && obj._alpha>=limit) stopFade = true;
        if (!grow && obj._alpha<=limit) stopFade = true;
        if (stopFade)
            {
            clearInterval (Go);
            obj._alpha = limit;
            if (after!=false) after.call();
            }
        else
            {
            if (grow) obj._alpha++;
            else obj._alpha--;
            }
        }, interval, this);   
    }

Параметры:
speed - скорость изменения,
limit - уровень альфы, который должен получиться в итоге
after - самое главное - функция, которая запускается по завершению анимации - чтобы можно было отследить это самое завершение. Можно применять любую пользовательскую функцию.

Например,  mc.fade(100,0,function(){trace('анимация завершена');}) - объект уходит в ноль, после чего выдаётся сообщение о завершении анимации.

Разумеется, у программной анимации есть и множество недостатков. Для каждого нового вида анимации нужно писать новую функцию или разрабатывать универсальную для всех, разнообразие будет всё равно меньше, чем у кадровой анимации, и, наконец, самое страшное - программная анимация жрёт ресурсы компьютера, и эффект быстрой мыши, о котором говорилось в прошлой статье, проявляется гораздо ярче.

Поэтому - правило - всему своё время и место. Используйте ту анимацию, которая более уместна в данной ситуации. Программная анимация больше подходит для простых изменений, не зависящих от действий пользователя.

 

Метки: ActionScript, Кодинг, Советы

Анимация при наведении в ActionScript
Автор: Ognezmej. Опубликовано: 19 Апреля 2011

"А хотите, я его стукну, и он станет фиолэтовым в крапинку?" ("Тайна Третьей планеты")

Любимое требование заказчика - а вот сделайте так, чтобы при наведении мышкой оно двигалось (пропадало, появлялось, меняло цвет и так далее). Глянув в справочник по ActionScript, садишься за компьютер - через пару часов красотища готова. Наводишь мышку - и тебе движение, и покадровая анимация, и программная (об этом в следующей статье), и появление-исчезновение, и куча спецэффектов...

Несёшь красотищу заказчику - через некоторое время звонок: "А что это оно у тебя не работает?" Это как не работает?! Вот же у меня здесь работало... Приходишь к заказчику, и видишь, как он размашистыми движениями мыши приводит твою красотишшу в полную негодность. Где-то движение останавливается раньше времени, где-то просто не успевает начаться, где-то продолжается, хотя уже должно закончиться, мало того, если таких элементов с анимацией при наведении несколько, то вообще чёрт-те что творится...

Но ведь оно же всё правильно прописано! Смотришь код - нет, никаких ошибок. Вот здесь onRollOver, здесь onRollOut. Запускаешь трассировку - вот те раз - некоторые действия и вправду не выполняются.

О эти быстрые движения мышью! Заказчику - развлечение, а программисту головная боль и бессонные ночи. Итак, правило - любую анимацию проверяй на быстрые движения мышью. Чтоб никаких глюков, лишних, или, наоборот, отсутствующих объектов, их перемещения непонятно куда...

На этом лирическое отступление заканчиваем. Итак, мы выяснили, что при быстром перемещении мыши (и клике, кстати, тоже, такое бывает), одним словом, при определённом количестве событий в секунду Flash перестаёт на них реагировать должным образом. Заметим, что количество глюков зависит от производительности компьютера - чем медленнее машина, тем легче испортить анимацию. Теперь упрощаем задачу. Итак, имеется некое множество элементов, при наведении и убирании мыши с которых должно происходить нечто. Прописываем это самое нечто в виде одной строчки, выполняющей некое простейшее действие, хотя бы ту же трассировку. Проверяем на быструю мышь - работает! Делаем вывод - компьютер не способен просчитать большое количество сложной анимации одновременно, однако простейшие действия выполняет. Теперь наше простейшее действие прописываем более утилитарно - изменением либо свойства элемента, либо просто какой-нибудь переменной. Ещё раз проверяем на быструю мышь. Эти самые свойства элемента и переменные - и есть тот хвост, за который мы поймали зверя, и теперь вытащим его на свет.

А вытаскиваем  мы нашего зверя при помощи onEnterFrame. Функция, которая гарантированно срабатывает с регулярностью, равной frame rate, который у нас меняется от 0.01 до 120. В зависимости от производительности компьютера его можно увеличить или уменьшить - не забывая, что у разных пользователей разные компьютеры. Я предпочитаю значение, равное 50.

Теперь всё просто. Внутри onEnterFrame анализируем наши переменные или свойства элементов, и выполняем необходимые действия.

Вопрос - почему onEnterFrame работает, а onRollOver и onRollOut - не работают? Ответ очевиден. В первом случае с регулярностью вызывается ОДНА функция, во втором - столько функций, сколько Вы за это время успели попасть мышкой по каждому элементу. Много сложной анимации одновременно покамест не по зубам даже очень мощному компьютеру - проверял на таком.

Удачи!

 

Метки: ActionScript, Кодинг, Советы

Карта веб-сайта
Автор: cyberacing. Опубликовано: 27 Марта 2010

Карта веб-сайта - это отдельная страница сайта, на которую выводится все структура ресурса в развернутом виде.

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

Преимущества использования карты сайта:

  • пользователи получают представление обо всей структуре сайта, что упрощает им поиск нужной информации
  • поисковые роботы быстрее и полнее индексируют веб-сайт, что улучшает его позиции в поисковых системах

Корректно созданная карта на вашем сайте должна удовлетворять следующим требования:

  • в карте сайта должны отсутствовать ссылки на автоматически создающиеся страницы (например, результаты поиска по сайту)
  • карта не должна быть сделана на основе flash-технологий
  • необходимо располагать карту на отдельной странице сайта
  • карта должна включать все разделы и подразделы сайта
  • при значительном количества уровней вложенности (больше трех) разделы и подразделы должны быть представлены в виде раскрывающихся списков

Поводом для отказа от создания карты сайта могут быть только очень малые (до 20 страниц) размеры сайта; в таком случае заменяет карту обычное навигационное меню.

(Выдержка из книги Овчинникова Р. и Сухова С. "Корпоративный веб-сайт на 100%")

 

Метки: Советы

Сайт должен легко модифицироваться
Автор: cyberacing. Опубликовано: 07 Марта 2010

После утверждения заказа, как правило, идет верстка. Верстальщик "оживляет" макет: заставляет работать кнопки, меню, готовит место для текстов. На этом этапе важно, чтобы верстальщик сделал сайт, который можно будет корректировать - дополнять новыми разделами, страницами и убирать старые. Если предполагается, что материалы на сайте будут обновляться довольно часто, следует сказать об этом верстальщику и дизайнеру, потому что некоторые студии делают красивые сайты, добавить в которые страницу или раздел очень сложно. Пусть разработчики сайта продемонстрируют, как следует выкладывать новости на сайт, информацию по товарам, обновлять прайс-листы. Это подвигнет их сделать механизмы модификации проще. Даже если вам не придется работать с сайтом самостоятельно, будет понятно, чем занят веб-мастер фирмы или за что получает деньги поддерживающая сайт фирма.

Заказывайте изготовление сайтов в нашей студии. Все наши сайты снабжены Inter-CMS, изготовленной специально для под Вас. Она позволит Вам легко и непринужденно по своему усмотрению изменять любой контент на Вашем сайте.

 

Метки: CMS, Советы

Версия для печати
Автор: cyberacing. Опубликовано: 10 Февраля 2010

Многим пользователям удобно распечатывать информацию, полученную с веб-сайта. Это пожелание важно учитывать и создавать специальные версии для печати.

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

Также может быть создана специальная функциональность «Собрать буклет», позволяющая преобразовывать выбранные пользователем разделы и страницы сайта в аналог полиграфического буклета (с оглавлением, номерами страниц, соответствующей версткой и т.д.). При ее реализации можно найти на сайте МДМ-банка.

Проверить корректность «версии для печати» веб-страницы можно по следующему контрольному списку:

  • каждая страница должна содержать логотип компании и контактную информацию (в том числе, URL сайта, с которого страница распечатана)
  • важно убедиться, что страница корректно воспроизводиться в черно-белом варианте
  • все стили оформления сайта необходимо аккуратно вопроизвести с учетом размеров бумаги, полей, оставляемых принтером, и прочих технических ограничений
  • на странице не должно быть служебных и лишних графических элементов (в том числе, фон страницы, если он не белый)
  • в версии для печати должны отсутствовать рекламные баннеры
  • на странице не должно быть навигационных элементов сайта
  • контент должен приемлемым образом разбиваться на страницы стандартного формата (обычно А4)
  • если информация быстро устаревает, то должна быть проставлена дата генерации страницы

Помните, что пользователи часто распечатывают материалы сразу с нескольких сайтов и подшивают их в общую папку. Соответственно, ваши материалы не должны затеряться в общей «серой массе», из-за наличия на них атрибутов вашего бренда (например, логотипа) и контактной информации.

(Выдержка из книги Овчинникова Р. и Сухова С. "Корпоративный веб-сайт на 100%")

 

Метки: Кодинг, Советы

Ссылки и гипертекст
Автор: cyberacing. Опубликовано: 13 Декабря 2009

Ссылка (или гиперссылка) - специальным образомразмеченный фрагмент текста, отдельное слово или иллюстрация, служащие для перемещения по веб-сайту. Ссылки являются основой построения гипертекста.

Гипертекст - это такая форма организации текстового материала, при которой его единицы представлены не в линейной последовательности, а как система явно указанных возможных переходов, связей между ними (Wikipedia).

Ссылки являются важной составляющей, оказывающей воздействие на рейтинг сайта в поисковых системах. Именно благодаря наличию ссылок поисковые роботы могут проиндексировать весь веб-сайт. Страницу сайта, на которую нет ссылок, они просто «не увидят».

Для грамотного оформления ссылок на вашем сайте рекомендуется учитывать следующие моменты:

  •  следует проверить что отсутствуют подчеркнутые фрагменты текста, не являющиеся ссылками
  • необходимо убедиться, что все ссылки имеют осмысленные названия, раскрывающие содержание на другом конце ссылки (например, ссылка должна называться «Преимущества компании», а не «Информация»)
  • хорошим тоном является открытие страниц после клика по ссылке, в том же окне браузера
  • при необходимости должно присутствовать явное предупреждение о проблемах на другом конце ссылки (например, требование регистрации/авторизации при переходе по ссылке)
  • важно убедиться, что в каждом законченном фрагменте текста использовано разумное количество ссылок (причем обычно чем их меньше, тем лучше)
  • ссылки должны быть достаточно короткими (не длинее четырех слов)
  • необходимо убедиться, что на сайта отсутствуют выражения, типа: «Сюда», «Кликните тут», «Здесь» и т.д., и, соответственно, ссылки от них
  • следует убедиться, что все ссылки явно выделены и выглядят именно как ссылки (например, обозначены подчеркиванием)
  • посещенные ссылки должны быть явным образом (например, по умолчанию красным или пурпурным цветом)

(Выдержка из книги Овчинникова Р. и Сухова С. "Корпоративный веб-сайт на 100%")

 

Метки: Советы

Для чего вам нужен сайт
Автор: cyberacing. Опубликовано: 24 Октября 2009

Цели создания сайта могут быть очень разными. От "засветимся" до "переводим часть бизнеса в Интернет". Поэтому начинать надо с формулирования на бумаге цели создания сайта. Ну, например:

  • солидно представить фирму (организацию, проект) деловому сообществу;
  • представить товар и услуги;
  • отражать в Интернете жизнь компании и отрасли;
  • искать новых клиентов, партнеров;
  • получать заказы через сайт;
  • вести бизнес через сайт.

Быть может, у вас совсем другие цели - сформулируйте и запишите их. Это поможет вам правильно оценить трудозатраты, финансовые вложения, сроки работ по созданию сайта.

Сразу хочется предостеречь: если есть намерение развивать электронный бизнес, понадобятся очень серьезные разовые вложения (от $10 000) и постоянная подпитка сайта (от $2000 каждый месяц). Поэтому советую - не прыгайте выше головы. Создайте сначала информационный сайт, попробуйте ярко "засветиться" в Интернете, а уж потом, вплетясь заметным узелком во Всемирную Паутину, разворачивайте электронную коммерцию. Если все-таки приходится поступать наоборот, займитесь тщательной разработкой бизнес-плана окупаемости проекта (очень трудно решаемая, скажу вам, задача).

 

Метки: Советы

Поговорим о структуре сайта
Автор: cyberacing. Опубликовано: 11 Сентября 2009

При проектировании структуры корпоративного сайта важно следовать нескольким основным принципам:

  • Разделы и подразделы должны быть выделены исходя из решаемых пользователями задач, а не организационной структуры компании
  • Количество разделов верхнего уровня должно быть минимизировано
  • Желательно давать разделам стандартные названия
  • Структура сайта должна хорошо масштабироваться
  • Необходимо обеспечить однозначность отнесения каждого конкретного материала только к одному из разделов
  • В структуре сайта должны отсутствовать материалы, не «пришитые» к какому-либо разделу
  • Следует соблюдать непротиворечивость и последовательность выделения разделов и подразделов

Классической ошибкой при составлении структуры корпоративного сайта является отражение в ней организационного устройства компании. Об этом сигнализирует появление таких разделов, как: «Франчайзинговый отдел» или «Клиринго-кассовый центр». Этим обычно грешат большие и консервативные предприятия, которым сложно посмотреть на себя глазами Клиентов. Структура сайта не должна копировать организационное устройство устройство Вашей компании.

 В большинстве случаев нет никакой необходимости самостоятельно придумывать названия разделов верхнего уровня. Лучше изучить аналогичные сайты и скопировать структуру оттуда (при условии, что в примерах структура сделана удачно).

Иногда строгие правила структурирования информации необходимо нарушать исходя из специфических бизнес-требований, характерных для отдельных отраслей. Например, на сайтах о недвижимости, в разделе «Квартиры» можно выделить подразделы: «Однокомнатные», «Двухкомнатные», «Трехкомнатные» и ... «Элитные». Это будет неправильно с теоретической точки зрения, но более понятно Клиентам.

(Выдержка из книги Овчинникова Р. и Сухова С. "Корпоративный веб-сайт на 100%")

 

Метки: Советы

Пишите техническое задание
Автор: cyberacing. Опубликовано: 04 Августа 2009

Для того чтобы получить хороший сайт необходимо грамотно и правильно составить техническое задание на него. А форма? - Да любая. Было бы обеим сторонам понятно, о чем идет речь.

Необходимо оформить свое представление о сайте документально. Это техническое задание (ТЗ) должно регламентировать все отношения заказчика и исполнителя. В ТЗ должны содержаться требования по дизайну, навигации, способам представления информации, срокам и объемам работ каждого этапа. Четко сформулированное ТЗ поможет избежать конфликтов "непонимания" между исполнителем и заказчиком: "Я просил, чтобы было все легко и красиво, а вы мне тракторных гаек насовали и уверяете, что это гениально..." Или с другой стороны: "Просили разместить на сайте две странички, а принесли 200 листов рукописи на арабском".

Еще до того, как вы определились с веб-студией, которой будет доверено воплотить в HTML-кодах ваши сокровенные замыслы, необходимо подготовить части ТЗ, отражающие:

  • Цель создания сайта
  • Дерево сайта
  • Примерные маршруты навигации по сайту
  • Описание пожеланий по дизайну сайта
  • Планы по взаимодействию с посетителями сайта посредством включения в него интерактивных элементов, таких как анкеты, формы заказов, форумы, гостевые книги, доски объявлений и т. п.

Однако не все удается сразу же в окончательном виде включить в ТЗ. Заказчик может и не догадываться о существующих способах воплощения его замыслов. Не страшно. Многие идеи по дизайну, навигации и способу представления информации предложит сам исполнитель. И это понятно - команда профессионалов прекрасно осведомлена о разнообразных приемах интернет-технологий. Поэтому окончательный вариант ТЗ должен формироваться совместно. Рекомендуtем утвердить и подписать документ до начала конкретных работ над сайтом.

 

Метки: Советы

Популярные записи

Принцип неопределённости в РНР

Принцип неопределённости в MYSQL

Недолёт

А ещё AJAX нужен для...

Принцип неопределённости в PHP - праздник продолжается!

Эмуляция плавности в ActionScript.

Программная анимация в ActionScript

Анимация при наведении в ActionScript

Использование кодировки UTF-8

Буквицца

Архив записей  

2019

Янв  

2018

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2017

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2016

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2015

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2014

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2013

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2012

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2011

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2010

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2009

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек