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
Я не могу бинд делать из body из чего может быть
type Account struct{ Date time.Time gorm:"type:datetime;default:null" json:"date" }
Patamen
Я как будто на разных языках разговариваю Либо тупняк ловлю в пятницу
Patamen
Можно пример кода, как Decode происходит из Body?
Davron
Можно пример кода, как Decode происходит из Body?
var body Account{} err = c.BindJSON(&body) if err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) }
Patamen
Так Потихоньку картинка становится более ясной
Davron
Так Потихоньку картинка становится более ясной
gin-gonic не анализирует time.Time правильно что можно делать ?
Patamen
gin-gonic не анализирует time.Time правильно что можно делать ?
К сожалению, далее я не помощник Сейчас ребята ответят, я уверен Сам пользуюсь fiber в основном для роутинга
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. Как это сделать?
Dmitriy
Привет всем! Мне нужно распространять мое веб приложение как коммерческий продукт для корпоративного использования. Остро стоит вопрос сокрытия исходников и защиты usb ключом. Go подходит для этого? Изначально python был использован. Но там совсем беда с этим
Victor
как сокрытие исходников зависит от языка программирования ?
Victor
создаёте шифрованный раздел, туда копируете исходники, раздел защищаете паролем )
Dmitriy
Ну я о том что go в отличии от python компилируемый язык
Юра (Юрий Александрович)
Привет всем! Мне нужно распространять мое веб приложение как коммерческий продукт для корпоративного использования. Остро стоит вопрос сокрытия исходников и защиты usb ключом. Go подходит для этого? Изначально python был использован. Но там совсем беда с этим
веб-приложение состоит из серверной и клиентской части. На Go вы можете написать только серверную часть. На выходе получается исполнимый файл, который обратно в исходники (на сколько я знаю) не разбирается, но так никто не делает. Т.к. в серверной среде в большинстве случае собирается из исходников.
Юра (Юрий Александрович)
Вы можете распространять бинарную версию вашего веб-приложения только в виде готового образа docker
Юра (Юрий Александрович)
но оттуда ни до какого USB-ключа вы не достучитесь (вы в любом случае до него не достучитесь, т.к. это очень специфическая задача, которая будет упираться в архитектуру и настройки конкретного сервера)
Victor
Я хочу защитить серверную часть
https://ru.wikipedia.org/wiki/TrueCrypt
Victor
Я хочу защитить серверную часть
Есть шанс, что украдут исходники ?
Dmitriy
Вы можете распространять бинарную версию вашего веб-приложения только в виде готового образа docker
Я правильно понимаю что и python можно завернуть в докер и распространять в виде бинарника?
Юра (Юрий Александрович)
Ищите другой способ управления лицензиями, не связанную с USB-ключом. Например можете на своем сервере поднять какой-то сервер управления лицензиями, который будет разрешать/запрещать стартовать вашему продаваемому сервису.
Юра (Юрий Александрович)
Я правильно понимаю что и python можно завернуть в докер и распространять в виде бинарника?
нет. Докер-имейдж - это не бинарник. Это скорее маленький образ виртуальной машины со всем, что в нее положено. Интерпретируемые языки так и остаются там лежать.
Юра (Юрий Александрович)
Нужен изолированный вариант
тогда ваш проект убьется об систему защиты от нелицензионного копирования, и не будет тогда вообще ничего. Не хочу Вас обидеть, Вы точно не переоцениваете ценность своего продукта? Я как-то в юности тоже сильно переживал о ценности того, что пишу. Просрал 15 лет.
Dmitriy
Если не usb ключ, то как защитить экземпляр программы от копирования?
Юра (Юрий Александрович)
Если не usb ключ, то как защитить экземпляр программы от копирования?
Никак. Информация, находящаяся на чужом компьютере потенциально может быть прочитана и скопирована. Мыслите коммерчески: целесообразно ли кому-то воровать вашу программу, целесообратно ли лицензионному пользователю делиться вашей программой, целесообразно ли пытаться использовать нелицензионную копию вашей программы.
Юра (Юрий Александрович)
Если не usb ключ, то как защитить экземпляр программы от копирования?
Но есть и фактор, дающий надежду: - Скорее всего, эта программа никому кроме вас и заказчика не нужна.
Dmitriy
Можно go программу привязать к железу?
Юра (Юрий Александрович)
Не понял. Как убьется? Я не хочу чтобы заказчик мог перепродать мое коробочное решение.
Сложность системы защиты от копирования будет превосходить сложность самой системы. И система с защитой в итоге не будет написана никогда, в то время как система без защиты могла бы быть написана за приемлемое время.
Dmitriy
Это все про другое.
Юра (Юрий Александрович)
Можно go программу привязать к железу?
ну... можете к mac-адресу сетевой карты, например, привязаться. Но его можно подделать. С другой стороны, ваш пользователь может однажды заменить сетевую карту, у него перестанет работать ваша программа и он вас проклянет.
Юра (Юрий Александрович)
Это все про другое.
я потратил 15 лет жизни на то, чтобы понять, что это как раз не другое, а именно то самое. Как можно игнорировать такой жестокой ценой полученный опыт... (обреченно разводит руками)
Dmitriy
Наша контора покупает не сильно сложный софт за 1 млн за копию. Лицензионная схема такая: мы генерим ключ у себя из нашего железа. Отправляем вендору клбч и наши реквизиты. Вендор возвращает новый ключ, который и открывает лицензии.
Dmitriy
Все довольны в итоге. Я так понимаю этот алгоритм легко взломать. Но никто не заморачивается
Юра (Юрий Александрович)
Именно. Взломом софта занимаются только в том случае, если взлом очень прост, а к взломанной программе нет никаких требований к надежности и поддержке (как фотошоп на компе школьника. Пользователь будет просто развлекаться) (в примере с фотошопом взлом прост именно для пользователя. Как там пыхтели хакеры - остается за кадром)
Юра (Юрий Александрович)
... та еще ситуация. Человек миллионы зарабатывать собирается, а в чате любителей советуется, как систему защиты сделать. Я лучше вместо обсуждений вам завидовать буду :(
Dmitriy
Да я поинтересовался просто 🤷
Dmitriy
Просто та прога за миллион написана на сишарп. Go тоже компилируемый. Должно сработать 😄
Dmitriy
С питоном совсем плохо. Но я пока знаю только питон 🤷
Юра (Юрий Александрович)
(вздымая руки кверху) Что же это за прога, которая имеет коммерческую ценность, которая про этом столь проста, что ее все равно, на каком языке писать? (начинает умирать от зависти)
Roman
Привет всем ! Подскажите Курсы по Golang в Украине .
David
а очные курсы это бред, по моему)
David
если вообще такие есть
Igor
Привет всем ! Подскажите Курсы по Golang в Украине .
Нормальных не встречал. Парочка тех что видел или пересказ Go tour или хуже
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
А если какойнибуть Рутокен и прочие цифровые подписи?