Все потоки
Поиск
Написать публикацию
Обновить
340.44

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

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

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

CAPTCHA. Топ 10 худших

Время на прочтение1 мин
Количество просмотров2.9K
По словам википедии, CAPTCHA — компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Основная идея теста: предложить пользователю такую задачу, которую легко решает человек, но которую невозможно (или крайне трудно) научить решать компьютер.
Правда, иногда даже человеку сложно разобраться, что изображено на картинке, либо решить задачу.
Итак, десятка худших:


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

text-overflow в Firefox и все, все, все

Время на прочтение9 мин
Количество просмотров15K
Многие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?

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

(X)HTML — структура и семантика кода

Время на прочтение4 мин
Количество просмотров5.8K
Структура правильного HTML-документа базируется на логике, порядке и использовании семантически корректной верстки. Если у вас есть заголовок — используйте для него елементы Heading(h1-h6), если абзац/параграф — paragraph(p). Если у вас есть список — используйте элементы списков (ul/ol), если вы цитируете — используте blockquote или cite. Эти элементы придают смысловое значение разметке, делая ее семантически корректной, в дополнение к правильной структуре.

После составления корректного HTML-макета, используйте CSS для визуального оформления. (Тут уже дело вкуса, некоторые верстают CSS «с лету», а некоторые только после создания HTML-макета)

Стандарт XHTML более строг к синтаксису чем HTML, он не допускает наличия незакрытых тегов, одинарные теги тоже должны быть закрыты (self-closing). Элементы в XHTML прописываются строчными, а не заглавными буквами. Значения атрибутов элементов должны быть указаны в кавычках. Есть и другие отличия, но более подробно я описывать их здесь не буду.
Читать дальше →

unset() и Буратино

Время на прочтение1 мин
Количество просмотров4.3K
Буратино дали три яблока. Два он съел. Сколько яблок осталось у Буратино? Думаете одно? Ничего подобного. Никто не знает сколько у него уже было яблок до этого. Мораль — всегда обнуляйте переменные!

Можно это было добавить в «Юмор», но когда с это встречается в работе — бывает очень даже не смешно. В этом блоге наверное все хоть раз прочувствовали на себе.

О чем не стоит забывать, когда верстаешь HTML

Время на прочтение2 мин
Количество просмотров2.2K
Когда верстаешь (X)HTML, порой не знаешь или забываешь о многих фичах, которые стоит использовать. Перечислю те, о которых вечно забываю сам, а зря :)
Читать дальше →

Про резиновую верстку

Время на прочтение1 мин
Количество просмотров29K
Навеяно этим.

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

Как сделать? min-width и min-height.

#site {
  margin: 0 auto; /*это чтоб центрировать контент при превышении max-width*/
  min-width: 980px;
  max-width: 1500px;
}


Но ведь IE их не поодерживает. А expression слишком нагружает браузер… Спокойно, други! Я выведу вас к свету из тьмы!
Пишем далее.



А в ie.js помещаем

window.attachEvent('onload', mkwidth);
window.attachEvent('onresize', mkwidth);

var minwidth = document.getElementById("site").currentStyle['min-width'].replace('px', '');
var maxwidth = document.getElementById("site").currentStyle['max-width'].replace('px', '');
function mkwidth(){
    document.getElementById("site").style.width = document.documentElement.clientWidth < minwidth ? minwidth+"px" : (document.documentElement.clientWidth > maxwidth ? maxwidth+"px" : "100%");
};


В чём особенная вкусность приведённого метода? А в том, что минимальное и максимальное значение нужно задавать только в одном месте, ну и вообще.

Пользуйтесь, короче, на здоровье!

Что нужно, чтобы в России получить 569000 долларов за сайт?

Время на прочтение1 мин
Количество просмотров866
Думаете, нужно уметь проектировать взаимодействие с пользователем? Или грамотно обрабатывать картинки? Или блистать оригинальными идеями? Может, верстать по стандартам, семантически, валидно и кроссбраузерно? Оптимизировать код под серьезные нагрузки? Управлять контентом?
Читать дальше →

nokia.ru — а ведь у Лебедева было лучше…

Время на прочтение5 мин
Количество просмотров2.4K
Не так давно мы все были свидетелями «взаимной любви» товарища Лебедева и компании «Nokia». Официально Лебедев написал, цитирую: «Студия Лебедева расторгает контракт с Нокией. Заколебались». Однако также представители Nokia заявили, что на самом деле Студия Лебедева не справилась с тендером и разработка сайта отошла на плечи некой E-Development, которая до этого занималась проектом «Nokia на Украине».

Я не большой фан подобных разборок, в итоге то, наверно, обе стороны получили то, чего хотели получить. Однако сегодня я всю ночь ковырял новый сайт nokia.ru и… Я как-то совсем не уверен, что Nokia сделала правильный шаг, отдав право на работку сайта другой студии…
Читать дальше →

Разберемся раз и навсегда: AJAX, «кириллические символы», кодировки, prototype.js, jQuery, JsHttpRequest

Время на прочтение5 мин
Количество просмотров169K
AJAX, — это технология. Одной из часто используемых техник этой технологии является
посылка запросов при помощи объекта класса XMLHttpRequest.


Как же посылать и принимать AJAX запросы в нужной нам кодировке, нужно ли использовать однобайтовые кодировки или не обойтись без UTF-8. На все эти вопросы раз и навсегда ответит эта статья.

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

Сайт, автомобиль — никакой разницы!
Простые ответы на 7 популярных вопросов по сайтостроительству.

Время на прочтение2 мин
Количество просмотров944
Я работаю в компании занимающейся разработкой сайтов. Порой бывает очень сложно объяснить что, почему и сколько. Самый простой и быстрый путь найти общий язык с потенциальным заказчиком — это перевести все на простые и понятные большинству аналогии. Я в этих целях обычно использую автомобиль.
Читать дальше →

Давайте убьем IE6

Время на прочтение1 мин
Количество просмотров1.8K
Internet Explorer 6.0 был представлен публике 27 августа 2001 года. Ни для кого не секрет, что он содержит большое количество ошибок рендеринга, плохо поддерживает стандарты, плох с точки зрения безопасности и удобства.
Читать дальше →

Как грамотно отправлять почту из скриптов (в частности — на PHP)

Время на прочтение5 мин
Количество просмотров40K
Первая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.

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

Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Читать дальше →

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

Первый взгляд на HTML 5

Время на прочтение12 мин
Количество просмотров27K

Preamble

В статье рассматриваются новые интересные возможности, которые предоставит пятая версия стандарта HTML. Приводится несколько примеров кода с применением новых тегов, а так же поясняются понятия HTML- и XML-сериализации с описанием преимуществ применения каждой из них.

Вводная «лирическая» часть текста сокращена, т.к. она во многом пересекается с ранее опубликованным обзорным постом об HTML 5, в котором был приведен фрагмент интервью того же автора.

Автор: Лахлан Хант, http://lachy.id.au
Оригинал: http://www.alistapart.com/articles/previewofhtml5
Перевод: Александр Мусаев, http://paradigm.ru

Введение

В ходе непрерывного развития интернета, к языку гипертекстовой разметки предъявляется все более серьезные требования. HTML 4 находился в употреблении на протяжении уже более десятка лет, и многочисленные инновации, применяемые сейчас на веб-сайтах, делают ограничения его спецификации все более ощутимыми. Веб-разработчикам давно требуется более широкая функциональность, чем та, которую может представить это стандарт.

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

Никогда не поздравляйте своих пользователей с днем рожденья!

Время на прочтение1 мин
Количество просмотров1.8K
В прошлую субботу я отметил свой день рожденья и в очередной раз пронаблюдал печальный результат работы некоторых веб-программистов. В моем почтовом ящике обнаружилось 27 писем с разных порталов и форумов с поздравлениями. Причем, многие поздравления различались только адресом отправителя, моим регистрационным ником и названием соответсвующего форума (привет phpBB!!!). Яндекс тоже не остался в стороне и прислал поздравительную открытку.
Приятно ли мне было получить все эти сообщения? — Нет! Всё это тут же было приравнено к спаму и удалено из ящика.
Читать дальше →

Анти-IE

Время на прочтение4 мин
Количество просмотров4.4K
Я думаю, эти строки ударят по сердцу каждого, кто пробовал когда-либо заниматься версткой, и знает, что такое «кроссбраузерность». Для тех, кто знаком с темой меньше, представлена следующая часть текста.

Доля Internet Explorer на рынке браузеров составляет порядка 80%, притом еще год назад она была на уровне 90%. Это — самый популярный браузер. Почему? Он самый удобный? Большинство тех, кто когда-либо использовал другие браузеры, так не считают. Он самый безопасный? Информационные IT-агентства просто кишат сообщениями об «очередной дыре в IE». Это факт, с которым согласится даже самый упорный. Он функциональный? По функциональности переплюнуть Opera сможет только Firefox с плагинами. Тогда почему?
Читать дальше →

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

Время на прочтение10 мин
Количество просмотров64K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

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



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

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

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

Определяем браузер. Самый необычный способ

Время на прочтение1 мин
Количество просмотров1.1K
<map
id="browser"
/''name="firefox"
/""name="sleipnir_gecko"
"name="safari"
""name="konqueror"
/name="ie"
name="opera"
name="lynx"
>



Атрибут name объекта с id=browser отдает название браузера. Основано на различии методов парсинга атрибутов элементов.

Источник: http://www.hedgerwow.com/360/dhtml/html-browser-detection.html

Практический HTML: работаем с таблицами

Время на прочтение1 мин
Количество просмотров1.9K
Примечание: ниже находится перевод статьи «Bring on the tables», в которой рассматривается использование таблиц по прямому назначению и некоторые методы по увеличению их доступности.

UPD: текст статьи полностью убран в связи с его неконтролируемыми преобразованиями с момента публикации.

Юникодный спец-символ переворачивающий текст

Время на прочтение1 мин
Количество просмотров51K
Любой текст, написаный после спец-символа &#x202E;, будет выглядеть вот так:

‮ Перевернутый текст

Если взглянуть в код документа, то MSIE и Опера покажут, что текст действительно написан правильно, а Файрфокс из-за некоторых своих особенностей покажет и код документа перевёрнутым, причём включая HTML-теги.

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

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

Вот такой он разный, этот юникод :)

‮ Источник

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