🎉
🎉
Alexander
Denis
в конструктор я имел в виду. DI как тебе выше говорили
Denis
хотя забей, наверное и так можно
Vladislav
🏁Александр
🏁Александр
type handler {
connect *db.Connect
}
func (h *handler) Any(w http.ResponseWriter, r *http.Request) {
}
-------
handler := &handler{
connect: db
}
http.Handle("/anyAction/", handler.Any)
err = http.ListenAndServe(":8080", nil)
🏁Александр
@MarlikAlmighty
🎉
Я понял, спасибо, но не пойму что это даёт, какой профит?
🏁Александр
ну никаких глобальных коннектов
🏁Александр
вам скорее всего потребуется скинуть еще что-то
🏁Александр
тут легко можно нагружать зависимости далее
🏁Александр
только надо помнить что это многопоточное программирование
🏁Александр
если вы скормите туда скажем
type handler {
connect *db.Connect
myCount int
}
🏁Александр
и в handler.Any будете делать h.myCount++ то это будет гонка
🏁Александр
стандартный коннект имеет пул для этой цели
🏁Александр
вам же надо будет юзать мьютексы или sync/atomic
🎉
Чот как-то сложновато...
🎉
Не глобальный коннект и без этого можно соорудить...
Nikita
Как вы вообще работу находите не умея писать юнит-тесты?
🎉
А я безработный и мне ндра))
freezlite
лучше все работать на полный день, пол дня
freezlite
и с дома
freezlite
считай безработный
freezlite
но еще и платят
Great
небольшой опрос, статистики и великой справедливости ради
есть проект
у проекта есть конфиги, база там, бакет, редиса адрес, рэббита там, вот этого всего
есть окружения - тест там, прод, препрод, локал разрабов, и тд
на какое окружение всё должно быть настроено "по умолчанию", конфиги какого окружения должны лежать в репах?
Denis
https://12factor.net/ru/config
Great
отлично
heavycharged
господа, а atomic работает с кастомными типами? например, LoadUint32? type MyType uint32
heavycharged
или надо как-то через unsafe мутить?
Daniel
через atomic.Value
heavycharged
через atomic.Value
спс, но я так понимаю тип должен быть не мой кастомный, а именно atomic.Value?
heavycharged
ну точнее, базовый тип не может быть, с обычным присваиванием, как-то так: state = idle
Daniel
коллега, ну почитайте документацию, а?
heavycharged
ок, я понял)
Vladislav
Denis
да
Igor
Привет! Первый день на голанге :) подскажите ,как на локали такие вещи разрабатывать?
e := echo.New()
e.GET("ws://localhost/ws", hello)
по такому урлу e.GET("ws://localhost/ws", hello) сервер не работает
а по такому e.GET("/ws", hello) работает
Алексей
Из этих 3х книг:
1. Батчер, Фарина - Go на практике
2. Керниган, Донован - Язык программирования Go
3. Марк Саммерфильд - Программирование на языке Go. Разработка приложений XXI
что посоветуете почитать новичку в Го, но не новичку в программировании?
Илья
Вольти
Начни уже с написания чего то реального - бота для телеги например
Dmitry
Zver
Zver
Илья
🎉
Zver
Great
Andrei
Ребят, а возможно ли встроить защиту от отладчика в go приложение? И, если да, скиньте, плиз, линк почитать.
Dmitry
Anonymous
upx -d
-d - это же взлом защиты
Илья
Илья
https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/
dukeBarman
Zver
Кому очень надо все равно взломают.
Aleksandr
Zver
Не разберутся в той каше, что генерит гоу компилер. 😏
Aleksandr
Zver
Вообще взломать все можно.
Илья
gdb вроде и так может голову сломать, когда под рукой рантайм сменит тред
Zver
Построить всю логику на рефлексии с интерфейсами, а все результаты передавать через каналы и пусть разбираются. 😏
Zver
Dmitry
Zver
-d - это же взлом защиты
Когда-то под виндой можно было какой-то байт или группу поменять, если память не изменяет, и обратно не распаковывал, хотя программа запускалась.
Nurzhan