Pull to refresh
47
0
Павел Агалецкий @ewolf

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

Send message

С другой стороны: у многих продукт это именно веб-приложение.


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

Мы держим АТОЛ в облаке для фискализации всех операций, которые происходят без физического участия сотрудников: онлайн платежи на сайте, возвраты и т.п. Это очень удобно именно для онлайн платежей и интернет магазинов, которые не осуществляют физические рассчеты на месте. Надеемся, что скоро станет законодательно возможно и оффлайн рассчеты тоже фискализировать через онлайн кассы.

При этом работать с физической кассой также можно из PHP — в нем есть необходимые средства для реализации как бинарных протоколов, а АТОЛ вообще имеет встроенный в кассу веб-сервер.

Однако, в нашем случае физические кассы — это кассы на пунктах выдачи товаров и у наших торговых представителей, распределенные по всем регионам России, которые не возможно просто так подключить к какому-то одному серверу. Поэтому для работы с ними мы не используем PHP напрямую, а используем наше же ПО для торговых представителей, которое представляет собой нативное Android приложение.
К сожалению, в тот момент мы не смогли добиться того, чтобы номад не убивал прежний контейнер, не дождавшись работоспособного нового. Возможно, в более новых его версиях это возможно, но в имевшейся у нас в то время на продакшене — так не работало

Что если потребуется поменять api, сделав его несовместимым, а при этом старый api уже используется 10 другими сервисами, и у команд, разрабатывающих их, обновление совместимости с вашим api не в приоритете задач??

Мне кажется, что либо микро, либо автономные.

Все проблемы современных отечественных государственных НИИ, ОКБ, ФГУП и т.п. лежат в следующем:

  • в 90-е годы из-за малого финансирования почти все стоящие кадры с предприятий ушли, а остались либо те, кому некуда было идти (старики, безинициативные люди, работники с низким уровнем профессиональной подготовки), либо совсем уж «идейные», которых реально единицы;
  • сейчас при наличии финансирования все равно зарплаты в этих организациях остаются на уровне ниже средней по отрасли. В отдельных случаях, если везет с руководством, удается взять частные заказы на проектирование/изготовление чего-либо, но даже при этом для большого штата сотрудников не удается создать достаточного уровня заработной платы;
  • молодежь в такие организации идет очень неохотно: большинство умных, талантливых и инициативных находит работу в обычных коммерческих компаниях, остальные идут в основном работать не по профилю (зачастую на значительно большие зарплаты, чем в НИИ зарплаты)
  • те же молодые кадры, что все-таки попадают туда, оказываются на своем месте либо с целью откосить от армии (сейчас правда, почти во всех таких организациях брони уже нет), либо попадают туда «случайно» и ужаснувшись увиденному, бегут от туда через несколько месяцев или максимум пару лет;

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

Да и реально, зачем молодому человеку или девушки идти в какое-то НИИ и работать там за 20-40 тысяч, при этом имея 2 форму допуска и быть невыездным, когда за как минимум сопоставимую сумму, можно в какой-нибудь мелкой конторе писать сайты/клепать формы/рисовать цветочки и при этом не нести никакой ответственности?
Тем, кто использует explode для разделения строк конфига на ключ-значение, не стоит забывать, что в значении также может быть знак равенства. Например:

some.stupid.config=value=another

В этом случае функцию следует применить как explode('=', $config_data, 2)
Ну да, это тема. Пожалуй, можно будет переделать =)
Ну я согласен, только проблема была в том, что rxtx пытается загрузить библиотеку с помощью System.loadLibrary, а саму dll-ку я распаковываю во временную папку, от куда она с помозью данной функции не может быть загруженной. Поэтому пришлось слегка подправить код библиотеки (в трех классах удалить соответствующий вызов). Хотя, конечно можно было бы инсталлировать библиотеку прямо в место установки JDK
Как я написал, одно из требований было в максимальной простоте. В данном случае от пользователя не требуется вообще никаких действий (разве что подтвердить запуск апплета), никакой установки.
Да, вы правы, это хороший вариант, обязательно его рассмотрю.
Поправил, спасибо.

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

Ну разумеется, ведь он подписан неподтвержденным сертификатом
internet.com.google

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Golang
Apache Kafka
PHP
Kubernetes