Null
Обработка ошибок приложений CLI в Golang
https://dev-gang.ru/article/obrabotka-oshibok-prilozhenii-cli-v-golang-tizggrwzv1/
@Golang_google
Davron
{"error":"parsing time \"\\\"2018-07-13T19:24:05Z07:00\\\"\" as \"\\\"2006-01-02T15:04:05Z07:00\\\"\": cannot parse \"07:00\\\"\" as \"\\\"\""}
Davron
Илья
Patamen
Я как будто на разных языках разговариваю
Либо тупняк ловлю в пятницу
Patamen
Можно пример кода, как Decode происходит из Body?
Patamen
Так
Потихоньку картинка становится более ясной
Maks
Йоу. Такой вопрос. Допустим у нас в проекте есть какие то консумеры и инстансов проекта у нас 1. У нас есть реббит вся хенрня. Выходит новый релиз. Там обновляется схема бд и соответственно старый консумер уже не может работать. А у него допустим медленные задачи - час, два могут выполняться.
Maks
Что обычно в такой ситуации делают?
Maks
а ну хотя в гошке же просто грейс шатдаун мутится и прила рестартится))) Точно)) Это у нас в пхп в супервизоре надо думать как бы это всё намутить)
Grigory
А что за обновления схем бд что все перестаёт работать?
Maks
Ок. А если сервисов несколько, на го, как тогда происходит переход к новому релизу? Поднимаются новые, ожидается завершение всех старых, старые выключаются, стартуют новые, накатываются миграции и всё такое
Grigory
Типа таблица переименовывается?
Maks
ну допустим у тебя просто поля поменялись
Maks
какие то пропали стали не нужны
Maks
а у тебя сейчас консумер с этой таблицей работает.
Grigory
Ну типа сначала деполишь отвязку от полей, потом снос полей
Maks
Отдельными деплоями?
Maks
ну и такой момент, как понять что сейчас у тебя консумер не занят работой и можно его грохнуть что бы поднять новую версию))))
Grigory
Версией консьюмера
Grigory
Если это кубер то вообще сказка
Maks
ну условно у меня консумер фултайм слушает очередь. Он для долгих задач. я добавил в проект конфиг для супервизора что бы можно было задачи какие то там выполнять. Проблема в том что это жирный монолит с говнокодом)
Maks
Короче ладно)
Maks
Будем решать проблемы по мере их поступления :D
Илья
Dilame
Подскажите плз, что значит HandleConnect(goproxy.AlwaysMitm) вот здесь?
Мне нужно перехватить запрос на прокси, сделать свой собственный запрос, и вернуть свой собственный ответ?
Библиотека goproxy, судя по симптомам, действительно делает mitm, так как если пускать траффик через неё, то клиент ругается на самоподписанный сертификат.
Но я никак не могу найти способ влезть в запрос и произвести этот самый mitm. Как это сделать?
Alexander
Dmitriy
Привет всем!
Мне нужно распространять мое веб приложение как коммерческий продукт для корпоративного использования.
Остро стоит вопрос сокрытия исходников и защиты usb ключом.
Go подходит для этого?
Изначально python был использован. Но там совсем беда с этим
Не ну это
Юра (Юрий Александрович)
Victor
как сокрытие исходников зависит от языка программирования ?
Victor
создаёте шифрованный раздел, туда копируете исходники, раздел защищаете паролем )
Dmitriy
Ну я о том что go в отличии от python компилируемый язык
Anonymous
Dmitriy
Юра (Юрий Александрович)
Вы можете распространять бинарную версию вашего веб-приложения только в виде готового образа docker
Dmitriy
Юра (Юрий Александрович)
но оттуда ни до какого USB-ключа вы не достучитесь (вы в любом случае до него не достучитесь, т.к. это очень специфическая задача, которая будет упираться в архитектуру и настройки конкретного сервера)
Dmitriy
Юра (Юрий Александрович)
Ищите другой способ управления лицензиями, не связанную с USB-ключом. Например можете на своем сервере поднять какой-то сервер управления лицензиями, который будет разрешать/запрещать стартовать вашему продаваемому сервису.
Anonymous
Dmitriy
Юра (Юрий Александрович)
Нужен изолированный вариант
тогда ваш проект убьется об систему защиты от нелицензионного копирования, и не будет тогда вообще ничего.
Не хочу Вас обидеть, Вы точно не переоцениваете ценность своего продукта?
Я как-то в юности тоже сильно переживал о ценности того, что пишу. Просрал 15 лет.
Dmitriy
Если не usb ключ, то как защитить экземпляр программы от копирования?
Юра (Юрий Александрович)
Если не usb ключ, то как защитить экземпляр программы от копирования?
Никак. Информация, находящаяся на чужом компьютере потенциально может быть прочитана и скопирована. Мыслите коммерчески: целесообразно ли кому-то воровать вашу программу, целесообратно ли лицензионному пользователю делиться вашей программой, целесообразно ли пытаться использовать нелицензионную копию вашей программы.
Dmitriy
Dmitriy
Dmitriy
Можно go программу привязать к железу?
Dmitriy
Это все про другое.
Юра (Юрий Александрович)
Можно go программу привязать к железу?
ну... можете к mac-адресу сетевой карты, например, привязаться. Но его можно подделать. С другой стороны, ваш пользователь может однажды заменить сетевую карту, у него перестанет работать ваша программа и он вас проклянет.
Юра (Юрий Александрович)
Это все про другое.
я потратил 15 лет жизни на то, чтобы понять, что это как раз не другое, а именно то самое.
Как можно игнорировать такой жестокой ценой полученный опыт...
(обреченно разводит руками)
Dmitriy
Наша контора покупает не сильно сложный софт за 1 млн за копию.
Лицензионная схема такая: мы генерим ключ у себя из нашего железа. Отправляем вендору клбч и наши реквизиты. Вендор возвращает новый ключ, который и открывает лицензии.
Dmitriy
Все довольны в итоге.
Я так понимаю этот алгоритм легко взломать. Но никто не заморачивается
Юра (Юрий Александрович)
Именно. Взломом софта занимаются только в том случае, если взлом очень прост, а к взломанной программе нет никаких требований к надежности и поддержке (как фотошоп на компе школьника. Пользователь будет просто развлекаться)
(в примере с фотошопом взлом прост именно для пользователя. Как там пыхтели хакеры - остается за кадром)
Юра (Юрий Александрович)
... та еще ситуация. Человек миллионы зарабатывать собирается, а в чате любителей советуется, как систему защиты сделать.
Я лучше вместо обсуждений вам завидовать буду :(
Dmitriy
Да я поинтересовался просто 🤷
Dmitriy
Просто та прога за миллион написана на сишарп. Go тоже компилируемый. Должно сработать 😄
Dmitriy
С питоном совсем плохо. Но я пока знаю только питон 🤷
Юра (Юрий Александрович)
(вздымая руки кверху)
Что же это за прога, которая имеет коммерческую ценность, которая про этом столь проста, что ее все равно, на каком языке писать?
(начинает умирать от зависти)
Roman
Привет всем ! Подскажите Курсы по Golang в Украине .
Igor
David
David
а очные курсы это бред, по моему)
David
если вообще такие есть
David
Подскажите, пожалуйста. Никак не могу разобраться. В контейнере лежит микросервис - grpc cервер, который слушает порт 8080 и наружу из контейнера торчит тем же портом.
Если с клиента делать вызов метода, когда микросервис в контейнере - выбрасывает ошибку. Если же запускать микросервис без контейнера и делать вызов метода - все работает. В /bin/bash все как нужно, билдится вроде бы правильно. Прикладываю структуру микросервиса и Dockerfile. Очень прошу помощи
https://pastebin.com/znipQvcK
David
запуская контейнер с помощью
sudo docker run -d -p 8080:8080 xgodd/sneakers-core
Maks
Такс, пытаюсь понять задачу с защитой.
У нас есть серверное по, которое должно быть развернуто у клиента, при этом оно должно быть защищено от копирования и запуска. И есть идея сделать это при помощи usb токена.
Maks
Но разве нельзя взять и скопировать юсб токен на другую флешку условно?
John
А если какойнибуть Рутокен и прочие цифровые подписи?