
361.74
Общий рейтинг
Веб-разработка *
Делаем веб лучше
Сначала показывать
Порог рейтинга
Уровень сложности
+12
-2
Как запретить браузеру выделять текст
4 мин
180KЕсли Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
+47
Что нужно, чтобы в России получить 569000 долларов за сайт?
1 мин
867Думаете, нужно уметь проектировать взаимодействие с пользователем? Или грамотно обрабатывать картинки? Или блистать оригинальными идеями? Может, верстать по стандартам, семантически, валидно и кроссбраузерно? Оптимизировать код под серьезные нагрузки? Управлять контентом?
+111
nokia.ru — а ведь у Лебедева было лучше…
5 мин
2.4K
Я не большой фан подобных разборок, в итоге то, наверно, обе стороны получили то, чего хотели получить. Однако сегодня я всю ночь ковырял новый сайт nokia.ru и… Я как-то совсем не уверен, что Nokia сделала правильный шаг, отдав право на работку сайта другой студии…
+80
Феномен vkontakte.ru или как стрелять подальше!
1 мин
1KСумасшедшая динамика! Месяц назад зашел на сайт vkontakte.ru и нашел там огромное количество старых друзей… сервис очень заинтересовал!
Больше всего поразила динамика проекта, насколько я понял сайту всего год, а он уже обскакал по посещаемости такие ресурсы-старожилы как Yandex, Rambler итд… Сегодня занимает второе место в Рунете и страшно даже преположить стоимость сервиса, учитывая перспективы развития, а также то что mail.ru не так давно оценили в миллиард долларов!
Что думаете по поводу этого стартапа?
Больше всего поразила динамика проекта, насколько я понял сайту всего год, а он уже обскакал по посещаемости такие ресурсы-старожилы как Yandex, Rambler итд… Сегодня занимает второе место в Рунете и страшно даже преположить стоимость сервиса, учитывая перспективы развития, а также то что mail.ru не так давно оценили в миллиард долларов!
Что думаете по поводу этого стартапа?
-19
JavaScript: ограничение частоты исполнения функции
3 мин
15KJavaScript — удивительный язык, с которым порой удаётся вытворять неожиданно классные вещи. Хочу познакомить вас с немножко нестандартным решением одной проблемы быстродействия, с которой я недавно столкнулся. Предупреждение: не для новичков.
Исходные данные: ресурсоёмкая функция, обновляющая определённые элементы на экране по наступлению определённых событий (движение мышки, например).
Проблема: когда события, вызывающие функцию, происходят слишком часто за короткий промежуток времени, интерфейс может начать серьёзно тормозить. Скажем, если событие произойдёт 1000 раз за несколько секунд, то и обновление — столько же. Для интерфейса молниеносная скорость отрисовки изменений может быть не так важна, а вот общее быстродействие, которое в данном случае страдает — очень даже.
Задача: ограничить функцию таким образом, чтобы она исполнялась не чаще, чем раз за определённый промежуток времени. При достаточном малом таком промежутке визуально задержки не будут заметны, зато кол-во вызовов может сократиться в несколько раз, что в свою очередь очень сущесвенно сократит нагрузку и поможет избавиться от торможения.
Исходные данные: ресурсоёмкая функция, обновляющая определённые элементы на экране по наступлению определённых событий (движение мышки, например).
Проблема: когда события, вызывающие функцию, происходят слишком часто за короткий промежуток времени, интерфейс может начать серьёзно тормозить. Скажем, если событие произойдёт 1000 раз за несколько секунд, то и обновление — столько же. Для интерфейса молниеносная скорость отрисовки изменений может быть не так важна, а вот общее быстродействие, которое в данном случае страдает — очень даже.
Задача: ограничить функцию таким образом, чтобы она исполнялась не чаще, чем раз за определённый промежуток времени. При достаточном малом таком промежутке визуально задержки не будут заметны, зато кол-во вызовов может сократиться в несколько раз, что в свою очередь очень сущесвенно сократит нагрузку и поможет избавиться от торможения.
+12
Обновления скрипта обсчета Google analytics
2 мин
860В пятницу (14 декабря) Google проапдейтил свой счетчик Google analytics. Конечно в пятницу уже не было ни какого желания разбираться с новинкой, а вот сегодня уже удалось повертеть в руках и посмотреть, что же новенького нам предлагают.
+24
Планируется интервью с создателем jQuery — John Resig.
1 мин
1.4KЯ планирую после Нового года взять интервью у John Resig.
Основные темы:
— что ждать от следующих версий jQuery;
— что ждать от следующих версий jQuery UI;
— твоё мнение о JavaScript 2 (и изменения в jQuery в связи с его появлением).
Пожалуйста, оставьте в комментариях, — какие вопросы хотите ему задать вы.
Возможно, он ответит и на них тоже.
Основные темы:
— что ждать от следующих версий jQuery;
— что ждать от следующих версий jQuery UI;
— твоё мнение о JavaScript 2 (и изменения в jQuery в связи с его появлением).
Пожалуйста, оставьте в комментариях, — какие вопросы хотите ему задать вы.
Возможно, он ответит и на них тоже.
+19
Разберемся раз и навсегда: AJAX, «кириллические символы», кодировки, prototype.js, jQuery, JsHttpRequest
5 мин
169KAJAX, — это технология. Одной из часто используемых техник этой технологии является
посылка запросов при помощи объекта класса XMLHttpRequest.
Как же посылать и принимать AJAX запросы в нужной нам кодировке, нужно ли использовать однобайтовые кодировки или не обойтись без UTF-8. На все эти вопросы раз и навсегда ответит эта статья.
посылка запросов при помощи объекта класса XMLHttpRequest.
Как же посылать и принимать AJAX запросы в нужной нам кодировке, нужно ли использовать однобайтовые кодировки или не обойтись без UTF-8. На все эти вопросы раз и навсегда ответит эта статья.
+50
Ежедневная архивация веб-проектов
1 мин
2.6KВот такую вещь я сделал сегодня. А перед этим — ещё год назад, работая в веб-студии.
Предлагается вашему вниманию bat-скрипт для ежедневной архивации home-директории вашего сайта и базы данных (MySQL).
Требования: Windows (у меня на работе — 2000), команда mysqldump доступная сразу из командной строки, WinRAR или любой другой архиватор, работающий из командной строки.
Скрипт может запускаться вручную или планировщиком по расписанию (достаточно стандартного системного планировщика). Линуксоиды могут легко переписать этот скрипт для своей системы.
При выполнении в среде Windows 2000 генерируется директория типа "Пн 17.12.2007", а в ней два файла — "drupal-Пн 17.12.2007.sql" и "htdocs-Пн 17.12.2007.rar". Новый день — новая директория. Преимущество отдельной директории в том, что у вас может создаваться несколько бэкапов разных сайтов.
И напоследок — если кто-то знает, как изменить формат даты на 2007-12-12 — напишите пожалуйста.
Предлагается вашему вниманию bat-скрипт для ежедневной архивации home-директории вашего сайта и базы данных (MySQL).
Требования: Windows (у меня на работе — 2000), команда mysqldump доступная сразу из командной строки, WinRAR или любой другой архиватор, работающий из командной строки.
@echo off
set DATE = `date \T`
@md "%DATE%"
cd "%DATE%"
mysqldump drupal -u root > "drupal-%DATE%.sql"
"C:\Program Files\WinRAR\rar.exe" a -inul "htdocs-%DATE%.rar" c:\apache\htdocs
cd "../"
Скрипт может запускаться вручную или планировщиком по расписанию (достаточно стандартного системного планировщика). Линуксоиды могут легко переписать этот скрипт для своей системы.
При выполнении в среде Windows 2000 генерируется директория типа "Пн 17.12.2007", а в ней два файла — "drupal-Пн 17.12.2007.sql" и "htdocs-Пн 17.12.2007.rar". Новый день — новая директория. Преимущество отдельной директории в том, что у вас может создаваться несколько бэкапов разных сайтов.
И напоследок — если кто-то знает, как изменить формат даты на 2007-12-12 — напишите пожалуйста.
+4
Сайт, автомобиль никакой разницы!
Простые ответы на 7 популярных вопросов по сайтостроительству.
2 мин
945Я работаю в компании занимающейся разработкой сайтов. Порой бывает очень сложно объяснить что, почему и сколько. Самый простой и быстрый путь найти общий язык с потенциальным заказчиком это перевести все на простые и понятные большинству аналогии. Я в этих целях обычно использую автомобиль.
+52
Ближайшие события
Показатель обратной загрузки файла для форм (Upload Progress Meter)
2 мин
4.8KВы когда-то видели этот лоадер:

Или вот этот:

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

Или вот этот:

Они служат для показания процента аплоада на сервер файла который вы заливаете через форму. К сожалению, на самом простом уровне показать процент аплоада нельзя, а хотелось бы. Согласитесь видеть процент загрузки всегда приятней чем скучный «Loading...» в строке-статуса браузера, поэтому я расскажу как сделать такой аплоад-показатель для ваших форм загрузок.
+18
Так ли безопасно хранение пароля в виде хеша
2 мин
7.3KПрактически любой, даже начинающий разработчик, скажет вам, что пароли в базе надо хранить только в виде хеша (например md5). Это обеспечит их сохранность и увеличит безопасность системы в целом. Так ли это на самом деле?
В действительности нет, не так. Безопасность, да и сохранность, конечно повысится, но не очень сильно. В интернете уже давно есть базы хешей многих паролей. Трехминутный поиск только по Яндексу вывел меня на следующие сайты — MD5decrypter (568 002 хешей) и Insidepro (10 148 884 хешей). Уже не мало, ведь так? А это только открытые проекты и только по md5. Я думаю у любой серьезной хакерской группы есть свои базы, благо, с наличием бот-сетей распределенные вычисления перестают быть проблемой.
Кто-нибудь самый догадливый предложит, а давайте к пользовательскому паролю добавлять свой секретный длинный префикс. Ну или делать, например, md5 от md5. Взломщик никогда об этом не догадается и пароль не подберет.
Не поможет. В действительности при взломе хеша нам важен не оригинальный пароль, а поиск коллизии. Ведь неважно введем мы пароль 76854 или Fhndkts если md5(’76854′) будет совпадать с md5(’наша_секретная_строка’.’Fhndkts’).
Единственная проблема, что вариантов хешей все таки очень много и они будут занимать очень большое место в базе данных. да и поиск по ним потребует очень длительного времени.
Однако и эта проблема решается при помощи Rainbow Tables. Используя их мы на несколько порядков уменьшаем размер хранимой базы и скорость поиска пароля. Более подробно об этом можно почитать здесь и здесь. Для построение таких таблиц также нужны распределенные вычисления. И такие проекты есть — Rainbowcrack.com. Размах впечатляет — 2,628 таблиц, 102,080,000,000 цепочек (в каждой цепочке примерно 1000-1500 паролей), 1.49 Тб данных. Есть также российский подобный проект, но пока добились они намного меньшего.
Вот и как теперь хранить пароль?
denis.boltikov.ru
В действительности нет, не так. Безопасность, да и сохранность, конечно повысится, но не очень сильно. В интернете уже давно есть базы хешей многих паролей. Трехминутный поиск только по Яндексу вывел меня на следующие сайты — MD5decrypter (568 002 хешей) и Insidepro (10 148 884 хешей). Уже не мало, ведь так? А это только открытые проекты и только по md5. Я думаю у любой серьезной хакерской группы есть свои базы, благо, с наличием бот-сетей распределенные вычисления перестают быть проблемой.
Кто-нибудь самый догадливый предложит, а давайте к пользовательскому паролю добавлять свой секретный длинный префикс. Ну или делать, например, md5 от md5. Взломщик никогда об этом не догадается и пароль не подберет.
Не поможет. В действительности при взломе хеша нам важен не оригинальный пароль, а поиск коллизии. Ведь неважно введем мы пароль 76854 или Fhndkts если md5(’76854′) будет совпадать с md5(’наша_секретная_строка’.’Fhndkts’).
Единственная проблема, что вариантов хешей все таки очень много и они будут занимать очень большое место в базе данных. да и поиск по ним потребует очень длительного времени.
Однако и эта проблема решается при помощи Rainbow Tables. Используя их мы на несколько порядков уменьшаем размер хранимой базы и скорость поиска пароля. Более подробно об этом можно почитать здесь и здесь. Для построение таких таблиц также нужны распределенные вычисления. И такие проекты есть — Rainbowcrack.com. Размах впечатляет — 2,628 таблиц, 102,080,000,000 цепочек (в каждой цепочке примерно 1000-1500 паролей), 1.49 Тб данных. Есть также российский подобный проект, но пока добились они намного меньшего.
Вот и как теперь хранить пароль?
denis.boltikov.ru
+1
Книга о Django вышла в свет
1 мин
5KНа прошлой неделе вышла книга о фреймворке Django — «The Definitive Guide to Django: Web Development Done Right». Её можно купить на Амазоне или почитать в онлайне.
Черновик был опубликован в сети около года назад. С тех пор читатели добавили около двух с половиной тысяч комментариев. Авторы книги (Adrian Holovaty и Jacob Kaplan-Moss) высоко оценивают качество и количество замечаний и благодарны всем, кто участвовал в совершенствовании текста.
Django — это замечательный веб-фреймворк, написанный на языке Python. Важнейшее отличие Django от общеизвестного RoR состоит в том, что модели определяются на языке программирования и структура БД генерируется автоматически, а не наоборот. От основных собратьев по языку Django отличается в первую очередь монолитностью. (Разумеется, все отличия имеют свои положительные и отрицательные стороны.)
Черновик был опубликован в сети около года назад. С тех пор читатели добавили около двух с половиной тысяч комментариев. Авторы книги (Adrian Holovaty и Jacob Kaplan-Moss) высоко оценивают качество и количество замечаний и благодарны всем, кто участвовал в совершенствовании текста.
Django — это замечательный веб-фреймворк, написанный на языке Python. Важнейшее отличие Django от общеизвестного RoR состоит в том, что модели определяются на языке программирования и структура БД генерируется автоматически, а не наоборот. От основных собратьев по языку Django отличается в первую очередь монолитностью. (Разумеется, все отличия имеют свои положительные и отрицательные стороны.)
+27
Давайте убьем IE6
1 мин
1.8KInternet Explorer 6.0 был представлен публике 27 августа 2001 года. Ни для кого не секрет, что он содержит большое количество ошибок рендеринга, плохо поддерживает стандарты, плох с точки зрения безопасности и удобства.
+115
Сколько стоит сделать сайт?
1 мин
8.9KВ продолжении темы "о стоимости разработки сайта студией Лебедева" хотелось бы затронуть интересный вопрос!
Сколько у Вас стоит создание веб-сайта?
По каким критериям у Вас происходит ценоообразование?
Как Вы относитесь к сознательному завышению и занижению стоимости?
Вопрос касается не только разработчиков веб-сайтов, но и просто дизайнеров, программистов, копиров итд…
Сколько у Вас стоит создание веб-сайта?
По каким критериям у Вас происходит ценоообразование?
Как Вы относитесь к сознательному завышению и занижению стоимости?
Вопрос касается не только разработчиков веб-сайтов, но и просто дизайнеров, программистов, копиров итд…
+14
Как грамотно отправлять почту из скриптов (в частности — на PHP)
5 мин
40KПервая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.
Отправка почты из скриптов на PHP — вещь, которая очень часто встречается в веб-приложениях. К сожалению, как показывает практика, большинство разработчиков используют эту функцию неправильно, допуская в своих скриптах одни и те же ошибки. В результате оказывается, что письмо получателю пришло в неверной кодировке, просто не дошло, или дошло, но отображается совсем не так, как этого хотел автор.
Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Отправка почты из скриптов на PHP — вещь, которая очень часто встречается в веб-приложениях. К сожалению, как показывает практика, большинство разработчиков используют эту функцию неправильно, допуская в своих скриптах одни и те же ошибки. В результате оказывается, что письмо получателю пришло в неверной кодировке, просто не дошло, или дошло, но отображается совсем не так, как этого хотел автор.
Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
+53
Apache Autoindex — эксперименты
1 мин
2.7Kwww.mocksoul.ru/pub/music/mixup/funk
Вот таким вот можно сделать apache autoindex (mod_autoindex) :).
Исструментарий: в свойствах IndexOptions: FancyIndexing VersionSort Charset=UTF-8 FoldersFirst HTMLTable XHTML NameWidth=70 -SuppressHTMLPreamble. Небольшой Header с яваскрипт-стайлингом. Ну и CSS2/3 селекторы в CSS :) Поизучайте сёрс (http://www.mocksoul.ru/apache_autoindex.css, www.mocksoul.ru/apache_autoindex_header.htm). По-моему ничего так получилось… =).
Вот таким вот можно сделать apache autoindex (mod_autoindex) :).
Исструментарий: в свойствах IndexOptions: FancyIndexing VersionSort Charset=UTF-8 FoldersFirst HTMLTable XHTML NameWidth=70 -SuppressHTMLPreamble. Небольшой Header с яваскрипт-стайлингом. Ну и CSS2/3 селекторы в CSS :) Поизучайте сёрс (http://www.mocksoul.ru/apache_autoindex.css, www.mocksoul.ru/apache_autoindex_header.htm). По-моему ничего так получилось… =).
+5