• Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    +1

    И не смотря на все эти сложности rs-232 Полностью себя оправдывает, понижая административный ресурс сопровождения.
    Это тот случай, когда долго запрягать но быстро ехать.
    Надо просто разработать стандарт… Сканер вставляем всегда в это гнездо.(типа внизу справа :-)) весы в это… индикатор в это.

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    0

    Характер того штрихкода я уже не помню..(Только не в сканере, а в ТСД).
    А вот то, что Вам пришло 13 символов и при этом неверных Это и вправду странно...EAN13 настолько распространенный формат, что должно работать как "отченаш"
    … Атоловский сканер что-ли?

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    +1

    Додумывать EAN 13 вообще нельзя… можно додумывать то, что входит в спецификацию.(Типа PDF 417)
    Но… я сталкивался с подобным поведением в ТСД(Терминалах сбора данных) Выяснялось,- он путал UPC с EAN13 (UPC Это американский формат 12 символов (или 11+1(контрольный))).
    Если Вам пришло 12 символов это оно самое.
    Но там(в ТСД) можно отключить распознавание форматов.
    Возможно Ваш сканер путает EAN13-UPC… Именно на сканерах такого не встречал… Было на ТСД.

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    0

    Я стараюсь брать хорошие сканера и это не типично додумывать.
    Вообще алгоритм додумывания включён в PDF 417
    Это старая марка егаиса


    PDF417 предусматривает полиномиальное кодирование Рида-Соломона дополнительных данных для восстановления информации. Количество дополнительных КС зависит от уровня коррекции ошибок.

    В очень хороших сканерах (от 2000$) включен этот алгоритм Рида-Соломона и можно часть кода закрыть пальцем.И хороший сканер благодаря этому алгоритму восстановит потери и прочитает правильно.

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    +1

    Не делайте поспешные выводы
    У меня все кассы на линуксах.(ИС кроссплатформенная, но флагманская ось linux)
    И всякое бывает с раскладками.
    И эмуляция кома это не тот же HID- это эмуляция COM.Не знаю о какой модели вы говорите можем сверить позиции по моделям уже в личке… с какими я работал, вам точно скажу чип.(Linux его классно показывает)

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    –2

    Я много работаю с POS оборудованием.И много со сканерами штрихкода.Хорошие сканера (Начиная от 150 $) Ведут себя именно так.Вставил USB кабель(если надо отсканировал настроечный код) И всё QR определённого качества не читает.Меняем кабель в этом же сканере на rs-232… И всё ОК.Я не буду перечислять брэнды и модели… Вот у автора на картинке Honneywell 1450… Он относится к классу хороших сканеров Не знаю зачем автор поста его перепрошивал… он и так берёт инверсный QR код. Так вот эта модель… ведёт себя так как я описал..

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    0

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

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    0

    Извините, я думал Вы автор или причастен к конторе.
    На самом деле


    Если у него не получается считать QR код, он увеличивает яркость(чем не может похвастаться эмуляция USB)

    Это очень Важная фишка.Качество QR кода на сигаретах очень низкое… многие сканера не берут… И вот тут инкрементальное увеличение яркости (а следовательно контрастности QR кода) играет Важную вещь для считывания.
    В сухом остатке кассир на кассе не мучает ни себя ни покупателя. ожиданием.
    Т.е кассир со сканером rs-232 работает эффективнее чем кассир с USB(в каком бы режиме USB сканер не работал) при считывании QR.
    Для больших магазинов это важный показатель.

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    0

    Умудрился связать, потому как связь действительно есть… если у Вас 3 ларька в обслуживании с 5 сканерами USB,-То нагрузка на поддержку не заметна, а когда 500 компов в обслуживании, вот тут и вылазят все косяки, и если у Вас rs-232, то косяков на порядки меньше.Вы сказали, что у Вас много магазинов… Вот я и удивился простой вещи:
    -Зачем Вы так себя мучаете, когда можно не мучаться.
    Но впрочем это Ваше дело.

  • Задача для разработчика, или как мы без вендора ручные сканеры прошивали
    +3

    Вот у Вас на картинке вроде honneywell 1450, который и так берёт инверсный код.(или у Вас совсем старые модели)
    Очень странно, что у Вас USB сканера… а не комовские… При том, что Вы говорите о многих магазинах, ведь если
    1.Он работает как клавиатура(HID), то нужно разработчику следить за раскладкой ибо QR
    qwert придёт в ИС как йцуке.
    2.А если работает как эмуляция COM от USB (в Linux видятся как /dev/ttyUSB0 ,/dev/ttyACM0 и т.д), То за раскладкой следить уже не надо, НО Вы теряете важную "фишку" нативного сканера RS-232., работающего от своего автономного блока питания.Если у него не получается считать QR код, он увеличивает яркость(чем не может похвастаться эмуляция USB).И количество верных сработок на порядок у нативного rs-232 выше, чем у USB-COM,

  • Жизнь и IT или год, как я уволился с последнего места работы
    +6

    Как говорил Генри Форд:
    -Кто целый день работает на работе, тому просто некогда зарабатывать деньги. :-)

  • Базовые команды Linux для тестировщиков и не только
    0

    Мне кажется… надо ещё команду… Знать на каком "чипсете ходим"
    sudo dmidecode | grep -A4 'Base Board Information'

  • iКасса или как мы приручили «цифрового кассира»
    +1

    Вот Вы написали, что при продаже сигарет и алкоголя есть накладки(консультант… возраст)… А вот как решаете вопрос с ЕГАИС или маркировкой сигарет(а в будущем и других товаров).Там надо отсканировать QR код… он не всегда читается...(а на сигаретах… так почти никогда не читается)… Как решается вопрос если "тупой робот в облике ЕГАИС" не разрешил продавать какую-то марку.(Надо изъять бутылку, а если их несколько, то её ещё найти надо… для человека все марки одинаковы)

  • Как я делал desktop-приложение на Flutter (+ bonus)
    0

    Насчет размера… Не знаю в курсе Вы или нет(я вначале работы с flutter был не в курсе)
    Есть дебажная зборка… и она тяжелая, ибо отягощается обратной связью со средой разработки.Вы поменяли код и тут же runtime на вашем устройстве произошли изменения.(Это ещё одна фишка за которую я люблю flutter).И есть релизная сборка (из неё выхолощены обратная связь с IDE)
    https://flutter.dev/docs/testing/build-modes
    И она намного меньше весит и намного быстрее.

  • Как я делал desktop-приложение на Flutter (+ bonus)
    0
    Хелловорды работаю везде хорошо. Но не всем нужно писать приложения в духе «фронт как на вебе, только на мобилке».

    Ну вот у нас "мобильный Торговый представитель создан на Flutter Это ж уже не helloword
    Видео части работы(из обучающей серии)
    https://cloud.mail.ru/public/4EK8/AAaoC6BPf

  • Новый подход может помочь нам избавиться от вычислений с плавающей запятой
    +3

    Вот тут на sql.ru обсуждалось, что Oracle pl/sql даже при перестановке мест множителя дает различные результаты
    sql.ru Oracle форум

  • Всё что вам нужно знать о Node.js
    0

    Потому что LOOP это один поток… Когда процессор переключается на другой поток, он должен сделать переключение контекста… эТо дорогостоящая операция ,-он типа сохраняет все переменные в стек… делает ещё кучу всего… потом переключается на другой процесс(поток), восстанавливает его контекст. Делает дофига ненужного.(с точки зрения КПД)
    Вот Википедия пишет про контекст процесса
    А вот если один процесс хоть и в петле переключать контекст не нужно.

  • Опыт интеграции онлайн кассы Атол с собственной торговой CRM
    0
    но драйвера аналогичные есть на linux x64/x32/arm,

    А Вы с linux ом хорошол работаете?.. Там вот там не всё просто, драйвера эти не везде ставятся..(Как правило это ubuntu какой нибудь последней версии с последним или конкретным ядром).Я использую CentOS и когда я проводил исследования они не поднимались. Проще было чем "трахаться" со стыковкой драйверов и ОС самому писать на низкоуровневом протоколе(те же затраты сил и нервов)… В случае атола внутри она "такая калоша" ,-хуже низкоуровневого протокола для ФР не видел.

  • Опыт интеграции онлайн кассы Атол с собственной торговой CRM
    0
    Планируемая схема примерно такая — есть CRM, которая крутится на сервере в локальной сети, ее открывают из браузеров, с серверной стороны на PHP через curl будут отправляться чеки и печататься на кассе. А сама касса подключена к любому компу на Windows в этой же сети.

    Так я немного не понял… Касса на Винде?.. Какая же тут кросплатформенность.
    Вот если бы API сервер JSON был бы внутри аппарата(вставить ту же малинку себе внутрь) и тогда мне не надо ставить всякие драйвера… а просто делаю request из любого языка из любой ОС… Это уже уровень.
    Или хотя бы кроссплатформенное rest api(и не обязательно полный web сервер поднимать)
    Типа запустил(в любой ОС) java -jar atol.jar или node atol.js и всё запустился.
    (У нас например так но атол я снял с поддержки… Можно об этом почитать в топике https://habr.com/ru/post/453822/

  • Поймай меня, если сможешь. Версия Короля
    0

    А Вы уверены, что это у Вас бизнес?.. Бизнес это организованный процесс… организованный шаблон… А тут много если… Если примут "идиота"… если он достаточно "накосячит"… Если программист к Вам переметнётся… и даже если всё пошло так… автоматизация сама может пойти не так… может "тупить" персонал, или даже саботировать, проект может быстро войти в стагнацию и т.д. У Вас не бизнес… может два три раза получилось… но уверен двадцать раз не получилась эта схема.

  • Подключаем последовательные интерфейсы по IP
    0

    Скажите а может он просто работать не как виртуальный COM (А то непонятно соберётся… не соберётся… я не использую Ubuntu я использую Centos ) Так вот просто кинул я в socket 10.0.3.1:7000 Информацию 0x5f 0xc6 Она в com 1 EKI-1524 попала.
    Пришла в EKI-1524(com 1) информация я в Клиенте socket 10.0.3.1:7000 её увидел

  • Онлайн-кассы как легальный отъем денег у бизнеса
    +4
    image
  • Онлайн-кассы как легальный отъем денег у бизнеса
    +1
    Я уже кому то отвечал вверху,- процитирую… Украина ввела это ещё в 2006 году и прошло оно тихо… без всяких пиявок к бизнесу… чеки отправлялись напрямки налоговой и бесплатно… у налоговой корона от этого не падала… Тот модем покупался разово чтоб не покупать новый аппарат и вставлялся как прокси в разрыв между компом и аппаратом старым.И стоит он 1000грн ( 2700 руб) и не было никаких ОФД Фискальных накопителей, что надо менять раз в период и т.д
  • Онлайн-кассы как легальный отъем денег у бизнеса
    +1
    Да потому что это оброк… Рэкет на государственном уровне… Вы должны менять накопитель через время и всё тут.Иначе «некто» не заработает.
  • Онлайн-кассы как легальный отъем денег у бизнеса
    +10
    Украина ещё в 2006 внедрила, типа онлайн кассы, и прошло оно «тишком нишком»… без всяких скрытых налогов.Пиявок к бизнесу типа ОФД… Там у налоговой корона не падает если они напрямки чеки получают.А не от «кунаков влюблённого джигита»
  • Онлайн-кассы как легальный отъем денег у бизнеса
    +6
    Да, а когда это начиналось писали статьи типа
    habr.com/ru/post/331772
    «налоговая России открыла новый рынок для разработчиков приложений»
    Я там оставлял комментарий, что Всё это скрытый налог… увлечение технического и админ ресурса.Обычная средневековая барщина.
    Это Вы ещё ЕГАИСа не коснулись.
    А что касается АТОЛа… Можно много про него говорить нехорошего, начиная от сложного низкоуровневого протокола аппарата.(Мы писали свой кроссплатформенный драйвер) И я был поражен,- как много надо приседать и говорить «ку» этой тупой коробочке.
    Для сравнения… какой простой протокол у Pirit .(Я потом отказался от Атола и клиентов перевел на Piritы)
    А низкоуровневый протокол Украинских Мария МТМ или Exelio вообще сказка… десятиклассник может драйвер написать.
    Не зря говорили древние
    -Упрощать сложно.
    -Вот усложнять легко.
    Атол особенно не заморачивается.
    Вот даже по маркировке сигарет,- в Pirit надо отправить марку.
    В атол надо распарсить марку Отдельно ETIN передать одной командой… остальное другой.
  • Государственный интернет: рассказ удалёнщика о VPN в Китае
    +1
    А я вот где-то читал(слышал) что китайский фаервол на низком уровне может отслеживать сигнатуры VPN… Т.е понять что идёт трафик VPN и заблокировать его. или это неверно?
  • Программист как сервис для небольших компаний. Взлетит или нет?
    +1
    Ну как говорят у нас в Украине «Тай то бог нашему теляти волка съесть»…
    Главное чтоб Ваш путь не был как Ваш ник fatalway =Можно перевести как фатальный(пагубный) путь. :-)
  • Программист как сервис для небольших компаний. Взлетит или нет?
    +1
    Вот я зашел к Вам в профиль зашел на сайт в профиле… там есть клиенты и вроде крутые…
    Почему спрашиваете «взлетит не взлетит»? Раз уже есть клиенты и мучаетесь этим вопросом.
    Сами уже знаете, что
    не взлетело… Вы как и большинство подобных контор мелкого ИТ бизнеса.(Наверное как и моя контора) попали в состояние стагнации(застоя)… Вроде и со старых клиентов копеечка капает на поддержку, но та «копеечка» явно недостаточно на дальнейший рывок или развитие.
  • [По докам] Flutter. Часть 1. Для Android разработчиков
    0
    TextFormField Два способа… или через контролер
    У него есть такое поле controller а controller имеет поле text или же если оно обернуто в Form тогда срабатывает onSaved: (val) => print(val)
  • Создание Android приложения с использованием Anko Layouts и Anko Coroutines
    0
    Я тоже использовал anko… Мне не нравилось разнесенный в java ui и логика… анко этот вопрос решала.
    Но билделось очень долго.
    (А потом появился flutter.)
  • bobaflu — программируем аксессуары на flutter
    +1
    Сложности при написании кода: большая вложенность виджетов.

    Я например разбиваю на функции возвращающие Widget и все никакого кошмара.


    @override
      Widget build(BuildContext context) {
       return
         new Column(
         children: [new Container(
         padding: const EdgeInsets.only(top:8.0),
           child: Row(
           mainAxisAlignment: MainAxisAlignment.spaceAround,
             crossAxisAlignment:CrossAxisAlignment.start,
           children: [
             rbuildButtonColumn(context,'img/data.png', 'Загрузить',pressdownload),
             rbuildButtonColumn(context,'img/doc_pokupka.png', 'Выгрузить',pressupload),
                 ],
         ),
       )
         ,getprogress(context)]
         );
      }

    UI Загружающая выгружающая sqlite базу.
    rbuildButtonColumn Строит кнопку с рисунком с логикой pressdownload/pressupload Загрузить /Выгрузить
    а ,getprogress(context)] Рисует Прогрес индикатор, а также, что загружено успешно, или ошибку.(с рисуночками соответствующими)
    И ,getprogress(context)] Тоже разбит


     Widget getprogress(BuildContext context){
        switch (downloadstate){
          case 1:return getdownloading(context);break;
          case -1:return geterror(context);break;
          case 2:return getcompleted(context);break;
          default: return new Container();
        }
  • Об ответственности исполнителей
    +17
    Не может быть такой глубокой ответственности сотрудников перед владельцами, как Вы написали.
    Хотя бы потому, что они не делят с владельцами, ни предпринимательский риск ни естественно прибыль… они работают за зарплату… а вот вектор развития и задают владельцы.
    Основываясь на некоторых управленческих показателях.Ну хотя бы Доход И Расход… И если между ними сильный диссонанс, надо анализировать почему такой большой Расход(разбивая и ранжируя по статьям расхода) и маленький доход принимать управленческое решение.
    Допустим анализ неликивидности(что товар долго лежит на складе) мог вызвать вопросы,-Почему лежит так долго?.
    А анализ процента наценки мог вызвать вопрос ,-почему так много, по сравнению с рынком?.. Если обратной связи не было, то чего на сотрудников пенять,-они не должны рвать (_|_) за чужой бизнес.(Могут, но не должны)
  • Как убедить клиента или компанию использовать Flutter
    –1
    Ну сильно спорить не буду… Тем более андроид разработка это всего лишь попутная разработка для большой ИС(Терминалы сбора данных-Инвентаризация, Торговый представитель-сбор заказов, мобильной место официанта и т.д) Т.е не является основной отраслевой деятельностью.Но я fluter попробовал и мне понравилось… Многоэтажные скобки я разбил на функции… выглядеть сразу начало симпатично… посмотрел примеры которые делаются более опытными разработчиками flutter… Там очень насыщенный красивый интерфейс… и именно мне там более всё понятно.(Возможно это просто психологически,-мне в java не нравится разбивка кода и xml экрана)…
    Я так скажу… вот на java получить такой насыщенный интерфейс со всеми рюшечками у меня может не получиться… а на flutter есть основание предполагать что получится.
  • Ад своими руками
    0
    А мне кажется просто люди не были психологически готовы… А Вы начали строить «заборы»
    ах ты так делаешь, а я тебе тут преградку… так… а я тебе сюда преградку… в результате система в лагерь превращается.Мне кажется достаточно было самой первой версии, а далее систему строить так чтоб она экономила рабочее время, а не наказывать штрафом.
    Возможно, та первая лояльная версия просто опережала свое время для данного предприятия.И надо просто поднимать ИТ культуру и ждать.
    Чтоб персонал для себя конкретную пользу видел… если Вам это не удалось это и вправду АД.
  • Как убедить клиента или компанию использовать Flutter
    –1
    Дабы не быть голословным
    я добавляю всего лишь
    scrollDirection: Axis.horizontal,
    И магия.
    Приведите пример на java
  • Как убедить клиента или компанию использовать Flutter
    0
    Я вот попробовал Flutter чуть дальше hello word… Сделал приложение по уроку с GridView
    Загрузить картинки и получить несколько столбцов с ними.
    Понравилось вот что:
    Одним движением руки меняется количество столбцов.
    Меняется тема размер наполняемость рисунком контейнера
    И еще больше понравилось… одним движением руки столбы превращаются в строки и я получаю «перевертыш» и горизонтальную прокрутку этих картинок.
    (На java одним движением руки это не сделаешь)
    Не понравилось.Хотел обернуть этот контейнер в GestureDetector чтоб он на нажатие на рисунок реагировал onTap И запутался в скобках. и довольно долго распутывался пока запустил.
  • TLS и Веб-Сертификаты
    0
    Автор умолчал, что в процессе установления соединения посредством ассиметричной криптографии получается ключевой материал для симметричного шифрования, которое потом и используется для шифрования данных.

    А я вот правильно располагаю информацией, что ассиметричным шифрованием можно зашифровать только блок не более или равный длине байт закрытого ключа.(в отличие от симметричного, которым можно шифровать терабайты).
    Т.е если ключ 2048, то я и зашифровать могу блок не более 2048?

  • Про Flutter, кратко: Основы
    0
    Там почти такая же парадигма(техническая философия) как и React.
    После React довольно легко привыкнуть, хотя это индивидуально.За эти внешние неудобства кода следует некоторая бонусная «оплата»… Много разных кнопок на любой вкус, легко делать градиенты, отступы, нахлесты, вертикальный скролинг(или как его называют ) sliding(слайдинг), закругления, отдельные темы,- всё просто делается из коробки.Т.е можно получить насыщенный интерфейс как в вебе.На java(kotlin) это на порядок сложнее.
  • Про Flutter, кратко: Основы
    0
    Вот мне наоборот ближе именно flutter.По java мне наоборот не нравится, что файлы логики и кода разбросаны.И сделать красивый насыщенный дизайн на java непросто.И flutter он очень продуман писать на нем UI… И можно быстро получить хороший дизайн(Почти как в вебе).Это меня и подкупило.Вот в примерах есть сложные интерфейсы и просто изящный дизайн.И смотря код… там оно просто как будто сделано «мимоходом»,-играючи… Поднять такое на java или kotlin будет весьма непросто и точно не играючи.Если бы не его тормознутость.