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

Creator, founder, developer

Send message

Google+: рекомендации контента для вашего мобильного сайта

Reading time2 min
Views3.1K
Помогите посетителям найти самый интересный контент на сайте, и они станут вашими преданными поклонниками. Чтобы сделать это было легче, мы создали новый инструмент, который объединяет в себе функции социальной сети Google+ и Google Поиска.

Например, посетителям сайта Forbes теперь гораздо проще найти другие статьи интересующего колумниста c этого веб-ресурса благодаря программе поддержки авторов. Кроме того, мобильные рекомендации контента позволяют узнать, какие материалы пользуются популярностью в Google+ (получают много +1 и активно распространяются пользователями). При подборе рекомендаций система учитывает, какую страницу просматривает посетитель в данный момент. Этот сервис ненавязчив и не мешает просматривать сайт в браузере на мобильном устройстве.

Посмотрите, как это работает на примере мобильного сайта Forbes:


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

Частота отправляемых рассылок: чаще не всегда лучше!

Reading time5 min
Views7.2K
В последнее время, я часто слышу мнения, что “Объем отправки писем это ключ к успеху в email-маркетинге!”. По своей сути, они означают, что отправка дополнительных email приводит к большей активности подписчиков, зарабатыванию большего числа денег, и, вообще, лучше (вне зависимости от того, что “лучше” значит для вас).

Их аргументы просты:
  1. Мои данные показывают, что чем больше получает/открывает/кликает мою рассылку, тем больше денег я зарабатываю.
  2. Так как я не могу волшебным образом “наколдовать” новые email-адреса, поэтому я должен чаще отправлять рассылки тем, кто уже есть.

Ведь если у вас есть адресная база в 10 000 адресов и каждый раз, когда вы отправляете по ним email, вы получите 100 заказов, то, отправив email на эти адреса два раза в месяц, а не один, вы ожидаете получить на 100 заказов больше, верно? Деньги у вас в кармане! Почему бы не пойти на это?

Безусловно, рассуждения верные. Но не все так просто.

Может быть, вы сможете увеличить частоту ваших рассылок для роста продаж, а может и не сможете. И вот почему: Активность подписчика (открытия, клики) зависит от частоты отправки рассылок. Чем больше вы отправляете, тем меньше подписчиков открывают ваши рассылки и кликают по ссылкам в них. А значит должна быть точка равновесия, в которой определенная частота рассылки максимизирует активность подписчика (а, следовательно, и ваши продажи).

Подробнее про расчет оптимального количества email-рассылок в месяц

Безопасность платежей. Часть 1: Стандарт PCI DSS

Reading time6 min
Views27K
Любая отрасль в своем развитии проходит путь от свободы творчества к той или иной форме регулирования, осуществляемого государством или негосударственными организациями. Целью регулирования обычно становится защита интересов, находящихся в противоречии с извлечением прибыли, и по этой причине не являющихся предметом заботы со стороны бизнеса.

Не является исключением и платежная индустрия. Интерес бизнеса заключается в максимально быстром и комфортном осуществлении покупателями платежей в пользу торгово-сервисных предприятий и предложении всем участникам рынка сопутствующих услуг. К сожалению, удобная оплата в один клик на сайте магазина может обернуться неприятными последствиями для держателя банковской карты, если кто-то из участников платежной цепочки — магазин, банк или процессинговый центр не предприняли необходимых мер безопасности при обработке данных. Безопасность денег на картах клиентов хоть и является для бизнеса вопросом репутации, но прямой выгоды, скажем честно, не несет. Вот и вступают в игру государственные регуляторы и международные сообщества, устанавливающие требования к защите. Если ранее термин «безналичный платеж» в основном ассоциировался только с банками и квитанциями, то популяризация кредитных карт, розничных безналичных расчетов и электронных денег вовлекло в платежную индустрию малый бизнес, в основном представленный предприятиями электронной коммерции и платежными агентами.

За прошедшие несколько лет появился целый ряд нормативных документов по безопасности платежей, и судя по активности регуляторов — появятся еще. В настоящее время в России наиболее актуальными являются международные стандарты PCI DSS и PA-DSS, а также Федеральный Закон № 161-ФЗ «О национальной платежной системе» и сопутствующие ему подзаконные акты в области безопасности. Именно с ними в основном приходится сталкиваться российским компаниям, решившим связать свой бизнес с безналичными платежами. Рассмотрим их по порядку.

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

Подборки судебных решений. Такие разные доменные споры

Reading time14 min
Views58K
К настоящему времени российские суды выработали определенную практику по рассмотрению судебных споров в отношении доменных имен. Так, доменные имена бывают основным предметом судебного разбирательства, а порой фигурируют в качестве факультативного. Как правило, подобные разбирательства возникают из-за нарушений прав владельцев на принадлежащие им товарные знаки. Однако бывают и дела, когда действия владельцев доменов признаются нарушением прав на фирменное наименование либо на коммерческое обозначение.
Как установлено российским гражданским законодательством, компенсация за нарушения исключительного права на объекты интеллектуальной собственности может составлять от десяти тысяч до пяти миллионов рублей. В судебной практике есть примеры, когда подобный размер компенсации (за нарушение прав на товарный знак) устанавливался судом максимальный – 5 000 000 рублей.
Судебные разбирательства по таким делам можно классифицировать по нескольким основаниям. Ниже я привожу классификацию, в основе которой лежат категории объектов интеллектуальной собственности, права на которые были нарушены действиями по администрированию доменных имен:
Читать дальше →

Блокировки сессий в веб-проектах — выбираем эффективное оружие

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

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

Ситуация усугубляется еще тем, что 3-5 подобных клиентов способны быстро забить зависшими и простаивающими в ожидании процессами PHP-воркеры и сайту становится плохо, если не сказать очень.

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

В статье расскажу какие инструменты позволяют быстро диагностировать проблему, приведу работающий код и дам несколько боевых рекомендаций по выживанию :-)

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

Использование разметки schema.org для логотипов организаций

Reading time1 min
Views33K
Уровень подготовки веб-мастера: любой

Теперь наша система поддерживает разметку schema.org для логотипов организаций. Это позволит вам выбрать логотип, который будет представлять ваш сайт в результатах поиска Google.

С помощью этой разметки вы можете указать системе, где находится ваш логотип. Например, если вы – владелец сайта www.example.com, можно использовать следующую разметку элементов на странице:

<div itemscope itemtype="http://schema.org/Organization">
<a itemprop="url" href="http://www.example.com/">Главная</a>
<img itemprop="logo" src="http://www.example.com/logo.png" />
</div>

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

Clipping magic: онлайн-инструмент для вырезания картинки из фона на базе технологий искусственного интеллекта

Reading time2 min
Views536K
Открывшийся недавно в режиме публичной альфы сайт Clippingmagic.com предназначен для решения всего одной задачи — удаления фона изображения, но зато делает он это весьма неплохо. В отличие от большинства подобных инструментов, он имеет удобный и простой интерфейс и при этом результат получается очень приличным. Пожалуй, лучше и аккуратнее можно сделать только в настоящем большом редакторе вроде Photoshop или Gimp, потратив при этом гораздо больше времени.



Алгоритм работы очень прост: загружаем картинку, выделяем зелёным объект, а красным — фон, затем несколькими штрихами исправляем оставшиеся огрехи. Весь процесс занимает буквально минуту-другую и не требует особой твёрдости руки. Изображение можно масштабировать, при этом размер кисти не меняется, позволяя обработать мелкие детали. Результат можно сохранить в формате PNG.
Читать дальше →

Отслеживание эффективности рекламных компаний в интернет-магазине

Reading time4 min
Views8.1K
В данной статье мне бы хотелось поговорить о методах отслеживания эффективности проводимых в интернет-магазинах рекламных кампаний. Причем речь идет именно о рекламных кампаниях в сети (контекст, баннеры, e-mail-рассылки и т.д.).
Скажем, создаете вы рекламную кампанию в яндекс директе. Кладете на счет 10000 руб. и ждете увеличения количества заказов. Но кроме всего прочего необходимо еще и отслеживать результаты. В данном случае необходимо посчитать сколько именно посетителей, перешедших к нам на сайт по рекламной ссылке, сделали заказ.
Читать дальше →

Flyway: управление миграциями баз данных

Reading time6 min
Views76K
В этой статье я расскажу об одном из средств обеспечения версионности схем и управления миграциями БД — библиотеке Flyway. С поблемой версионности схемы базы данных рано или поздно приходится сталкиваться разработчикам любого приложения, опирающегося на СУБД. Увы, иногда эта проблема принимается в рассмотрение слишком поздно — например, если вопрос о внесении изменений в структуру базы встаёт, когда приложение уже находится в эксплуатации. Но и на этапе разработки контроль схемы базы данных причиняет не меньше проблем, чем все прочие аспекты версионности приложения: в отсутствие чёткой системы управления миграциями локальная, стендовая и эксплуатационная базы могут быстро «разъехаться», не предоставляя при этом никакой информации относительно своего текущего состояния.

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

Выкатываем в бой

Reading time6 min
Views3.9K
К бою! Внедрение конечного веб-продукта является не самой приятной процедурой для создателя и часто сопровождается жутким стрессом. Нелюбовь разработчика к релизам связана не только с чувствами ответственности и страха перед эксплуатацией новой версии, но и с ощущениями неопределенности: а что будет после того, как внедримся?

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

Управление миграциями БД с Liquibase

Reading time6 min
Views146K
Не так давно мы начали внедрять Liquibase в качестве инструмента миграций схемы данных в большинстве наших проектов, новых и уже существующих. Система миграций схемы базы данных Liquibase хороша тем, что позволяет использовать системы контроля версий, VCS, (например, Git) для управления ревизиями базы данных приложения. Говоря более точно, VCS содержит описание изменений, необходимые для миграции схемы базы данных из одной ревизии в другую.

Хотя миграция схемы базы данных кажется довольно простой задачей изначально, задача становится сложнее после того, как появляется желание откатывать изменения схемы без ее создания заново.
Кроме схемы и операций DDL, Liquibase позволяет мигрировать данные приложения, с поддержкой наката изменений данных и их отката.
Читать дальше →

Использование Liquibase без головной боли. 10 советов из опыта реальной разработки

Reading time5 min
Views145K
kdpvLiquibase — это система управления миграциями базы данных. Это вторая статья о Liquibase, на этот раз содержащая советы «боевого» использования системы. Для получения базовых сведений подойдет первая статья-перевод «Управление миграциями БД с Liquibase» (ссылка).

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

Вот 10 вещей, которые в определенный момент работы с Liquibase были для меня открытием.

1. Версионность приложения должна быть отражена в структуре папок миграций


Если вы не будете следовать этому правилу, файлы чейнджлогов быстро украсят папку миграций своим количеством и необычными именами.
На данный момент для себя я выработал оптимальную стратегию именования файлов и папок. Вот она:

/db-migrations
    /v-1.0
        /2013-03-02--01-initial-schema-import.xml
        /2013-03-02--02-core-data.xml
        /2013-03-04--01-notifications.xml
        /changelog-v.1.0-cumulative.xml
    /v-2.0
        ...
        /changelog-v.2.0-cumulative.xml
    /changelog.xml

Подробнее:
Читать дальше →

Еще немного о миграциях. Версия для PHP

Reading time6 min
Views7.2K
Вольно цитируя вступление к соответствующей статье на RailsGuides,
Миграции — это удобный способ управления структурой и изменениями схемы БД.
Конечно, можно вести дела по старинке, оперируя множеством SQL-файлов, или, о ужас!, редактируя куски SQL-кода в одном большом файле, который представляет собой актуальную схему БД.

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

Если Вы уже заинтересовались, или все еще не уверены, но перспектива иметь прозрачную историю изменений и возможность с помощью одной-двух консольных команд откатиться на любою версию схемы, звучит заманчиво, прошу под кат.
Читать дальше →

Обзор средств синхронизации баз данных MySQL

Reading time6 min
Views17K
image

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

Синхронизация файлов между компьютерами в кластере

Reading time1 min
Views7.1K
Мне нужно синхронизировать директорию между несколькими компьютерами, причем это может быть два комьпютера, а может быть и больше.

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

Ну, как пример — есть кластер из нескольких веб или application серверов и пользователь делает аплоад файлу. Если тот же пользователь через 5 минут зайдет на сайт с другого компьютера и лоад балансер ему даст другой сервер из кластера, он должен всё равно увидеть загруженный им файл.

Как это можно сделать?

Я смотрел на простой NFS — но там получается есть single point of failure — компьютер, на котором этот диск родной
Я смотрел на xtreemeFS — но просто не получается его настроить работать с replication

Какие еще есть решения?

Спасибо

Звонки внутри организации с Корпоративного портала

Level of difficultyMedium
Reading time5 min
Views14K

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


В данной статье я опишу процесс интеграции:

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

Подробности

Готовим адаптивное видео для HTTP Live Streaming

Reading time7 min
Views40K
Почти все пользуются, и, наверняка, многие слышали про динамическую адаптацию видеопотока под пропускную способность сети. В последнее время это уже практически обязательное требование к online-видео в интернете. Преимущества адаптивного видеопотока очевидны: если сеть временами «проседает», видео продолжает отображаться в плеере без видимых подкачек и буферизации; качество картинки автоматически выбирается адекватным пропускной способности сети.

Несмотря на то, что динамическая адаптация видеопотока уже сравнительно «старая» технология, существует множество мелких подробностей о том, как добиться лучшего результата. Чтобы и на серверной стороне попроще и подешевле, и чтобы такое видео было совместимо с как можно большим количеством клиентов (Web, iOS, Android, ну и не забываем про Smart TV).

Посмотреть, как сделать адаптивное видео для HLS

Capistrano и php

Reading time8 min
Views32K
image Всем привет. Сегодня я хотел бы ещё раз поговорить о замечательном deploy-ере Capistrano.

Напомню, что Capistrano — это Open Source-ный инструмент для выполнения скриптов на нескольких серверах, который в основном используется для web приложений. Он позволяет автоматизировать процесс развертывания новой версии на одном или нескольких web серверах и включает поддержку таких задач, как например изменение базы данных.

Capistrano написан на Ruby и является «модулем» (или компонентном, не знаю как лучше) фреймворка Ruby on Rails.

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

Итак, допустим на нашем локальном компьютере в паке /path/deploy/from находится приложение написанное на языке php. У этого приложения есть git репозиторий находящийся по адресу example.net/project.git с актуальным кодом. Также у нас есть хостинг по адресу example.com с ssh доступом и папкой /path/deploy/to куда мы собираемся залить наши файлы. Мы не хотим постоянно возиться с ftp клиентом и решили потратить несколько часов для того, чтобы разобраться в деплойере capistrano. Давайте приступим.
Читать дальше →

s3ql — файловая система на базе облачного хранилища

Reading time4 min
Views18K
image

Описание


При помощи S3QL вы можете создать файловую систему на базе облачного хранилища Selectel Storage, которую можно смонтировать в любой современной версии OS Linux, FreeBSD или Mac OS X.
Читать дальше →

Делаем жизнь проще, GruntJS (для новичков)

Reading time5 min
Views84K

Что такое GruntJS


Большинство JS разработчиков уже используют какие-то инструменты компоновки для своих разработок, даже если не знают или не используют этот термин. Они объединяют файлы при разработке, уменьшают код JavaScript-а, чтобы ускорить загрузку страниц и конвертировать Sass, или уменьшают количество файлов в CSS для браузера, и много чего другого. Чаще всего это разные инструменты, что есть не очень удобно.

Grunt помогает управлять всеми этими шагами в одном месте и организовать сторонние компоненты.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity