Anton
пару пакетов я находил, но они так или иначе косячат(
Daniel
Вы же, очевидно, не работали с этим
Daniel
Нахера вы вообще отвечаете?
Daniel
Я вот молчу :)
Sergey
Может офтоп, но я спрошу. Загуглил convex hull и хотел бы узнать какую, к примеру, задачу можно решить используя это? https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D0%BF%D1%83%D0%BA%D0%BB%D0%B0%D1%8F_%D0%BE%D0%B1%D0%BE%D0%BB%D0%BE%D1%87%D0%BA%D0%B0 - вы же про это?
Sergey
У меня так, праздный интерес )
Oleg
По моему где то в книге про Go, обсуждалась реализация этого алгоритма .. если мне не изменяет память
Anton
У меня так, праздный интерес )
если вкратце, то существует алгоритм, называемый ray tracing, посволяющий описывать распространение различных волн в пространстве. На выходе этот алгоритм позволяет получить множество точек, описывающих покрытие какой-то плоскости
чтобы из этого множества точек сделать осмысленный замкнутый полигон нужен алгоритм convex hull
Anton
надеюсь, я понятно объяснил)
Anonymous
Anton
Anton
ладно, спасибо
Sergey
Slava
Фолкс, а вам интересны были бы практические курсы по линукс траблшутингу? (В формате реалтайм лаб и ctf)
Slach
это про gops и go-torch ??
Slava
Не понял вопроса
Slava
Вообще не про го это
One
Мерль
Мерль
Амир
Мерль
https://www.gitbook.com/book/jannewmarch/network-programming-with-go-golang-/details
#free #book #книга
Slava
Мерль
Mikhail
Slava
спасибо за отзывы
Slach
Линукс траблшутинг он разный бывает =)
формат CTF это конечно прикольно, но хорошо бы им безопасники занимались =)
а нам интересно в разрезе гошечки...
Slava
CTF это вообще не про безопасность, это формат такой, может быть хоть про кормление грудью
Slach
capture the flag with boobs ? Интересно посмотреть
Peter
нет
分解物質
кто-нибудь здесь пользуется goto в Go?
Мерль
Нет
Anonymous
я иногда
Anonymous
и мне не стыдно
Anonymous
分解物質
да нет в этом ничего такого
Мерль
分解物質
ну там выйти из вложенного цикла
分解物質
просто и понятно, без костылей
分解物質
ошибки обработать
Мерль
dev_sheep
Не, goto - крайняя мера. А то видал код, в котором понашлепано. И так фиг прочтешь, а тут еще и goto...
dev_sheep
分解物質
Oleh
http://gobuffalo.io/
кто то юзал?
Oleh
коментарии можно услышать?
Slach
народ а помогите
вот есть у меня боль =) я очевидно конкурентного программирования не понимаю =)
есть вот такой тип url.Values
объявлен он вот так
type Values map[string][]string
и есть вот такой код
buffered_data <- req.Form
на кол-ве конкурентных горутин 3000 в бенчмарке
я получаю
fatal error: concurrent map read and map write
вопрос
что у меня отправляется в канал???
копия мапы? или что-то другое?
если не копия, а нужна копия, то копию мапы мне руками придется создавать? или есть какой то clone волшебный?
и что делать со слайсами внутри мапы
они ж вроде как просто ссылки на часть массива
Daniel
Отправляется сама мапа - это ссылочный тип, фактически
Daniel
Копию - руками
Daniel
но вот что мне не понятно
Daniel
как так получилось, что в отправленную по каналу мапу кто-то пишет?
Slach
мне самому непонятно =(
вот ковыряюсь в стектрейсах
не могу найти где ж оно пишет то
там у меня в горутинах вот такой
в одной в состоянии running в стектрейсе вот такое
if form_value := form.Get(form_key); form_value != "" {
в другой в состоянии chan_send
g.buffered_data <- req.Form
и остальные либо в sleep
либо
form.Get это вот такой код
func (v Values) Get(key string) string {
if v == nil {
return ""
}
vs := v[key]
if len(vs) == 0 {
return ""
}
return vs[0]
}
ни одной горутины которая писала бы куда нибудь в похожее на form нет
либо sleep либо iowait состояния
Mikhail
>fatal error: concurrent map read and map write
если это паника то там будет стектрейс рядом
Slach
да это паника
стектрейс там вот такой
https://gist.github.com/Slach/8c99f06602d1f2357bd937493ef84326
но там нету ни одной горутины которая бы пыталась писать хоть куда то
Slach
в смысле писать в какую нибудь мапу
Daniel
ну у меня есть совет
Slach
с удовольствием послушаю
Daniel
сделать свой тип, и мапу в нем полем
Daniel
изменить тип канала для передачи своего типа
Daniel
и посмотреть, где оно перестанет компиляться
Daniel
там и запись
Slach
а почему оно должно перестать компиляться???
Daniel
потому, что типы совпадать перестанут
Константин
Slach
а можно сделать go test -race ?
это у меня в бенчмарках паника
Константин
нужно
Slach
сейчас попробую спасибо
Heorhi
Всём привет. Может кто контейнер хороший с golang под docker compose посоветовать?
Slach
вы правы, race есть
и аж двух местах
первое это вот такое
http://pastebin.com/CAnNdr3N
ну видимо действительно получается конкурентная запись и надо делать копию url.Values
а второй race это вот такой стектрейс, откуда в waitgroup рейс кондишен? я не понимаю =(((
http://pastebin.com/CNSktYtP
Slach
https://hub.docker.com/_/golang/
Мерль
Чисто технически можно в и scratch оборачивать
Константин
Мерль