Pull to refresh
1
0
Deleter @Deleter

User

Send message

10 юзабилити-преступлений, которых вы не должны совершать

Reading time2 min
Views4.4K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →
Total votes 325: ↑289 and ↓36+253
Comments160

VLC: Стрим и Стрим-Сервер #2

Reading time5 min
Views181K
image
В этой части мы рассмотрим «Простой Стриминг» через GUI для домохозяек, а для примера нам послужат ситуации:
1. Когда мы выступаем в роли локального транслятора, для людей с лимитированным интернетом, с отключенным интернетом, или для тех, кто считается с вашим вкусом и хочет смотреть то, что вы им порекомендуете.
3. Если вы захотите передавать видео со своей вебкамеры, просто цифровой камеры и любых других подобных устройств, через DirectShow.

Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments36

Загадка выпадающего списка «Амазона»

Reading time2 min
Views191K
Бен Кэменс обнаружил, что в выпадающем списке Shop by Department на сайте «Амазон» ховер-эффект происходит очень быстро, абсолютно без какой-либо задержки. Тем самым происходит нарушение старого, выработанного ещё в 90-х годах прошлого века правила: перед отображением пункта подменю необходим так называемый гистерезис, запаздывание.



Запаздывание необходимо не только для того, чтобы сберечь ресурсы машины пользователя, но и по соображениям юзабилити: если не добавить задержку, то переводить курсор мыши на выпавшее подменю будет неудобно, придётся вести его сначала горизонтально в меню, не задевая другие пункты, и лишь после выбирать нужный подпункт.
Читать дальше →
Total votes 558: ↑548 and ↓10+538
Comments90

Книги для тимлидов и руководителей проектов

Reading time2 min
Views171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →
Total votes 84: ↑74 and ↓10+64
Comments53

Подборка инструментов для фронт-энд разработки

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

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →
Total votes 202: ↑184 and ↓18+166
Comments40

IIS — изменяем размер картинок на лету

Reading time2 min
Views12K
Почти в каждом веб-проекте мы сталкиваемся с задачей показывать те или иные изображения в разных размерах. Всё просто — изображение должно показываться в размере, требуемом контекстом. Если вы разрабатываете каталог с разными представлениями, то таких контекстов может быть много. А возможно, что потребуется сделать размер картинки адаптивным по отношению к размеру окна браузера (например, так делают Picasa Web Albums).

Я расскажу о способе решить эту проблему раз и навсегда.
Читать дальше →
Total votes 28: ↑19 and ↓9+10
Comments19

StructureMap — краткий справочник для работы (2/3)

Reading time10 min
Views3.2K
Продолжение первого поста о StructureMap

В первой части были освещены темы:
  • Установка
  • Регистрация (Основа, Профили, Плагины, Сканирование, Внедрение)

В этой части пойдет речь о:
  • Конструкторы (Простые типы, Конструктор по умолчанию, Составные типы, Приведение типов, Задание аргументов)
  • Свойства (Простое задание свойств, Встроенное задание свойств, Задание свойств фреймворком, Допостроение существующих классов)
  • Время жизни


Конструкторы


Очень важный вопрос в реальном программировании применительно к разрешению зависимостей в IoC контейнерах, как быть с классами, у которых несколько конструкторов. Как их инициализировать, как задавать параметры, как дорабатывать и прочее и прочее. Надеюсь что на большинство вопросов ниже будет дан ответ. StructureMap действительно мощная и гибкая штука.

Перед тем как начать описывать возможности фреймворка, надо поговорить о тестовых классах. В этот раз они будут сложнее. Наследование, конструкторы с простыми типами, с составными.

Подробности
Total votes 22: ↑18 and ↓4+14
Comments2

Применение Event-driven модели в веб-приложении

Reading time6 min
Views11K
Взаимодействие частей приложения друг с другом — важная часть архитектуры любой программы.
И существует немало паттернов для их реализации. Я бы хотел на примере веб-приложения показать применение одного из них, а именно — Event-driven модели.
Она хорошо известна любому frontend-разработчику — всякий раз, работая с событиями DOM, вы используете эту модель. Давайте попробуем построить на ней не маленькое веб-приложение — файловый менеджер.

Продолжим под катом
Total votes 39: ↑37 and ↓2+35
Comments15

Делаем консоль чуточку удобнее

Reading time4 min
Views7.1K
Практически все Javascript-программисты пользуются консолью в браузерах. Консоль встроена в Хром, Оперу, IE и устанавливается с Firebug в Фоксе.
Но у неё есть пару неудобств, которые можно очень легко исправить. Это:
  • Ошибки, когда консоль не определена
  • Невозможность использовать вне контекста
  • Невозможность отключить во время production
  • некроссбраузерность

Исправим эти проблемы легко и быстро!

Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments35

Верстка почтовых рассылок

Reading time6 min
Views71K
Привет, Хабр!

В этой статье я бы хотел поделиться своими познаниями в кроссбраузерной и кроссмейлерной верстке почтовых рассылок. Под словом кроссмейлерность подразумевается — корректное отображение верстки во всех почтовых клиентах. Я считаю, что статья вполне актуальна, в виду того, что на хабре эта тема несколько раз освещалась, но некоторые нюансы были неточными, а другие просто устарели. По долгу службы я долгое время занимался версткой html расылок по всему миру, и приведенные ниже правила будут касаться следующих почтовых клиентов и веб-интерфейсов: MS Outlook 2003-2010, mail.ru, rabmler почта, Яндекс почта, Gmail, Yahoo! Mail (Classic), Thunderbird 2.0-3.0, Hotmail, Windows Live Mail, Apple Mail 3-4, AOL Mail, Lotus Notes 8-8.5.
Читать дальше →
Total votes 150: ↑146 and ↓4+142
Comments81

Плагин добавления изображений в текст

Reading time2 min
Views2.5K
Доброе утро.
По ходу разработки очередного проекта понадобился простой плагин для стандартного редактора Ext.form.HtmlEditor, который бы добавлял изображения в текст. Собственно его и пришлось сделать. Очередной велосипед, но может быть пригодится ещё кому-нибудь.

Сразу скажу, что функционал минимальный, по крайней мере пока. Есть возможность просмотра изображений, вставки в текст сразу нескольких из списка. Можно указать адрес, если оно уже где-то есть. Ну и размеры с названием.
Сам плагин можно забрать на гуглокоде.

Теперь о том, как его использовать.
Total votes 24: ↑21 and ↓3+18
Comments14

Использование putty и ssh ключей в Windows

Reading time2 min
Views295K
Так как приходиться уже не первый раз объяснять как это делается, решил оформить в виде How-To в картинках
Скачиваем архив putty отсюда putty.zip
1. Распаковываем и запускаем ssh-keygen

Выбираем ключ ssh-rsa и длину 2048 бит. Жмем «Generate».
Читать дальше →
Total votes 26: ↑15.5 and ↓10.5+5
Comments14

Как Microsoft DevDiv использует TFS – части 8 и 9

Reading time4 min
Views5.2K

Часть 8 (Работа с Quality Gates)


В предыдущей публикации мы говорили о контроле рисков в нескольких проектах одновременно. Сегодня мы поговорим об отслеживании качественных характеристик (Quality Gates).
Давайте задумаемся об этом на мгновение. Скажем, когда мы приступали к разработке Orcas (Visual Studio 2008), кто-то на самом верху давал указания:
  1. VS2008 не будет иметь производительность хуже, чем VS2005.
  2. Мы покроем 70% кода автоматическим тестированием.

Это всего лишь два требования, но зато самые большие. Как можно быть уверенным в том, что 3,000 человек добавит сотни новых функций в следующие 2-3 года, и эти указания будут выполнены?
Нашим ответом были Quality Gates. При работе над Orcas мы установили 16 таких ворот, от простых, как «Вы должны иметь письменные спецификации», до численных, например: «70% кода должно покрываться автоматическим тестированием».
В рабочем элементе типа Feature мы посвятили Quality Gates целую форму.
image
Читать дальше →
Total votes 38: ↑25 and ↓13+12
Comments14

Динамические формы в ASP.NET MVC

Reading time6 min
Views18K
Часто у пользователя требуется узнать информацию о нескольких дополнительных объектах, число которых заранее не известно. Для это используют динамические формы, поля которых создаются javascript кодом на клиентской машине. В asp.net mvc работая в связке Controller-View мы работаем с типизированными объектами. Преобразованием значений из requestа пришедшего с клиента в типизированный объект занимается класс ModelBinder. Для простых объектов это достаточно тривиальная задача. Но как правильно обработать динамические данные, имена параметров которые заранее неизвестны. Решением этой задачи и посвящен этот пост.

Читать дальше →
Total votes 34: ↑23 and ↓11+12
Comments12

Удобный мониторинг ошибок в приложении ASP.NET

Reading time2 min
Views12K
Здравствуйте, уважаемы читатели Хабра. В данном посте я хочу рассказать вам о модуле для мониторинга ошибок в ASP.NET — ELMAH (Error Logging Modules and Handlers).

Для чего это может быть полезным:


Представьте ситуацию, когда у вас есть работающий в Prod режиме сайт с большим количеством юзеров выполняющих разнообразные бизнес задачи. Время от времени некоторые пользователи сообщают о спонтанно возникающих ошибках, которые на Dev окружении воспроизвести не удается. При этом очень трудно бывает понять по описанию юзера что может быть причиной ошибки и при какой комбинации действий она произошла.
Читать дальше →
Total votes 45: ↑32 and ↓13+19
Comments16

Шпаргалка по паттернам проектирования из книги Gang of Four Design Patterns for .NET 2.0

Reading time1 min
Views17K
Просто список примеров реализации паттернов на C#, более-менее хорошо сформатированных.
Делал для себя, но может быть кому-нибудь пригодится.

image

depositfiles.com/files/gl3ux6p07
2u.ifolder.ru/16126054
fileland.ru/file_id-248997
foldo.ru/38053i807d/Pattierny_kratko.doc.html
Total votes 61: ↑40 and ↓21+19
Comments22

Обзор NoSQL систем

Reading time5 min
Views55K
Беспрецедентные объемы данных заставляют разработчиков и бизнес приглядываться к альтернативам реляционных баз данных, используемым вот уже более тридцати лет. В совокупности все эти технологии известны как «NoSQL базы данных».


Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о high-load проектах). Есть три конкретные проблемных области:
  • горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
  • производительность каждого отдельного сервера
  • не гибкий дизайн логической структуры.
Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments67

10 способов побороть проблемы в IE6

Reading time3 min
Views2.6K

1. Используйте DOCTYPE


Лучше всегда прописывать доктайп в заголовке каждой html-страницы, причем, строгий режим рекомендуется:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

для XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

от себя добавлю, что недопускайте никаких сторонних символов перед доктайпом. Ни пробелов, ни переносов строки — иначе появятся странные поля у body и html
Читать дальше →
Total votes 133: ↑88 and ↓45+43
Comments100

Отчёт о Web Standards Days в Минске

Reading time3 min
Views999
В минувшую субботу 28 ноября в Минске прошло первое мероприятие под названием «Web Standards Days». Эта встреча открывает ряд регулярных бесплатных образовательных мероприятий, проводимых сообществом разработчиков «Веб-стандарты».

Встреча проходила в конференц-зале гостиницы Беларусь и собрала около 200 участников из заявленных 330-ти. Мы намеренно не отказывали всем желающим в том, чтобы прийти на встречу даже после завершения регистрации и превышения всех лимитов. Мы рассудили, что это не съезд ЦК КПСС, и если все 330 участников вдруг решат посетить встречу, то можно будет разместиться на приставных стульях или даже ступеньках.

image
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments29

JSON и XML. Что лучше?

Reading time8 min
Views215K
Примечание: ниже перевод обзорной статьи «JSON vs XML», посвященной JSON и его сравнению с XML по ряду критериев. Публикуется в целях популяризации JSON среди читателей Хабрахабра.

JSON (англ. JavaScript Object Notation) — формат обмена данными, легко читаем людьми, легко обрабатывается и генерируется программами.

Основан на подмножестве языка JavaScript, Standard ECMA-262 3rd Edition — декабрь 1999.

JSON — Википедия

Что является правильным форматом ответа на XMLHttpRequest в AJAX-приложениях? Для большинства приложений, основанных на разметке, ответ будет простым — (X)HTML. Для информационно-ориентированных приложений выбор будет лежать между XML и JSON. До недавнего времени я не сильно задавался вопросом, что лучше использовать, XML или JSON. Я просто предполагал, что в каждом конкретном случае стоит выбирать наиболее подходящий формат, и все. Но недавно мне довелось проверить на практике этот подход. В этой заметке я опишу критерии, по которым проводил сравнение между XML и JSON, и собственные умозаключения.

Итак, критерии следующие.

  • Удобочитаемость кода.
  • Простота создания объекта данных на стороне сервера.
  • Простота обработки данных на стороне клиента.
  • Простота расширения.
  • Отладка и исправление ошибок.
  • Безопасность.

Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments96
1

Information

Rating
Does not participate
Location
Гродненская обл., Беларусь
Date of birth
Registered
Activity