• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

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




Найдено страниц: 53 [показано 10]

  1. Максимум производительности

    Степень соответствия запросу: 73,92%
    Фрагменты текста поста :
    ... Один из методов решения этой проблемы - предварительная загрузка данных... ... Три операции, которые можно упростить Работая на компьютере, пользователи выполняют три основных операции: Принимают решения на основе информации, касающейся текущей задачи Собирают данные, необходимые для выполнения текущей задачи Манипулируют компьютером с помощью элементов управления Например, пользуясь автомобилем, пользователи вначале решают, куда они хотят ехать... ... Выбор определенного типа шва представляет собой решение пользователя о том, в каком случае одежда будет выглядеть наиболее привлекательно... ... Само колесо управления содержит информацию, необходимую для принятия данного решения... ... Если рассмотреть каждый из этих шагов, уменьшая количество решений, которые необходимо принимать человеку, позволяя компьютеру самому собирать данные, и уменьшая количество манипуляций, необходимых для достижения цели, то производительность человека при работе с компьютером значительно увеличится... ... Единственное решение, которое необходимо принять обычному его пользователю &ndash... ... Такие фотоаппараты устраняют необходимость принятия решений низкого уровня, которые мог бы сделать профессионал... ... Любой, кто хотя бы раз обновлял системное программное обеспечение, знает, насколько сложной может быть эта задача, хотя для этого пользователю не нужно принимать практически никаких решений... ... Некоторые задачи могут представлять собой сложную смесь манипуляций и принятия решений... ... Решение зависит от того, нужен ли вам слабый свет в течение длительного времени, или сильный свет за короткое время... ... Такая система все еще будет поддерживать способность пользователя к принятию решений, в то же время устраняя ту часть операции, где необходимы манипуляции с механизмом... ... Что можно вынести из этого примера... ... Сделайте оставшиеся манипуляции подходящими к пользовательской модели задачи... ... Избегайте требования от пользователя мысленного преобразования задачи в форму, приемлемую для машины... ... Действительно ли данная информация необходима для выполнения этой задачи... ... Ограничение принятия решений Необходимость принятия решений можно снизить следующим образом: Не воспринимайте пользователя как "... ... Не заставляйте его всего лишь сообщать о принятых решениях... ... Внимательно оценивайте каждое решение, чтобы убедиться в его необходимости... ... Быстро и точно предоставляйте пользователю информацию, необходимую для принятия решений... ... Многое из того, что часто принимают за принятие решений, на самом деле является сообщением о решении... ... На втором шаге удостоверьтесь, что оставшиеся решения действительно относятся к задаче пользователя, а не машины... ... Если пользователь должен решить, выполнять запрос или нет - это относится к задаче... ... Но решение о том, какой метод использовать для выполнения запроса - А или Б, лучше оставить машине... ... Большинство разработчиков не советуют ограничивать пользователя единственным способом выполнения задачи... ... удостовериться, что пользователю предоставлена вся необходимая информация для принятия решения... ... Слишком часто создатели программ предлагают нам неясные вопросы с двумя одинаково выглядящими вариантами ответа, хотя одно из решений является неверным для большинства... ... Используйте фоновый режим выполнение задач Выполняя все асинхронные операции в фоновом режиме, можно отделить задачи пользователя от задач компьютера, позволяя пользователю работать без перерывов... ... Над проблемой печати стали работать в первую очередь, потому что Печать отнимает много времени Печать не требует вмешательства пользователя Общее время выполнения задачи предсказать нельзя Следующее задача пользователя обычно не связана с результатами печати Если принтер подключен к высокоскоростной сети и в очереди печати нет заданий, все происходит довольно быстро... ... Всякая операция, которая подходит под вышеописанные критерии и может быть выделена в отдельную задачу, должна быть выделена... ... Уменьшайте субъективное время восприятия Все вышеописанные подходы касаются измеряемого времени, которое требуется пользователю для выполнения задачи... ... Классический пример произошел в Нью-Йорке в 1930 году, когда пользователи нового офисного здания постоянно жаловались на долгое время ожидания лифтов... ... Работа с клавиатурой была напряженной и требовала принятия множество мелких решений... ... Версия для мыши была гораздо легче и принятия решений не требовала... ... Не принимайте решение на основе только своего собственного мнения... ... это занятие, имеющее отношение к текущей задаче... ... Перед тем, как обращаться к серверу, дайте пользователю прочесть что-нибудь, что подготовит его для следующей задачи... ... Даже довольно широкого диапазона (от 3 до 15 минут) пользователю может быть достаточно для принятия решения &ndash... ... переключиться на другую задачу, или же пойти попить кофе... Подробнее: http://fit-media.com/post_1207048697.html


  2. Файлы vs базы данных.

    Степень соответствия запросу: 11,34%
    Фрагменты текста поста :
    ... В качестве примера «файлового подхода» я буду использовать движок этого блога ( Lasto-blog-B ), точнее работу его системы статистики... ... Кстати, все нижеописанное касается и других поделок от Lasto, которые собирают статистику — сплогов, нового варианта nano-CMS и т... ... Итак, последовательность действий модуля сбора статистики Lasto-блога примерно такова: при обращении серфера к любой странице сайта запускается один и тот же скрипт, который должен собирать статистическую информацию: кто пришел (серфер или бот), откуда он пришел (сайт-источник), куда он пришел (страница нашего сайта) и т... ... Особенность хранения данных Lasto-блогом такова, что статистика хранится в нескольких файлах: hits... ... В нем хранятся те данные, которые выводятся на странице статистики блога... ... a — общая статистика по ридерам, ботам и т... ... html в определенный день, нужно сперва вычислить сколько дней прошло с 1 января 2000 года до искомой даты, затем «заглянуть» в ячейку массива Пример кода $ar['pages']['/stat... ... Согласитесь, задача не из быстрых... ... Но эта задача для отображения статистики, а нас больше интересует ее сбор... ... Для примера возьмем серфера, пришедшего с поисковика по какому-то запросу... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Ну а если это статистика за месяц и при этом с поисковиков в день приходит по несколько сотен человек, да еще по тысяче различных запросов, то получается весьма нехилый объем работы... ... Тут можно немного оптимизировать процесс и сделать обращение вида Пример кода $ar['allsein']['google... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... Главное то, что ПРИ ЛЮБОМ ХИТЕ (даже переходе серфера с одной страницы сайта на другую) происходят ВСЕ описанные операции — чтение, разбор, поиск, склейка, запись и выполняются они над ВСЕМ содержимым файла статистики... ... За счет кэширования вы выиграете часть времени на чтении/сохранении файла статистики, но как быть с массивом... ... Другими словами, пока идет обработка одного посетителя, все остальные будут ждать ибо для них доступ к файлу статистики окажется заблокированным... ... Теперь взглянем, как эта же задача была бы решена с использованием БД... ... Для данного примера также будем рассматривать работу только с одним «разделом» статистики — данных о поисковых запросах... ... Для примера, в таблице из 100 записей для поиска любого значения в наихудшем случае понадобится всего 7 сравнений... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... ... Ну и конечно не забудьте о том, что поиск можно производить не в каждой таблице по отдельности, а сразу во всех, одной командой: Пример запроса SELECT Hits FROM se_hosts, se_query, se_hits WHERE ID1 = SH_ID AND ID2 = Q_ID AND Date = 3085 что еще даст еще больший выигрыш, т... Подробнее: http://fit-media.com/post_1222679684.html


  3. AJAX — WEB 2.0 за 5 минут

    Степень соответствия запросу: 5,23%
    Фрагменты текста поста :
    ... Сразу хочу обратить ваше внимание на две вещи: во-первых, все примеры в этой статье на самом деле не совсем AJAX-овые... ... на мой взгляд примеры настолько просты и примитивны, что повторить их на своей локальной машине дело пары минут... ... Поскольку вся библиотекуа представляет собой всего один обычный файл с java-скриптом, то и подключается он стандартным HTML-тэгом: Пример кода <... ... Для примера вставим внутрь своей страницы такой код: Пример кода <... ... В моем примере я обращаюсь к ранее созданному HTML-файлу text... ... после выполнения функции mytest() внутри контейнера будет помещено содержимое нашего файла (в данном примере это будет надпись "... ... /a> Итак, полный код примера: Полный код файла index... ... Решается эта задача так же просто, но сперва давайте создадим серверный скрипт, который будет получать данные с нашей страницы и отправлять ответ... ... Этот пример использует серверный скрипт, поэтому на вашей локальной машине (без установленного вэб-сервера и интерпретатора PHP) он не сработает... ... Можно, конечно, запихнуть их в скрытый контейнер и потом пропарсить, но такой подход никак нельзя назвать элегантным решением... ... В данном примере она просто помещает их в наш старый контейнер... ... Но решение, как всегда, уже давно существует... Подробнее: http://fit-media.com/post_1262093659.html


  4. Как создать хороший интерфейс пользователя?

    Степень соответствия запросу: 3,76%
    Фрагменты текста поста :
    ... Достижения технологии значительно увеличили количество решений, которые необходимо принимать во время разработки интерфейса Общеплатформенные стандарты пользовательского интерфейса решают только 15% вопросов разработки в типичном проекте... ... Рекомендую вам уделить одинаковое внимание следующим пунктам: Пользователи: их опыт работы с компьютером, мотивы, размер/важность групп пользователей, образцы (типовые ситуации) использования Задачи: что послужило причиной создания проекта, этапы создания проекта, какие результаты должны быть получены, какая информация необходима и когда Технология разработки и платформа , на которой будут работать пользователи Среда , в которой будет создаваться и использоваться проект (физическая, рыночная, организационная и культурная) Используйте эту информацию для определения и расстановки приоритетов... ... Вот пара простых примеров: Когда группа пользователей постоянно меняет свой состав и предполагаемый образец использования используется нечасто, акцентируйте внимание на простоте понимания интерфейса Когда одна и та же задача повторяется многократно, и группа пользователей довольно большая, самой важной целью должна быть эффективность использования... ... Для выполнения начальной фазы разработки погрузитесь целиком в задачи пользователей и создайте бумажный прототип навигационной модели... ... Навигационная модель показывает, как вы планируете распределять функции или задачи между окнами вашей программы... ... Навигационная модель определяет как пользователям смогут перемещаться как между различными задачами так и внутри отдельной задачи... ... Например, можно ли будет оставить частично завершенную задачу и начать другую... ... Если вы пропустите раннюю фазу разработки, ваш интерфейс может страдать от следующих проблем: Несоответствие группам пользователей Сложность в обучении Неадекватная степень гибкости Нецелостное или непредсказуемое использование разных типов окон Разработка на основе задач пользователя Итак, ваши окна пока не имеют содержания... ... Вы знаете для чего нужно каждое, но для того чтобы наполнить их элементами управления, вам необходимо четкое понимание задач пользователя... ... Для создания дизайна, представьте в деталях, как бы пользователь выполнил данную задачу от начала до конца... ... Например, прорабатывая задачи для программы планирования расписаний я обнаружила, что учителя обычно создают планы уроков для нескольких предметов даже если они еще не знают в какой день и в какое время будут проходить занятия... ... Если вы не будете использовать этот подход, вы рискуете создать программу, в которой пользователи будут перемещаться от одного окна к другому для того, чтобы выполнить свою задачу... ... Процесс разработки, основанный на задачах пользователей особенно важен, когда ваша программа предназначена для того, чтобы помогать пользователям работать быстрее и эффективнее... Подробнее: http://fit-media.com/post_1205661604.html


  5. Залепа №13. О грамотном проектировании и неграмотном IDE.

    Степень соответствия запросу: 2,7%
    Фрагменты текста поста :
    ... Задача: Есть некая программа, работающая с базами данных... ... Задача, согласитесь, тривиальна и встречается на каждом шагу... ... Вариантов решений может быть масса, но нас интересует грамотный подход, т... ... такое решение, при котором наша программа не превратится в кашу из кучи классов, лишних открытых методов, свойств и форм... ... Решение "в лоб", т... ... Изрядно поломав голову, я смог найти еще два решения: первое в стиле майкрософта - корявое и громоздкое, второе - единственно верное для C# и правильное с точки зрения ООП, но имеющее изрядный косяк при использовании IDE Microsoft Visual Studio... ... Решение сводится к созданию классов, представляющих сущности используя в качестве базы класс формы... ... Видимо их ввели в язык только с одной целью - как решение при отказе от дружественности классов... ... Как же будет выглядеть решение нашей задачи при использовании вложенных классов... ... А примерно вот так: Объектно-ориентированное (правильное) решение public class CUserMgr { class CUser { private string Login... ... В общем мы добились нормального решения поставленной задачи... Подробнее: http://fit-media.com/post_1204892317.html


  6. Пользовательский интерфейс

    Степень соответствия запросу: 1,22%
    Фрагменты текста поста :
    ... В качестве примера удачной метафоры в интерфейсе можно привести Lotus Organizer , внешний вид которого напоминает привычный еженедельник, функции которого и выполняет этот продукт... ... Наш (не)удачный предшественник - оконный интерфейс решил только первую задачу концептуального дизайна... ... Кроме того, удалось решить поистине титаническую задачу - знаки заметны и не портят красоту окружающей природы там, где эта красота есть... ... Вместе с тем выбранная метафора может продиктовать все изобразительные решения дизайна интерфейса... ... Ее решение было выполнено по принципу "разделяй и властвуй"... ... Уже в стандартном оконном интерфейсе мы можем видеть примеры таких сигналов... ... Второй пример - изменение изображения кнопки при нажатии на нее мышью... ... Предпочтительно иметь сквозное визуальное решение... ... Практически единственный положительный пример можно взять из телевидения, а именно серию заставок к программам... ... После выработки сквозного визуального решения необходимо прорисовать картинки, называемые у аниматоров "фонами"... Подробнее: http://fit-media.com/post_1204019048.html


  7. Залепа №12. Microsoft не знает собственного кода.

    Степень соответствия запросу: 0,57%
    Фрагменты текста поста :
    ... Для решения проблемы разработчики и ввели событие OnKeyPress... ... Так вот, суть сегодняшнего прикола в примере из MSDN, в котором бравые парни из мега-крутой конторы в очередной раз показывают как нужно правильно пользоваться их библиотекой... ... Вот этот пример со всеми комментариями: Пример кода: // Boolean flag used to determine when a // character other than a number is entered... ... } } Как видно из примера, для такой простой вещи, как удаление из потока заведомо лишних символов, требуется писать обработчики для сразу ДВУХ событий, да еще и переменную использовать... ... :) Ладно, вот еще вариант, на этот раз мой: Пример кода: private void textBox1_KeyDown(object sender, System... Подробнее: http://fit-media.com/post_1203179184.html


  8. Залепа №6. Вечный календарь и пляска с бубном.

    Степень соответствия запросу: 0,44%
    Фрагменты текста поста :
    ... Сознаюсь, задача слегка синтетическая, но поразмыслив немного, вы сами найдете кучу вполне реальных задач, сводящихся к этой... ... Правда, в вышеописанной задаче, одним цветом мы бы все равно не обошлись, но было бы хоть что-то... ... Этим МС вбило последний гвоздь в нашу попытку с помощью их мега-библиотеки решить поставленную (к слову сказать достаточно простую) задачу, по созданию удобного интерфейса... Подробнее: http://fit-media.com/post_1197894841.html


  9. Yii - перехват запросов

    Степень соответствия запросу: 0,44%
    Фрагменты текста поста :
    ... Писать парсер php-файлов ради добавления пары строк в конфиг - далеко не самое умное решение... ... К примеру некоторые из установленных модулей сейчас отключены и хорошо бы чтобы фреймворк об этом узнал и соответственно отреагировал... ... Предлагаемое ниже решение прекрасно работает в Yii и позволяет одним махом «... ... Как оказалось, этот механизм прекрасно подходит для решения вышеописанных задач, нужно лишь добавить пару строк, чтобы заставить фреймворк продолжить обработку запроса, когда все настройки и проверки уже выполнены... ... Создадим контроллер и обзовем его Privratnik: Пример контроллера class PrivratnikController extends Controller { public function actionIndex() { // здесь будем добавлять код // возвращаем управление фреймворку $_app = Yii::app()... ... Так же здесь можно вставить анализ запросов для сбора статистики или защиты от DdoS-атак... Подробнее: http://fit-media.com/post_1313836666.html


  10. Windows с маленькой буквы w

    Степень соответствия запросу: 0,38%
    Фрагменты текста поста :
    ... Такая последовательность действий используется так часто, что на нее уже перестали обращать внимание, тем не менее, это настоящий пример плохого дизайна... ... Вынесение функций в диалоговое окно отделяет их от главной задачи... ... Остальные части программы могут служить для обычных задач, таких как ввод и проверка записей... ... Для таких задач пользователь не должен использовать меню и диалоги... ... Если же пользователь решил вставить в свой рисунок другую готовую картинку, эта задача все еще достаточно связана с целью художника – создать красивый рисунок, но для этого нужны другие функции, не относящиеся к рисованию... Подробнее: http://fit-media.com/post_1204300625.html


История внешних поисковых запросов

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,37814 сек.
  • Память: 17 664 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS