Size: a a a

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

2020 June 06

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
Повезло с начальством. Я целиком отвечаю за ит часть проекта 6 лет
коллега, практически
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
ой, а я конфой промазал оказывается, все это время думал, что в другой сижу, ну да ладно)
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
будем знакомы
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
Go я юзаю сам, потому и здесь, пишу всякие автоматизации, полудевопсину
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
У нас e-commerce. Большая часть логики crud.
Есть clients и orders где нужно мозг врубать. Остальное скукота. Любая попытка что-то надумать станет болью через 2-3 года. Человек из команды может свалить, а мне с этим жить.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
У нас e-commerce. Большая часть логики crud.
Есть clients и orders где нужно мозг врубать. Остальное скукота. Любая попытка что-то надумать станет болью через 2-3 года. Человек из команды может свалить, а мне с этим жить.
а, ну у нас сильно другое
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
я вот когда после универа вышел, так и не нашел себе работу по специальности (увлекался системным программированием), везде нужны были CRUD-властелины, 1С и PHP недалеко ушедшие, так и осталось программирование для меня больше хобби.

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

Это я к чему, а к тому, что 100500 символов в минуту - это прошлый век, вы там до сих пор CRUDы сами пишите "на автомате". Либо не умеете переиспользовать, либо мазохисты, либо просто особенности бизнеса, допускаю, что может чего не знаю.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
это ж не разработчики, это макаки
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
разработчик большую часть времени думает
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Я поэтому просил примеры конкретных кейсов. Хорошо если у кого-то интереснее.

Много видел проектов где 5-10к строк заменяются парочкой сложных SQL запросов. Месяцами люди работают и такой результат.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
Я поэтому просил примеры конкретных кейсов. Хорошо если у кого-то интереснее.

Много видел проектов где 5-10к строк заменяются парочкой сложных SQL запросов. Месяцами люди работают и такой результат.
ORM еще есть. Кстати, раз уж тут про Go. Как тут с этим? я только gorm пробовал.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
есть что-то "дефолтное" признанное?
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Maxim Sorokin
ORM еще есть. Кстати, раз уж тут про Go. Как тут с этим? я только gorm пробовал.
Должен был слой db на интерфейсах. Что там внутри не сильно важно.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
да, но я вот(в моем конкретном случае) хотел бы писать больше бизнес-логику.
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
мне сейчас важнее быстро решать задачи, я потому и выбрал Go
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
мне он зашел как родной
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Я так делаю. Вписывается в clear architecture
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Переслано от 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 на каждый сервис
источник

MS

Maxim Sorokin in Golang Developers — русскоговорящее сообщество
спасибо за Moq
источник

AY

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