MDWIT
там разногласия в типах в основном, так как js это гонялка jsonов там не завезешь uuid тип или timestamp, но гонять их строкой тоже норм, просто для фронта делаешь публичное апи чуть другое чем приватное для сервисов
Khalid
как остановить ReadAll в os.Stdin? я подаю туда json и не понимаю как остановить считывание
kostyaBro
ну кстати та, пуши ж на браузер делают, это для браузера фича
kostyaBro
ну у меня инфа о том что не поддерживает 4х летней давности такчто
kostyaBro
да и все типы эти это ж составные типы с примитивами тут нет проблем
kostyaBro
но есть просадка в перфоменсе при сериализации так как динамическая типизация
kostyaBro
насколько мне известно
Melbourne Channel
do u guys know where to get unlimited (unmetered) bandwidth with network above 40gbps connected to 1 machine (vps or whatever) cheaply in 1. USA, and other parts of the world? with 99.95% uptime?
Pushok
подскажите в go embed нужно указывать путь к файлу относительно текущего файла с кодом или относительно корня проекта? Почему-то ругается на паттерн пути └── data ├── test.min.json └── cmd ├── main.go
anhckie
столкнулся с тем, что аппка переодически высирает в консоль тонны подобного вида месседжей и падает: goroutine 221 [sleep]: time.Sleep(0x2540be400) /opt/homebrew/Cellar/go/1.19/libexec/src/runtime/time.go:195 +0x118 github.com/valyala/fasthttp.(*HostClient).connsCleaner(0x140004fd6c0) /Users/u/go/pkg/mod/github.com/valyala/fasthttp@v1.40.0/client.go:1680 +0x50 created by github.com/valyala/fasthttp.(*HostClient).acquireConn /Users/u/go/pkg/mod/github.com/valyala/fasthttp@v1.40.0/client.go:1571 +0x2e4 goroutine 783 [sleep]: time.Sleep(0x2540be400) /opt/homebrew/Cellar/go/1.19/libexec/src/runtime/time.go:195 +0x118 github.com/valyala/fasthttp.(*HostClient).connsCleaner(0x1400049f040) /Users/u/go/pkg/mod/github.com/valyala/fasthttp@v1.40.0/client.go:1680 +0x50 created by github.com/valyala/fasthttp.(*HostClient).acquireConn /Users/u/go/pkg/mod/github.com/valyala/fasthttp@v1.40.0/client.go:1571 +0x2e4 висирает достаточно много, чтобы в консоли IDE нельзя было доскроллить до самого начала, а эти логи мне ни о чем не говорят. как дебажить? з.ы. да, происходит спонтанно.
Илья
The failure prints stack traces for all goroutines if there is no current goroutine or the failure is internal to the run-time хм если ты не менял режим вывода, то вроде должно только стек одной выводить
anhckie
подозреваю что мой кейс. пока только не врубился, в чем конкретно трабл
anhckie
вот, снова упал. но лог все так же огромный, что консоль идешки не вмещает весь
Илья
ну сделай типо go run . > crash.log
anhckie
ну сделай типо go run . > crash.log
записало только логи успешной работы, т.е. мои log.Info("bla-bla"), краш - нет
Илья
а
Илья
ну да
Илья
go run . 2> error.txt
anhckie
жду падения
Vladislav
а теперь оно не упадет🤣
anhckie
во, упало, и ошибочку сразу вижу ❤️
Vladislav
чо там? мапа, nil где-то или деление на 0?
anhckie
к слову, где могу прочитать про подобные... модификаторы/операторы? типа "2>"
anhckie
чо там? мапа, nil где-то или деление на 0?
конкуретная запись в мапу. ща буду разбираться где именно, бо там синк мапы, должно было быть ок
anhckie
та и было ок почти с месяц :D
anhckie
ясно, именно та мапа, что не синк была, и пошла найух
anhckie
а, не знал просто про нумерацию)
anhckie
спасибо за помощь )
Vladislav
2 - stderr
Илья
точнее все горутины
anhckie
мне еще странны пара моментов: 1. в горутинах, в которых происходил конкурентный доступ к мапе, дефером паника рекаверится, однако же в этом случае видать только Бог поможет. или внимательность) 2. в иде консоли проект с го ран стартует, а в терминале мака шлет меня найух, мол у тебя в гопасе ниче нет (обидно, но не критично)
Илья
иде его переписывает
anhckie
про весь трейс есть подозрения, что это связано с тем, что есть некоторая вложенность горутин, в нижней из которых циклично запускается много воркеров, которые и осуществляли неконкуретный доступ
anhckie
иде его переписывает
да, понимаю. лупану себе такой же, как у умной иде )
Илья
запускай с флагом -race , быстрее сможешь ошибку найти
anhckie
а прикол в том, что я и запускал
anhckie
были у меня подозрения, что где-то что-то прошляпил. но вспомогательного вывода никакого не обнаруживал вот уже несколько дней, а падения были
Илья
хм
Melbourne Channel
does anyone know why golang doesnt have thread per core like glommio / seastar c++ kind of project? thread per core for golang.
Илья
There is a significant time difference between switching goroutine and entire thread, so golang's authors chose them and control by sheduler, not your code (like in c++)
Melbourne Channel
There is a significant time difference between switching goroutine and entire thread, so golang's authors chose them and control by sheduler, not your code (like in c++)
... doesnt mean u cant do thread per core for golang. since go routines can still run as gomaxprocs(1) basically the gc is the issue with these thread management i guess.
Melbourne Channel
yup. i wonder how much faster can go be compared with rustlang after extreme optimization. i always always always tempted to go for rust but the more i write in go, the less i want to translate my code to rust.
Илья
yup. i wonder how much faster can go be compared with rustlang after extreme optimization. i always always always tempted to go for rust but the more i write in go, the less i want to translate my code to rust.
Rust has much more optimizations than golang. This implies not only gc absence: macros (compile time calculations), good escape analysis (although golang also has one, it's much simpler) etc
Segmentation
Как получить стектрейс с несколькими горутинами?
Segmentation
GOTRACEBACK=all
Соответственно еще запустить программу, которая породит несколько горутин?
Илья
да
Segmentation
да
Что я делаю не так? package main import ( "fmt" "runtime/debug" "time" ) func one() { time.Sleep(time.Second * 5) } func two() { go one() go one() } func main() { go one() go two() time.Sleep(time.Second) fmt.Println(string(debug.Stack())) }
Илья
debug.Stack() всегда возвращает стек горутины, которая его вызвала
Илья
сделай панику и увидишь все горутины
Segmentation
Спасибо
Segmentation
GOTRACEBACK=all
Кстати без этого можно: https://stackoverflow.com/a/19712747
k_07
Is go programming is good for cyber security?
Tigran
всем привет , может кто нибуть материал для новичка по го посоветовать для обучения ?
Dmitry
Если буквами, то Head first Go неплохо заходит. Для начала, потом надо более тяжелое что-то читать Если видео, можно на ютюбе The art of development глянуть, уроки. Ну и всякие бесплатные курсы на stepic (на русском), go tour (на английском)
der ðiβüśüɾę
Всем привет, надо написать генератор рандомных примеров (математических) и встал вопрос со знаком (+/- и т.д) Если брать его как переменную, то как сделать result := a l b, где a и b — слагаемые, а l, допустим "+" Вот, сижу не понимаю как реализовать
Andrey
Всем привет, надо написать генератор рандомных примеров (математических) и встал вопрос со знаком (+/- и т.д) Если брать его как переменную, то как сделать result := a l b, где a и b — слагаемые, а l, допустим "+" Вот, сижу не понимаю как реализовать
Посмотри в интернетах как люди реализуют калькуляторы, и сделай так же. Ну или открой книгу по Го с мостом, и там есть тоже пример "калькулятора", насколько я помню
Andrey
Го с мостом?..
https://www.labirint.ru/books/533140/
der ðiβüśüɾę
Eugene
ребят, а кто может подсказать, вот такое в Go норм или не очень? https://go.dev/play/p/8bmSpwpqEsI
Eugene
т.е. бесконечный цикл, который через мьютексы ходит на сервер за данными
der ðiβüśüɾę
Maks
Интересно кто и как реализовывал бы выборку математических операций.
Maks
И подстановку аргументов