Показаны сообщения с ярлыком Хабрахабр - Web-разработка. Показать все сообщения
Показаны сообщения с ярлыком Хабрахабр - Web-разработка. Показать все сообщения

воскресенье, 20 марта 2011 г.

12 навыков создания защищенных веб-приложений

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

Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.

Итак, поехали.

четверг, 17 марта 2011 г.

Субдоменная мульти-установка mediawiki с единой БД юзеров и общим кодом

Что же я хотел сказать таким страшным заголовком?

На самом деле — все просто.

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

В этой статье я расскажу о том, как реализовать это на примере движка mediawiki.

пятница, 11 марта 2011 г.

Экспорт событий из email в Google-календарь в один клик — подводные камни

image

Как одну из возможностей сервиса предварительной записи клиентов zabroniruy.com реализовывали идею, чтобы клиент получал всю информацию о предстоящих события в формате, который можно легко экспортировать (желательно в один клик) в существующие планировщики задач. В ходе работы столкнулись с тем, что не все планировщики одинаково “дружелюбны” к разработчикам.

четверг, 10 марта 2011 г.

Релиз Internet Explorer 9 на следующей неделе

Как сообщают нам в блоге разработчиков, IE9 будет доступен для скачивания 14–го марта. Не забудьте проверить ваши сайты на работоспособность.

P.S.: Кстати, кто-нибудь уже видел виртуальные машины с IE9?


Источник: Хабрахабр - Web-разработка
Оригинальная страница: Релиз Internet Explorer 9 на следующей неделе

среда, 9 марта 2011 г.

Примеры xpath-запросов к html

Xpath — это язык запросов к элементам xml или xhtml документа. Также как SQL, xpath является декларативным языком запросов. Чтобы получить интересующие данные, необходимо всего лишь создать запрос, описывающий эти данные. Всю «черную» работу за вас выполнит интерпретатор языка xpath.
Очень удобно, не правда ли? Давайте посмотри какие возможности предлагает xpath для доступа к узлам веб-страниц.

[Из песочницы] Strain It! — Валидация и приведение данных на PHP

Введение


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

Но после того как я перешел на PHP 5.3 меня потянуло написать новый валидатор на основе анонимных функций. А заодно еще раз потренироваться в их использовании. Мною ставились следующие требования к будущему классу:
  • Декларативность (информация о валидации должна задаваться объектами/массивами)
  • Гибкость (высокая эффективность кода, написанного с помощью этого класса)
  • Скорость (ничего лишнего)

Уже после начала работ, мне пришла в голову мысль о том, что анонимные функции в этом классе можно использовать не только для валидации, но и для приведения данных к нужному виду (например к определенному типу). Добавив к списку требований еще одно («Универсальность») я смело переименовал класс в Strain.

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

воскресенье, 6 марта 2011 г.

[Ссылка] Microsoft присоединилась к движению за «похороны» IE6

Искренне надеюсь, что это позволит всем занятым в webdev'e (да и не только) поскорее вздохнуть свободно и избавиться от ещё одного менингита.

PS Фраза: "Friends don’t let friends use Internet Explorer 6", порадовала особенно.

UPD: http://bit.ly/dUXW3X — пруф, что сайт именно от MS.

Ссылка: http://habrahabr.ru/linker/go/114954/


Источник: Хабрахабр - Web-разработка
Оригинальная страница: [Ссылка] Microsoft присоединилась к движению за «похороны» IE6

суббота, 26 февраля 2011 г.

[Ссылка] Образы дисков виртуальных машин с IE6, IE7, IE8

Эта ссылка будет полезна html-верстальщикам, которые проверяют свою работу под разные версии Internet Explorer, а не показывают пользователям странные окошки вместо сайта.

По ссылке вы можете скачать образы дисков для Microsoft Virtual PC виртуальных машин с IE6, IE7, IE8 на системах Windows Vista и Windows XP SP3. Легально, официально от Microsoft.

Правда, срок работы виртуальных машин ограничен 5 месяцами. Но всё равно, лучше, чем IETester или MultipleIE.

Ссылка: http://habrahabr.ru/linker/go/114414/


Источник: Хабрахабр - Web-разработка
Оригинальная страница: [Ссылка] Образы дисков виртуальных машин с IE6, IE7, IE8

пятница, 25 февраля 2011 г.

[Из песочницы] Автоизменение высоты textarea при вводе текста

Обычно я занимаюсь серверным программированием на php, но время от времени выхожу наружу и копаюсь в верстке, стилях и яваскрипте. Недавно передо мной была поставлена задача изменять высоту textarea при вводе комментариев к различным объектам. В интернете материала по этому поводу так, сказать было не мало и не много. Первый взгляд устремился к реализованным решениям в таких крупных сетех как Вконтакте, Facebook, МойКруг. Однако, во время решения было множество препятствий и далеко не кросбраузерность.

четверг, 24 февраля 2011 г.

Кроссдоменный AJAX

На вопрос, как сделать AJAX запрос к другому домену, я всегда отвечал, что никак, и предлагал в качестве альтернативы jsonp, прокси, флеш, фреймы. Оказывается, я отстал от жизни. Большинство современных браузеров (IE8+, FF3.5+, Chrome 6+ и Safari 4+) вполне поддерживает кроссдоменный XMLHTTPRequest.

среда, 23 февраля 2011 г.

Отладка REST-сервиса на коленке — готовое решение

В процессе писания REST-сервиса уткнулся в странную проблему — не нашел приличного инструмента для отладки jsonp ответа от сервера.
За пол-дня накидал приемлемый вариант — одна html страница, которую можно хоть прямо с диска загрузить и кучка чужих js-либ, чтобы вся эта красота работала.
Выглядит примерно так:



Все бобро выложено на github, если кому-то нужно — пожалуйста!


Источник: Хабрахабр - Web-разработка
Оригинальная страница: Отладка REST-сервиса на коленке — готовое решение

Копируем исходный код без нумерации строк


Бывает при выводе информации требуется ее декорировать для лучшего восприятия, нередко оформление сопровождается в том числе и текстом. При выделении и копировании этой информации, оформление копировать не нужно, т.к. нужна только сама информация, и желательно в исходном виде. То есть при копировании часть выделенного текста не должна попадать в буфер обмена.
В моем случае это исходный код, который сопровождается нумерацией строк, так нагляднее и есть возможность сослаться на строку кода. Однако, если мы хотим скопировать часть кода, то он должен копироваться без номера строки.
Многие highlighter'ы этим грешат, при копировании кода копируют в том числе и номера строк. Выходят из ситуации по разному: либо используют хитрую верстку, при которой возможно несовпадении нумерации со строками (можно заметить на github например), или используют специальную кнопку, которая показывает в отдельном окне код без форматирования. Мне показались эти подходы неудовлетворительными, потому решил найти другое решение.
В данной заметке я опишу решение, к которому в итоге пришел. Решение, конечно, частное, но может кому то оказаться полезным в решении собственных задач.

среда, 16 февраля 2011 г.

[Перевод] Ломаем web c '#!' (hash-bang)

Ниже предлагается перевод статьи, обращающей внимание на, на мой взгляд, довольно острую проблему в эпоху web 2.0, а именно чистоту URL-адресов.

На примере сайта Lifehacker.com показано какими проблемами может обернуться слепое следование state-of-the-art технологиям, погоней за SEO и отрицание принципа «прогрессивного улучшения» (progressive enhancement).


На прошлой неделе, в понедельник, сайт Lifehacker.com был недоступен по причине неработающего JavaScript. Lifehacker.com, наряду с остальными сайтами компании Gawker, отображали пустую главную страницу без контента, рекламы и всего остального. Переход с результатов поиска Google на подстраницы переправлял обратно на главную.

Javascript-зависимые URL


Gawker, как и Twitter до него, перестроил свои сайты на полную зависимость от JavaScript'а, включая URLы его страниц. JavaScript не смог загрузиться, что привело к отсутствию контента и сломаным URLам.

Новые адреса страниц выглядят теперь следущим образом: http://lifehacker.com/#!5753509/hello-world-this-is-the-new-lifehacker. До понедельника, адрес был тем же, только без #!..

понедельник, 14 февраля 2011 г.

[Перевод] HTML5 будет закончен к 2014, что будет дальше?

В понедельник разработчикам был дан зеленый свет на начало использования HTML5.

Хотя многие и так уже используют еще не оконченный язык для создания более сложных веб-приложений, руководящая организация (W3C) сделала переход официальным, анонсировав, что HTML5 будет закончен к 2014 г.

W3C расширила устав рабочей группы по HTML (HTMLWG), которой поручено создание HTML5, и анонсировала, что HTML5 достигнет статус Last Call (прим. пер.: это вариант Working Draft перед приданием нового статуса, например, Proposed Recomendation, как это сейчас происходит с CSS 2.1) позже в этом году. Через несколько лет тщательного тестирования спецификация должна быть окончательно готова ко второму кварталу 2014 г.

“Разработчики могут использовать HTML5 уже сегодня и мы призываем из делать это,” — говорит Ian Jacobs, глава маркетинга W3C.

среда, 9 февраля 2011 г.

[Ссылка] Рисуем геометрические фигуры с помощь CSS

Известный нам Chris Coyier создал демо-страничку с примерами как сделать различные геометрические фигуры с помощь CSS. Как это можно применить, каждый решит для себя сам.

Ссылка: http://habrahabr.ru/linker/go/113386/


Источник: Хабрахабр - Web-разработка
Оригинальная страница: [Ссылка] Рисуем геометрические фигуры с помощь CSS

суббота, 5 февраля 2011 г.

8 полезных сервисов для веб-разработчика и дизайнера

Под катом — описание восьми сервисов, которые могут заметно облегчить жизнь веб-разработчика, верстальщика или дизайнера.

Переводчик на язык программиста

С добрым утром, хабражители!

Хочу немного дополнить неделю brainfuck до того, как она закончится.

Говорят, что программисты общаются на своем, никому не понятном языке. Что ж, порой именно так и бывает. Поэтому однажды у меня родилась идея сделать сервис, который позволял бы наладить общение между программистами и остальным миром. Или же наоборот — усложнить его: все в ваших руках. В любом случае больше не нужно набирать сообщение в двоичном или brainfuck коде, чтобы признаться в любви девушке — достаточно зайти на сайт и он сделает это за вас! ;)

Итак, предлагаю вашему вниманию небольшой сервис, позволяющий за пару кликов закодировать человеческое сообщение в 11 нечеловеческих!

Добро пожаловать на www.deardeer.ru! Надеюсь, вы без труда найдете ему применение, и заставите ваших знакомых немного поломать голову над вашим посланием! :)

Хороших выходных!


Источник: Хабрахабр - Web-разработка
Оригинальная страница: Переводчик на язык программиста

пятница, 28 января 2011 г.

FM с созданием превью при добавлении изображений и возможностью загрузки файлов на HTML5

Файловый менеджер на PHP + JQuery, использует Ajax Upload (http://valums.com/ajax-upload/). Для создания изображений предпросмотра необходима библиотека GD.

Что есть:
— минималистичный интерфейс, встраивается в DIV
— при наличии memcached относительное мало обращается к жёсткому диску
— лимит на максимальный размер директории, а также на размер загружаемого файла
— ограничения по типам файлов
— drag&drop файлов из файлового менеджера для вставки в нужные поля
— загрузка множества файлов за раз (нажатием на кнопку или HTML5 drag&drop)
— при добавлении изображений создаются превьюшки
— работа в ie6 (проверялось только в IEtester)


[Перевод] 10 советов по оптимизации скорости работы вашего сайта

Скорость и производительность сайтов очень важна для пользователей. Если Ваш сайт будет слишком медленным, то Вы будете не только терять посетителей, но также и потенциальных клиентов. Поисковые системы такие как Google, учитывают скорость веб-сайта в рейтинге поиска, поэтому, оптимизируя скорость Вашего сайта, Вы должны принять всё во внимание. Учитывается каждая миллисекунда. Вот только несколько основных и общих предложений для того, чтобы улучшить производительность сайта.