Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

Плагин для Bootstrap 3, повышающий accessibility интерфейсов

Reading time2 min
Views17K
Набор инструментов Bootstrap пользуется достаточно большой популярностью среди разработчиков. Тем не менее, интерфейсы, получающиеся с его помощью, зачастую имеют проблемы с accessibility, то есть с доступностью для пользователей с ограниченными возможностями. В результате, получившийся интерфейс может не соответствовать предъявляемым к нему требованиям, так как часто accessibility является одним из пунктов технического задания, да и в принципе не очень доступный интерфейс — это уже плохо.

Команда разработчиков PayPal некоторое время работала над решением ряда проблем доступности в Bootstrap 3, итогом чего стало появление accessibility плагина, который недавно был выложен в открытый доступ. Фактически он позволяет реализовать доступность интерфейса на базовом уровне без каких-либо особых знаний в этой области.
Читать дальше →

Ценообразование услуг по ведению контекстной рекламы

Reading time6 min
Views36K

Предисловие


В повседневной жизни мы не придаём значимости вещам и услугам, которые делают другие люди, некоторые из них, на наш взгляд, являются элементарными: что там сложного в копировании ключа от домофона? Взял аналогичный ключ, поднес к аппарату он автоматически скопировал – вуаля! Что там сложного борщ сварить? Купил все продукты в овощном ларьке, закинул в кипящую воду – вуаля, суп готов!
Давайте разберёмся поподробнее о совершенно “элементарных вещах” с точки зрения организации бизнес-процесса.
Читать дальше →

Передача треков Google Analytics сторонним доменам без javascript

Reading time4 min
Views5.5K


О чем статья?


  • О междоменном отслеживании
  • О том, что если чего-то нет в официальной документации, то это не повод печалится, а повод добавить такую возможность.

Зачем передавать?


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

Почему без javascript?


  • Если нужно выполнить редирект пользователя после обработки логики запроса на сервере.
  • Google Analytics api и так хорошо документирован, а читать копипаст документации это не уровень хабра, не так ли?

Суть метода проста. Берем все куки вида __utm и передаем их, как параметры, в урле на другой домен. Ничего не происходит. Расходимся. Добавляем последним параметром __utmk, который является особым хешем всех остальных кук гугл аналитики. Поздравляю мы сделали, то что делаем функция _link в известном файле ga.js от Google Analytics.
И так если у вас переход на другие сайты обрабатывал контроллер, то вам не надо во все ссылки добавлять конструкцию вида:

onclick="_gaq.push(['_link', 'https://www.payment-system.com?contractId=example']); return false;"


Если нужны исходники формирования хеша для ключа utmk, прошу в github.
Далее история о процессе получения данного метода.

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

Решение проблемы идентичности сред в DevOps методологии

Reading time4 min
Views5K

Сегодня многие говорят о DevOps как о методологии, которая помогает разрушить «железный занавес» между IT отделом, QA и программистами и создать некий общий механизм, помогающий делать продукты быстрее и качественнее. Основная задача, которая встает перед DevOps разработчиком — это добиться максимальной автоматизации развертывания development. testing, production сред и переходов между ними. Соответственно одна из основных проблем в данном случае — это соблюсти полную идентичность сред разработки, тестирования и эксплуатации. Под катом приведу пример практического решения данной задачи, которое я использовал в нескольких компаниях в ходе интеграции DevOps методологии.
Читать дальше →

Устройство минималистичных посадочных страниц

Reading time7 min
Views45K


Предыдущий перевод (Landing page, которая работает), посвященный дизайну качественных посадочных страниц набрал больше 150 000 просмотров. С тех пор прошло уже много времени и подход к дизайну изменился – все больше становится минималистичных страниц, о которых и пойдет речь в статье.
Читать дальше →

Облачные ci: travis-ci и drone.io

Reading time2 min
Views6K

Всегда приятно иметь статистику о состоянии технической части (кода) проекта, этим занимается coviolations.io. Но для его использования нужно какое-то ci-решение. Не каждому захочется поднимать jenkins/travis/etc на своём сервере, а будет проще прибегнуть к использованию облачных сервисов. Мы рассмотрим два наиболее популярных: travis-ci и drone.io.

Как «жертву» будем использовать обычный django проект — сам coviolations. Для проектов на ror/nodejs/flask/etc всё будет почти аналогично. Как результат мы получим пачку статистики и графиков.
Читать дальше →

Бизнес лидеров: как устроена работа агентства Notamedia

Reading time9 min
Views15K
Привет, Хабр! В течение последних месяцев мы провели рейд по офисам ведущих digital-агентств и собрали серию максимально подробных интервью с руководителями этих компаний. Сегодня мы открываем серию «Бизнес лидеров digital-рынка» с рассказа об агентстве Notamedia.

Полную версию интервью Сергея Оселедько можно прочитать на Руварде, а специально для Хабра я подготовил ряд своих собственных комментариев по итогам беседы — для наиболее интересным вопросах организации жизни Ноты.

image

Начнем с наиболее важных показателей/досье Нотамедии:

  • Год основания: 2004
  • Штат: 80+ (Москва + продакшн в Краснодаре).
  • Технологии: 1C-Битрикс, UMI.
  • Оборот за 2013: 130 млн. руб.
  • Количество проектов за 2013: 70 .
  • Количество ключевых постоянных клиентов: 20.
  • Количество входящих обращений в месяц: 100.
  • Количество тикетов в поддержке за 2013: 5000.

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

6 ошибок снижающих конверсию вашего магазина

Reading time6 min
Views34K


В статье я расскажу реальные истории изменений интернет магазинов и о том, какой эффект они дали. Все истории 2012-2013 годов.

На протяжении многих лет я специализируюсь на анализе текущего положения дел интернет магазина и последующем увеличении его конверсии. За это время у меня набрались некоторые хинты, внедрение которых всегда позволяло на значительную величину увеличить продажи. (Значительное – это конечно, не 500%, а 1%-5%). Другими словами — отсутствие этих вещей, снижает эффективность магазина. Накопилось их значительно больше 6, но я постарался написать о тех, внедрение которых не требует много времени или ресурсов.
Читать дальше →

Sensu — фреймворк для мониторинга

Reading time8 min
Views41K


Немного истории

В 2011 году в DevOps-среде возникло движение, объединившееся под хештегом #monitoringsucks, и критиковавшее существующие системы мониторинга за отсутствие гибкости. Что именно их не устраивало — прекрасно иллюстрирует эта презентация.
Если вкратце — хочется людям некоего стандарта API для взаимодействия между компонентами мониторинга, ну и появления самих этих компонент, чтоб из них строить гибкий и умный мониторинг.

Итогом этой волны недовольства стали массовые обсуждения проблем и привлечение внимания к интересным утилитам типа Sensu и Riemann.

В 2013 году хештег в сообществе сменился — теперь это #monitoringlove. Произошло это благодаря развитию opensource-утилит для мониторинга.

Из новых утилит наибольший интерес представляет Sensu. Riemann я не стал всерьез рассматривать, поскольку на данный момент у него нет никаких средств для обеспечения отказоустойчивости, да и сама идея писать конфиг на Clojure мне не сильно нравится.

Именно о Sensu я и расскажу в этой статье, опишу базовые принципы работы и приведу пример решения типичной задачи мониторинга.
Читать дальше →

Продающий дизайн интернет-магазина. Часть 1. Аналитика

Reading time13 min
Views148K
Сегодня я хочу поговорить про дизайн интернет-магазина и подойти к этому вопросу основательно. В статье не будут затронуты другие аспекты связанные с интернет-магазинами, только дизайн. Эта первая часть статьи, она больше про аналитику и общие моменты, которые прорабатываются еще до интерфейсов, а вторая статья будет больше про сами интерфейсы.

Это первая статья. Всего их будет 3.

image

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

HTML Purifier. Расширяем возможности

Reading time8 min
Views37K

Буквально пару абзацев я уделю внимание особенностям взаимодействия этой библиотеки с фреймворком Yii, остальное же в полной мере универсально и будет интересно всем, кто использует или планирует использовать эту библиотеку.

Если вы уже хорошо знакомы с Purifier, то можете смело начинать читать отсюда

Немного о HTML Purifier

Если вы не слышали о такой прекрасной библиотеке (а поиск на Хабре говорит о не такой уж большой популярности) как HTML Purifier, то советую обязательно к ней присмотреться, особенно если ваши пользователи генерируют контент в html формате. Это может быть рядовой пользователь, модератор или даже администратор.
Что же делает эта библиотека?
Согласно конфигурации она очищает любой html код от всех вредоносных, невалидных, запрещенных (вашей конфигурацией) частей кода, в том числе отдельные атрибуты.
Читать далее

Что объединяет VDS, Ruby и 1С-Битрикс: Корп.Портал? Jelastic на Infobox

Reading time4 min
Views5K
image
Две недели прошло с тех пор, как мы запустили новую облачную платформу Jelastic. Сегодня мы хотим поделиться новостями о ее совершенствовании.

Мы расскажем про создание и возможности использования VDS на Jelastic, про начало поддержки Ruby, про то, как мы тестировали новый установочный пакет для развертывания на Jelastic «1С-Битрикс: Корпоративный портал», и сколько будет стоить хостинг для этого продукта.

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

Оптимизация веб-окружения на платформе Jelastic для проектов на PHP

Reading time4 min
Views8.5K
Бесплатное бета-тестирование облачной платформы Jelastic на хостинге InfoboxВ предыдущих статьях мы рассказали вам о запуске на Infobox облачной платформы Jelastic.Cloud, а также о том, как мы создавали каталог CMS для развертывания их в один клик на платформе Jelastic.Cloud и каких высоких результатов производительности мы добились, оптимизировав веб-окружения.

Но, конечно, в нашем каталоге есть не все существующие CMS, поэтому сейчас мы расскажем о том, как самостоятельно развернуть на Jelastic.Cloud свой PHP-проект и оптимизировать под него окружение. Мы сделаем это на примере UMI.CMS.
Читать дальше →

Превращаем статический сайт в мобильное приложение с помощью jQuery Mobile и PhoneGap

Reading time5 min
Views114K

После приобретения телефона на базе Android, возникла задача сделать из сайта brainexer мобильное приложение. Выбор пал на jQuery Mobile и PhoneGap. До этого никаких познаний в обрасти мобильной разработки не было, поэтому пришлось осознать некий пласт новой информации, выжимкой из которого я бы и хотел поделиться. В итоге статья представляет из себя небольшой quick start — как из пачки html файлов получить приложение опубликованное в Google Play.
Читать дальше →

Continuous Delivery hecho en Alawar

Reading time7 min
Views5.8K
Около года назад перед нашей командой была поставлена задача стартовать разработку серверных частей ряда игровых MMO проектов. Специфика такого рода проектов помимо требований к гибкости, стабильности и масштабируемости также включает в себя:

  • необходимость A/B-тестирования разных версий одной и той же игры
  • возможность по максимуму переиспользовать функциональность от одной игры в другой
  • высокую вероятность географической удаленности от разработчиков занимающихся клиентской частью игры

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

Цель данной статьи – рассказать о проделанных шагах, принятых решениях и описать полученный результат.

image

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

10 лучших интранетов 2013 года

Reading time4 min
Views19K
image
Вольный перевод статьи Jacob Nielsen и Kara Pernice про 10 лучших интранетов 2013 г. в мире и тренды развития таких решений — "10 Best Intranets of 2013"

Год назад Якоб Нильсен, который традиционно стремится сделать работу в интернете для пользователей максимально удобной и доступной, провел исследование в области интранетов и определил ключевые тренды, которые будут происходить в ближайший год. Это исследование показало, что 70% победителей используют сильно кастомизированный SharePoint. Среди основных выявленных трендов — увеличение численности команды разработки почти вдвое, ряд преимуществ: улучшенная интеграция с социальными сетями и многочисленные продвинутые фильтры.
Как нам показалось, данное исследование не получило широкого распространения, и мы решили восполнить этот пробел и обсудить с вами, случились ли те тренды, о которых говорили Nielsen Norman Group.
7 трендов

Вышел Zabbix 2.2

Reading time7 min
Views56K
image

Я очень рад сообщить, что сегодня вышла новая версия открытой системы мониторинга Zabbix 2.2. Хочу поблагодарить нашу команду, пользователей и активное сообщество наших друзей. Спасибо всем за работу и активное участие!

Что такое Zabbix?


Zabbix — это распределённая система мониторинга. Zabbix является полностью свободным (Open Source) решением без каких-либо платных версий или расширений.

Zabbix способен следить за сотнями тысяч устройств, приложений и сервисов, собирать сотни гигабайт исторической информации в день и производить миллионы проверок доступности и производительности в минуту.

Zabbix используется во всём мире в различных индустриях в том числе крупнейшими европейскими банками и финансовыми учреждениями, интеграторами, IT и телекоммуникационными компаниями и известными университетами.

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

Первая версия Zabbix вышла в свет в 2001 году, в настоящее время разрабатывается командой профессионалов. Наш головной офис находится в Риге и существует дочерняя компания в Токио, Япония. Мы занимаемся разработкой и предоставлением коммерческих сервисов нашим клиентам: техническая поддержка различных уровней, обучение, разработка новой функциональности, решения под ключ и другое. Это то, как мы растём и развиваемся.
Довольно о нас, что же нового в 2.2?

Как работает Passport.js

Reading time4 min
Views120K

PassportJS — это middleware для авторизации под node.js. Passport поддерживает авторизацию с помощью огромного количества сервисов, включая «ВКонтакте» и прочие твиттеры. Список сервисов можно просмотреть здесь. Я хочу немного рассказать о том, как работает этот middleware на примере самой обычной авторизации с помощью логина и пароля.

Для самых нетерпеливых — готовый проект можно посмотреть здесь.
Читать дальше →

Как Groupon мигрировал от монолитного Rails приложения к новой Node.js инфраструктуре

Reading time7 min
Views21K

I-Tier: Расщепление монолита


Недавно мы завершили годовой проект миграции веб-трафика компании Групон в США от монолитного Ruby on Rails приложения к новому стеку Node.js и получили существенные результаты.

С самого начала весь веб-фронтенд американского Групона был единым исходным кодом Ruby. Код фронтенда быстро развивался, что затрудняло его поддержку и усложняло процесс добавления новых фич. В качестве решения проблемы с этом гигантским монолитом мы решили реструктурировать фронтенд посредством его разделения на меньшие, независимые и более простые в управлении части. Основой этого проекта стало разделение монолитного вебсайта на несколько независимых Node.js приложений. Мы также переделали инфраструктуру, чтобы обеспечить совместную работу всех приложений. Результатом стал Interaction Tier (I-Tier).

Вот некоторые из важных моментов этой глобальной архитектурной миграции:

• Страницы на сайте загружаются значительно быстрее

• Наши команды девелоперов могут разрабатывать и добавлять новые фичи быстрее и с меньшей зависимостью от других команд

• Мы можем избежать повторной разработки одних и тех же фич в разных странах, где доступен Групон.

Этот пост является первым из серии постов о том, как мы реструктурировали сайт и какие огромные преимущества мы видим в дальнейшем, которые будут лежать в основе продвижения компании Групон.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity