Size: a a a

2021 May 16

VY

Vladislav Yarmak in Go-go!
если упёрлось в лимит открытых файлов, то по идее просто будет ошибка при каждом очередном accept()
источник

VY

Vladislav Yarmak in Go-go!
соединения тогда сразу сбрасываться должны
источник

S

Sergey in Go-go!
возьмите nginx да и всё)
источник

VY

Vladislav Yarmak in Go-go!
неплохо бы в момент зависания посмотреть, жрёт ли он CPU под 100%. если нет, то приаттачиться стрэйсом и подёргать его, посмотреть, будет ли он пытаться заакцептить коннект и во что упрётся. если жрёт CPU, то собрать с отладочными символами (-gcflags=all="-N -l") и приаттачиться gdb и посмотреть стэктрэйс всех потоков (командой thread apply all bt)
источник

‌‌‎ in Go-go!
В том числе и безопасность языка, на которую каждый программист наяривает (по чату видно как), забывая о том, что он пишет свой код трудом других людей (тут речь про пакеты/модули/крейты/библиотеки)
Эра высокоуровневых языков не должна делать из программиста ребёнка (без обид, некоторые «оппоненты» в споре вели себя как дети), который забывает об ответственности за свой код

А что, минимум ответственности получается
Но по итогу то что?
Падает аппа ваша, ответственность за это падение не сложить на 3rd party решение
По вашей причине? Да, потому что обленились и безопасность языка видите лишь поверхностно

Сама тема спора была лишь с целью доказать, что нет ситуации, когда ты можешь уклониться от ub при использовании unsafe

С такими ситуациями я сталкивался как на расте (крейт с офигенным апи для работы с памятью + один старенький симметричный алго шифрования), так и на .net’е (либа для работы с твичем, но это было лет 5 назад)

Я всё это к тому, что кто бы не писал этот код, вот он попал к тебе в сборку - всё, только ты решаешь проблемы, которые возникнут во время исполнения данной сборки (или твоя команда разработчиков)
источник

АМ

Александр Мелентьев... in Go-go!
В отусе специально чат в слаке для этих создают. Лучше там спрашивать, заодно помог
источник

АФ

Александр Феногентов... in Go-go!
чат только для тех кто на курсе.
А я пока не могу вытрясти из конторы оплаты курса
источник

АМ

Александр Мелентьев... in Go-go!
Оу.
Осуждаю на всякий.
Теперь понятно
источник

АФ

Александр Феногентов... in Go-go!
еще задания от майла делаю.
источник

АФ

Александр Феногентов... in Go-go!
так что можешь два раза осуждать))
источник

АМ

Александр Мелентьев... in Go-go!
Ну если просто домашки на гитхабе делаешь, то норм. А мейла бесплатный курс на курсере. То норм
источник

АМ

Александр Мелентьев... in Go-go!
А если - скачал уроки с торрентов - осуждаю. )))
источник

АФ

Александр Феногентов... in Go-go!
да там половина преподавателей ни о чем
а у мейла много нюансов "остаются за кадром", но задания интересные
источник

АМ

Александр Мелентьев... in Go-go!
Ну вот чтоб полностью оценить курс, лучше конечно именно самому сходить на курс. А преподаватели - если что-то непонятно или нужен совет, всегда смогут подсказать и что-то посоветовать.
Ну я сам на отусе проходил курс, и так же не все преподаватели нравились, но при этом если что-то было не понятно - разжёвывали индивидуально
источник

АФ

Александр Феногентов... in Go-go!
да, желание есть, но с бюрократией пока проблемы
источник

CI

Co. In in Go-go!
Привет. Подскажите есть сторонний пакет который возвращает interface{} из респонса PHP (c другой стороны может прилетать как int так и строка) Как мне скастовать интерфейс этот в int64?

https://play.golang.org/p/EECC8NFtZsl

Вот такую функцию набросал. Это костыль или можно как-то попроще или более правильно?
источник

с

сонная википедия... in Go-go!
json response'а?
источник

CI

Co. In in Go-go!
Да. Если полезть в пакет то там из JSON оно формирует interface{}, но обработкой респонса занимаюсь не я
источник

с

сонная википедия... in Go-go!
ну тогда особо вариантов нет, функция выше вполне подойдет

только можно немного проще написать

 switch v := input.(type) {
 case int:
   i64 = int64(v)
 case int16:
   i64 = int64(v)
 case int32:
   i64 = int64(v)
 case int64:
   i64 = v
 case string:
   i64, err = strconv.ParseInt(v, 10, 64)
 }
источник

с

сонная википедия... in Go-go!
v в данном случае будет уже иметь нужный тип, type assertion не нужен
источник