Обновить
467.7

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

ImageOptim (mac), smush.it — сжимаем изображения

Время на прочтение2 мин
Охват и читатели7.3K
Наверное многие из вас знают, что Adobe Photoshop и Adobe Fireworks сжимают изображения не оптимально и после нарезки макета в Photoshop'e (Fireworks'e) изображения в большинстве случаев можно ужать. В среднем на дополнительном сжатии без потери качества небольшого сайта можно сэкономить килобайт 10, уж не говоря о разного рода фотогаллереях или сайтов с большим количеством графики. Немало, особенно на высоконагруженных проектах! Существует довольно много консольных программ для сжатия картинок без потери качества, а через консоль работать достаточно неудобно, и это отнимает время разработчика. Около месяца назад наткнулся на программу под названием ImageOptim.

ImageOptim

Она прогоняет картинки через консольные оптимизаторы изображении (AdvPNG from AdvanceCOMP, OptiPNG, PngCrush, JpegOptim, Jpegtran from libjpeg и опционально PNGOUT) и выбирает лучший алгоритм для сжатия, и самое главное она имеет очень удобный визуальный интерфейс. Достаточно просто перетащить изображение или папку с изображениями в окно ImageOptim и все. К сожалению программа рассчитана на работу только с png и jpg форматами и не поддерживает gif.

Спешу расстроить пользователей Windows, есть только версия программы под Mac. Те кто использует Windows, могут обратить внимание на сервис smush.it — это онлайновый оптимизатор графики, также есть расширение для Firefox. Одним из преимуществ сервиса над ImageOptim является возможность оптимизации анимированных gif.

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

upd. Перенес в Web-разработку

upd2. В комментах подсказали, что есть программа с аналогичным функционалом под windows, называется PictureBeaver. Сам сию утилиту не тестировал, так что кто пользуется отпишитесь плз. Автор кстати москвич Артём Сапегин.

почти.там

Время на прочтение1 мин
Охват и читатели638
Публикую по просьбе farcaller, т.к. у него не хватает кармы. Поэтому плюсы, пожалуйста, туда.

Я уже как-то писал про очень интересную и перспективную технологию по имени Cappuccino. Сегодня я хочу обратить ваше внимание на второй по качеству проработки проект на этом новом фреймворке — almost.at.

Дебютировавшем проектом на Cappuccino остается 280slides от авторов самого Objective-J и Cappucino. Almost.at показывает нам, что можно сделать даже более функциональный проект на зароджающемся фреймворке.

И так, что же такое — almost.at? Это сервис, который отслеживает интересные (с точки зрения администрации) темы в сети: на твиттере (в виде твитов и картинок) и просто по ключевым словам. Делает это он в красивом mac-like интерфейсе.



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

Промо-сайт за три дня. Или от бумажки до сайта

Время на прочтение1 мин
Охват и читатели1.2K
image Наш нижегородский свадебный сайт проводит второй год подряд (ну можно сказать уже ежегодная) акцию «Невесты в большом городе II». В этом году решили сделать промо-сайт для акции. Как сделали этот промо-сайт за 3 дня я расскажу в этом топике.

Итак. Все сделали за три дня. Может быть это не очень и быстро, но на мой взгляд достаточно :)
Читать дальше →

Поддержка стандартов в Opera Presto 2.2 и Opera 10 beta

Время на прочтение9 мин
Охват и читатели995

Введение


Только что мы выпустили первую бету Opera 10, которая не только включает некоторые отличные новые возможности, но и просто потрясающе выглядит. Но что это значит для разработчиков? В эту бету включена новая версия движка Opera Presto 2.2, которая обеспечивает лучшую скорость, стабильность, поддержку веб-стандартов и многое другое. Эта публикация посвящена самым важным улучшениям в поддержке веб-стандартов, что были представлены в Opera Presto 2.2 (см. список предыдущих улучшений в Presto 2.1). Нам будет интересно посмотреть на то, что у вас получилось сделать с использованием этих новые возможностей, так что дайте знать в комментариях.
Читать дальше →

Cufón – используйте шрифты, какие душа пожелает

Время на прочтение4 мин
Охват и читатели91K
Если стоит задача использовать в проекте нестандартный шрифт, то есть возможность пойти несколькими путями:
  1. Ъ-метод – не использовать нестандартные шрифты, достаточно в CSS сказать body {font-family: sans-serif;} и не морочить себе голову.
  2. Быдло-метод – нарезать из ЖПЕГов, картинок с заголовками, ужать посильнее, что б появилась размытость и вставлять вместо текста картинки. Достаточно популярный на наших просторах метод.
  3. W3C-метод – используем @font-family и наслаждаемся красивыми шрифтами без всяких заморочек. Пока этот метод не рассматривают, как рабочий, по причине слабой поддержи со стороны браузера.
  4. sIFR – клевая вещь, наиболее употребляемая на сегодняшний день, но как недостаток – требует наличия Flash-плагина. Хотя это трудно назвать недостатком, но если есть инструмент, позволяющий обойтись без плагинов, то это не может не радовать.
  5. Cufón – самое то. Относительно новый метод, который показывает превосходные результаты. Он и есть герой этой статьи.
Читать дальше →

Управляем Flash-объектом на Javascript

Время на прочтение3 мин
Охват и читатели12K
Управляем Flash-объектом на JavaScript

Возможности JavaScript в 95% случаев позволяют решить любую задачу для Web 2.0. Но иногда хочется чуточку больше, чуточку красивее, возможно, чуточку быстрее. В этой статье на примерах я хочу показать, как восполнить этих 5% недостающего функционала средствами Flash.
Эта статья будет полезна разработчикам, которые пишут в основном на JavaScript и имеют минимальные знания ActionScript 3.

Для вдохновения


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

Этот пример интересен тем, что дизайн и управление контролируется средствами CSS и JavaScript. JavaScript при необходимости использует необходимый функционал из Flash.

Если Вам понравилось, идем дальше: мы рассмотрим как это работает на более простом примере.
Читать дальше →

Wiki-учебник по веб-технологиям

Время на прочтение2 мин
Охват и читатели5K
В продолжение статьи stepan_ovchinnikov «Обучение веб-технологиям. Необходимое, лишнее, вредное».

Современные веб-технологии не стоят на месте. Технологии создания веб-сайтов непрерывно совершенствуются и сейчас скорость их совершенствования так высока, что учебные пособия часто успевают значительно устареть еще до публикации. Чтобы обучение веб-программированию было динамичным, предлагаем вам принять участие в разработке Wiki-учебника по веб-технологиям.
Читать дальше →

Deferred для Javascript (Prototype)

Время на прочтение2 мин
Охват и читатели3.5K
Prototype and Twisted
Продолжая тему Deferred для JavaScript предлагаю еще одно переписывание Deferred, теперь в терминах Prototype. Подробнее о самом Deferred можно почитать в двух моих прошлых заметках: Асинхронное программирование: концепция Deferred и Deferred: все подробности. Если кратко, самое распространенное и полезное применение Deferred в JavaScript — это работа с AJAX или другими RPC-over-HTTP вызовами, когда необходимо совершить цепочку логически связанных вызовов, корректно обрабатывать возникающие ошибки и т.п. С моей точки зрения, Deferred крайне необходим в таких ситуациях.

Перейдем к примерам: обращение к некоторому JSON-RPC API на основе Prototype’овского Ajax.Request можеть быть обернуто в Deferred следующим образом:
Читать дальше →

Пуш ми, бум-бум, тач ми… Ajax Push Engine

Время на прочтение5 мин
Охват и читатели7K
logoСегодня поговорим о Comet и о server push вообще.

Обычные веб-приложения, как и сайты, работают по традиционной модели запрос-ответ-запрос, при этом, в силу особенностей HTTP-протокола и некоторых серверных реализаций обработчиков, приложение не хранит информацию между запросами, так что каждый вызов является независимым, а идентификация или сессионность обеспечиваются более высокоуровневыми средствами (например, всем известная реализация сессий в PHP). Кроме этого, запрос на новую информацию посылает всегда клиент, который заинтересован в получении самой актуальной версии данных. В приложениях, которым критично обновление, это часто становиться узким местом. У нас в одном из предыдущих проектов, было сразу несколько периодических AJAX-запросов на обновление данных. Хотя для такого случая есть варианты и вызова нескольких обработчиков на стороне сервера одним запросом от клиента.
Читать дальше →

TurboGears 2.0

Время на прочтение1 мин
Охват и читатели3.8K
27 Мая 2009 года вышла новая версия фреймворка для разработки веб-приложений на языке Python.
image


TurboGears 2 построен на основе опыта и тенденций современных фреймворков, включая TurboGears 1, Django, Rails. Все эти фреймворки имели ограничения, что вызывало когнитивный диссонанс и TG2, пытается разрешить эти проблемы.
Читать дальше →

TOP-100 ведущих студий Рунета 2009

Время на прочтение2 мин
Охват и читатели1.1K
Привет, хабр!

Рейтинг Тэглайн 2009Опубликованы результаты четвертого ежегодного рейтинга экспертной группы Тэглайн — «Top-100 ведущих веб-студий Рунета 2009». Формальным показателем построения рейтинга, как и в прошлые годы, послужил оборот компаний на рынке разработки и поддержки Интернет-проектов.

Первая десятка рейтинга выглядит следующим образом:

1. Студия Артемия Лебедева
2. Actis Wunderman
3. ADV/web-engineering
4. Defa Interaktiv
5. Deluxe Interactive Moscow
6. Креативное агентство Red Keds
7. Promo Interactive
8. РБК-Софт (Армада)
9. Бюро Пирогова
10. Qsoft

Методология (довольно сильно поменялась с прошлого года) учитывала голосование представителей студий и внешних экспертов, а также поправочные коэффициенты по данным, поданным самими студиями. Поимо прочего, опубликована оценка объема рынка за 2008 год.
Читать дальше →

Полнотекстовый поиск по сайту — бич современного интернета

Время на прочтение4 мин
Охват и читатели28K
Реализация хорошего поиска по сайту — часто сильно недооцененная по сложности задача. Поиск является слабым местом сайтов настолько часто, что когда я вижу строку поиска, у меня сразу же возникает предвзятое ощущение предстоящего фиаско. И чтобы лишний раз не расстраиваться, я сразу переадресую свой вопрос гуглу или яндексу и быстро нахожу то, что требовалось. Что же делать, чтобы как-то улучшить эту ситуацию?
ответы

10 рекомендаций по html-верстке электронных писем

Время на прочтение4 мин
Охват и читатели107K
Рекомендация первая: забудьте про блочную верстку. Весь лэйаут должен быть на таблицах. При этом, без крайней необходимости — их тоже лучше не использовать. Также следует выкинуть из головы представления о семантике, сокращенных css-правилах, валидации, плавающих блоках — и прочее. Самый распространенный в РФ почтовый сервис на данный момент (mail.ru) вообще не понимает стили (css). Любые тэги/атрибуты style заменяются на xstyle и не работают. Вообще все.

Так что, фактически, при вёрстке html для почтовой рассылки надо мысленно переместиться в 90-ые годы прошлого века и смело использовать все распространенные приёмы того времени.

Для тех, кто с ними не знаком (как я был) — напомню:
Читать дальше →

Ближайшие события

Implementing FSM

Время на прочтение7 мин
Охват и читатели19K
В статье рассказывается о разработанной автором миниатюрной Java библиотеке, позволяющей коротко и наглядно определять конечные автоматы. Библиотека, назовем ее AkerFSM, доступна в Google Code.
В первой части статьи сформулированы предпосылки и требования к библиотеке. Во второй части приводится абстрактный пример использования библиотеки. В третьей части рассмотрены важные моменты устройства самой библиотеки. Четвертая часть посвящена рассмотрению упрощенного примера из реальной жизни, в котором с помощью конечного автомата задается поведение одного из контроллеров в GWT-приложении.

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

Пособие: Красивая и удобная выпадающая панель для входа/регистрации

Время на прочтение2 мин
Охват и читатели3.5K
Помните мою выпадающую панель для входа/регистрации, реализованную с помощью Mootools 1.2? Я подумал, что её можно было бы улучшить как с точки зрения дизайна, так и с точки зрения функциональности, и я это сделал! Но с этого времени уже на jQuery.

screenshot and demo
Читать дальше →

Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)

Время на прочтение6 мин
Охват и читатели20K
Продолжается развитие темы о многоуровневом дереве с маркерами. Многоуровневое дерево с сохранением состояния узлов
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

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

Вклад авторов