Как стать автором
Обновить

Комментарии 34

А мне не нравится, когда меня по имени приветствуют. Может это я дал другу телефон позвонить. Реальный кейс — увели телефон и карточки. Звонит, чтобы заблокировали. И плюс ощущение небезопасности, если мой телефон нашёл посторонний человек, он может быть идентифицирован мною. Я понимаю, что там будут ещё вопросы, но всё-такиощущение остаётся.
Тут добавляется ещё один пусть не такой явный, но значимый момент в различии системы с такой интеграцией и без:
1) Система без интеграции: оператору поступает звонок от какого-то клиента банка -> Оператор ничего не знает о клиенте и сначала узнаёт ФИО от звонящего потом убеждается, что звонящий действительно тот, кем он назвался. Для оператора это действие — проверка данных от ненадёжного источника, поэтому он все их тщательно проверяет.
2) Система с интеграцией: оператору поступает звонок, система показывает, что это звонок от Иванова. Оператор уточняет данные у звонящего и проверяет, что это действительно Иванов. Для оператора это проверка данных поступивших от надёжного источника — из их собственной внутренней системы, которой оператор склонен доверять.
Два раза перечитал, но так и не понял в чем надежность? Я звоню в банк, там отвечают добрый день Иван, я говорю да добрый день, где идентификация?
Видимо, я неправильно выразился, или зря ответил на комментарий, вместо того, чтобы написать его под самим постом. Я имел ввиду то, что во втором случае надёжность какраз таки меньше — оператор склонен доверять системе, вместо того, чтобы тщательно проверять пароли\явки.
Тоже не понял про идентификацию. Я нашел на дороге телефон, нашел там рокетбанк, каким-то образом в него вошел (не суть, как именно, так получилось), позвонил — и меня приветствуют именем другого человека, причем оператор явно будет думать, что я — это я. Хорошо, если в процессе разговора они запрашивают некие секретные слова/ключи, чтобы идентифицировать человека, а не просто полагаются на показания системы — но так ли это на самом деле?
Ну в альфе промсвязи и тинькове точно также
В Альфе меня не приветствуют точно. В Сбере, к примеру, только когда я уже начинаю запрашивать информацию или прошу о действиях, тогда называют иваниванычем. Тоже не очень, но тут хотя бы ощущение, что они меня по голосу за 1 минуту идентифицировали.
В альфе как раз это и практикуют, как-то раз пришлось звонить с телефона жены, было конечно весело когда: Добрый, %ИМЯ_ЖЕНЫ% )
Это по обычной линии не приветствуют. По выделенной, которая начиная с «комфорт» приветствуют.
Очень сильно надеюсь, что мы с вами ошибаемся, и операторы продолжат так же тщательно проверять данные звонившего и секретные слова…
Если банк нормальный, то не оператор проверяет, а система от него требует вашего кодового слова для продолжения.
2) Интеграция разная бывает. Можно же не разрешать оператору никаких действий, пока он системе не скажет что это Иванов Иван Иванович (если она ему не подтвердила этого).

Вы еще не запаролили свой телефон?

Он у меня по отпечатку. Но я же говорю — другу давал.
А прошлый телефон по жесту разблокировался. Племяник там за 10 попыток жест подобрал. Следы оставались.

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

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

Вроде только написали, а javascript уже устаревший....

В смысле «устаревший»? Как он вообще может быть устаревший, если Babel? O_O

Babel не даёт коду быть слишком новым для браузера или ноды. Но не наоборот.


Или вы думаете, что здесь приведён транспилированный код? Было бы странно.

В статье написан пример, который можно скопипастить и все заработает из коробки. Естественно, вы можете писать на TypeScript, ES2017 или Elm, транспайлить и заливать через GitLab CI. Но статью усложнять не надо :)

Это да. Просто в 2017 году уже глаза режут вары и коллбеки, без них код понятнее.

А чем вам var-то не угодил?
C var очень легко облажаться за счёт поднятие переменной. Именно из этого растут корни у сотен тестовых задачек для разработчика наподобие этой:

var foo = 1; 
function bar() { 
    if (!foo) { 
        var foo = 10; 
    } 
    alert(foo); 
} 
bar();


А let и const ведут себя точно так же, как и переменные в классических языках разработки — так что подобных стрёмных вопросов просто не возникает.

Собственно, у ESLint (без которого имхо писать не стоит) во всех современных стандартах даже есть специальное правило no-var, в описании которого стоит ровно то, что я чуть выше написал по своим ощущениям:

ECMAScript 6 allows programmers to create variables with block scope instead of function scope using the let and const keywords. Block scope is common in many other programming languages and helps programmers avoid mistakes.
А let и const ведут себя точно так же, как и переменные в классических языках разработки
Вот так, например?
let foo = false;
function bar() { 
    if (!foo) {
        let foo = 10; 
    } 
    alert(foo); 
} 
bar();
Напишете, что выведется? И что бы вышло в «классическом» (в вашем понимании) ЯП

Возьмите с полки пирожок за придирку к формулировке. Всегда можно найти способ выстрелить себе в ногу, но для таких случаев есть правило no-shadow.

Да, давайте на личности перейдём </sarcasm>
Я вам про let/var в языке, а вы мне про костыли правила для транспайлера. Мне это больше напоминает «я пришёл в JS с языка X, давайте делать вид, что JS — это такой плохой X, а все несовпадения назовём недостатками и заткнём тысячей костылей правил в транспайлере».
no-shadow заставит вас все имена переменных делать уникальными. Зачем так жить? Назвал переменную i, и потом ни в одной вложенной функции нельзя for(let i=0 написать.
А «всегда можно найти способ выстрелить себе в ногу» можно и про ошибки с hoisting'ом сказать.

Видимо, вы никогда просто не пробовали это правило. Оно не заставляет называть всё уникальными именами. Оно не даёт только пересекать области видимости. То есть, у вас может быть функция, а внутри неё — сколько угодно циклов для i. А если у вас уже внутри этого цикла идёт ещё один — вообще довольно логично назвать переменную по-другому.

Там прямо сверху пример:

var a = 3;
function b() {
var a = 10;
}

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

Вы не поверите, но в 2017 году глобальные переменные не используют...

Верну вам:
Возьмите с полки пирожок за придирку к формулировке.
К остальной части комментария вопросов нет?

Просто мне сложно представить другой кейс, в котором вам захочется использовать то же имя переменной. А с глобальными я верю, поскольку видел воочию код, в котором использовались глобальные переменные с названиями вроде c, v, cc, vv и a. И код этот писался блоками по 400 строк. Думаю, разработчик сильно икал, когда я это рефакторил. Не надо так делать — и никаких проблем с no-shadow у вас не будет.


Кстати, регулярно вижу, когда разработчики прокидывают через всё приложение значимые объекты с названиями вроде c1. И попробуй пойми, что это. Байты что ли экономят? В общем, я своих разработчиков так делать отучил. И с кодом сразу стало на порядок проще работать.

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

Можно, конечно, ещё потерять и паспорт вместе с телефоном, но это — совсем другая история.

Система вполне дополняется секретным словом, которое нужно ввести оператору со слов клиента, перед действием или выдачей информации. Без этого слова оператору не показываются значимые данные.
Да, Иван Иванович, но без секретного слова больше ничего не доступно оператору. В случае идентификации по паспортным данным, оператор вполне может их вводить со слов звонящего (в номере точно сложно опечататься)
А сама идентификация клиента очень важна хотя бы теми процентами клиентов, которым нужен особый подход — випы и проблемное, остальным — бонус.

Прошу меня простить, но вышеописанное практически все промышленные CRM-системы уже делают давно.
Я понимаю что в случае с Рокетом это узкоспециализированное решение заточенное под их процессы.
Главная фишка использования CRM-систем это дальнейшая аналитика: какие звонки приводят к продажам, а какие нет (или к вовлечения в сервис, в случае Рокета).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий