Как стать автором
Обновить
370.65

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

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

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

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

Время на прочтение2 мин
Количество просмотров22K
Однажды мне пришлось наблюдать, как спамеры очень интересным образом обходят спам-фильтр. Вместо традиционного URL типа «example.com», ссылка выглядела так:
http://example.com
Ссылка с подобной изощрённой точкой работает в IE7, FF3, Opera 9.5, Safari 3, Google Chrome и не работает в IE6.
Читать дальше →

Имена методов и функций

Время на прочтение3 мин
Количество просмотров36K
Изучая всякого рода системы, я обнаружил, что у многих наблюдаются проблемы с именованием методов. Это побудило меня написать статью.

странный кусок кода
Читать дальше →

Разработка на PC и производительность — Memory Latency

Время на прочтение7 мин
Количество просмотров11K
Herb Sutter (автор Exceptional C++, бывший глава ISO C++ standards committee, мистер Free Lunch Is Over и прочая, и прочая) работает в Microsoft и иногда по средам читает атомные лекции.

Я наконец-то на одну такую попал, и очень радовался. На умных мужиков всегда радостно поглядеть и послушать.
Для отчета — кроме Херба, видел живого Олександреску и живого Walter Bright (который "D").

Лекция называлась «Machine Architecture: Things Your Programming Language Never Told You» (здесь можно скачать презентацию и видео) и была про конкретную часть abstraction penalty — Memory Latency.

Я попытаюсь коротко рассказать о ключевой мысли лекции. Она простая, очевидная и тысячу раз сказанная. Думаю, еще раз повторить азбуку — никогда не повредит.
Читать дальше →

14 бесплатных Web-приложений для совместной работы

Время на прочтение4 мин
Количество просмотров77K
«Люди не являются островами в открытом океане». Это высказывание успешно можно использовать особенно в том случае, если вы — дизайнер или разработчик. Несмотря на существование платных средств, как Basecamp и Zimbra, вы можете использовать ещё и бесплатные, которые, пожалуй, не уступают платным (а порой и обгоняют их).

В этой статье мы рассмотрим 14 бесплатных Web-приложений для совместной работы в сети Интернет. Нужен вам простой редактор с самыми основными возможностями или полнофункциональное приложение для управления проектами, вы сможете обнаружить здесь по крайней мере одно приложение, удовлетворяющее вашим требованиям.

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

Анти-паттерны Test Driven Development

Время на прочтение4 мин
Количество просмотров20K
Я надеюсь, что как грамотный разрабочик, вы имеете представление о unit-тестировании и сделаете себе в голове пару мысленных отметок о том, чего надо избегать при написании тестов. Знакомьтесь:

Лжец (The Liar)

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

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

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

Время на прочтение2 мин
Количество просмотров6.6K
Вот я прошёлся по блогам и сайтам, которые висят у меня в подписках, и понял, что всё печально. Если намеренно вызвать страницу 404-й ошибки, то можно напороться на все возможные отмазки, пустую страницу, либо на страницу, которую генерит сервер. Ну или на крайний случай — sitemap. Часто любят выкладывать туда смешную картинку.
Читать дальше →

Ваша жизнь за 15 минут

Время на прочтение4 мин
Количество просмотров792
Прочитал дружный стёб хабрасообщества над девушкой, которая делает сайты за 15 минут в «Метрограде», какое-то время держал себя в руках, а потом не удержал.

Давайте-ка рассмотрим не конкретную девушку за конкретной стойкой, а явление сайтов «за 15 минут», «за 1000 рублей» и т.п. в принципе, с точки зрения жизненного цикла систем и вашей – да, конкретно вашей — жизни.

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

JS-тень

Время на прочтение1 мин
Количество просмотров1.5K
Может быть я изобретаю велосипед, но от нечего делать решил попробовать сделать тень средствами яваскрипта, вот что из этого получилось

js-тень
Пользуйте на здоровье :)

UPD: Добавил смещение тени

Засаливание паролей

Время на прочтение2 мин
Количество просмотров33K
Итак, каким же образом обеспечивается безопасность на нынешних веб-ресурсах? Хешированием паролей алгоритмом md5. Вроде бы всё здорово и замечательно — md5 есть функция необратимая и пароли, хранимые в виде таких хэшей, взломать нельзя, даже если злоумышленник получил доступ к базе. Ан нет! Вспоминаем про Rainbow-таблицы и прощаемся с мыслью о полной безопасности хранения паролей в таком виде. Та как же их тогда шифровать? Алгоритмы востановимого шифрования с ключами тоже не панацея, да и системных ресурсов сии функции кушают немало...
Вопрос: Так как же, не в ущерб производительности, обезопасить md5 хэши от Rainbow-таблиц?
Ответ: соль.
Читать дальше →

Безопасность на хабре

Время на прочтение2 мин
Количество просмотров2K
А расскажу я вам сегодня про фичу, которую совсем недавно мне понадобилось сделать в одном проекте. А именно о функции «Запомнить меня на этом компьютере». Смешно не правда ли? Что же тут сложного? Сохраняй куки на две недели, месяц, потом вытаскивай и восстанавливай сессию. Ага, всё просто. А я встал в тупик. Меня часто ставят в тупик самые простые вещи.Так что же меня смутило…

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

10 jQuery скриптов для улучшения интерфейса

Время на прочтение3 мин
Количество просмотров11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →

Ajax-машина

Время на прочтение11 мин
Количество просмотров4.1K
Знали ли разработчики LiveScript из Netscape о том, какое влияние окажет их язык, позже переименованный в JavaScript, на лицо интернета — веб-сайты, или, может быть, они твердо на это рассчитывали, но факт остается фактом — JavaScript на сегодняшний день является одним из самых важных и распространенных языков в мире.

В то время, как на стороне сервера трудится разношерстная компания языков в лице php, perl, python, ruby, .net, java и многих других, на стороне клиента JavaScript существует буквально в гордом одиночестве. Фактически, из маленького дополнения к html, JavaScript превратился в полноправного члена банды «html+css+js», который, зачастую, уже командует остальными, сверкая золотым браслетом с надписью «ajax» и делая недовольное лицо $( ) при случае.
продолжить чтение

Ninja Editor

Время на прочтение1 мин
Количество просмотров1K
Здравствуйте. Вы будете смеяться, но я написал маленький текстовый редактор для сайтов. Он совсем маленький и совсем текстовый. Но он мне нравится. Встречайте, Ninja Editor

Ну и картинка для привлечения внимания:


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

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

Замыкания в JavaScript

Время на прочтение5 мин
Количество просмотров273K
Если вы используете JavaScript, но при этом так до конца и не разобрались, что же это за чудная штука такая — замыкания, и зачем она нужна — эта статья для вас.

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

Надоела новая реклама в ЖЖ?

Время на прочтение1 мин
Количество просмотров699
Выход очень простой!

1. Идем по этой ссылке:
www.livejournal.com/customize/options.bml?group=customcss

2. Добавляем в поле «Custom stylesheet» вот это:
#ad-leaderboard {
display: none;}
#ad-5linkunit {
display: none;}
.adv { display: none;}

3. Радуемся жизни без долбаной рекламы

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

Супер-юзабильные формы

Время на прочтение2 мин
Количество просмотров54K
super_form

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

На помощь приходит замечательный скрипт «Masked Input Plugin», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.

Возможно Вы не совсем поняли, но лучше один раз увидеть, чем сто раз услышать.
Читать дальше

Одинокий инпут

Время на прочтение1 мин
Количество просмотров574
Одинокий инпут ищет сабмит своей души. О себе: бордерколор карий, бэкграундколор темный, бордестайл нордический, макссайз 22 пикселя.

css fix для различных браузеров

Время на прочтение2 мин
Количество просмотров12K
Представьте себе абстрактный разговор абстрактного заказчика с абстрактным верстальщиком.

— У тебя бага в менюшке, все наверх съехало, — говорит заказчик.
— Посмотрел во всех браузерах, нету! Ты в каком смотришь? — говорит верстальщик.
— В фаерфоксе.
— Нормально все там, — говорит верстальщик, просмотрев сайт во всех версиях фаерфокса.
— Осталось бага. Если это важно, то я с мака.

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

Разница между разметкой и представлением

Время на прочтение4 мин
Количество просмотров1.4K
Прочитав комментарии к заметке Firefox 3: * {display: block } bug, понял что заметная часть читателей Хабра, в том числе серьёзно занимающиеся веб-разработкой, не совсем верно представляют себе что-то же такое HTML, и почему теги отображаются так, а не иначе.

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

Отговорки исполнителей на требования заказчиков сдать работу

Время на прочтение4 мин
Количество просмотров11K
Бывает так: закажет человек работу, денег даст. Может быть даже договор и задание в письменном виде будет. Однако время идет, а работы нет.

Что говорят и что надо говорить?
Читать дальше →

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