Как стать автором
Обновить
2
0
Максим Юрьевич Никифоров @mention

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

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

Сравнение сервисов обратного звонка Callbackhunter, UpToСall, RocketCallback, HookMyVisit и Leadhacker

Время на прочтение4 мин
Количество просмотров34K
Мы перезвоним Вам через Х секунд!”. Практически каждый хоть раз сталкивался с всплывающим окном, на том или ином сайте, которое предлагает вам обратный звонок. Это окно называется по разному: “виджет обратного звонка”, “callback виджет”, “форма мгновенного звонка” и даже “лидогенератор”. Сервисов, предлагающих подобный виджет, довольно много(более 20) и они продолжают появляться.
Заглянуть внутрь
Всего голосов 5: ↑3 и ↓2+1
Комментарии36

Web scraping на Node.js и защита от ботов

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

Это третья статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js:


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


В этой статье разбирается более сложный случай – инициализация сессий с авторизацией по логину и паролю и с преодолением довольно изощрённой защиты от ботов. Как обычно, на примере реальной (и весьма популярной среди скрейперов) задачи.


Важное примечание

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


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

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

Дайджест Joomla за весну 2020

Время на прочтение3 мин
Количество просмотров8.6K
После большого перерыва, почти год, я не выпускал дайджестов по Joomla.
Мы решились на большой дайджест по Joomla за весну 2020. Все главные новости из мира Joomla за весну, в одной статье.


Читать дальше →
Всего голосов 6: ↑4 и ↓2+3
Комментарии15

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

Время на прочтение2 мин
Количество просмотров19K
Продолжая выкладывать на блоге Amazing Development всё, что может понадобиться компаниям или специалистам начать заниматься проектированием и работами над повышением юзабилити своих продуктов и проектов, опубликовал коллекцию стенсилов. Стенсилы – примитивы используемые для графического представления чего-либо. Ниже представлены стенсилы для программ Microsoft Visio, Adobe InDesign и OmniGraffle. Если Вы знаете ссылки на другие стенсилы, которые можно использовать в проектировании, то сообщите о них в комментариях.

Microsoft Visio


Стенсилы Nick Finck


Читать дальше →
Всего голосов 72: ↑69 и ↓3+66
Комментарии30

Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2

Время на прочтение4 мин
Количество просмотров19K
Все это собиралось из под Ubuntu 16.04.

Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не устроило, к тому же она была рассчитана на наличие монитора.

Конфигурирование загрузчика будем формировать для загрузки с SD карты. Поскольку NAND памяти на плате нету а все остальные варианты загрузки слегка кривоваты (у кого получиться собрать uboot для загрузки с USB носителя, пусть сделает два шага вперед и поделится). Алгоритм загрузки процессора allwinner a13 можно найти на сайте производителя. Или вот вырезка из даташита.


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии13

Концепция Physical web. Bluetooth маячки. Сравнение стандартов iBeacon, AltBeacon и Eddystone

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

Последние несколько лет я занимаюсь R&D в области интернета вещей и распределенных систем, а так же являюсь Google developer expert IoT. В этой статье я хочу поделиться своим опытом и рассказать про новую концепцию Physical Web. Так же расскажу про разные маячки (англ. Beacon — маяк) и сравню основные стандарты iBeacon, Altbeacon и Eddystone.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Эмоциональный landing page? Воу воу, полегче

Время на прочтение8 мин
Количество просмотров19K
«Продавайте эмоцию, а не товар», «Расскажите про длительный эффект от покупки» – именно эти заголовки в одной из статей испортили однажды мне утро.


Пародия на избыточную эмоциональность в интерфейсах

А началось все с клиента, прочитавшего статью о «правильной» технике продаж и поставившего под сомнение мою компетенцию. Та статья стоила 2-х часового разговора и заставила разложить вопрос эмоциональности в интерфейсах по-полочкам.
Читать дальше →
Всего голосов 37: ↑24 и ↓13+11
Комментарии6

Rogue AP — фальшивые точки доступа

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


Большинство современных устройств запоминают название Wi-Fi сети, к которой они успешно подключались хотя-бы один раз, и сразу же соединяются с ней, если «увидят» её в беспроводном эфире. Эту фичу беспроводных технологий всё чаще и чаще используют злоумышленники — создают т.н. rogue AP (поддельную точку доступа). Такие атаки с каждым годом становятся всё масштабнее, учитывая постоянно увеличивающийся рынок BYOD-устройств и количество критичной информации, содержащейся на них.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии45

IP АТС Askozia и Push уведомления в Telegram

Время на прочтение4 мин
Количество просмотров10K
Часть сотрудников нашей компании работает вне офиса: выезды к клиентам, работа в домашних условиях. Для связи с такими сотрудниками мы используем GSM шлюз, подключенный к нашей АТС Askozia. Любой вызов, поступивший от клиета, может быть переадресован на сотрудника “в поле”.

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

Мы решили использовать Telegram для оповещения о звонках. Получилась интересная связка программных продуктов Askozia + Telegram + 1C: Предприятие.
Под катом самое интересное...
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

У вашего сайта проблемы с Google?

Время на прочтение7 мин
Количество просмотров40K
Цель этой публикации — объяснить веб-мастерам основные причины по которым их сайты может, мягко говоря, недолюбливать Google. Также предлагается система диагностики попал ли сайт под санкции Google или нет.

Мой сайт под фильтром Google? Как узнать под каким? Просел сайт в выдаче, в чём причина? Падают позиции и нет посещаемости, в чём дело?

Именно с таким названием вы увидите темы на большинстве известных SEO-форумах и на Справочном форуме для веб-мастеров Google.

Сразу отметим, что вместо слова «фильтры» в таких ситуациях уместнее употреблять слово «алгоритмы».

На самом деле причина проблем с сайтом может быть не связана с мерами воздействия Google.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии26

Что еще о вас может знать браузер

Время на прочтение7 мин
Количество просмотров32K
Всем известно, что находясь внутри браузера, нельзя извлечь достаточное количество информации о его пользователе с помощью простого JavaScript. Служебная информация, вроде имени браузерного движка, операционной системы и их версий хоть и дает общее представление о пользователе (и об аудитории в целом), но все же не является всеобъемлющей.

Для комплексного анализа пользователя используется User-ID в Universal Analytics, но с помощью независимых программных компонентов, запущенных и находящихся где-то в памяти компьютера рядом с браузером, тоже можно собирать данные о пользователе. Полученная непосредственно из памяти браузера информация позволит осуществить анализ как отдельного пользователя, так и всей аудитории. Здесь будет рассмотрено семейство браузеров на движке Webkit и на конкретном примере браузера Google Chrome.

image
Читать дальше →
Всего голосов 19: ↑12 и ↓7+5
Комментарии9

Расширяем возможности Asterisk, используя PHP

Время на прочтение4 мин
Количество просмотров57K
Все слышали про мини-АТС нового поколения имя которой Asterisk. Так уж случилось что я заинтересовался этой системой и даже успел сделать пару коммерческих проектов.

В этой статье я хочу немного расказать об интеграции звездочки с языком программирования php. При этом мы будем использовать класс phpagi.

Под катом я приведу примеры использования нескольких методов этого класса которые помогли мне.

а тут немного кода
Всего голосов 14: ↑12 и ↓2+10
Комментарии7

Отчет о пропущенных за день звонках на почту

Время на прочтение2 мин
Количество просмотров15K
Потребовался скрипт для одного из клиентов, для уведомления на почту о пропущенных за день звонках. Возможно он и не сильно мудреный, но думаю и другим может пригодиться. В запросе выбираются данные о неотвеченных входящих звонках за вчерашний день. Такая информация довольно актуальна многим организациям, ведь если клиенты не дозвонились им, могут дозвониться другим. На сервере установлен Asterisk 1.6, СУБД MySQL
Читать дальше →
Всего голосов 24: ↑12 и ↓120
Комментарии17

Простейший способ обзвона списка номеров с помощью Asterisk

Время на прочтение2 мин
Количество просмотров59K
У моего заказчика не так давно возникла необходимость обзвонить всех своих сотрудников с проигрыванием небольшого голосового сообщения. Устанавливать сложные системы массового обзвона у меня не было никакого желания. В итоге я нашёл очень простой способ решить эту задачу.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии15

Подключение зашифрованных разделов TrueCrypt с помощью сервера IP-телефонии Asterisk

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

Предисловие


Частью моей работы является ежедневное монтирование контейнеров TrueCrypt на удаленном сервере.
Утренний порядок действий меня напрягал: включить ноутбук, подключиться к серверу, ввести многозначный пароль в TrueCrypt, отключиться от сервера, выключить ноутбук, собраться и ехать на работу.
Пришла мысль об использовании Asterisk, необходимо было это реализовать.
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии46

Отправка уведомлений о пропущенных звонках из Asterisk

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

Отправка отчета о пропущенном звонке на email



Что имеем:
Входящая многоканальная линия с номером +7 (495) 1234567, IVR, 4 оператора в очереди вызова.

Задачи:
1. Отправлять отчет о пропущенном звонке, с указанием номера звонящего, времени поступления звонка и времени ожидания на линии.
2. Если абонент ждал на линии более 10 секунд и по какой-либо причине положил трубку, не дождавшись ответа оператора — отправляем отчет о пропущенном звонке.
3. Заносить в БД (в текущем примере MySQL) данные о том, какой оператор в очереди ответил звонок и фиксируем время в которое разговор был завершен.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии7

Asterisk распознавание речи через Google + умный IVR

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


Доброго времени суток, уважаемые хабра-пользователи.
В одном проекте необходимо было сделать умный IVR на базе IP-АТС Asterisk. Что подразумевается под словом «умный»: при звонке на определенный номер станция просит назвать имя абонента, человек на другом конце провода называет имя и станция связывает его с нужным абонентом.

В моем случае я использовал уже готовую сборку AsteriskNow с уже предустановленным FreePBX, хотя в данном случае это особой роли не играет, т.к. отличия будут только в редактировании dial-плана.

Своим решением спешу поделиться с вами.
Всего голосов 16: ↑16 и ↓0+16
Комментарии11

Автоматическая система обзвона клиентов

Время на прочтение10 мин
Количество просмотров39K
Как сделать автоматический обзвон написано уже много, в том числе и на этом сайте. Гибкость asterisk'a не имеет границ. Написано огромное количество статей по реализации простейших действий встроенными средствами, либо с использованием сторонних продуктов и решений. Поэтому на мой взгляд наиболее интересно будет решение не стандартной задачи, для которой пришлось полностью с нуля разработать и внедрить систему, учитывая совместимость с текущей схемой колл-центра.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии12

Текстовые сообщения SIP/SIMPLE в Asterisk

Время на прочтение1 мин
Количество просмотров54K
Во время очередной телефонизации очередного офиса я обратил внимание на то, что в выбранном нами софтфоне MicroSIP имеется некий встроенный «чат», который однако же не работает «из коробки».

image

Для пересылки сообщений эта программа использует метод SIP MESSAGE (RFC 3428), известный также как протокол SIMPLE.

В Asterisk его поддержка появилась в версии 10, но документация тут, как это часто бывает, сильно отстала от прогресса. Пришлось сначала долго искать по форумам различные варианты конфигурации, а потом методом проб и ошибок их испытывать.

Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии11

«Шепот» соседа через chanspy [FreePBX]

Время на прочтение1 мин
Количество просмотров19K
«Шепот» — это когда «Опытный сотрудник» подключается к диалогу «Клиент» — «Молодой сотрудник» и помогает молодому вести диалог. «Опытного», естественно, слышит только молодой — клиенту незачем знать об этом.

На удивление, гугломашина выдала направление «подумать» далеко не на первой ссылке. В сборке с вебмордой FreePBX данный механизм делается внедрением в файл extensions_override_freepbx.conf следующих строк:

[app-chanspy]
exten => 555,1,Macro(user-callerid)
exten => 555,2,Authenticate(1234)
exten => 555,3,Read(SPYNUM,agent-newlocation)
exten => 555,4,ChanSpy(SIP/${SPYNUM},wqv(-1))
;--== end of [app-chanspy] ==--;

Механизм подменяет собой штатный ChanSpy. Пользоваться просто: опытный набирает 555, вводит пароль (1234), вводит внутренний номер «молодого» и включается в разговор.
Всего голосов 22: ↑14 и ↓8+6
Комментарии9
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность