Kirill
"13123" - не int
Kirill
а при Crazy map[int]Crazy ты не достанешь никогда реальное значение
Kirill
это строго бесконечная вложенность
Алексей
точно спасибо
Kirill
для этого interface{}
Алексей
завтыкал)
Алексей
спасибули
Kirill
Kirill
геморрой такой, что никогда не окупится
Алексей
я просто джун который делает хоть что то
Алексей
а сори ! я даже не джун))
Алексей
мне сейчас главное пробывать а там получиться не получиться уже не важно наберусь опыта
Kirill
ну вот такую структуру данных делать точно не надо, если есть возможность не делать так
Roman
Kirill
Roman
pleasekillmenowwhatafuckingshamethisiscrazyfuckingpeaceofshit
а если это название метода тогда вообще весело:
// PleaseKillMeNowWhataFuckingShameThisIsCrazyFuckingPeaceOfShit instructs the program to kill the author of this crazy fucking piece of shit code that's also a fucking shame
func (f *FuckingPieceOfShitFactory) PleaseKillMeNowWhataFuckingShameThisIsCrazyFuckingPeaceOfShit() {}
Kirill
не, если это метод, то там еще ресивер будет
Заур
Kirill
Daniel
какой все-таки мерзостный язык С, а...
Daniel
я тут вынужден возиться с нетривиальным кодом, и чет прям утомительно
Kirill
Daniel
Да все как обычно.
Цепочки инклюдов, циклические инклюды, отсутствующие инклюды (и тогда порядок инклюда в третий файл роляет), конфликтующие инклюды, макросы с одинаковыми именами и разным поведением, переопределяемые в инклюдах.
Вся вот эта мерзость. Я уж и забыл, почему с++ именно си-плюс-плюс
Заур
😂😂
User
Мерль
https://github.com/cosmos72/gomacro
Kirill
Oleg
кто какой DI для Go использует?
Илья
замыкание - лучший DI
L
вот да, постоянно вижу в чатике про go di. Вопрос - зачем вам нужна эта магия?
Egor
в go di не особо нужен
Aleksandr
Je
саша
воообще, если вам в го понадобился DI контейнер, то у вы
1) выбрали не тот язык программирования
2) у вас проблемы с архитектурой
Je
саша
Je
читай выше
напомни, чье высказывание и почему я должен его читать?
саша
Aleksandr
L
ты что-то с чем-то спутал
ну вот беру первый репозиторий из гугла по запросу golang di
https://github.com/sarulabs/di
ctn := builder.Build()
obj := ctn.Get("my-object").(*MyObject)
ну хз такое удобство
Aleksandr
Aleksandr
пару дней назад я приводил свой пример di без dic
Je
саша
это dic. dic != di
Инкрементирую, DIC в go не нужен. DI же можно самому ручками зарезолвить.
Oleg
скорее https://outcrawl.com/go-dependency-injection/
саша
блин вы ещё про фреймворк для акторов в го спросите
саша
Мерль
Господа, а кто-то может посоветовать встраиваемый веб-редактор для Go?
Без наворотов, подсветки и дополнения без учёта синтаксиса достаточно
Oleg
Давайте опрос:
1) Я использую какую-то либу для DI
2) Я использую замыкание, у меня нет сложных композиций зависимостей
func SomeHandler(db *sql.DB) http.HandlerFunc {
fn := func(w http.ResponseWriter, r *http.Request) {
...
}
return http.HandlerFunc(fn)
}
func main() {
db, err := sql.Open(...)
http.HandleFunc("/some-route", SomeHandler(db))
// etc.
}
3) Использую структуру для хранения всех необходимых зависимостей
type Env struct {
db *sql.DB
someRepo *SomeRepo
otherRepo *OtherRepo
}
env := &Env{db: db}
http.HandleFunc("/books", env.someHandler)
func (env *Env) someHandler(w http.ResponseWriter, r *http.Request) {
}
4) Другое
Илья
2/3
саша
Мерль
Давайте опрос:
1) Я использую какую-то либу для DI
2) Я использую замыкание, у меня нет сложных композиций зависимостей
func SomeHandler(db *sql.DB) http.HandlerFunc {
fn := func(w http.ResponseWriter, r *http.Request) {
...
}
return http.HandlerFunc(fn)
}
func main() {
db, err := sql.Open(...)
http.HandleFunc("/some-route", SomeHandler(db))
// etc.
}
3) Использую структуру для хранения всех необходимых зависимостей
type Env struct {
db *sql.DB
someRepo *SomeRepo
otherRepo *OtherRepo
}
env := &Env{db: db}
http.HandleFunc("/books", env.someHandler)
func (env *Env) someHandler(w http.ResponseWriter, r *http.Request) {
}
4) Другое
DI в go
public poll
Использую структуру для хранения всех необходимых зависимостей – 17
👍👍👍👍👍👍👍 71%
@hellb0ys, @twentydraft, @fskrypter, @Geshido, @Deff7, @negasus, @sluchainiyznak, @di3young, @repentant_gopher, @kapsamun, @emreu, @supmea, Alexander, @valyala, @nexmean, @Tweekus, @nordborn
Я использую библиотеку для DI – 4
👍👍 17%
Igor, @kukumbership, @EugeneKoshevoy, Дмитрий
Я использую замыкание, у меня нет сложных композиций зависимостей – 2
👍 8%
@crxfoz, @onokonem
Другое – 1
▫️ 4%
@deathmoroz
Я использую замыкание, у меня есть сложная композиция зависимостей
▫️ 0%
👥 24 people voted so far.
Alex
День добрый, помогите запустить в докере проект. Не пойму что нужно задать в конфиге чтоб видел папки.
Ошибка:
package app/api: unrecognized import path "app/api" (import path does not begin with hostname)
Конфиг:
FROM golang:1.10
WORKDIR /go/src/app
COPY . .
RUN go get -d -v ./...
RUN go install -v ./...
CMD ["app"]
Проект лежит в папке app
ругается на import api "app/api"
.
DI в go
public poll
Использую структуру для хранения всех необходимых зависимостей – 17
👍👍👍👍👍👍👍 71%
@hellb0ys, @twentydraft, @fskrypter, @Geshido, @Deff7, @negasus, @sluchainiyznak, @di3young, @repentant_gopher, @kapsamun, @emreu, @supmea, Alexander, @valyala, @nexmean, @Tweekus, @nordborn
Я использую библиотеку для DI – 4
👍👍 17%
Igor, @kukumbership, @EugeneKoshevoy, Дмитрий
Я использую замыкание, у меня нет сложных композиций зависимостей – 2
👍 8%
@crxfoz, @onokonem
Другое – 1
▫️ 4%
@deathmoroz
Я использую замыкание, у меня есть сложная композиция зависимостей
▫️ 0%
👥 24 people voted so far.
Можно кстати пример использования при хранении в структуре?
.
как я понимаю есть структура вида
type Env struct {
db *sql.DB
}
.
Что вы дальше с этой структурой делаете? как передаете в юзкейсы, модели?
Aleksandr
Alex
это как бы локальная папка, а не что-то сторонее
Aleksandr
не надо меня уговаривать) я вижу текст ошибки. загугли
Artur
Господа! Нормально ли поведение когда множество воркеров которые используя net.DialTimeout пытаясь подключиться создают системные треды?
Artur
большое количество тредов
Kirill
Artur
ps грепнул
Kirill
И сколько там?
Artur
на 4к падает
Kirill
На 4к потоков?!
Artur
да
Artur
наверно ограничение системы
Kirill
Покажи, пожалуйста, ps свой