Pull to refresh
7
0
Павел Миронов @saintd

User

Send message

Как использовать API сайта, у которого нет API?

Reading time4 min
Views80K
У меня достаточно часто появляется задача получить данные от стороннего сайта, при этом далеко не всегда этот сайт предоставляет возможность удобно получить эти данные через API. Единственное решение в таком случае — парсить html содержимое страниц. Когда-то я писал регэкспы, потом появились библиотеки, позволяющие получить нужное содержимое по css-селектору, а сейчас и это кажется сложной задачей, которую хотелось бы упростить.

Сегодня я хочу рассказать вам о моей небольшой библиотеке, позволяющей описать в API-стиле http-запросы и парсить ответ сервера в нужный вам формат.
Читать дальше →
Total votes 115: ↑105 and ↓10+95
Comments40

Про идеальный конструктор сайтов

Reading time3 min
Views47K


Ко мне часто обращаются знакомые и знакомые знакомых с просьбой сделать им сайт или интернет-магазин. «Ты же этот, как его, интернетчик!» С интернет-магазинами сейчас все просто: нормальный магазин делать долго и дорого, поэтому все желающие моментально отправляются на insales.ru или ecwid.ru. Если человеку нужен классический landing page под проект или акцию — тоже есть, допустим, landingi.com или lpgenerator.ru. А вот уже если там не все устраивает — можно думать самому или советовать нормального разработчика, за другие деньги, конечно.

А вот с «обычными сайтами» («визитки», как их называли еще 10 лет назад) — засада. Конечно, есть wix.com, неприкаянный ucoz.ru и сотня других билдеров, но советовать их как-то боком выходит: люди, далекие от интернета, видят мощный редактор с блоками типа «текст» или «картинка», и либо пугаются, либо (что еще хуже) таки рождают себе сайт «шоб красиво», пихая туда все блоки, кажущиеся им «крутыми». Получается парадокс: сервис, сделанный для полного чайника, этого чайника либо отпугивает, либо дает ему криво натворить дел.
Что мы можем сделать?
Total votes 17: ↑6 and ↓11-5
Comments17

Трафик из Яндекс.Директ: грузите посетителей по центу

Reading time5 min
Views41K

Можно ли приводить много заинтересованных посетителей из Директа по 30 копеек за посетителя? Можно и нужно, особенно, если ваш ресурс только встает на ноги и нужно быстро и недорого привести на сайт заинтересованных людей.

Это – пошаговое руководство для тех, кто хочет знать, каким боком из Яндекс Директ (на вполне законных, между прочим, основаниях) привлекать недорогой трафик по 0.01 у.е или 30 копеек за переход.
Читать дальше →
Total votes 122: ↑116 and ↓6+110
Comments59

Сети, устойчивые к разрушению, скоро вступят в строй

Reading time2 min
Views4.6K
Инженеры по заказу военных предпринимают упорные попытки создать новые сетевые протоколы, которые будут гарантировать устойчивую работу сети в самых сложных условиях. Например, когда каждый радиоузел активен в течение всего лишь 20% времени, а конфигурация беспроводной сети постоянно изменяется. Такую сеть практически невозможно уничтожить.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments19

Антон Мажирин: «Создать Работника 2.0»

Reading time7 min
Views2.5K
Пообщаться с Антоном Мажириным мы решили не только потому, что через 2 дня у него — день рождения. Антон — создатель самого известного сетевого проекта в Рунете, объединившего фрилансеров и работодателей — Free-lance.Ru. В интервью он рассказывает об истории Free-lance.Ru, о своём новом проекте «7 рук», а также о том, что такое «Веб 2.0» и «Работник 2.0».

Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments30

Туда и обратно

Reading time4 min
Views497
Поскольку, предложение изучить историю было воспринято неадекватно, то займемся делами текущими. Изучим грустный вопрос о том, почему деревья не такие большие, как мы их помним и что из этого следует.

Недавно Лёня Бойцов опубликовал хорошее исследование о том, почему Гугль запрещает слово «гуглить». Я очень советую вдумчивому читателю внимательно ознакомиться с этим текстом, потому что я сейчас скажу, что содержательная часть вопроса о том, почем Гугль нахамил широким народным массам, не имеет никакого значения.
Значение имеет только то, что лобби юристов (определенно хороших — Гугль имеет достаточно ресурсов, чтобы купить лучших) победило лобби пиарщиков от not-be-evil (по определению, плохих — либо ты сидел с Брином в одном гараже, либо ты настоящий и циничный герой книги Бакли). В посте в блог прямо написано, что для корпорации Гугль издержки от потенциальной (то есть возможной) потери торговой марки важнее народной любви (прошлой, настоящей и будущей). Фактически, там написано, что компания Гугль морально готова перестать быть лидером в поиске, так как это для нее уже не важно. Тем более, не имеет значение какой-то там донтбиивил.
Тот, кто думает о поражении — уже лузер.
Тот, кто готов сдать позицию, которая его противникам кажется стратегически важной, а ему уже нет — просто хороший полководец.

Этот текст размещен на ресурсе, где все знают слово Google. Увы, многие из читателей, считают, что поиск в интернете придумали Сергей Брин и Ларри Пейдж. Среди тех, кто знает, что это не так, находятся не менее безнадежные люди, которые думают, что поиск по вебу впервые сделала Yahoo!
Так или иначе, большинство читателей считают, что google.com ищет существенно лучше, чем ask.com или yahoo.com и это имеет значение.
Простейший «слепой» тест покажет вам, что разница незначительна. Для 99% пользователей — незаметна.
Чтение
Google Investor Relations может научить вас, что деньги не в поиске, а в лучшей мире системе продаж рекламы, если говорить очень грубо — то в крупнейшей сети продаже баннеров.
Эта система очень зависит от поиска, но от поиска вообще, а не какого-то конкретного. Если завтра разобьется самолет со всеми великолепными инженерами, которые делаю поиск для гугль, то проблема будет очень скромной — в течении небольшого количества времени надо будет лицензировать чужой поиск. Пользователи не заметят (да, и ты лично, дорогой читатель), а бизнес не пострадает.
Здравый смысл подсказал бы, что любить Сергея Брина логично, если ты — девушка, которая мечтает выйти замуж за молодого, красивого, умного и очень богатого.

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

Никто кроме участников сделки не читал договор между СУП и 6A. Если из всей опубликованной информации выбросить пиар, то станет понятно, что никто никому ничего не должен.
Но это не информация и тем более, не предмет для разговора.
Проще поверить, что Носик лично долгими зимними вечерами будет зачищать ваш ЖЖ. После этого, становится совершенно очевидным, что политизированный СУП нажал на кнопку в Калифорнии.
А то и вовсе в Ростелекоме. Это логично_2.0, т.е. не требует думать своей головой или проверять факты. Желательно, при этом ничего не помнить.
Лучше вообще ничего.
Например, ничего не зная про рунет'2000 очень удобно сравнивать Яндекс.Закладки и del.icio.us. А вот если знать, что с 2000 года по 2004 у яндекс.закладок была публичная (пользовательская) страница и локальный поиск, провязки с классификаторами и многое другое то становится гораздо сложнее с этим всем жить. Придется, в частности, выяснять, почему чудотворный вебдваноль был совершенно никому не нужен всего-то три года назад, а теперь так моден.
Это трудный вопрос.
Пока не случился «настоящий подпольный хабрахабр» стоит считать этот вопрос домашним заданием.

Одни мой друг, хороший и умный, сказал, что в бета-версии этого текста не хватает кульминации, объясняющей, зачем я это все пишу. С одной стороны, объяснить, зачем я это пишу, невозможно. С другой стороны — кругом чистый Веб-два-ноль: мир вокруг нас не такой, каким мы его видим, а события вокруг нас происходят не потому, почему нам кажется. Или, наоборот, все именно такое, как мы думаем. Событием является то, о чем сообщил телевизор, а причины соответствуют нашим представлениям о законах физики, а вовсе не законам физики. Мне же остается лишь надеяться, что я привел хорошие примеры.

А о тегах животворящих мы поговорим чуть позднее. Разговор этот, кстати, стоит начать с изучения принципов библиотечной классификации.
Так как проблема в том, что рубрикация по тегам сложнее каталожной.
Такие дела.
Total votes 45: ↑40 and ↓5+35
Comments31

Технологии и рынок Usability в России

Reading time3 min
Views1.1K
Рынок юзабилити услуг в России активно развивается, но все еще находится в зачаточном состоянии, при том что спрос на данные услуги довольно велик со стороны крупных компаний и онлайн-проектов.

Использование опыта пользователей для улучшения интерфейсов — вот идеология Usability.

«Ориентированный на пользователя дизайн характеризуется активным вовлечением пользователя в процесс разработки для достижения прозрачного понимания пользовательских требований и надлежащего распределения функций между пользователями и технологиями, а так же итеративным характером подхода и его мультидисциплинарностью» ― ISO 13407

Профессиональных игроков, специлизирующихся на юзабилити-тестировании и проектировании ПИ (пользовательских интерфейсов) не так много, и все они объединены в довольно узкое коммьюнити, общающееся посредством «исконного» сайта usability.ru или ассоциации RUSCHI. Из профильных игроков на рынке можно выделить:
  • UIDesign www.uidesign.ru
    Usethics www.usethics.ru
    Maximaster www.maximaster.ru
    Студия Лебедева www.design.ru — в вопросах проектирования ПИ и эргономики в промдизайне
    UsabilityLab www.usabilitylab.ru
    Initium www.initium.ru
    + ряд фрилансеров.


    Типовой спектр усулг, оказываемых компаниями на рынке:

    • Usability-консалтинг
      Экспертиза пользовательских интерфейсов
      Usability-тестирование ПИ (можно выделить удаленные тестирования с фасилитатором и без, лабораторные тестирования, в том числе с анализом движения зрачка «eye-tracking»)
      Проектирование ПИ (проектное исследование, формализация пользовательских сценариев, прототипирование интерфейсов, спецификация, техдизайн)
      Обучение сотрудников
      Постановка отделов Usability «под ключ»


      Встраивание процесса usability-тестирований в технологический цикл разработки отвечает стандартам разработки MSF и позволяет существенно увеличить отдачу проектов по ключевым пользовательским сценариям (увеличить показатели конверсии для онлайн-сервисов и эффективность работы для Интранет-систем).

      Технологии

      До недавнего времени почти все тестирования проводились с помощью «домашних технологий», либо с ипсользованием пиратского ПО.

      На данный момент на зарубежном рынке в основном пользуются двумя наработками — Morae от TechSmith и более вункциональный, но дорогостоящий ObserverXT от Noldus.

      Не так давно началось распостранение продукта Morae на российском рынке. Это связано с получением компанией IT-Online статуса партнера TechSmith в России. Известие было втречено с энтузиазмом профессиональными юзабилистами, чему будет посвящен отдельный открытый семинар RUSCHI, который пройдет 1 ноября.

      Morae

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

      Morae Manager позволяет:

      • найти любые действия и операции, произведенные пользователем в процессе проведения тестирования, при помощи расширенного поиска;
        рассчитать для каждого зафиксированного процесса некоторые параметры (например, время потраченное на выполнение задачи), предоставляя детальную информацию о процессе;
        добавлять текстовые пометки и голосовые комментарии к уже готовым видеоматериалам;
        демонстрировать видеозапись пользователя одновременно с записью событий на рабочем экране по принципу Picture-in-Picture.


        С момента запуска в 1994 году, Morae стала стандартом usability-тестирования для профессионалов всего мира. Morae позволяет максимально автоматизировать usability-тестирование и сделать его удобным и эффективным с точки зрения полученных результатов. Самым трудоемким в этих условиях становится процесс выработки рекомендаций по преодолению выявленных проблем.
Total votes 15: ↑11 and ↓4+7
Comments6

Раскрываем возможности map в nginx

Reading time6 min
Views131K
map — мощная директива, которая может сделать ваши конфиги простыми и понятными.
Возможно, это самая недооцененная директива, из за того, что не все знают всех её возможностей.
Она в компактной форме помогает обрабатывать переменные, GET параметры, заголовки, куки и наборы бекендов (upstream).
Попробую раскрыть её возможности хабрапользователям.
Раскрыть возможности map
Total votes 91: ↑91 and ↓0+91
Comments11

Собеседование на должность JavaScript разработчика

Reading time4 min
Views287K


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Total votes 126: ↑115 and ↓11+104
Comments313

Мой web-интерфейс управления умной квартирой

Reading time2 min
Views44K
Привет!

Последние 1.5 года я работаю над очень интересным проектом — это система управления домом по сценариям. Она позволяет навешивать произвольную логику (сценарии) на различные события в доме (срабатывание датчиков, нажатия кнопок, события от внешних сервисов, например, получнеие email или сообщения в twitter). Система имеет модульную архитектуру, весь функционал находится в плагинах. Если нужно добавить новый тип события или новые команды «домашнего API», нужно просто добавить плагин для этого.

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



UI теперь — модульное одностраничное приложение. Плагины могут описывать свой UI в виде html/js/css файлов, расположенных в ресурсах DLL. Клиентская часть UI основана на backbone.js и marionette.js, модули загружаются через require.js. В целом получилось довольно удобно для авторов плагинов — даже не имея глубоких знаний java script, можно, смотря в примеры, описать полноценный UI, который будет автоматически подключен в интерфейс управления домом.

А теперь - слайды!
Total votes 43: ↑37 and ↓6+31
Comments41

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

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Total votes 180: ↑156 and ↓24+132
Comments48

Visual Website Optimizer — сплит тестирование ландинг пейдж на основном домене и домене третьего уровня

Reading time4 min
Views18K
Сплит тестирование — распространенный метод определения наиболее оптимального, как правило, с точки зрения конверсии, варианта страницы сайта. Суть метода заключается в том, чтобы направить трафик на две различные страницы, после чего сравнить их по необходимым параметрам.

Задача для проведения тестирования была определена следующим образом:
Планируется запуск рекламной кампании в Яндекс Директ: необходимо выявить вариант посадочной страницы, который принесет большее количество заявок (на котором выше коэффициент конверсии). Исходный вариант страницы является главной страницей сайта, альтернативный вариант размещен на домене третьего уровня. Для управления тегами на сайте используется Google Tag Manager.

Для решения поставленной задачи был выбран инструмент Visual Website Optimizer, поскольку в нем имеется удобный механизм настройки сплит теста, а также учитывается незначительный объем привлекаемого трафика и возможность проведения бесплатного теста на пробном тарифном плане:
Читать дальше →
Total votes 8: ↑4 and ↓40
Comments0

5 причин использовать AngularJS в вашем корпоративном приложении

Reading time5 min
Views23K

5 причин использовать AngularJS в вашем корпоративном приложении


image

Нынешнюю ситуация в мире корпоративных приложений можно описать одним словом: хаос.

Начиная с устаревшего кода, который в течении N лет переходил от разработчика к разработчику без всякой документации. До слишком сложных интерфейсов, которые слишком усложняют код. До смешивания вместе N технологий в одном единственном приложении. Посмотрим фактам в лицо: когда эти вещи создавались, никто не задумывался об их поддержке. Сегодня мы столкнулись с проблемой – как исправить все эти приложения? С чего начать? Как привнести в них здравый смысл? Как привести их к современному технологическому стеку?
Читать дальше →
Total votes 30: ↑17 and ↓13+4
Comments18

Хороший дизайн интерфейсов. Часть 3

Reading time5 min
Views76K
Это третья часть переведённых заметок «Good User Interface». Первые 16 частей уже ранее перевели наши коллеги из ADV на Хабре, а вторые 11 перевели мы.

Идея 28


Используйте варианты по-умолчанию, не заставляя людей выбирать


Выбор по-умолчанию или самозаполняющиеся поля с обучением сокращают объем работы, которую должен проделать пользователь. Это стандартная техника, помогающая людям продвигаться по формам быстрее, учитывая, что их время ограничено. Одна из наиболее отвратительных вещей с точки зрения дизайна интерфейсов и конверсии посетителей в клиентов — это снова и снова просить пользователей предоставить данные, которые они уже указали ранее. Старайтесь делать поля, которые будут сами заполняться самыми популярными или уже известными значениями, а не просите людей их каждый раз заполнять. Чем меньше работы — тем лучше.

Остальные 10 заметок далее
Total votes 88: ↑81 and ↓7+74
Comments36

Цвета и разница между ними в LESS / Sass

Reading time3 min
Views21K


Как понять в чём разница между двумя цветами? Как из одной цветовой схемы сделать 360? Как превратить имеющиеся у нас цвета схемы в переменные, которые зависят от одного базового цвета и использовать это в CSS-препроцессоре? Об этом мы узнаем далее: зачем нам это, какие юскейсы возможны с цветами и схемами в LESS (Sass), а также какие сервисы помогут нам в превращении двух цветов в один и функции над первым. Статья будет интересна тем, кто использует CSS-препроцессоры, переменные в них, а также функции/примеси.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments23

Кеширование блоков с помощью nginx

Reading time6 min
Views15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →
Total votes 116: ↑107 and ↓9+98
Comments63

Android In-app purchasing: платное отключение рекламы в своём приложении

Reading time6 min
Views41K
Много раз уже просили написать статью о том, как в приложении реализовать платное отключение рекламы. По In-app уже были статьи на хабре. Правда, они старую версию API рассматривали. В принципе, новая версия не особо то и отличается от старой. Была похожая статья, но там больше именно про отображение рекламы рассказывалось, а второй части статьи мы так и не увидели. Как оказалось, многим до сих пор интересен этот вопрос, решил написать как это реализовать в своём приложении.
Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments18

Визуализация шаблонов использумых паролей

Reading time6 min
Views21K

Учёные из академии ВВС США проанализировали возможность подбора пароля по специальному словарю, созданному при помощи графических клавиатурных «паттернов», используемых пользователями для создания надёжного, но легко запоминающегося пароля.

Немного вольный перевод статьи под катом
Total votes 43: ↑40 and ↓3+37
Comments26

Как сэкономить деньги в Amazon Web Services — выбор эффективной архитектуры

Reading time4 min
Views16K
Всем привет!

Сегодня поговорим на тему как «профессионально сэкономить» деньги при использовании облачных сервисов Amazon Web Services при размещении веб-решений, адаптированных для России. Мы активно используем сервисы данного облачного провайдера для проектов компании почти 2 года и постоянно занимаемся оптимизацией расходов. Довольно странно, что важная тема оптимизации расходов на Amazon Web Services, очищенная от маркетингового булшита, как-то не особо представлена в сети. Постараюсь предметно поделиться опытом и обозначить явные выгоды и ошибки, которые следует учесть при проектировании веб-систем.

Читать дальше →
Total votes 60: ↑54 and ↓6+48
Comments19

Адаптивный и мобильный дизайн с CSS3 Media Queries

Reading time7 min
Views587K
Разрешение экрана в наши дни колеблется от 320px (iPhone) до 2560px (большие мониторы) или даже выше. Пользователи больше не просматривают сайты только на настольных компьютерах. Теперь пользователи используют мобильные телефоны, небольшие ноутбуки, планшетные устройства, такие как iPad или Playbook для доступа в интернет. Поэтому, традиционный дизайн с фиксированной шириной больше не работает. Дизайн должен быть адаптивным. Структура должна автоматически изменяться с учетом всех разрешений дисплеев. Эта статья покажет вам как создавать кросс-браузерный адаптивный дизайн при помощи HTML5 и CSS3 media queries.
Читать дальше →
Total votes 91: ↑90 and ↓1+89
Comments32
1

Information

Rating
Does not participate
Location
Таиланд, Таиланд
Date of birth
Registered
Activity