Pull to refresh
0
Михаил @sky_lordread⁠-⁠only

User

Send message

OpenID с человеческим лицом в Drupal

Reading time5 min
Views2.7K
Начиная с 6 версии Drupal, в комплекте с системой идет модуль OpenID, который обеспечивает авторизацию через OpenID протокол. Но у модуля есть довольно серьезные проблемы. В частности, сам модуль реализует антипаттерн, описаный Иваном Сагалаевым в своем блоге. Вторая проблема модуля, с точки зрения юзабилити — это непрозрачная авторизация по OpenID, а если быть точнее, то при первой попытке авторизации через некий OpenID аккаунт, система просит заполнить некоторое количество полей.

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

Попробуем улучшить юзабили OpenID авторизации
Total votes 35: ↑31 and ↓4+27
Comments43

Оптимизация Drupal

Reading time17 min
Views30K
Вступление
Drupal – довольная распространённая CMS и это отложило на неё свой отпечаток – базовая поставка Drupal является не готовым решением для определённого вида сайта, а фундаментом для его создания. Существуют “сборки” на базе Drupal специализированные под определённые виды сайтов, например: новостные сайты. Но подобные сборки в данный момент мало распространены и плохо поддерживаются. В связи с этим при создании Интернет сайта на основе стандартной поставки Drupal используется большое количество готовых дополнительные модулей и тем оформления для Drupal, либо разрабатываются новые модули и темы специально для создаваемого Интернет сайта. Последним этапом работ по созданию сайта является его оптимизация, которую условно можно разбить на 4 шага:
  • встроенная оптимизация Drupal;
  • оптимизация Drupal с помощью модулей;
  • оптимизация конфигурации и обслуживания Drupal;
  • оптимизация сервера.

Читать дальше →
Total votes 80: ↑68 and ↓12+56
Comments69

Независимое тестирование различных АнтиСпам решений (коммерческие и свободные продукты)

Reading time11 min
Views20K
Целью данного тестирования было оценить эффективность работы различных антиспам систем. Для тестирования были выбраны следующие продукты:
• Apache Spamassassin — SA(свободный)
• Yandex Spamooborona 2.3 — SO(коммерческий)
• Kaspersky Antispam 3.0 — KAS(коммерческий)
• FastBL 0.7.0 (свободный)
• dnsbl списки:
bl.spamcop.net
cbl.abuseat.org
dnsbl.sorbs.net
dul.nsbl.sorbs.net
dul.ru
sbl-xbl.spamhaus.org
zen.spamhaus.org

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments66

Колоночная верстка

Reading time5 min
Views16K
Существует много способов по верстке колоночных макетов. Уже не один нос разбит в течении холиваров, разожженных по поводу использования тех или иных методов. Казалось бы, что все должно быть предельно ясно и понятно, но все-равно возникает много трудностей. Я хочу и свою лепту вложить во всеобщее благое дело, и потому потратил относительно немного времени на эксперименты, которые привели меня к созданию еще одного метода, в котором есть следующие плюсы и минусы:

Плюсы
  • Есть прижимающийся к полу футер
  • Колонки меню растягиваются по 100% высоте
  • Колонок может быть сколько душе угодно
  • Колонки могут быть как лево- так и правосторонними, а также совмещенными, например 2 справа и 1 слева
  • Ширина как резиновая, так и фиксированная
  • Критический минимум хаков
  • Не используется Javascript
  • Не используются бекграундовые изображения для создания эффекта колонки
  • Никаких таблиц
  • Одинаковый результат в ie5.5, ie6, ie7, ie8, ff3.5, o10, chrome4 (Если у вас не работает в каком-то браузере — отпишитесь, пожалуйста, в комментах. Исправим и приведем к универсальному виду)

Минусы
  • Есть несколько «лишних» блоков. (Я бы и сам рад от них избавиться)
  • Есть несколько абсолютно-позиционируемых блоков
Читать дальше →
Total votes 106: ↑97 and ↓9+88
Comments134

Эксперимент с формой логина: OpenID, два в одном, или обычный порошок?

Reading time3 min
Views1.1K
Привет, .

Недавно, когда запускали Кинобазу, мы помимо способов противодействия хабраээфекту задались ещё одним вопросом, который нас давно интересовал: какая форма логина удобнее всего для большинства пользователей. Для этого мы провели эксперимент: до сегодня всем посетителям сайта предлагалась случайным образом один из 4х вариантов формы логина, каждый из которых состоял из 2х форм. Оценку мы проводили очень просто: по количеству человек, которые всё-таки зарегистрировались через каждый из вариантов форм. Поскольку варианты предлагались случайным образом, чем больше человек зарегистрировалось — тем удобнее форма (или тем меньшее количество людей она отпугнула:).

Итак, участники эксперимента и его результаты:
под катом
Total votes 101: ↑93 and ↓8+85
Comments60

Двунаправленный асинхронный обмен данными в веб-приложениях

Reading time4 min
Views20K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments52

Знай откуда пришел пользователь

Reading time2 min
Views18K
Когда вы открываете свой проект вы начинаете писать о нем везде, в том числе и на хабре.

Сервисы статистики типа Google Analytics дадут вам общую оценку трафика, а именно сколько посетителей пришло с какого ресурса. Можно настроить цели(goals) и отследить регистрации или покупки, но этого часто бывает недостаточно.

А что если вам нужна статистика о том откуда идут более активные пользователи или пользователи которые создали больше всего тем на форуме за какой-то промежуток времени, или сделали больше всего покупок в вашем интернет магазине. Вариантов может быть много и такие данные сервисы аналитики уже дать нет смогут.

Читать дальше →
Total votes 55: ↑40 and ↓15+25
Comments45

Теперь любой может заплатить вам по своей карте Visa или MasterCard

Reading time1 min
Views3.4K
image
Ни для кого не секрет, что есть такая замечательная система Payoneer. Для тех, кто не знает, скажу: замечательна она тем, что вы можете заказать выпуск дебетовой карты Payoneer PrePaid MasterCard, получать деньги на неё (фрилансерство на зарубежных сайтах, электронная коммерция и др.) от ваших клиентов и снимать в любом банкомате, который работает с MasterCard. Теперь любой человек может перевести вам деньги на вашу карту со своей карты Visa или MasterCard! Как это сделать, читайте дальше!
Читать дальше →
Total votes 105: ↑92 and ↓13+79
Comments135

«За бугром» все больше интересуются техникой Data:URI CSS Sprites

Reading time2 min
Views2K

Многим уже известна техника оптимизации сайтов на основе data:uri технологии. Последнее время все больше и больше к относительно новой технологии проявляется интерес мирового сообщества разработчиков. В интернете можно найти уже достаточно много статей на эту тему. Радует, что одним из первых, кто задумался серьезно о разработке кросс-браузерного data:uri это «наш человек» — Евгений Степанищев aka bolk. Ну так вот, речь не об этом, это так для истории…

Наткнулся мне «забугорный» блог www.ravelrumba.com, автор которого последнее время активно занимается исследованием эффективности data:uri css sprites. О чем свидетельствует ряд интересных статей о его работе.
CSS Images and Data URIs
Data URIs for CSS Images: More Tests, More Questions

Я решил поддержать его и провел анализ скорости загрузки разработанных им тестовых страниц.
Результаты в картинках
Total votes 55: ↑50 and ↓5+45
Comments42

Готовимся к Хабра-эффекту

Reading time3 min
Views13K
Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 20%, что же говорить о менее крупных веб-сайтах?

Такую проверку обязательно нужно проводить перед выпусками новых продуктов, а также перед сезоном массовых покупок (для России это время в канун Нового Года и Рождества). Итак, с чего начать?
Читать дальше →
Total votes 118: ↑104 and ↓14+90
Comments60

Методичка по работе с клиентами. Для начинающих менеджеров веб-студий. Часть 2. ТЗ и смета

Reading time4 min
Views12K
(2009 год, второе письмо старшего менеджера веб-студии — младшему)
Итак, первоначальные переговоры c клиентом проведены. Смотрим первую часть методички здесь http://habrahabr.ru/blogs/studiobusiness/45543/.
Теперь надо сориентировать клиента по цене. Если он с ней принципиально согласен — переходим к обсуждению Технического задания (ТЗ).
Делаем смету
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments41

А давайте подружимся с SSH

Reading time7 min
Views1.1K
Многие мои знакомые так или иначе используют протокол SSH (заходя на свои роутеры, веб хостинги и непосредственно на собственные компьютеры дома и в офисе), при этом не все об этом знают.



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

В этой заметке вы узнаете:
  • как прописать псевдонимы для соединений
  • как настроить авторизацию без пароля
  • как передавать файлы по SSH
  • как запускать графические приложения по SSH
  • а так же получите общие советы по опциям SSHD


Читать дальше →
Total votes 205: ↑187 and ↓18+169
Comments96

Мы ♥ Иконки

Reading time1 min
Views1.2K

Коротко о ясном


В интернете есть множество сайтов где выкладываются разного рода иконки, но по настоящему хороших сайтов мало. Но я нашел такой сайт. Иконки высшего качества собранные воедино совершенно бесплатно распространяются на сайте weloveicons.com. Иконки предоставляются в форматах для Mac OS, Windows и в .PNG

Каждый найдет себе то, что ищет


image image image
Total votes 123: ↑96 and ↓27+69
Comments46

Вскрываем эксплоиты, шифрованный javascript, вредоносные iframe — русский мануал Malzilla

Reading time3 min
Views5.6K
Интересуясь информационной безопасностью, я часто имею дело с зараженными сайтами, содержащими фреймы на эксплоиты, шифрованный javascript, запутанные редиректы… Для облегчения работы я использую open source программу Malzilla. К сожалению на русских просторах интернета очень мало информации об этой тулзе, поэтому я хочу перевести официальный мануал к ней. Всего в нем 6 частей, ниже следует перевод первой из них.
Читать дальше →
Total votes 87: ↑81 and ↓6+75
Comments19

1001-ый способ вертикального выравнивания

Reading time2 min
Views128K
О вертикальном выравнивании блока неизвестной высоты по центру или низу родителя сказано много. Есть способы, основанные на display:table-cell для хороших браузеров (без кавычек) и expression для IE, способы, основанные на относительном позиционировании (могут плохо работать при переполнении). В этой заметке будет описан способ, работающий на особенностях такого мощного отображения, как встроенный блок (display:inline-block).
Читать дальше →
Total votes 62: ↑51 and ↓11+40
Comments46

Статистика Google Analytics на вашем сайте. Часть вторая. Использование GAPI

Reading time2 min
Views11K
С момента публикации первого топика о создании хабраподобной статистики (которую, кстати, почему-то тут не обновляют) с импортированием данных из Google Analytics прошел ровно год.

image

Весь этот год все работало, статистика обновлялась, графики рисовались… пока все не сдохло. Как это и присуще гуглу, сдохло оно не сразу у всех, а потихоньку, в течение недели. При беглой диагностике проблемы выяснилось, что она заключается в гугловой авторизации. Учитывая, что скрипт авторизации мною был заимствован, разбираться в нем не было никакого желания, и тут до меня дошло — ведь Google выпустил API для аналитикса! Поэтому было решено не обрабатывать напильником существующую версию, а просто получить данные цивилизованно, посредством API, тем не менее, оставив при этом «структуру» и основные моменты предыдущей версии.
Читать дальше →
Total votes 62: ↑58 and ↓4+54
Comments52

Какие бывают META теги и зачем они нужны

Reading time7 min
Views262K

META-теги


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

META-теги имеют два возможных атрибута


— <META HTTP-EQUIV="имя" CONTENT="содержимое">
— <META NAME="имя" CONTENT="содержимое">
META-теги должны находиться в заголовке HTML-документа между <HEAD> и </HEAD> (особенно это важно для документов, использующих фреймы).

Стандартом HTML 4.01 значения и имена мета-тегов НЕ оговариваются, поэтому мы будем рассматривать те значения, которые уже устоялись в интернете и используются чаще других.
подробнее о META тегах
Total votes 118: ↑89 and ↓29+60
Comments47

Способ вертикального выравнивания блока с помощью настоящего vertical-align

Reading time4 min
Views70K
Сегодня, верстая один макет, я, кажется, изобрел очередной небезынтересный способ вертикального выравнивания блока относительно родительского. Он не основан на превращении блоков в ячейки таблицы и не использует css-свойство position.

Требования

— Должна быть известна начальная высота родительского блока;
— Дочерний блок может иметь произвольный размер как по высоте, так и по ширине.

Возможности

— Работает в IE6+, O9+, FF2+, webkit;
— Тру vertical-align выравнивание со всеми допустимыми значениями;
— Одинаковое поведение во всех браузерах (незначительные отклонение при некоторых условиях в ие6 будут оговорены ниже);
— При вырастании дочернего блока выше «папочки», родительский блок расширяется;
— Ни грамма JavaScript.
Читать дальше →
Total votes 98: ↑83 and ↓15+68
Comments59

Information

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