Как стать автором
Обновить
57
0
Дмитрий @bdsoft

Пользователь

Отправить сообщение

Пассивный фингерпринтинг для выявления синтетического трафика

Время на прочтение3 мин
Количество просмотров29K
imageЯ достаточно долгое время вынашивал идею рассмотреть клиентов публичного web-сервиса, браузер которых посылает заголовок User-Agent как у браузера в Windows, и которые при этом имеют все признаки сетевого стэка *nix-систем. Предположительно, в этой группе должна быть большая концентрация ботов, запущенных на недорогих хостингах для накрутки трафика или сканирования сайта.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии43

PhoneGap vs. Cordova

Время на прочтение2 мин
Количество просмотров54K
Многие ошибочно полагают, что PhoneGap это некая единая система. Однако, существует три различные платформы — Cordova (CLI), Phonegap (CLI) и PhoneGap Build. Каждая имеет свои особенности и мелкие вариации.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии20

Нативные приложения обречены (часть 1)

Время на прочтение6 мин
Количество просмотров41K
image

Отныне я не буду больше создавать нативные приложения. Все мои приложения в дальнейшем будут прогрессивными веб-приложениями (PWA, Progressive Web Apps). Это такие приложения, которые предназначены для еще более органичной работы на мобильных устройствах, чем нативные приложения.

Что я имею ввиду под «более органичной работой»? Большая часть веб-траффика исходит от мобильных устройств и пользователи устанавливают в среднем от 0 до 3 новых приложений в месяц. Это означает, что люди не тратят много времени на поиск новых приложений в App store, но они проводят много времени в сети, где могут найти и использовать ваше приложение.

Прогрессивные веб-приложения начинают свою работу как любое другое веб-приложение, но когда пользователь возвращается в приложение и показывает (фактом использования), что он заинтересован в более регулярном обращении к приложению, браузеры предложат пользователю установить приложение на свой домашний экран. PWA также могут использовать push-уведомления как и нативные приложения.
Читать дальше →
Всего голосов 84: ↑53 и ↓31+22
Комментарии187

Могут ли PWA (Progressive Web Apps) образца 2018 года составить достойную конкуренцию нативным приложениям?

Время на прочтение14 мин
Количество просмотров61K


Когда изменения происходят постепенно, шаг за шагом, порой бывает трудно заметить насколько они драматичны и всеобъемлющи. Казалось бы всего несколько лет назад web платформа проигрывала нативным приложением практически по всем фронтам, и пропасть между тем, что можно было сделать в браузере, и тем, что было доступно приложениями, загружаемым из магазинов, таких как Apple App Store или Google Play Store, была ужасающе огромной. Одним из свидетельств этой пропасти является то, что в 2007 году web по факту был основной платформой разработки приложений для первого iPhone, но эта платформа явно не взлетела. App Store же появился только год спустя со второй версии операционной системы, и сразу же случился бум нативных приложений, который и сформировал рыночный ландшафт таким, каким мы его знаем теперь.


Многое изменилось с тех пор, и web технологии на месте не стояли. Они шли по пути снятия ограничений, и то, что раньше было принципиально невозможно — работа оффлайн, фоновая синхронизация данных, push-нотификации, поддержка входа в один клик и оплаты с помощью кредитных карт, Apple Pay, Google Pay и других методов, встроенная в браузер — теперь реальность. Эти функции органично дополняют основную часть платформы — HTML/CSS и JavaScript, которая в последние годы развивалась более чем активными темпами. Например новый проект Houdini, который ещё находится на достаточно ранней стадии, снимает почти все ограничения на то, что можно сделать с помощью CSS, давая возможность среди прочего создавать свои лэйауты и использовать их наравне с Grid и Flexbox, и открывая программный доступ к внутренностям CSS движка. Но даже и без Houdini уже сейчас можно создавать CSS анимации, работающие со скоростью 60 FPS (frames per second).

Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии66

Как рекламные ищейки идут по вашему следу в Интернете

Время на прочтение5 мин
Количество просмотров11K
Прихожу домой, а отец мне:
— Курил?
— Нет, стоял, где курили.
— Да я смотрю, ты и сидел там, где пили, и лежал там, где сексом занимались…

Бородатый анекдот

От переводчика


Таргетинг рекламы не всегда направлен персонально на конкретного пользователя. Зачастую реклама таргетируется на группу пользователей, имеющих те или иные общие признаки. Что и приводит к тому, что, как в старом анекдоте, вы видите рекламу сигарет не потому что курите, а потому что стояли рядом с теми, кто интересовался сигаретами.

Автор рассказывает о множестве техник таргетирования рекламы и делает неожиданные выводы о том, что это — не так уж и плохо. Просто нужно больше работать над прозрачностью подобных механизмов, чтобы исключить злоупотребления.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии9

Web PUSH Notifications быстро и просто

Время на прочтение17 мин
Количество просмотров339K

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


Информации по этой теме в интернете полно, но она фрагментирована, разбросана по разным ресурсам и перемешена с уведомлениями для мобильных устройств с примерами на Java, C++ и Python. Нас же, как веб-разработчиков, интересует JavaScript. В этой статье я постараюсь саккумулировать всю необходимую и полезную информацию.


Web PUSH Notifications


Я думаю, вы уже знаете что такое push-уведомления, но я всё же напишу коротко о главном.


Пользователь, заходя на сайт, вытягивает (pull) с него данные. Это удобно и безопасно, но с развитием интернет ресурсов, появилась необходимость оперативно доставлять информацию пользователям не дожидаясь пока те сами сделают запрос. Так и появилась технология принудительной доставки (push) данных с сервера клиенту.

Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии66

Пишем расширение для Chrome «загрузка аудиозаписей с Вконтакте», часть 2

Время на прочтение6 мин
Количество просмотров17K
Продолжим писать наше расширение для Chrome, которое добавляет ссылку «Скачать» для каждой аудиозаписи вконтакте.
В прошлый раз мы изменяли наш раздел Мои Аудиозаписи так.
Было изначально: Стало с расширением:
Оригинал Результат


Но, в тот раз, у нашего расширения был существенный недостаток: оно не работало при переходе со страницы на страницу.
Если зайти на главную страницу, потом перейти в Мои Аудиозаписи, то ссылки у песен не появлялись.
Напомню, вконтакте при переходе со страницы на страницу не обновляет страницу в классическом понимании, а программно изменяет разметку страницы, и обновляет адресную строку. Это не является классическим браузерным переходом на новую страницу, и поэтому наше расширение не обновлялось.
Давайте это исправим.

Как и прежде, наше расширение будет состоять из трех файлов — файла описания (manifest.json), внедряемого js скрипта (vk_inject.js), и внедряемого файла стилей (vk_styles.css).
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии5

Архитектура растущего проекта на примере ВКонтакте

Время на прочтение14 мин
Количество просмотров41K


Алексей Акулович объясняет жизненный путь высоконагруженного проекта на PHP. Это — расшифровка Highload ++ 2016.

Меня зовут Лёша, я пишу на PHP.

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

Начнём.
Всего голосов 65: ↑61 и ↓4+57
Комментарии46
31 мая и 1 июня в кампусе бизнес-школы Сколково будет жарко вне зависимости от погоды - на одной площадке соберутся около 1500 участников. Повод собраться более чем подходящий - профессиональный фестиваль "Российские интернет-технологии". Это событие, по масштабам не просто превосходящее конференцию, а включающее в себя целых 7 конференций, объединённых вокруг отраслевой выставки. На фестивале не будет скучно никому: от уставшего от опыта системного администратора или программиста высоконагруженных систем до начинающих тестировщиков и прожжённых продажников. Почти как на обновлённом Хабре :-) Участников будут встречать конференции: по серверной и фронтенд-разработке, по управлению и предпринимательству, по разработке мобильных приложений, по эксплуатации и devops, по высоконагруженным системам и конференция на стыке enterprise и web-культур. Кстати, кто дочитает до конца, кроме примеров, видео и бесплатного учебного курса получит неплохую скидку по волшебному коду HabrCode2016.
Читать дальше
Всего голосов 28: ↑22 и ↓6+16
Комментарии14

Чек-листы для Google AdWords и Яндекс.Директ и ещё пара секретов

Время на прочтение7 мин
Количество просмотров32K
Вот уж никогда не думали, что будем подробно писать о контекстной рекламе в своём блоге! Однако совершенно недавно в нашей системе для web-студий Ptysh появился тип задач «Контекстная реклама» и мы решили выяснить, насколько она популярна. Ещё как популярна! Но. Многие представители российского бизнеса избегают контекст, а некоторые и вовсе разочаровываются в онлайн-рекламе после пары не слишком удачных заходов. Мы смело заявляем: он эффективная, вы просто не умеете её готовить! Сейчас мы вместе с коллегами из DFAKTOR, попробуем дать несколько простых рецептов.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии10

Уязвимость «ВКонтакте» позволяла получить прямые ссылки на приватные фотографии

Время на прочтение8 мин
Количество просмотров314K


tl;dr
Была обнаружена уязвимость в закладках ВК, которая позволяла получать прямые ссылки на приватные фотографии из личных сообщений, альбомов любого пользователя/группы. Был написан скрипт, который перебирал фотографии пользователя за определенный период и затем, через эту уязвимость получал прямые ссылки на изображения. Если коротко, то: можно было за 1 минуту получить все ваши вчерашние фотографии, за 7 минут — все фото, загруженные на прошлой неделе, за 20 минут — прошлый месяц, за 2 часа — прошлый год. Уязвимость на данный момент исправлена. Администрация ВКонтакте выплатила вознаграждение в 10к голосов.

История началась с того, как мне в личку во «Вконтакте» кинули изображение. Обычно, если вещь важная, я её загружаю в облако, но в моём случае в этом не было необходимости, и я решил воспользоваться функцией закладок «Вконтакте».
Читать дальше →
Всего голосов 154: ↑150 и ↓4+146
Комментарии58

Построение признаков и сравнение изображений: локальные признаки. Лекции от Яндекса

Время на прочтение27 мин
Количество просмотров17K
Сегодня мы публикуем пятую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба. Всего в программе девять лекций, из которых уже были опубликованы:

  1. Введение в курс «Анализ изображений и видео».
  2. Основы пространственной и частотной обработки изображений.
  3. Морфологическая обработка изображений.
  4. Построение признаков и сравнение изображений: глобальные признаки.



Под катом вы найдете план этой лекции, слайды и подробную расшифровку.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии1

Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения

Время на прочтение4 мин
Количество просмотров138K
WebRTC

WebRTC позволяет реализовать real-time аудио/видео связь через браузер (firefox и chrome).

В этом топике я расскажу как реализовать простейшее WebRTC приложение.
Читать дальше →
Всего голосов 102: ↑98 и ↓4+94
Комментарии28

Как мы открывали магазин в ТЦ МЕГА: история ошибок

Время на прочтение17 мин
Количество просмотров370K
Интерес к рознице был заметен изначально — с самых первых статей на хабре и на других сайтах мы начали получать запросы на франшизу. Запросы шли со всей страны — Питер, Новосибирск, Краснодар, Ростов-на-Дону, Пермь, Хабаровск, Сочи и так далее. Даже страной дело не ограничилось — люди из Украины, Беларуси и Казахстана тоже хотели открыть у себя магазин Madrobots. Но франшиза — это в первую очередь отлаженные процессы. Как мы могли объяснять, как открыть магазины в других городах, если сами этого толком не умели?

Мы решились открыть наш магазин в большом торговом центре, и теперь готовы рассказать вам о проблемах, косяках, процессах, решениях и выводах. Заходите, под катом интересно.
Читать дальше →
Всего голосов 175: ↑166 и ↓9+157
Комментарии81

Бизнес в стиле Хабр — 2. Началось

Время на прочтение2 мин
Количество просмотров926
С детства нас учат, кто больше работает — тот больше зарабатывает. Многие считают, чтобы увеличить доход вдвое, нужно устроиться на вторую работу. В жизни все с точностью до наоборот.

Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии20

Постраничная верстка rel=«next|prev»

Время на прочтение3 мин
Количество просмотров29K
Наряду с использование атрибута rel=«canonical» для указания поисковому боту на дублирование контента, теперь возможно использовать для HTML ссылок значение rel=“next” и rel=“prev” для обозначения положения текущей страницы в отношении соседних в рамках навигационного блока. В рамках веба встречаются различные варианты использования постраничной навигации — статья, разделенная на несколько страниц, либо категория товаров распределенных по нескольким страницам, либо ветка форума, разделенная на последовательность URL-ов. Теперь, включив rel=“next” и rel=“prev” в верстку страниц, мы можем указать Google:
  • Создать консолидированный индекс страниц, чтобы ссылки не рассеивались между отдельными страницами page-1.html, page-2.html, и так далее
  • При поиске направить пользователя на наиболее релевантную страницу среди всех остальных, например в начало статьи, разбитой на несколько страниц
Подробности и нюансы использования
Всего голосов 80: ↑77 и ↓3+74
Комментарии25

Music Beta by Google запущен

Время на прочтение1 мин
Количество просмотров1.9K
image

Для жителей США и по инвайтам.

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



Читать дальше →
Всего голосов 81: ↑71 и ↓10+61
Комментарии102

Поддержка OAuth 2.0 платформой ВКонтакте

Время на прочтение2 мин
Количество просмотров38K
Вчера во ВКонтакте появилась поддержка открытого стандарта авторизации OAuth 2.0. Теперь интегрировать сайты и клиентские приложения с социальной сетью стало значительно проще.

Читать дальше →
Всего голосов 129: ↑114 и ↓15+99
Комментарии89

OCR в Google Docs теперь поддерживает русский язык

Время на прочтение1 мин
Количество просмотров6.9K


В июне прошлого года команда Google Docs представила возможность распознавания текста (OCR). OCR анализирует изображения и PDF-файлы, извлекает текст (пытаясь сохранить форматирование) и позволяет редактировать документ в Google Docs.

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

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

Поддержка языков, которые поддерживались и ранее, также улучшена. Усовершенствовано и сохранение форматирования документов.
Всего голосов 84: ↑79 и ↓5+74
Комментарии56
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Ижевск, Удмуртия, Россия
Дата рождения
Зарегистрирован
Активность