Size: a a a

Golang Developers — русскоговорящее сообщество

2020 June 27

JD

John Doe in Golang Developers — русскоговорящее сообщество
@alexesDev А есть какие-то готовые решения например админка ?
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
John Doe
@alexesDev А есть какие-то готовые решения например админка ?
Такого нет. Мы для этого вообще go не используем даже...

postgrahile автоматом генерит апи + фронт на react
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Ничего уровня django или activeadmin. php мир не знаю
источник

JD

John Doe in Golang Developers — русскоговорящее сообщество
да вот из ror activeadmin отличная штука, почему нету такого, странно что все, все с нуля пишут чтоль странно
источник

JD

John Doe in Golang Developers — русскоговорящее сообщество
@alexesDev Использовать глобальный переменные это нормально ? На пример коннект к базе, по мне так это странно, я искал всякие примеры приложений на github и там какие-то поделки на примере hello wold а ничего нормального нет.
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Не нормально. Создаётся структура репозиторий и туда ссылка на созданную базу
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
John Doe
да вот из ror activeadmin отличная штука, почему нету такого, странно что все, все с нуля пишут чтоль странно
Штука спорная.
Мы уехали от него. 100+ моделей он не вывозит по производительности. Плюс сейчас всех хотят динамики js, а там это боль.
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
Переслано от Alexey Yurchenko
Кто-то может подсказать как называется подход...? я выделяю "сервисы" в отдельный модуль с одним методом (кейс бизнесухи) + интерфейс Env, который описывает что нужно методу.

import "myapp/model"

type Env interface {
 GetItem(rowId int) (*model.Item, error)
 UpdateItem(item *model.Item) error
}

func Resolve(env *env, rowId int) error {
  item, _ := env.GetItem(rowId)
  item.Quantity += 1
  return env.UpdateItem(item)
}

на уровне приложения у меня огромный env, который реализует требования всех сервисов.

func main() {
 env := env.New(...db connection, etc...)
 // ...
 increaseitem.Resolve(env, 10)
}

для тестов генерируется мок env https://github.com/matryer/moq на каждый сервис
Я вот так делаю, это подмножество clean architecture.  С огромным репозиторием и интерфейсами 😅
источник

JD

John Doe in Golang Developers — русскоговорящее сообщество
@alexesDev Не могу понять это какой-то паттерт или что ? Можно пример ссылки
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
Такая же проблема у nodejs 😅

А вообще ответ погугли “clear architecture”
...
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
clean architecture golang
источник

LC

Lapis Cursed in Golang Developers — русскоговорящее сообщество
Ребят, только начал разбираться с golang, очень поверхностно, но мне тут один скрипт надо бы написать, вот возник вопрос. Засетапил значит я все для Go в VSC и допустил какую-то ошибку в коде, в данном случае пытался значение из словаря распарсить неизвестной природы в виде interface{}, написал в виде выражения map[key].(string), меня поразило, что ни компилятор ни среда ничего об этом в рантайме не сказали, код по-прежнему выполнился, что он сделал, вообще не понятно, так и должно быть?
источник

LC

Lapis Cursed in Golang Developers — русскоговорящее сообщество
Важно сказать, кто код выполняется в хэндлерах, если там происходит какая-то ошибка, это все сокрывается, код в хэндлерах прерывается, но основной поток продолжает выполняться, может ли это от плохо-написанной библиотеки?
источник

C

Cat-in-Vacuum in Golang Developers — русскоговорящее сообщество
Ну, если я правильно понял ваш вопрос, выражение вида .(string)  называется type assertion. Попробуйте погулить, как это работает
источник

LC

Lapis Cursed in Golang Developers — русскоговорящее сообщество
Проблема решилась прозаично, ни VSC, ни PowerShell не выводили stderr, поэтому перейду на IDE от JetBrains, хотя можно было бы настроить, но мне кажется, что у JetBrains будет работать все из коробки.
источник

LC

Lapis Cursed in Golang Developers — русскоговорящее сообщество
Потому что не только проблемы с выводом в VSC, там дебаггер во многом уступает конкурентам.
источник

LC

Lapis Cursed in Golang Developers — русскоговорящее сообщество
Ну или лайтовый вариант
go run .\main.go 2>&1
источник

M

Marperia in Golang Developers — русскоговорящее сообщество
John Doe
@alexesDev Использовать глобальный переменные это нормально ? На пример коннект к базе, по мне так это странно, я искал всякие примеры приложений на github и там какие-то поделки на примере hello wold а ничего нормального нет.
@fjttm
Заброшен, щас найду время — сделаю оставшиеся пять статей
источник

M

Marperia in Golang Developers — русскоговорящее сообщество
А вообще да, го обычно не используется для создания веб-приложения целиком, слишком всё специфично
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
У нас целиком создают )
источник