Search
Write a publication
Pull to refresh
0
0
Бутыльский Илья @Butylski

User

Send message

Lightwindow — функциональный клон Lightbox

Reading time1 min
Views2.2K

Основное отличие от оригинала в том, что Lightwindow позволяет просматривать не толко картинки, но и практически все что угодно:
  • Media: Movies, Flash (с «подгонкой» под размер окна), PDF..
  • Веб страниц (включая, по внешней ссылке)
  • Формы
  • … любой веб-контент
Читать дальше →

CSS Sprites: все, что вы знали, но боялись спросить

Reading time1 min
Views6K
Сейчас уже много где написано и упомянуто про технику CSS sprites (aka CSS Image Maps). Я не буду открывать Америку и рассказывать о ней дотошно еще раз, а просто хочу привести несколько примеров и полезных ссылок. И пару советов из собственной практики.

Сама техника заключается в том, что мы создаем комбинированное изображение, из которого затем «вырезаем» с помощью свойств background-position нужный нам в данном случае кусок. На текущем уровне поддержки браузерами (я полагаю, что 99,9%) оно является просто must-have для любого уважающего себя интернет-ресурса (ибо позволяет сократить число запросов к серверу, отделить поведение от представления, возложить труд по анимации на CSS-движок браузера, а не на JS-движок, т.е. это будет работать даже с выключенными скриптами, и много-много прочих «вкусностей»). Но обо всем по порядку. Поехали.

читать дальше на webo.in →

Lightview — очередной превьювер изображений

Reading time1 min
Views3.8K


Нашел вот такой вот превьювер для изображений, написанный на javascript'е c использованием библиотек Scriptaculous и Prototype.

Переводить не хочу, на сайте все прекрасно и просто описано, вообще принципиальных отличий от всякий Lightbox'ов я не увидел, разве что края закругленные. И еще — это чудо использует Canvas и VML для прорисовки изображений.

В любом случае — может кому и пригодиться. Удачи!

www.nickstakenburg.com/projects/lightview

Практический CSS/JS: архивируем все!

Reading time1 min
Views2.8K
Примечание: ниже частичный перевод статьи «Compress JavaScript and CSS without touching your application code», в которой описывается статичное сжатие CSS- и JS-файлов на сервере и корректная выдача их затем клиенту. Далее даны мои комментарии с более комплексным решением. Приношу извинения, если для кого-то тема будет слишком знакома или неинтересна: в Рунете нормальной статьи на данную конкретную тематику обнаружить не удалось.

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

  • Проверить, умеет ли клиент принимать файлы в формате gzip-encoded.
  • Обеспечить соответствующий вывод на стороне сервера через gzip-функции, либо уповать на то, что всем этим займется непосредственно Apache.
  • Поиграться с .htaccess, чтобы обеспечить корректный content type.


читать дальше на webo.in →

jQuery для верстальщика (часть 1): стрелочки для ссылочек

Reading time2 min
Views2.9K
Эта мини-статья посвящена очень простой вещи, которая будет интересна, прежде всего, начинающим пользователям библиотеки <a href=«jquery.com>jQuery. Я покажу, как прикреплять к каждой ссылке небольшое изображение, чтобы выделить ее.

Читать дальше →

Как запретить браузеру выделять текст

Reading time4 min
Views180K
Если Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
Читать дальше →

Показатель обратной загрузки файла для форм (Upload Progress Meter)

Reading time2 min
Views4.8K
Вы когда-то видели этот лоадер:
rapidshare loader
Или вот этот:
drop.io loader

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

как такое сделать написано далее

Отключаем нежелательные HTML-элементы с помощью CSS

Reading time5 min
Views9.9K
Часто, когда мы сдаем проект клиенту, мы теряем контроль над HTML-кодом. Иногда клиент использует CMS (Системы Управления Контентом), которые дают ему полный контроль над теми или иными частями HTML-кода. Иногда клиент просто использует наши темплейты для вывода своего кода в документ.
В большинстве случаев довольно тяжело проинформировать клиента о том, как использовать темплейты или CMS, которые вы ему предоставляете, а иногда просто неприемлемо толкать пламенные речи о семантической верстке и веб-стандартах. Клиент может/будет использовать «старую, добрую разметку», ту, которую он знает, просто потому что она работает и выглядит так как он привык. Скорее всего в ней будут присутствовать нежелательные (deprecated) тэги и атрибуты, такие как bgcolor, align и «вечный» font. Эта статья о том, как блокировать нежелательные HTML-тэги с помощью CSS, тем самым аккуратно направляя клиента в правильном направлении.
Читать дальше →

История одного дизайнера, или как они нарисовали Рататуй…

Reading time4 min
Views3.5K
Иногда студии делают для себя открытие, что самые лучшие таланты сидят прямо у них под носом. Так произошло с Джейсоном Димером, 33-летним дизайнером, являющимся сейчас арт-директором персонажей студии Pixar и одним из четырех дизайнеров персонажей совместного творения Disney и Pixar — «Рататуй».

Джейсон Димер

Изначально Димер не был художником Pixar, он начал свой путь с самого низа служебной лестницы. «Я думал, что из меня получится неплохой художник», — говорит Димер: «Я всегда мечтал стать художником и поэтому поехал в UC Davis, потому что там были самые лучшие учителя».

Когда он оказался в классе, в котором было полно технарей, он сразу перевелся в Калифорнийский Колледж Искусств и Ремесел в Оукланде (теперь «Калифорнийский Колледж Искусств»), недалеко от родного города Джейсона Милл-Вэлли.
После окончания Колледжа, Димер начал работать в качестве фрилансера. Он не голодал, но испытывал затруднения при оплате счетов. «Мне пришлось занять деньги на школу», — говорит Джейсон. «Мой кредит стоил мне 500 долларов ежемесячно».

Так что, когда Джимми Хайвард, его напарник по скейтборду и одновременно аниматор студии Pixar, сказал ему, что студия нанимает разнорабочих в офисы, Джейсон сразу же согласился. «Это было сразу после «Истории игрушек». Я слышал о Pixar, я даже видел их короткометражные мультфильмы на анимационных фестивалях, но я и не думал связывать будущее со этой студией. Я думал, что я буду просто помогать двигать мебель...».

Что ж, именно этим он и занимался. Двигал мебель, делал сэндвичи, ксерокопировал, сидел на столе и бегал по коридорам с папками, заполненными эскизами к новым творения Pixarа «Корпорации монстров» и «Жизни жуков». А в свободное время он делал наброски.

«Я не могу ни секунды обходиться без того, чтобы не нарисовать что-нибудь на клочке бумаги», — говорит Димер. «Когда я делал копии на ксероксе, я оставлял один лист на крышке. И в то время, пока аппарат пропускал через себя очередную копию, я делал очередной штрих на своем наброске». Джейсон рисовал даже на чашках: «Я просто обожал рисовать на чашках героев комиксов».

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

Тачки

Так закончились карьеры носильщика, клерка и разнорабочего Димера. Его перевели в декорационно-художественную службу, где он занимался для «Корпорации монстров» тем, что Pixar называет «отладкой моделей». Димер поясняет: «После того, как персонаж создан, надо сделать последние штрихи, добавить жизни в героя, его повадки, нарисовать персонажа со всех сторон».
Читать дальше →

Основы масштабирования

Reading time10 min
Views64K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru

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

Читать дальше →

Практический HTML: учимся любить формы

Reading time4 min
Views8.3K
Примечание: ниже находится перевод тезисов доклада «Learning to Love Forms» с конференции «WebVisions 2007» (автор Aaron Gustafson). Докладчик рассказывает о верстке форм, используя корректный и эффективный XHTML/CSS-код.

  • Формы — это необходимое зло. Людям свойственно усложнять формы, хотя они могут быть представлены весьма просто.
  • Рассматривайте верстку форм как создание обычного XHTML-кода. Но будьте готовы к несоответствиям со стороны браузеров и применению хаков.
  • Разбивайте сложные формы на несколько простых частей.
  • Старайтесь обеспечивать максимальную семантическую ценность кода.
  • Не усложняйте дизайн форм.


XHTML & CSS приемы



  1. Элемент FORM создает форму.
  2. Единственным обязательным его атрибутом является ACTION, и он всегда должен быть URI.
  3. По умолчанию METHOD выставляется в GET.
  4. Атрибут NAME устарел, используйте вместо него ID.
  5. Элемент FIELDSET используется для группировки связанных полей формы. Может быть вложенным.

Читать дальше →

Как проверить заказчика «на вшивость»

Reading time2 min
Views2.2K
При выполнении разных заказов я лично и много моих знакомых
сталкивались с вопросом — как до начала работ определить, что после выполнения заказа все останутся довольны?

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

Читать дальше →

IM + user account = новая технологя профиля пользователя в web

Reading time5 min
Views1.1K
Это выдержка заметки в блог IM (link) на тему оригинального механизма регистрации и авторизации на сайте + еще пару мыслей об интеграции веб с нашей повседневной жизнью.

Предыстория


Существуют разные системы и способы организации дел, напомниания о них.
Я имел когда-то два icq uin'a (рабочий\домашний) для этих целей. Т.е. вместо писем я посылал im-сообщения самому себе, чтобы по приходу (поймите правильно) не забыть сделать важные вещи. До недавнего момента, к сожалению, использовал две jabber-аккаунта для тех же целей (тут даже идея приоритетов помочь не может).

Но всё изменилось


Читать дальше →

Практический JS: балансировка на стороне клиента

Reading time1 min
Views1.9K
Примечание: ниже находится перевод статьи «Client Side Load Balancing for Web 2.0 Applications», в которой затрагиваются вопросы балансировки нагрузки между несколькими серверами и рассматривается решение, обеспечивающее балансировку такой нагрузки прямо на компьютере клиента.

Сервер обрабатывает HTTP (HyperText Transfer Protocol) запросы со стороны браузеров. Если вы введете в адресной строке URL, например, www.digital-web.com, то ваш компьютер отправит поисковый запрос для определения, какие именно сервера будут обрабатывать ваш запрос и пересылать данные. Техника обработки таких запросов для кластера веб-серверов называется балансировкой нагрузки.

Балансировка нагрузки для веб-приложений



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

  • Распределять нагрузку внутри кластера рабочих серверов.
  • Корректно обрабатывать отказ одного из рабочих серверов.
  • Весь кластер должен существовать для конечного пользователя как одна-единственная машина.


читать дальше на webo.in →

Делаем закругленные уголки с помощью псевдоэлементов: before и: after

Reading time1 min
Views3.5K
Внимание! Это все устарело, но публикацию не удаляю, чтобы все знали как мы мучались в 2007 году из-за IE6 :-)

Задача: сделать врезку с закругленными уголками с минимумом html-кода.

Читать дальше →

Когда деревья были большими или о том, с чего все начинали

Reading time4 min
Views2K
Мне часто задают вопрос о том, с чего начать молодому frontend-разработчику? Дабы облегчить свою участь и не перечислять каждый раз множество ресурсов сети, печатных и зданий и общих тезисов, я и написал этот материал.

В первую очередь следует знать, что кроссбраузерная верстка сродни магии. Объясняется это все банальной вещью, которую я озвучу так: ”Все мы ненавидим Internet Explorer!” Таким образом, 90% всей магии сводится к тому, чтобы заставить правильно сверстанный макет корректно отображаться в браузере Internet Explorer всех актуальных версий.

Чтобы научиться сему мастерству потребуется практика, много практики. И сев сейчас серьезно изучать аспекты верстки, вы и через полгода будете удивляться, сколько вы до сих пор не знаете.

Крепкая теоретическая база поможет вам избежать множества неприятностей в практическом изучении верстки гипертекстовых документов. Очень важно получать знания порциями в правильном порядке.
Читать дальше →

Классы, объекты и наследование в JavaScript

Reading time17 min
Views29K
Недавно в офисе Хабра я хотел прочитать своим коллегам небольшой доклад об объектной ориентации и наследовании классов в JavaScript.

Дело в том, что в свое время я был в полном восторге, научившись создавать свои собственные объекты и выстраивать цепочки наследования, и решил, что называется, поделиться с другими своими находками и наблюдениями. (=

Признаюсь, что в процессе подготовки текстов семинара некоторые вещи я открыл для себя заново и был вновь удивлен теми возможностями, которые JavaScript имеет в своем распоряжении, и которые становятся доступными разработчику лишь при пристальном разглядывании и экспериментировании языком.

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

Весь текст подеён на 5 разделов:
  1. ООП в Java Script (1/5): Объекты
  2. ООП в Java Script (2/5): Классы
  3. ООП в Java Script (3/5): Свойства и методы класса
  4. ООП в Java Script (4/5): Наследование классов
  5. ООП в Java Script (5/5): Полезные ссылки

Читать дальше →

Трансформер для микроформатов. (mf -> XML и JSON)

Reading time1 min
Views1K
Буквально сегодня официально объявлено о запуске сетевого сервиса «Optimus», позволяющего брать микроформатированный контент с любого URL, и преобразовывать его в XML или JSON.

Optimus позволяет извлекать данные в форматах hCalendar, hCard, hAtom, hResume, hReview, xFolkentry, adr, geo, xfn, votelinks, rel-nofollow, rel-tag, rel-license.

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

P.S. Сервис разработан с участием Дмитрия Барановского (DmitryBaranovskiy) — хорошего парня и талантливого разработчика, ныне живущего в Австралии.
P.P.S. Клавиатура Лебедева не служила прототипом для названия сервиса. Optimus — персонаж из аниме (со слов разработчиков).
P.P.P.S. Замечены проблемы с кириллическими кодировками. Их решают.

55 причин использовать XHTML-CSS при создании сайтов

Reading time4 min
Views3K
Перевод статьи «55 Reasons to Design in XHTML-CSS».
В случайном порядке здесь представлены мои 55 причин создавать только бестабличные сайты, используя валидный XHTML для разметки, CSS для форматирования и Flash только в качестве уместной вставки. Под бестабличностью я понимаю избегание форматирования контента таблицами (или «супом» из заменяющих таблицы div-ов) и нацеленность на как можно более семантичную разметку. Некоторыe из перечисленных причин объясняют, «почему не использовать простой HTML», некоторые — «почему не сделать все на Flash», некоторые относятся как к первому, так и ко второму.
Я знаю, что эта тема обсуждалась множество раз, но все равно выскажусь :)

Итак, приступим

Information

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