Pull to refresh
5
0

User

Send message

Как поставить задачу для простого (шаблонного) сайта

Reading time6 min
Views16K
За последнюю неделю-две мне довелось увидеть несколько опросников, которыми мучают своих клиентов всякие разные студии перед созданием простых шаблонных сайтов. Это чрезвычайно меня огорчило и навело на мысль предложить намного более эффективный и клиенто-ориентированный подход к постановке задачи и написания ТЗ для простых сайтов в условиях ограниченности времени и бюджета .

Помнится, кстати, что в комментариях к статьям о проектировании мне задавали такие вопросы вроде «А что делать, когда нет времени и денег на проектирование?». Ответ ниже.
Читать дальше →
Total votes 78: ↑75 and ↓3+72
Comments69

Введение в prototype.js

Reading time4 min
Views29K
Подключаюсь к разработке проекта, в котором используется этот замечательный js-фреймворк. До этого использовал только jQuery, поэтому пришлось изучать эту новую для меня библиотеку.

Второе место, куда я пошел за информацией, после Википедии, был Хабр. С удивлением обнаружил не обнаружил здесь блога, посвященного Prototype и более того, никакой информации «для новичков». Решил исправить этот недостаток.

Все заинтересованных — прошу под кат
Читать дальше →
Total votes 76: ↑57 and ↓19+38
Comments114

Что почитать на выходных? Рекомендуем, выпуск №10

Reading time2 min
Views1.2K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:
  • Доступен онлайн новый выпуск журнала MSDN Magazine за май 2011 (link);
WebForms:
  • Описание использования CSS Sprites и библиотеки ASP.NET Sprite and Image Optimization Library (link);
  • Важные счетчики производительности для мониторинга производительности ASP.NET (link);
  • Кэширование данных в приложениях ASP.NET (link);
  • Изменение размеров изображений без потерь в ASP.NET (link);
ASP.NET MVC/WebMatrix:
  • Восстановление пароля администратора в Orchard CMS (link);
  • Создание вебсервиса с помощью WebMatrix и его использование в приложении Windows Phone 7 (link);
  • Доклад Скотта Хансельмана про инструменты ASP.NET MVC 3 (link);
  • Использование WebMatrix Helpers в ASP.NET MVC 3 (link);
  • Руководство по Orchard, часть 2 (link);
  • Project Silk jQuery UI Widget QuickStart (link);
  • Использование REST-сервиса в ASP.NET Razor (link);
  • MvcScaffolding Nuget Package and EF Code First — Code Generation (link);
HTML5, JavaScript, веб-стандарты:
  • Всплывающие подсказки на CSS (link);
  • Чудеса HTML5 (link);
  • Презентация- Дмитрий Сошников — Будущее ECMAScript (link);
  • Мини-курс по jQuery для дизайнеров (link);
  • Вращающиеся лучи с помощью анимации CSS3 и JavaScript (link);
  • RazorJS — использование Razor внутри Javascript-файлов (link);
Читать дальше →
Total votes 85: ↑48 and ↓37+11
Comments9

Магия JavaScript: arguments

Reading time3 min
Views67K
arguments — очень специфическая штука, о которой новички и даже любители знают только то, что это «вроде массив, но какой-то неправильный». На самом деле, у него есть ряд интересных особенностей. Предлагаю в топике пофантазировать на тему TypeHinting, аргументов по-умолчанию и всякого другого.
(function (foo, bar) {
	console.log(typeof arguments); // ?
	
	arguments[0] = 42;
	console.log(foo); // ?
})(10, 20);


А также покажу интересную идею-библиотеку
function test (foo, bar) {
    Args(arguments).defaults(100, 100);

    return [foo, bar];
};

test(      ); // 100, 100
test(15    ); //  15, 100
test(21, 42); //  21,  42

Читать дальше →
Total votes 99: ↑93 and ↓6+87
Comments37

DOM Storage window broadcast

Reading time2 min
Views7.9K
В статье речь пойдет об интересном DOM Storage эвенте, который позволяет выполнять броадкаст общение между окнами обраузера одного домена не подозревающих об существовании друг друга.

image

DOM Storage (localStorage sessionStorage) кроме потрясающей возможности хранения информации на клиенте имеет ещё одну документированную, но малоизвестную возможность — уведомление об изменении/удалении элемента DOM Storage для всех окон открытых из текущего домена.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments5

Программная генерация событий DOM 2 Events

Reading time7 min
Views42K
image

Вступление


Здравствуйте, Хабрачеловеки.

В этой статье я хочу рассказать сообществу о такой полезной штуке, как DOM Events. Все, кто хоть как то связан с Javascript, знают, что в этом языке события и их обработка являются одним из важнейших и часто используемых свойств, но не многие знают, как эти события генерировать программно. Собственно, этому и посвящена статья: в ней рассказано, что это, зачем нужно, и как это использовать. О listener'ах речи идти не будет, хоть эта тема весьма тесто связана с рассматриваемой.

Читать дальше →
Total votes 73: ↑71 and ↓2+69
Comments26

Индикатор прогресса с помощью HTML5 Canvas

Reading time6 min
Views7.2K
Привет, Хабр!
Всё больше статей появляется про Canvas, и это не может не радовать. Основы, будем надеяться, уже изучены, а мне хотелось бы поделиться примером возможного практического использования canvas, а именно создать анимированный индикатор прогресса.

Для нетерпеливых результаты эксперимента можно посмотреть здесь: http://pastehtml.com/view/1d7z824.html, а также скриншот конечного результата:


Прогресс-бар получился довольно простой, но в то же время в стиле веб 2.0 — закругленный (конечно же!), с элементами глубины и объема: то есть тенями и градиентами.

За подробностями прошу под кат.
Приступить к созданию
Total votes 93: ↑88 and ↓5+83
Comments58

Отличный Java MVC фреймворк — Play Framework

Reading time2 min
Views48K
Добрый день!

Не так давно, мне потребовался инструмент или фреймворк, для того чтобы в краткие сроки, создать небольшой сайт — витрину. Особых требований не было. Собственно, сама витрина и простейшая админка, с возможностью подредактировать параметры публикуемого контента. Главным требованием была скорость. Нужно было сделать это все за 1-2 дня, с учетом необходимости верстки дизайна.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments78

Tableless justification или inline-blocks revisited

Reading time6 min
Views6.7K
Все давно знают про кроссбраузерную реализацию инлайн-блоков, но не все знают, что данная реализация не такая уж и кроссбраузерная и полная, как кажется. Что, как и почему рассмотрим на простом примере: сделаем меню, пункты которого равномерно распределены по всей ширине экрана.
Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments66

Решение проблем обработки XSLT на стороне клиента

Reading time3 min
Views6.8K
Вы уже используете XSLT в качестве шаблонизатора на сервере. Настал черёд перенести xsl-трансформацию на клиента. Можно, например, воспользоваться способом описанным в статье На клиенте! Получить XML! Получить XSL! Сделать XHTML! Марш!. Но это было бы слишком просто, потому что каждый браузер добавляет несколько своих нюансов при работе с XSLT.

Вопросы о способе загрузки xsl- и xml-файлов и их обработки в различных браузерах был рассмотрен в указанной выше статье. Рассмотрим другие вопросы:
1) инклудинг;
2) кеширование;

Все примеры опубликованы на этой странице ra-project.net/xsl_tests и работают в браузерах Opera, Chrome, IE6, Firefox, Safari.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments40

Развитие валидации форм

Reading time9 min
Views22K

Валидация форм была педантичным занятием с момента появления web. Первой пришла серверная валидация. Затем она развилась в валидацию на стороне клиента для проверки результатов в браузере. Теперь у нас есть такие гиганты как HTML5 и CSS3: глава о формах HTML5 предлагает нам новые типы для input полей и атрибуты, которые делают возможным проверку ограничений поля. Базовый UI модуль CSS3 предоставляет несколько псевдо-классов, которые помогают нам стилизовать состояние валидности и менять внешний вид поля в зависимости от действий пользователя. Давайте взглянем на комбинацию обоих для создания валидатора форм основанного на CSS, который имеет достаточно широкую поддержку браузеров.

Чем больше мы можем дать подсказок пользователю, как правильно заполнять форму, в процессе заполнения, тем меньше шансов, что он сделает ошибку. Взгляните на пример CSS3 валидации форм в браузере поддерживающем CSS3 UI псевдо-классы, например Chrome 4+, Safari 5+ или Opera 9.6+. Я использовал CSS3 UI псевдо-классы и HTML5 атрибуты форм для создания валидации основанной на CSS. Давайте посмотрим как это работает.
Читать дальше →
Total votes 71: ↑69 and ↓2+67
Comments31

Почему так сложно сделать хороший пользовательский интерфейс?

Reading time5 min
Views32K
Перевод статьи Марка Миллера: Why is Great UI so hard to achieve?

Сегодня утром, когда я заправлял свою машину бензином, мне в глаза неожиданно бросилось еще одно доказательство того, что большинство интерфейсов пользователя не удовлетворяют трём основным показателям хорошего интерфейса: ясности (clarity), эффективности (efficiency) и открытости (discoverability).

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

Возвращаясь к кнопкам, вот часть того интерфейса, который я наблюдал сегодня на заправке:


Читать дальше →
Total votes 131: ↑123 and ↓8+115
Comments104

Создание прототипа с помощью CSS-фреймворка Grid 960

Reading time10 min
Views24K
imageGrid 960 — это CSS Фреймворк, который позволяет разработчикам быстро конструировать прототипы дизайна. Они являются замечательным инструментом для создания макетов. Почему? Потому что они делают за вас всю тяжелую работу, позволяя получить быстрые результаты.

Звучит отлично, но как это делается? В интернете есть большое количество статей, агитирующих за и против использования CSS-фреймворков, но нет ничего в помощь неопытным читателям. Поэтому в сегодняшней статье мы рассмотрим процесс создания прототипа.
Читать дальше →
Total votes 58: ↑48 and ↓10+38
Comments51

Правила эффективного использования jQuery

Reading time5 min
Views43K
Здесь приведен ряд очень простых правил, следуя которым, ваше сотрудничество с jQuery не будет омрачено скрежетом напрягшегося браузера. Конечно, не так часто случается, что скорость работы javascript’а оказывается критичной, однако такое все же может произойти, и произойти в самый неподходящий момент. Поэтому, лучше держать эти правила в голове и не пренебрегать ими.
Читать дальше →
Total votes 144: ↑112 and ↓32+80
Comments151

Программирование для Nintendo DS. Простейшая игра

Reading time7 min
Views4.4K
В этой статье рассмотрим работу с тайловой графикой, прерываниями, сенсорным экраном и клавиатурой. На основе этого напишем всем с детства известную игру — «пятнашка».
Для начала поподробнее разберём работу с видеоконтроллером DS.

Инициализация видеоконтроллера


Практически все видеорежимы используют «многослойную» структуру организации вывода на экран, то есть одновременно мы можем отображать до 4-х планов (background). Не знаю хорошенько какой термин лучше использовать, пусть будет «план» — «задний план».

Всего имеется 6 типов задних планов:
  • framebuffer — Самый простой тип заднего плана. Каждое слово (16бит) в видеопамяти отображается в виде пикселя на экране. (Использовался в прошлом примере);
  • 3D — Картинка на экране формируется OpenGL-подобными командами;
  • text — Текстовый задний план (он же тайловый) разделён на блоки 8х8 пикселей, в каждом из которых отображается один из тайлов;
  • rotation — Тайловый план с возможнотью вращения и масштабирования;
  • extended rotation — Тоже что и фреймбуфер, но ещё позволяет отображать глубину цвета 8 бит на пиксель, а также поддерживает скроллинг, масштабирование и вращение, кроме того может использовать альфа-бит;
  • large bitmap — Большие 512х1024 или 1024х512 изображения с 8 битами на пиксель.


Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments11

Ruby on Rails 3 — Заметки к финальному релизу

Reading time19 min
Views5.6K

Оглавление

  1. Переход на Rails 3.0
    • Rails 3 требует Ruby 1.8.7+
    • Объект Application в Rails
    • script/* заменен на script/rails
    • Зависимости и config.gem
    • Процесс перехода
  2. Создание приложения на Rails 3.0
    • Включение гемов
    • Жизнь на грани
  3. Архитектурные изменения
    • Перезарядка Railties
    • Все компоненты ядра Rails теперь независимы
    • Абстракция Active Model
    • Абстракция контроллеров
    • Интеграция Arel
    • Извлечение Mail
  4. Документация
  5. Интернационализация
  6. Railties
  7. Action Pack
    • Абстрактный контроллер
    • Action Controller
    • Action Dispatch
    • Action View
  8. Active Model
    • Абстракция ORM и интерфейс c Action Pack
    • Валидации
  9. Active Record
    • Интерфейс запросов
    • Усовершенствования
    • Патчи и устаревшие методы
  10. Active Resourсe
  11. Active Support
  12. Action Mailers
  13. О создателях
Читать дальше →
Total votes 109: ↑99 and ↓10+89
Comments57

Другая книга про XSLT

Reading time2 min
Views6.6K
Вашему вниманию предлагается небольшая по объему книга (можно называть это брошюрой), посвященная XSLT и его использованию в качестве языка шаблонизатора при создании сайтов на UMI.CMS.

Это не реклама «еще одной cms», и «еще одного шаблонизатора», а лишь предложение познакомиться с одним из подходов к использованию технологии XSLT при создании сайтов, где в качестве системы управлением контента взята UMI.CMS.
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments76

Программирование для Nintendo DS. Первые шаги

Reading time3 min
Views6.7K
В статье рассматриваются основы разработки программного обеспечения для Nintendo DS под Linux. Впрочем все используемые инструменты кроссплатформенные и не должно быть больших отличий для других ОС.

Для начала разберёмся, что же вообще из себя представляет эта игровая консоль. Вот, что нам говорит википедия:
* Процессор: ARM946E-S — 67 Мгц, сопроцессор ARM7TDMI — 33 МГц
* Память: 4 МБ, 656 КБ видео памяти, 512КБ памяти для текстур
* Экран: два отдельных ЖК-дисплея, диагональ 77 мм (3 дюйма), разрешение 256х192 пикселей, до 260 тысяч цветов. Расстояние между экранами — примерно 21 мм, что эквивалентно 92 «скрытым» строкам.
* Видеосистема: Поддержка 2D и 3D (T&L, преобразование координат текстур, маппинг текстур, альфа-смешивание, сглаживание, цел-шейдинг и Z-буферизация), теоретически позволяет отрисовывать 120 000 полигонов в сек (однако, имеет ограничение на отрисовку 6144 вершин или 2048 треугольников за один кадр).
* Звук: Стерео, 16-канальный ADPCM/PCM
* Накопители: 1 слот для собственных катриджей Nintendo DS, 2 слот для катриджей Nintendo Gameboy Advance
* Связь: IEEE 802.11 (Wi-Fi), для соединения используется собственный формат Nintendo. Радиус локальной сети от 10 до 30 метров в зависимости от условий.
* Управление: сенсорный экран, встроенный микрофон для голосовой идентификации, A/B/X/Y кнопки, D-Pad, шифты L/R, кнопки Start и Select
* Время работы: 6-10 часов
* Вес: 275 грамм
* Размеры: 148,7 × 84,7 × 28,9 мм
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments45

CSS-макросы для NetBeans

Reading time2 min
Views14K
На хабре несколько раз публиковалась информация о Zen Coding, который может подключаться ко многим редакторам кода с целью ускорения верстки HTML и CSS кода. Одним из таких редакторов является NetBeans, который, правда, не работает с ZEN CSS.

Не желая мириться с таким положением дел, я, как и в случае с Notepad++, написал макросы для самых частоупотребляемых записей, дабы сэкономить драгоценные секунды (да и лень честно говоря писать свойства целиком).
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments24

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity