Pull to refresh
0
0
ixaxme @xaxaTyH

User

Send message

Десятка незаменимых Firefox-надстроек веб-разработчика

Reading time3 min
Views6.8K
Наличие хорошего инструментария критично для веб-разработчика когда речь идет о высокой производительности. Дополнения к Firefox могут здорово помочь при верстке HTML, валидации, редактировании стилей CSS, отладке JavaScript и прочей рутине. Поэтому я подумал что было бы неплохо сформировать список наилучших расширений Firefox на которых я остановился. Вот десятка тех, которые экономят мое время и спасают ежедневно.
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments38

Ещё один способ победить Internet Explorer

Reading time2 min
Views7.8K
Рано или поздно все web-разработчики сталкиваются с ситуацией, когда Internet Explorer становится проблемой, тормозящей разработку проекта. Сайт свёрстан валидно, по стандартам. Нормально отображается в Mozilla, Opera, Safari и других нормальных браузерах. Но. Открываем его в IE. И видим. Как то, что мы подгоняли по пикселям, строго придерживаясь стандартов, размазано по странице. Ладно ещё в IE7 можно более-менее просто подогнать вёрстку (конечно зависит от дизайна), но от IE6 иногда волосы встают дыбом. К счастью, существуют способы, которые позволяют повлиять на ситуацию. Кто-то использует хаки, кто-то — conditional comments. Где-то можно пойти на компромис и упростить задумку дизайнеров, поддерживая пользователей недобраузеров.
Читать дальше →
Total votes 106: ↑73 and ↓33+40
Comments104

Автоматизируем клиентскую оптимизацию

Reading time12 min
Views5.5K

Предыстория

Как известно, перед тем, как выложить сайт в нет, мы его разрабатываем. И делаем мы это, как ни странно, на машине разработчика. И давно замечено, что javascript, а в некоторых случаях и css удобнее при разработке держать в нескольких файлах.Проблема в том, что, согласно принципам, описанным в статье Best Practices for Speeding Up Your Web Site (перевод доступен на сайте webo.in), для ускорения загрузки сайта нам нужно произвести следующие манипуляции над javascript и css файлами:
  1. Слить весь javascript в один файл, причем, желательно так, чтобы сохранился нужный порядок — т.е., скажем, библиотека jQuery — была ближе к началу, а функции и объекты, которые ее используют — после нее.
  2. Слить весь css в один файл
  3. Сжать эти большие файлы с помощью какой-нибудь утилиты вроде yui-compressor (за исключением css-файлов, название которых начинается, скажем, с префикса ie_, которые содержат data:URL, и поэтому критично относятся к переходам со строки на строку, так что их для собственного спокойствия лучше не сжимать)
  4. Расположить их в таком порядке — css-файл как можно ближе к открывающему тэгу head, а js-файл — как можно ближе к закрывающему тэгу body.
  5. Выставить HTTP-заголовок expires на подольше, чтобы браузер пользователя их закешировал. Ну а для того, чтобы при следующем билде у пользователя обновился js и css надо этим файлам дать какое-нибудь уникальное имя.
  6. Перед отдачей файлов клиенту сжимать их с помощью gzip

К чему это я?

Пункты 5 и 6 уже подробно расписаны в других местах.
Я же хочу рассмотреть в этой статье вопрос автоматизации пунктов 1,2,3,4. А точнее, я хочу предложить инструмент, с помощью которого одним (ну, максимум — двумя-тремя :) нажатием кнопки можно выполнить пункты 1, 2, 3, 4 настоящего списка и получить готовые к заливке на сервер javascript и css файлы.
Интересно?
Total votes 50: ↑48 and ↓2+46
Comments74

Нормализация Unicode

Reading time2 min
Views21K
Однажды мне пришлось наблюдать, как спамеры очень интересным образом обходят спам-фильтр. Вместо традиционного URL типа «example.com», ссылка выглядела так:
http://example.com
Ссылка с подобной изощрённой точкой работает в IE7, FF3, Opera 9.5, Safari 3, Google Chrome и не работает в IE6.
Читать дальше →
Total votes 126: ↑125 and ↓1+124
Comments27

Оптимизация изображений, часть 3: 4 шага для уменьшения размера файлов

Reading time1 min
Views4.6K
Примечание: ниже расположен перевод заметки Image Optimization, Part 3: Four Steps to File Size Reduction от Stoyan Stefanov. В ней рассматриваются наиболее популярные консольные утилиты для минимизации изображений. Мои комментарии далее курсивом.
Stoyan StefanovОб авторе: Stoyan Stefanov работает веб-разработчиком в команде Yahoo! по исключительной производительности и руководит разработкой инструмента для анализа производительности — YSlow. Он также внес значительный вклад в программы, разрабатываемые с открытым исходным кодом, выступает на конференциях и является техническим писателем: его последняя книга озаглавлена Объектно-ориентированный JavaScript.

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

Текущая заметка посвящена некоторым наиболее часто используемым инструментам, которые можно применить для уменьшения размера изображений. Идея заключается в следующем: мы можем получать все изображения от дизайнера, но не оставлять их в исходном виде, а немного уменьшать в размере, используя указанные ниже инструменты. Это позволит автоматизировать процесс без необходимости глубокого анализа структуры изображения.
Читать дальше на webo.in →
Total votes 108: ↑90 and ↓18+72
Comments19

Фреймворк Kohana — впечатления от использования

Reading time2 min
Views16K
Приветствую тебя, Хабрачеловек.

KohanaПолторы недели я пишу небольшой проект на Kohana. Сегодня решил немного рассказать об этом замечательном PHP-фреймворке и некоторых его особенностях, а также поделиться субъективными впечатлениями от работы. Надеюсь, кому-нибудь этот пост окажется полезен, особенно учитывая тот факт, что информации о Кохане в сети пока очень мало.

Итак.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments79

Простой способ переноса больших файлов по частям

Reading time1 min
Views30K
Бывает, что необходимо перенести большой файл, например, на flash с файловой системой FAT16/32 или загрузить на сервер по частям. На помощь придут две программы, которые, как правило, присутствуют в любом дистрибутиве Linux и Mac OS.

Команда split

$ split -a 1 -d -b 4000M sample.iso sample.iso.part

разобьет исходный файл sample.iso на части по 4 Гбайта (максимальный размер файла в FAT), каждая из которых будет именоваться как sample.iso.partN, где N = 0, 1, 2,… .
Собрать части воедино на целевой системе поможет команда cat:

$ cat sample.iso.part* > sample.iso

Применение маски приведет к тому, что утилита cat переберет все файлы по порядку, начиная с sample.iso.part0.

Этот наглядный пример показывает, как можно перенести большой файл. Более подробную информацию по использованию cat и split можно получить в справке (--help) и руководствам (man) к программам.
Total votes 82: ↑59 and ↓23+36
Comments69

Совмещенные «типографские» раскладки для нескольких языков

Reading time2 min
Views3.3K
image
Долгое время у меня в системе было установлено 3 раскладки — английская, русская и украинская. Так как, преимущественно, я использую английскую и русскую, лишнее переключение раскладки меня стало раздражать, и украинская раскладка была снесена. Для редких случаев, когда она была нужна, я устанавливал ее заново. Но проблема решилась лишь частично. Когда украинский был нужен — его не было под рукой.

Совсем недавно я подумал, почему бы не дополнить типографскую раскладку Бирмана недостающими буквами из украинского алфавита (коих всего 4). Вооружившись Microsoft Keyboard Layout Creator, я создал такую раскладку. Теперь, для набора украинских букв мне стоит лишь зажать правый альт и набирать их как обычно (ї = Alt + ъ, Ї = Alt + Shift + ъ, ...)

Порадовавшись немножко, я создал еще и обратную раскладку на основе украинской — для тех, кто пользуется преимущественно украинским языком (ы = Alt + і, ...). Кроме того, получившуюся украинскую раскладку я дополнил всеми типографическими цацками раскладки Бирмана, так что все сочетания значков остались на старых местах.

После этого, я вспомнил еще и о белорусских братьях, у которых наверняка были те же проблемы, что и у меня. Для них я подготовил еще два варианта раскладок — русскую с белорусскими буквами и обратную ей — белорусскую «типографскую» с отсутствующими русскими буквами. И напоследок, я совместил и украинские, и белорусские буквы в одной русской раскладке, дабы помочь тем, кто пишет на всех трех языках.
Читать дальше →
Total votes 90: ↑88 and ↓2+86
Comments43

Закачка ролика на ruTube с использованием cURL

Reading time6 min
Views3.6K
На хабре уже были топики, посвященные открытому API для работы с сервисом ruTube. В примере, который можно скачать с сайта ruTube (http://rutube.ru/partners/phpapi.html), отправка ролика осуществляется следующим образом (код взят из примера без правок):

Читать дальше →
Total votes 17: ↑9 and ↓8+1
Comments12

Делаем страницу 404-й ошибки разумной с помощью Google

Reading time2 min
Views6.5K
Вот я прошёлся по блогам и сайтам, которые висят у меня в подписках, и понял, что всё печально. Если намеренно вызвать страницу 404-й ошибки, то можно напороться на все возможные отмазки, пустую страницу, либо на страницу, которую генерит сервер. Ну или на крайний случай — sitemap. Часто любят выкладывать туда смешную картинку.
Читать дальше →
Total votes 116: ↑108 and ↓8+100
Comments45

Tagnetic — холодильник тэгов, плагин для jQuery

Reading time1 min
Views1.8K
tagnetic.jpg В ответ на флэш-скрипт от Ray Tanck, реализующий облако тэгов, стилизованное под доску с магнитами, я написал плагин для jQuery, который создает облако тэгов, стилизованное под холодильник с налепленными на него магнитами :)

Плагин автоматически заменяет облако на холодильник, а в случае, если у пользователя выключен ява-скрипт, то ему будет показано стандартное облако тэгов.

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

Тестировал работу в ФФ 2 и 3, ИЕ 6 и 7, опере 9.60, Сафари и Гугл Хроме. К сожалению, в ИЕ 6 из-за использования IE PNG Fix скрипт заметно тормозит. Сейчас работаем над созданием новых скинов (хочу преобразовать холодильник в доску или забор с налепленными на него объявлениями-тэгами) и над оптимизацией графики.

Интересно мнение хабраюзеров о полезности этой работы, а также о возможных глюках.

Upd. С подачи nikel303 сделал пример, в котором магниты можно перетаскивать.
Total votes 58: ↑48 and ↓10+38
Comments56

Веб-формы «Светофор»

Reading time2 min
Views2.7K
Процесс разработки интерфейсов форм — довольно сложная процедура. Большинство дизайнеров стараются сделать их красивыми, немалое количество верстальщиков пытаются облегчить себе работу, упрощая эти красивости. Бывает, что находятся аргументы. Бывает, что на эту красоту просто нет достаточного количества времени. Бывает, что просто верстальщику не хочется особо заморачиваться с изящными «па» дизайнера. Но это нормальный процесс взаимодействия, в первую очередь, человека с человеком.

Самый простой метод — это некая унификация веб-форм в целом, будь то цветовые решения или стандартизированные иконки. Я решил предложить вам на суд расцветку для текстовых полей веб-форм. Она вполне может подойти и к спискам, но даже Internet Explorer 7 не разрешает расставлять какие-либо стили на свои любимые select'ы. Недолго думая над названием, я решил, что слово «Светофор» лучше всего отражает смысл этой унификации.

подробнее
Total votes 84: ↑68 and ↓16+52
Comments50

Оптимизация MySQL запросов

Reading time4 min
Views125K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →
Total votes 143: ↑132 and ↓11+121
Comments142

Некоторые инженерные практики для улучшения качества web application на PHP

Reading time2 min
Views4.5K
Этот топик мой ответ на жалобу одного человека, что «баги достали».

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

Первые задачи могут быть такие:
  • Обеспечить интеграционное тестирование, чтобы каждое обновление на production не было головной болью.
  • Обеспечить регрессионное тестирование – чтобы выявленные ошибки не возникали опять (отслеживались автоматически).

Читать дальше →
Total votes 65: ↑52 and ↓13+39
Comments57

Выносим CSS в пост-загрузку

Reading time1 min
Views1.7K
После сравнительной заметки о CSS Sprites и data:URL все мои мысли были направлены на решение основной проблемы:

В общем случае [при использовании data:URL], загрузка страницы не ускорится, а даже может замедлиться, потому что фоновые картинки (включенные через data:URL) будут грузиться в один поток, а не в несколько при обычном использовании спрайтов. Если фоновых картинок достаточно много (несколько десятков Кб), то это окажется существенным.

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

Читать дальше на webo.in→
Total votes 54: ↑49 and ↓5+44
Comments45

UI: magnifier — описание всех функций

Reading time3 min
Views2.7K


Вместе с выходом jQuery UI 1.6rc2 появились новые виджеты, один из которых Magnifier. Это интересный элемент управления, который может разнообразить дизайн на странице. К сожалению, описание этого виджета отсутствует на странице официальной документации и этот пост призван восполнить пробел и описать все параметры виджета Magnifier.
обращаю внимание, что это мои личные исследования виджета и полученные результаты могут не совпадать с финальной версией или с документацией, которую выпустят разработчики, которые могут оставить недокументированными некоторые из найденных параметров

Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments48

jTruncate — прячем все лишнее.

Reading time1 min
Views3.6K
jTruncate — это плагин для jQuery, который позволяет легко прятать лишний текст на вашей веб-странице.
Этот плагин будет полезен для страниц перегруженных различной информацией.
image
jTruncate вызывается точно также как и большинство плагинов для jQuery.

$().ready(function() {
$('#example1').jTruncate();
});

Читать дальше →
Total votes 44: ↑32 and ↓12+20
Comments24

Построение графики на javascript

Reading time1 min
Views12K
dg
Raphaël — небольшая библиотека(20 килобайт) для построения векторной графики на веб-сайтах.

Она использует SVG и VML в качестве базы для создания графики. Учитывая то, что каждый созданный объект — DOM объект, то при помощи JavaScript обработчиков можно легко изменять их свойства и действия.
Читать дальше
Total votes 107: ↑103 and ↓4+99
Comments58

jQuery sIFR Plugin — создаем flash-текст

Reading time1 min
Views1.7K
jQuery sIFR Plugin является аддоном для jQuery, который позволяет легко заменять текст на веб-странице на flash-текст (sIFR).

image

Как это работает?
Вы вызываете javascript-функцию, которая заменяет текст на веб-странице на sIFR (Scalable Inman Flash Replacement) текст, используя возможности jQuery расширенные jQuery Flash плагином. jQuery находит текст, который Вы хотите заменить. Затем, jQuery sIFR Plugin преобразовывает текст — меняет размер, цвет, шрифт и пр. jQuery sIFR Plugin полностью конфигурируем, и Вы можете настроить отображение текста не хуже чем при помощи CSS.
Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments40

MySQL Query Cache

Reading time5 min
Views110K
В MySQL есть очень полезная функциональность — кеш запросов. Кеш запросов доступен в MySQL начиная с версии 4.0.
Многие СУБД имеют подобную функциональность, но в отличие от MySQL они кешируют планы выполнения запросов, тогда как MySQL кеширует результаты запросов.
Дальше о том, как работает кеш запросов, как его настраивать и оптимально использовать.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments60

Information

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