Pull to refresh
109
0.5
Send message

Еще раз к вопросу о банкоматах

Reading time 4 min
Views 28K
Давеча safinaskar задал мне следующий вопрос в личной беседе:
Здравствуйте, видел вашу статью про банкоматы habrahabr.ru/post/217337. У меня вопрос: почему интерфейс всех банкоматов такой антиюзерфрендли, такой одинаковый и такой «жёсткий», в отличие от других автоматов (скажем, автоматов Qiwi)? Я имел дело с банкоматами Сбербанк, Росбанк и Мой банк (сейчас обанкротился).

Правильно ли я понимаю, что ПО для обычных автоматов (напр. Qiwi) — это самое обычное ПО, разрабатываемое также, как обычно разрабатывается ПО. Легко внести изменения в софт, пишется обычными инструментами под обычные ОС (напр. Windows), учитывается UX и иногда бывают баги.

А ПО для банкоматов пишется один раз и навсегда (в целях безопастности), безопастность ставится превыше UX. Так? И отсюда проблемы с UX?

У меня такое чувство, что все банкоматы используют одну и ту же программу, это так?

Если я не ошибаюсь, банкомат сперва просит ввести пин, затем сумму и только потом проверяет пин на правильность. Почему так?


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

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

Итак, у меня нет точных ответов на поставленные вопросы, но я думаю, дело вот в чем
Total votes 38: ↑31 and ↓7 +24
Comments 89

Eggs.Variant — Часть I

Reading time 14 min
Views 8.8K
На публикацию этого перевода меня сподвиг комментарий пользователя @encyclopedist к недавней статье «Фабричный метод без размещения в динамической памяти». Статья меня заинтересовала, но беглое гугление не выявило перевода. «Непорядок.» — подумал я — «Такая интересная статья по С++ и не переведена на русский язык. Надо бы исправить.»

Оглавление
  1. Введение
  2. Проектирование
  3. Реализация

  4. О чём ещё не сказано


Размышления о разработке Eggs.Variant — обобщённом типобезопасном размеченном объединении на C++11/14.

Введение


Объединение — это специальный тип класса, который в один момент времени может хранить только один из своих нестатических членов. Он занимает столько места, сколько требуется для размещения наибольшего из его членов.
9 [class]/5 Объединение — это класс, определяемый с ключевым словом union; одновременно он может хранить только один из своих членов (9.5). [...]
9.5 [class.union]/1 В объединении активным может быть только один из нестатических членов, то есть, в данный момент времени в объединении может храниться значение только одного из его нестатических членов. [...] Размер объединения достаточен для вмещения самого большого из его нестатических членов. Каждый нестатический член размещается в памяти так, словно он является единственным членом структуры. Все нестатические члены объекта объединения имеют одинаковый адрес.

Оригинал
9 [class]/5 A union is a class defined with the class-key union; it holds at most one data member at a time (9.5). [...]
9.5 [class.union]/1 In a union, at most one of the non-static data members can be active at any time, that is, the value of at most one of the non-static data members can be stored in a union at any time. [...] The size of a union is sufficient to contain the largest of its non-static data members. Each non-static data member is allocated as if it were the sole member of a struct. All non-static data members of a union object have the same address.



Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 13

Банкомат. По ту сторону провода

Reading time 6 min
Views 79K
В связи с затронутой недавно темой устройства банкоматов, желании хабра узнать о них побольше, а также просто зашкаливающему количеству домыслов от такой, казалось бы, технически подкованной аудитории, я решил написать этот пост. В отличии от UserSide, который в основном занимался физическим обслуживанием банкоматов, и как мне кажется, весьма далек от тех, кто собственно пишет софт для его управления хостом, я расскажу о «той стороне». Естественно, в меру своих познаний, пока еще слишком скромных.

Так как это моя первая статья на хабре, прошу прощения за, возможно, излишнюю сумбурность.

Первое что хочу отметить — все, сказанное в статье и практически все в комментариях — правда, но правда однобокая — она описывает частные случаи. И хотя это частные случаи, в той манере, как подана информация, у неподготовленного читателя может возникнуть впечатление, что бывает только так, как было рассказано. И хотя в комментариях успело появиться несколько противоположных описаний ситуаций, никто так и не озвучил главного — все это частные случаи.
Пройдемся вкратце по интересующим народ вопросам.
Total votes 117: ↑110 and ↓7 +103
Comments 70

Information

Rating
1,569-th
Location
Магнитогорск, Челябинская обл., Россия
Registered
Activity