kostyaBro
Я привык делать go mod tidy && go mod vendor
Даниил
Хорошо, понял, спасибо =)
Oleksandr
Указанные json теги как-то влияют на производительность?
Oleksandr
И есть ли смысл их указывать, если названия полей точно совпадают?
Oleksandr
Зачем?
Andrey
Зачем?
по многим причинам
Иван
например чтобы было видно что структуру нужно маршалить анмаршалить
Илья
Зачем?
потому что рефлексия не видит названия полей с маленькой буквы
Илья
то есть не как в питон/жс
Иван
ага по умолчанию большие буквы
Andrey
потому что рефлексия не видит названия полей с маленькой буквы
ну теги тут не помогут ) но ide подскажет что ты тег невидимой структуре подставил это да )
Andrey
да если в json поле с маленькой буквы а у тебя нет тега то это поле не заполнится
Иван
короче явное лучше неявного
Илья
Указанные json теги как-то влияют на производительность?
грубо говоря нет, но их нужно будет обходить при каждом анмаршалинге
Илья
если скорость на этом момете критически важна, то есть генераторы маршалерров/анмаршаллеров Но, опять таки, такого случая не будет в маленьких проектах, поэтому забей
Иван
ага это примерно как утыкаться в производительность логгера
Oleksandr
Нету логов, нет проблем 😁
Кіт ✙
zero-overhead logger
Кіт ✙
(пишет в файл в отдельной горутине)
🄻🄰🄺🄸
Подскажите, а чем можно собрать приложение кроссплатформенно, чтобы потом залить релизы на github? И можно ли это где-то захостить за маленькие деньги? Или может сборка опенсорс проектов где-то возможна бесплатно?
Илья
можно просто на своей машине менять GOOS GOARCH и собирать
Илья
Но наверное есть автоматизированное решение на гитхабе
Иван
можно в докере там собирать кросплатформенно и выкладывать артефакты тоже
🄻🄰🄺🄸
Да, как раз смотрю. Я правда думал это стоит денег.
Иван
ограничения есть но бесплатно можно Included minutes Free 2,000 minutes per month
🄻🄰🄺🄸
Спасибо)
Кіт ✙
как вы настраивали авторелиз в гитхаб экшонах?
Khalid
Кіт ✙
то, что ты объявляешь в ифе, существует только в скоупе этого самого ифа
Khalid
а
Khalid
сяп
Даниил
Ребят, что за странная штука с go: Подключаю пакеты. Один пакет - с гитхаба, один - собственный. main файл находится в директории проекта, в GOPATH/src, но го требует во первых - инициировать модуль, во вторых - в него get-ом закинуть пакет с гитхаба, хотя он есть в pkg и путь импорта в main верный. Вроде как, когда работаешь в GOPATH модуль не нужен, или что-то поменяли? Второй, собственный, го вообще не видит. Он находится в отдельной директории, ниже main файла. Как я только не уговаривал го увидеть этот пакет! И относительный путь указывал, и абсолютный, и просто указывал через директорию относительно src, го постоянно выводит ошибку, что не находит пакет в GOROOT. Как так? Он ведь, по документации, должен видеть собственные пакеты, ища их в GOPATH
Хах, решение оказалось не очевидным. Оказывается, в окружении Go была активирована переменная GO111MODULE. Ее отключение командой go env -w GO111MODULE=off убрало поиск моих пакетов в GOROOT и расширило взгляд парсера до директорий GOPATH и включение зависимостей по go.mod. Также пришлось заново использовать go get, но это не проблема =) И в результате удалось собрать учебный проект со всем, что нужно.
Si 🫧
Ребята еще раз привет Вот вам загадка от Жака Фреско 2 скрин: такие данные я отправляю с формы на фронте, как видите все значения у меня СТРОКИ 1 скрин собственно кусок того кода, который должен работать, но этого не делает Там где я ловлю ошибку и делаю ретерн, я решила посмотреть, что за ошибка возникает, и ошибка такая: Error:Field validation for 'DateStart' failed on the 'required' tag И такая же ошибка для DateEnd. То есть, я так понимаю, го не видит эти данные, но они отправляются. Так вот, ЧТО ДЕЛАТЬ
Si 🫧
Si 🫧
Пожалуйста помогите, 5-й час сижу
Илья
Пожалуйста помогите, 5-й час сижу
а может просто Bind вместо BindJSON?
Илья
потому что я здесь жсон не вижу
Si 🫧
а может просто Bind вместо BindJSON?
Поменяла, ошибка та же осталась
Илья
с формы отправляешь в жсон'е или через submit?
Si 🫧
А если убрать required у DateStart и DateEnd, то получается 200, запрос срабатывает, но приходит ответ на фронт data: "{\n \"Name\": \"неазвание\",\n \"Description\": \"описание\",\n \"DateStart\": \"\",\n \"DateEnd\": \"\"\n}{\n \"Name\": \"неазвание\",\n \"Description\": \"описание\",\n \"DateStart\": \"\",\n \"DateEnd\": \"\"\n}" Хех
Si 🫧
Нет хоть примерных идей в чем может быть дело и как это можно вообще исправить?
Andrey
Нет хоть примерных идей в чем может быть дело и как это можно вообще исправить?
у тебя этот код где-то в гитхабе лежит? можешь дать ссылку на репу?
Дмитрий
Ребят, привет! Только въезжаю в go. Может кто по экосистеме подсказать, что сейчас актуально на рынке?
Andrey
Ребят, привет! Только въезжаю в go. Может кто по экосистеме подсказать, что сейчас актуально на рынке?
у нас все манго закупают, по доллару правда зеленоватые но они полежат дозреют, потому что если совсем спелые брать они быстро портиться начинают
Si 🫧
Ой, я заменила на фронте и на бэке date_start и date_end на dateStart и dateEnd и заработало...
Si 🫧
Чудеса
Andrey
Ребят, привет! Только въезжаю в go. Может кто по экосистеме подсказать, что сейчас актуально на рынке?
а если серьезно то сейчас актуальна std либа, все остальное не так важно, изучаешь ее и можешь врываться, никто в го специальных инструментов не требует и по технологиям у каждого свой зоопарк
Si 🫧
Ты чего, весь код пишешь в main.go??
Да Я читала и смотрела, как делать go modules, у меня при импорте локальных пакетов выдавало ошибку, что нет такого пакета в GOROOT и GOPATH Ну и забила Я для пет проекта пишу на го, просто чтоб понять, как устроен бэк, код ужасный и копипастный, не судите строго
kostyaBro
Ребят, привет! Только въезжаю в go. Может кто по экосистеме подсказать, что сейчас актуально на рынке?
Kubernetes Docker Apache kafka Nats Rabbit Grpc Prometeus Postgresql Redis Domain Driven Design Saga Event driven microservices И так далее
Si 🫧
у тебя этот код где-то в гитхабе лежит? можешь дать ссылку на репу?
Не заливала еще функцию, что на скрине, а так да, на гитхабе все лежит. Меня найти легко по юзернейму. Если кто-то сможет сделать ревью, было бы здорово ))
Дмитрий
Si 🫧
Посмотреть что приходит в чистом body для начала
fmt.Println(c.Request.Body) // &{0xc000510000 <nil> <nil> false true {0 0} false false false 0x62b160} Вы про это?
Si 🫧
о у тебя там проект админки, напиши мне фронтенд админки а я тебе могу с бекендом сильно помочь )
Давай Но я всего лишь уверенный джун Опыт в написании 2 админок есть
Danil👽
Ага
Почему не на фронте?
kostyaBro
Andrey
Давай Но я всего лишь уверенный джун Опыт в написании 2 админок есть
да мне админка на самом деле и не нужна, это из разряда круто если у меня оно есть, но для того что бы было я ничего делать не хочу ) у нас много таких желаний, вот у меня админка одно из них )
Si 🫧
Да, но сделай io.ReadAll(body) и выведи как строку
fmt.Println(io.ReadAll(c.Request.Body)) // [123 34 110 97 109 101 34 58 34 208 189 208 176 208 183 208 178 208 176 208 189 208 184 208 181 34 44 34 100 101 115 99 114 105 112 116 105 111 110 34 58 34 208 190 208 191 208 184 209 129 208 176 208 189 208 184 208 181 34 44 34 100 97 116 101 83 116 97 114 116 34 58 34 50 53 46 48 51 46 48 51 34 44 34 100 97 116 101 69 110 100 34 58 34 50 53 46 48 52 46 48 51 34 125] <nil> Извиняюсь если не так написано
Дмитрий
kostyaBro
Спасибо большое)
Event sourcing CQRS Могу ещё повспоминать) Надо бы структуру какую-то для обучения а не все скопом)
Javokhirbek
Кто-нибудь знает, почему go-colly не работает на heroku ? У кого-нибудь была такая же проблема ?