Aleksandr
глюк какой-то?
Bogdan
стоит добавить тыс\. и не матчит
Bogdan
[0-9]+[.,]?[0-9]? тыс\.
Bogdan
такая регулярка
Bogdan
я ошибочно сохранил без тыс\.
Sebor▂▅▇█▓▒░
а в коде матчит?
Bogdan
[0-9]+[.,]?[0-9]? тыс\.
такой регуляркой нет
Sebor▂▅▇█▓▒░
думаю, надо гуглить что-то вроде golang regexp unicode)
Aleksandr
https://regex101.com/r/jPl92B/6
Aleksandr
у тебя там не пробелы были
Bogdan
капэц)
Bogdan
спасибо
Bogdan
спас на ночь глядя)
Anonymous
Привет. Подскажите, что почитать - чтобы понять базовые алгоритмы(наверное алгоритмы сортировки и еще что нибудь), графы и автоматы - чтобы не очень сложным языком было написанно.
На удивление очень простая и доходчивая книга https://cses.fi/book/index.html редкий пример, когда сложные вещи объясняются простыми словами
Alexander
Go на практике
Спасибо, хоть кто-то написал, я уже думал что книги не в почете, только туториалы и дока)
Vladimir
) возможно, перед ней имеет смысл прочитать «Язык программирования Go» от Кернигана. И надо прочитать статьи «50 оттенков Go» и «Go хороший, плохой, злой» чтобы понимать тонкие места (они есть)
kås
go in action норм
Ivan
привет, использую gin-gonic вывожу XML но в ответе нет строки <?xml version="1.0" encoding="utf-8"?> что делать?
ros
добавить руками
Антон
добавить руками
Универсальный ответ на любой вопрос о Go
Roman
Подскажите пожалуста куда читать. Есть *.so библиотека и мне надо использовать оттуда функции в Go-проекте.
Roman
по сути мне надо сишные функции использовать в go-проекте
Евгений
Cgo?
.
Зачем runtime специально рандомизует порядок получения элементов с мапы?
Ivan
добавить руками
да так и пришлось func XMLResp(c *gin.Context, code int, obj interface{}) { c.String(code, "<?xml version=\"1.0\" encoding=\"utf-8\"?>") c.XML(code, obj) }
Roman
Cgo?
Благодарю
Anonymous
Зачем runtime специально рандомизует порядок получения элементов с мапы?
вот мне тоже интересно, хотелось бы узнать =) Моя версия такова, что получение элементов последовательно раскладывается по тредам, но предсказать момент выполнение этого действия в том или ином треде относительно друг друга нельзя. Поэтому кажется что рандомно. Ждём ответа специалистов = )
Alexander
.
https://lemire.me/blog/2012/01/17/use-random-hashing-if-you-care-about-security/
Получается в каждой скомпилированной программе используется рандомный метод хеширования?
Aleksandr
Зачем runtime специально рандомизует порядок получения элементов с мапы?
потому что спекой порядок не гарантируется, а разработчики полагались на порядок при разработке программ. В итоге сделали рандомизацию в рантайме
Aleksandr
я такое объяснение видел
.
То есть для каждой мапы разный метод?
Alexander
нет, разный seed
Alexander
метод один
.
Понял, спасибо большое
Alexander
пожалуйста 🙂 из интересного в своё время все (Perl, Ruby, Python) делали рендомизированные мапы из-за секьюрити, а в новом питоне наоборот гарантированный порядок нынче
Alexander
видимо как-то придумали как обойти проблему с потенциальным DDoS
Антон
никто не знает есть ли какие нить библиотеки, чтобы можно было реализовать git diff между 2 бранчами?
Aleksandr
встроенный дифф в jetbrains'овских ide
Антон
это немного не то )
Anonymous
всем привет подскажите, как быть) for i, v := range file.Sheet["listone"].Rows { m := NewMyStruct() m.field := GetInt(v.Cell[0]) m.field2 := GetInt(v.Cell[1]) m.field 3:= GetInt(v.Cell[2]) sliceStruct = append(sliceStruct, m) } func GetInt(cell *xlsx.Cell) (int, error) { if v, err := cell.Float(); err == nil { result = int(math.Round(v)) return result, nil } return result, err } в чем суть, беру строку xlsx и по ячейкам читаю изначально GetInt не возвращал error но теперь, нужно если в одном из полей возвращается error, а не int то вообще не читать эту строку в объект структуры как это сделать корректнее? получается что для каждого поля будет запись вида m.field, err := GetInt(v.Cell[i]) и просто в конце сделать проверку if err = nil { делаем append } else { continue } вроде того?
Aleksandr
это немного не то )
но задачу выполняет
Антон
мне нужно нативно под го
Антон
посмотрел go-git но там это похоже не реализовано еще
Aleksandr
мне нужно нативно под го
а. тогда в awesome go и ищем по слову git
ros
да так и пришлось func XMLResp(c *gin.Context, code int, obj interface{}) { c.String(code, "<?xml version=\"1.0\" encoding=\"utf-8\"?>") c.XML(code, obj) }
можно чуть по другому xml.Header == <?xml version=\"1.0\" encoding=\"utf-8\"?> https://godoc.org/encoding/xml#pkg-constants
Cat
пожалуйста 🙂 из интересного в своё время все (Perl, Ruby, Python) делали рендомизированные мапы из-за секьюрити, а в новом питоне наоборот гарантированный порядок нынче
не гарантированный, просто у них так получается, что мапа отсортирована по ключам, но они ничего не гарантируют
Alexander
не гарантированный, просто у них так получается, что мапа отсортирована по ключам, но они ничего не гарантируют
https://docs.python.org/3/whatsnew/3.7.html «the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec.»
Alexander
новинка!
Kirill
почему в этом чате линк на питонодоку?
.
Ну он относится к теме разговора
Cat
https://docs.python.org/3/whatsnew/3.7.html «the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec.»
(не смог зайти на mail. и прочитать оф. заявления, но если они это сделалали, то это забавно, молодцы. Теперь при переходе в другие языки у новичков будут проблемы)
Alexander
ну это не самые большие проблемы новичков, так что справятся (но это не точно)
Cat
с точки зрения мирового коммунити это очень некрасивый шаг, конеш а потом в какой-то версии они одумаются, и опять решат сделать рандомизированный порядок вот весело-то будет
Alexander
ну они сделали фиксированный, как раз потому что у них был _почти_ фиксированный и на это многие горе программисты уже заложились
vld
всем привет! не подскажите либу для парсинга логов nginx? что бы делать подсчет сколько запросов было сделано с какого ип?
vld
делаю стандартными методами линукса, но интереснее было бы эту инфу отправлять ботом в телеграм)
Anonymous
Согласен, давайте попробуем. Я взял алгоритмы, на которые вы ссылались ранее и, чтобы было удобнее тестировать, и модифицировал их таким образом, чтобы они не выводили принтом всю портянку, а возвращали слайс чисел. Вот, посмотрите: https://github.com/Negossia/prime-numbers
Anonymous
Чтобы не оффтопить предлагаю переместиться в общий канал и там опробовать реальное сравненеи c bench и разным кол-вом использованых ядер - от 1 до свех визических (можно еще с HT).
Sergey
Как в go достать из элемента значение атрибута без создания вложености структур при парсинге XML? Я думал что получится сдлеать как в примере https://play.golang.org/p/4MAHZ6G-B0q но такой вариант не подходит. Другой вариант это реализация UnmarshalXML в котором самому найти значение нужног оатрибута.
Anonymous
@lisitsky Я переместился в эту беседу )
Alexander
а что за “общий канал”?
Anonymous
а что за “общий канал”?
диалог вёлся в неподходящем месте. Имелся ввиду профильный канал для бесед на тему
Anonymous
Гайз, не могу вкурить почему не пишутся куки в хэдэр ответа. Ошибок нет, как и кук. Условный хэндлер установки куки выглядит так: https://play.golang.org/p/OetqeOaucGH В чём может быть дело? Спасибо.
Aleksandr
рабочий пример. сравни со своим
Илья
cookie name - a sequence of characters excluding semi-colon, comma and white space.
Илья
но про silent - это они жестко
Anonymous
О, точно. Спасибо.
vld
коллеги, не подскажите, как перенаправить вывод линуксовой комманды awk в go app?
vld
спасибо за пример, но это немного не то. что бы более к делу, например есть такая комманда: history | grep "ls" > golangapp
vld
нужно вывод грепа считать и обработать