Search
Write a publication
Pull to refresh
23
0
kamaikin @kamaikin

User

Send message

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

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

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

Итак, участники эксперимента и его результаты:
под катом

Руководство для фрилансера по общению со «сложными» людьми

Reading time5 min
Views2.5K
Руководство для фрилансера по общению со «сложными» людьми Быть фрилансером, означает ли это, что вы больше не будете иметь дел с трудными людьми на работе?

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

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

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

Хотя мы, возможно, не сталкиваемся с теми ежедневными трудностями, которые встречаются при работе с другими людьми в офисе, фрилансеры все же должны знать, как вести дела с трудными людьми. Эта статья объяснит, в каких ситуациях вы можете столкнуться со сложными людьми и какие шаги стоит предпринять в таких случаях.
Читать дальше

Массовый угон доменов

Reading time4 min
Views12K


Если к тебе вдруг обратится кто-то с просьбой объяснять, как у него смогли увести домен, не удивляйся. Из-за банально устаревшей информации в регистрационных данных, любой домен рискует стать добычей для хакера. А если подключить к этому несколько полезных инструментов, то за экстремально короткий срок, возможно, обзавестись сразу десятками чужих доменов!
Видео проекта SocialWare.ru

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

Побит рекорд самого короткого кода по определению IE

Reading time1 min
Views3.3K
Без малого год назад, я уже писал (http://habrahabr.ru/blogs/javascript/50544/) о самом коротком способе определение браузера Internet Explorer, но вот некто Aleko нашел еще более короткий вариант:

-[1,]

Всего 5 байт. Пример использования:
if(-[1,]){
alert("Not IE!");
}

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

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

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

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

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

Список Javascript библиотек для рисования графиков и диаграмм

Reading time1 min
Views22K
О визуализация графов в вебе говорили здесь, навеяно этой статьей.

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

Highcharts: Красивые, динамические чарты за 5 минут!

Reading time2 min
Views67K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →

Показатель обратной загрузки файла для форм (Upload Progress Meter)

Reading time2 min
Views4.8K
Вы когда-то видели этот лоадер:
rapidshare loader
Или вот этот:
drop.io loader

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

как такое сделать написано далее

Представления (VIEW) в MySQL

Reading time10 min
Views482K
В комментариях Хабра упоминались вопросы по использованию представлений. Данный топик является обзором представлений, появившихся в MySQL версии 5.0. В нем рассмотрены вопросы создания, преимущества и ограничения представлений.

Что такое представление?


Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.

Представления иногда называют «виртуальными таблицами». Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Читать дальше →

Немного советов начинающим и не очень

Reading time6 min
Views4.8K
image

Немного воды
Разрешите представиться — фрилансер-дизайнер с опытом работы чистым фрилансером всего полтора месяца.
Профессиональный опыт работы в вебе — более 6 лет. Именно эти шесть лет позволили мне сейчас стать тем, кем являюсь и окончательно выбрать вектор своего движения.

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

Но, как оказалось, я ошибался. Потому-то как минимум 50% фрилансеров просто не понимают каких-то прописных истин, о которых я и хочу поведать далее.
Читать дальше →

Удаленный торрент клиент (transmission-daemon+firefox plugin+php)

Reading time4 min
Views8.2K
Давно уже зрела мысль поставить на домашнем linux сервере торрент клиент, да не простой а максимально удобный для удаленного использования. Простого web интерфейса для этого было не достаточно, хотелось чего-то более удобного.

После долгих поисков в интернете, нашел интересную вещь. Плагин к firefox позволяющий в 2 клика мышкой добавить torrent фаил к списку загрузок transmission. Решено было попробовать.

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

Безопасность сайтов с лирическими отступлениями

Reading time14 min
Views10K
Недавно я писал для одного заказчика обзорный документ по безопасности web приложений, после чего я подумал, что было бы неплохо выложить его на общее обозрение.
Статья написана для непрофессионалов, поэтому дабы сделать ее более интересной для притязательных пользователей хабра, я разбавил текст некоторыми случаями из жизни.
Читать дальше →

data:URI и производительность, или как замедлить Firefox в 10 (десять) раз

Reading time5 min
Views2.7K
Собственно, из заголовка должно быть почти все понятно. Но картинка не очень в тему: на ней надо нарисовать Лису, ползущую вслед догоняющему IE.

Это пост является ответом на «За бугром», ибо нашлась пара свободных часов, и было, чем их занять.

UPD Был обнаружен плагин — Wappalyzer — который на порядок замедлял отображение data:URI в Firefox. Но даже с его отключением Firefox продолжает проигрывать почти всем браузерам.

Но все по порядку.
Читать дальше →

«Райское наслаждение»: достаточно ли одного человека?

Reading time4 min
Views1.1K
Хочу предложить третью точку зрения на диалог о некомпетентных заказчиках и дизайнерах без кавычек. На мой взгляд, основная проблема, корень зла, из-за которого происходит недопонимание между заказчиками и дизайнерами — отсутствие промежуточного звена в виде менеджера или проектировщика (либо его неграмотность). А это отсутствие существует по причине очень низкого порога входа в профессию и отсутствия ответственности за некачественную работу.

Говоря об отсутствии ответственности, я говорю не об ответственности перед заказчиком или высшими силами, а об отсутствии далеко идущих и страшных последствий — в отличие от профессий, например, врача, пилота самолёта или архитектора. Именно поэтому вход в эти профессии сопряжён с фундаментальным образованием, в то время как веб-деятели работают «на глазок», методом проб и ошибок. Причём практически все. И одну ошибку совершают 100% самостоятельных дизайнеров и молодых компаний.

Речь пойдёт о проектировании

JSON и XML. Что лучше?

Reading time8 min
Views223K
Примечание: ниже перевод обзорной статьи «JSON vs XML», посвященной JSON и его сравнению с XML по ряду критериев. Публикуется в целях популяризации JSON среди читателей Хабрахабра.

JSON (англ. JavaScript Object Notation) — формат обмена данными, легко читаем людьми, легко обрабатывается и генерируется программами.

Основан на подмножестве языка JavaScript, Standard ECMA-262 3rd Edition — декабрь 1999.

JSON — Википедия

Что является правильным форматом ответа на XMLHttpRequest в AJAX-приложениях? Для большинства приложений, основанных на разметке, ответ будет простым — (X)HTML. Для информационно-ориентированных приложений выбор будет лежать между XML и JSON. До недавнего времени я не сильно задавался вопросом, что лучше использовать, XML или JSON. Я просто предполагал, что в каждом конкретном случае стоит выбирать наиболее подходящий формат, и все. Но недавно мне довелось проверить на практике этот подход. В этой заметке я опишу критерии, по которым проводил сравнение между XML и JSON, и собственные умозаключения.

Итак, критерии следующие.

  • Удобочитаемость кода.
  • Простота создания объекта данных на стороне сервера.
  • Простота обработки данных на стороне клиента.
  • Простота расширения.
  • Отладка и исправление ошибок.
  • Безопасность.

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

Пишем свою реализацию сессий для обработки мертвой сессии перед зачисткой

Reading time3 min
Views5.1K
Мой первый хабратопик, надеюсь, что не последний.

Представим ситуацию: есть корзина покупок на сайте, при добавлении в корзину мы ставим на товар т.н. lock, исключающий его из списка доступных для покупки товаров. Когда клиент удаляет товар из корзины — lock снимается. Но что делать, если пользователь просто закрыл браузер? В таком случае сессия будет удалена сборщиком мусора, а локи так и останутся.

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

Ближе к телу: как решил проблему я…
Читать дальше →

Обзор текстовых вeб браузеров

Reading time3 min
Views173K

Введение


Самое простое и в то же время полное определение текстового браузера — это приложение, которое отображает только текстовое содержимое web-сайтов. При работе с таким браузером вы не увидите так нами горячо любимых всплывающих баннеров. Во многих живущих ныне текстовых браузерах контент нагружающий трафик блокируется. Главный аспект применения текстовых браузеров, заключается в том, что их можно и нужно использовать в тех системах, где не предусмотрена графическая оболочка. В первую очередь, это, конечно, касается разнообразных UNIX-подобных операционных систем, но под MS Windows так же существуют аналоги. В этой статье хотелось бы описать некоторые текстовые браузеры и их возможности.
Продолжение

Настраиваем Aptana Studio с нуля для работы над Django-проектами

Reading time4 min
Views25K
image

Зачем оно вообще?


    Тут должен быть текст в духе «раньше я качал Eclipse Classic, который весит 160 с лишним метров, чтобы поставить на него PyDev и только тогда… Но потом я попробовал Aptana...».

    Собственно, Aptana Studio представляет собой среду для веб-разработки, построенную на основе Eclipse. Причем это значит именно то, что значит — почти все плагины Eclipse совместимы и с Aptana, только при этом в ней нету по умолчанию всей этой универсальности и Java-наворотов своего прародителя. И да, старый добрый PyDev здесь тоже есть, а на мой взгляд это — лучшая IDE-надстройка для питона. Естественно, для написания мелких проектов куда быстрее и проще использовать Geany, но сейчас не о нем :)
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity