Maxim
можно в любой книжке по операционным системам об этом узнать
Maxim
у того же Таненбаума
Dmitry
что почитать, чтобы понять лучше? для меня пока что всё одно и то же)
если именно по этому вопросы, то про области видимости в Си
Anonymous
Спасибо, буду заполнять пробелы
Irina
Кто сейчас C учит в университетах ?
Я как раз сейчас учу в вузе (вообще предмет называется high performance computing)
Denis
Ребят, скажите пжлста, кто как ижектит зависимости в http handlers? Соответственно чтобы можно было мокать базу, другие сервисы. Не делать же обертки с разными параметрами на каждый хендлер.
Alexander
Делать хендлеры методами структуры и инжектит ьвсе в структуру например
Denis
Делать хендлеры методами структуры и инжектит ьвсе в структуру например
Думал об этом, на практике получается так, что создаем каждый раз новый тип структуры для каждого хендлера и лепим ему метод.
Kirill
Кто сейчас C учит в университетах ?
Ну, Гарвард например 😉
Den
Только не вздумайте хранить инстанс конфига в переменной уровня пакета
А что значит переменная уровня пакета? С создал пакет конфиг и там есть структура хоторая хранит конфиги из локального JSON и этот же пакет импортируется в каждый пакет
Den
Так нельзя?
Leonid
Имеется ввиду, что переменная должна определяться в пакете, где она используется. Т.е. var д.б. в main, а не в пакете
Leonid
А тип из пакета
Leonid
Т.е. main.go: var cfg config.Cfg
Leonid
Хотя, в эпоху контекста это не однозначное утверждение.
Leonid
Многие будут спорит. Напомер, кэш где хранить?
Leonid
А если это спрятанный кэш?
Den
Имеется ввиду, что переменная должна определяться в пакете, где она используется. Т.е. var д.б. в main, а не в пакете
переменная определяется в пакете конфиг и там же загружается в структуру. Дальше этот конфиг импортируется в другие пакеты где используется
Leonid
Именно это и не верно,с точки зрения первоначальной фразы
Leonid
В пакете описывают тип и свойства
Leonid
В мейн - инициализация, заполнение и т.п.
Leonid
Дальше передаем как параметры или через контекст
Den
А как правильно хранить конфиг который нужен во всех пакетах?
Leonid
В мейне и передавать, как параметр. Или через контекст.
Den
Дальше передаем как параметры или через контекст
ааа вот я тоже думал о том что возможно будет верным в каждую функцию которую я вызываю их майна передавать именно значения. Но тут столкнулся что у меня функции из пакета не понимают структуру AppConfig
Den
.env попробуй
Спасибо, пошел гуглить
Leonid
Но это теория. Ничего ужасного не случится, если и переменная будет в пакете. Это как с goto
Leonid
Вопрос подхода. Я привёл пример кэша, который можно хранить в пакете, по-моему. Если он скрытый.
Den
Ок, спасибо вам @nikonor
Leonid
Проблема в том, что тогда его надо делать не экспортируемой и делать геь/сет
Leonid
Не за что.
Leonid
Объект конфига.
Den
Проблема в том, что тогда его надо делать не экспортируемой и делать геь/сет
простите а что знаит не экспортируемой? и зачем его таким делать?
Leonid
Опять же - это тоже не обязательно. :-) просто так безопаснее. Имхо
Leonid
Значит, что переменная будет называться с маленькой буквы
Den
Понял спасибо)
Anonymous
Добрый вечер, Кто знает где в Украине можно пройти обучение по golang ?
Андрей
Добрый вечер, Кто знает где в Украине можно пройти обучение по golang ?
я с днепра, я самоучка.. но у нас есть курсы спалах вроде только открыл
Anonymous
я с днепра, я самоучка.. но у нас есть курсы спалах вроде только открыл
на сайте не вижу у них, завтра попробую позвонить, спасибо
Андрей
ты тоже с днепра?
Anonymous
нет, Киев, тоже самоучка , но хотелось бы поднять уровень как то
Anonymous
Узнаю что там у них , можно и в Днепре пожить )
Андрей
ааа прости
Андрей
харьков
Андрей
я ошибся
Андрей
https://spalah.ua/kh/school/golang
Андрей
держи
Anonymous
а это видел, боюсь эти курсы я уже перерос)
Sergius Ofitserov
Годные курсы вообще проблема найти
Den
Спасибо Кирилл!
Den
В удивительное время мы живем. Есть все возможности учиться, и такие группы просто - щербет!
Den
Спасибо всем!
Den
Ребятки а что значит: const ( KeyArrowUp UIEvent = 1 « iota KeyQ ) эта штука потом используется вот тут func InitUIHandlers(uiEventChan chan<- UIEvent) { ui.Handle("/sys/kbd/q", func(ui.Event) { uiEventChan <- KeyQ }) } не могу понять KeyQ какой эти тип данных
invariance
о, в го энумераторы есть
Stanislav
с разморозкой
invariance
я то только начал изучать его)
Den
Ок, спасибо. Правда из статьи не понял механику работу, но понял где дальше искать,
Den
Проблема у меня в том что e как бы int, но в фунецию которая принимает int она не лезет ибо (type view.UIEvent) as type int in argument to uiView.RenderUI
Den
type UIEvent int
Den
Да потом в коде есть такая штука case e := <-uiEventChan: а я хочу передавать e как int в фунецию и не пойму как ((
Anonymous
Да потом в коде есть такая штука case e := <-uiEventChan: а я хочу передавать e как int в фунецию и не пойму как ((
пройди https://tour.golang.org/ это 30мин- 1час, потом сам сможешь ответить на свои вопросы. с нулевым пониманием нет смысла пытаться программировать
Anonymous
https://tour.golang.org/concurrency/2
Den
я его прошел, потом написал первую утилиту и некоторые части прошел еще раз. но не могу понять как при type UIEvent int конвертировать переменную типа UIEvent в тип int что бы передать в функцию
Den
https://tour.golang.org/concurrency/2
ок, спасибо сейчас перечитаю
Anonymous
про iota: https://newfivefour.com/golang-constants-enums.html
invariance
а какая разница между fmt.PrintLn и printLn?
Den
а какая разница между fmt.PrintLn и printLn?
PrintLn это функция из пакета fmt, если работает printLn то скорее всего у тебя impot ( . "fmt"" )
invariance
эмм
Stanislav
println() - это рантаймовая и вообще плохо, если ее использовать
Den
вот щас херню сказанул
ээээ может быть