Mr
Задача чтение+запись всяких отчетов для бухгалтерии, пробовал excelize, пишет кривые файлы, даже если всего одну ячейку записать. (по крайней мере на маке открываются с ошибками)
Mr
у github.com/tealeg/xlsx достаточно убогий функционал, даже строку новую не вставить по индексу
Mr
есть еще такая штука, но функционала не хватает совсем https://ivahaev.ru/go-xlsx-templater/
саша
не совсем, rust сейчас активно допиливают для врыва в веб, до конца года обещают завести async в stable и обсуждают аналог горутин на этом async’е
Аналог горутин — это токио, и он уже есть. Правда в любом случае на го будет проще писать простые вещи.
саша
Если посмотреть на первые 20 строчек этого бенчмарка, то там доминируют жава, си, цпп и руст
Radaram
Скажите, как перевести строку "127.0.0.1" в [4]byte?
Stanislav
fmt.Sscanf
Vadim
split
Vadim
https://play.golang.org/p/5ntqoHzmTFW
Mr
Если кому-то интересно, excelize создавал кривые xlsx файлы, если в ячейках были формулы на русском, вроде СУММ(), если вписывать формулы на английском, файл создается корректно
Radaram
https://play.golang.org/p/5ntqoHzmTFW
так массив строк получается, а надо массив байтов
Vadim
так массив строк получается, а надо массив байтов
Тогда надо думать. Пока что, только очевидный string => int => uin8 aka byte
Radaram
https://play.golang.org/p/y8gYtteTd3x
не то) надо из строки получить [4]byte
Radaram
а не, возможно то
Mr
а что не так-то?
Vadim
https://play.golang.org/p/y8gYtteTd3x
https://play.golang.org/p/Ql2A0b4GiH7
Vadim
https://play.golang.org/p/Ql2A0b4GiH7
Это всё, что может придумать мой утренний мозг.
Vadim
Но вроде работает
Stanislav
Mr
вообще net.IP это слайс байт
Mr
https://golang.org/pkg/net/#IP
Mr
так что просто x:=net.ParseIP("192.0.2.1")
Mr
правда там лишние есть 🙂 их вырезать
Mr
https://play.golang.org/p/MEU9_5EHdGj
Radaram
https://play.golang.org/p/2OlKTzV7SFR
Заработало, спасибо
Radaram
Radaram
спасибо всем, парни!
Anonymous
https://play.golang.org/p/MEU9_5EHdGj
Интересно, откуда там лишнее?
Mr
Интересно, откуда там лишнее?
ну как бэ помимо ipv4 есть ipv6 + маска
Mr
https://play.golang.org/p/WWIAvv9k3hV
Anonymous
Понятно, спасибо.
🏁Александр
мне интересно defer выполниться если прервать процесс с помощью сtrl+c
🏁Александр
или не сможет
Eldar
конечно нет
Altay unstppbl
Только если не повесишь хэндлер на сигнал
🏁Александр
ну мало ли 🙂
🏁Александр
вдруг у него встроенный уже хедлер на сингнал
саша
Нет
Лол, рили? А как же грейсфул шатдаун?
Altay unstppbl
Лол, рили? А как же грейсфул шатдаун?
Через обработку сигнала
Altay unstppbl
As far as I’m concerned
Eldar
в условии не было ни слова про гш
Pawel
Кто нибудь сталкивался с ошибкой пакета "sql" too many SQL variables ? в моём случае - овер 1000. Хотелось бы понять - а сколько можно по максимуму?
Olzhas
Pawel
очевидно чтобы слать один запрос а не тыщу
Olzhas
или на 4
Pawel
не хочу заниматься хернёй, спасибо за совет
Olzhas
как вариант можешь генерировать запросы и записывать их в файл
Pawel
проще уж чисто из строки запрос составит, без параметров
Olzhas
а потом из файла\другого источника в базу
Olzhas
одинаково поулчится, в принципе
Olzhas
проще уж чисто из строки запрос составит, без параметров
Alexander
Там все равно пачками надо будет слать, у бд может быть лимит на размер запроса
Dk
Ещё один тупой вопрос? В доках есть правила для fmp.*Print* Я не совсем их понял, но попробую так спросить Там ниже есть метод func (p Person) String() string { return fmt.Sprintf("%s: %d", p.Name, p.Age) } который объясняет как отображать структуру при выводе Можно ли написать метод func (p Person) Int() int { return p.Number } например, который будет печатать число при вызове fmt.Printf("%d", person) а при fmt.Printf("%v", person) Name, Age как указано в String() ?
🏁Александр
что-то странное
🏁Александр
зачем 1k переменных то O_o
Pawel
А иметь 1к+ переменных это ок?)
Нет ни каких 1000 переменных. Есть только одна - слайс на 1000
🏁Александр
а что в слайсе?
Alexey
Нет ни каких 1000 переменных. Есть только одна - слайс на 1000
Это в какой бд такое ограничение? в mssql этого 2к, а в pgsql это 65к
🏁Александр
🏁Александр
а можно код?
Alexey
Нет ни каких 1000 переменных. Есть только одна - слайс на 1000
юзай bulk insert, который предоставляет БД, если нет никаких constraint`ов, из-за которых может вставка не удасться, просто постгрес их игнарирует, когда есть ограничение (на уникальность, например), мы юзаем свой хелпер для вставки, подаем список колонок, и слайс каких-то объектов, и нарезаем несколько запросов длинною до 1000 параметров каждый, на практике оказалось, что mssql вставлял лучше не 2к параметров, а около 250 за раз
Alexey
так и с файрбердом может выйти, это значение нужно вычислять эксперементально
Alexey
в постгрес по паре тысяч норм совать
🏁Александр
а вы говорите про параметры для sql запроса или что?
🏁Александр
когда биндится переменные
🏁Александр
ну 1000 для одного это овердохрена
🏁Александр
стоит разбивать на несколько
Alexey
ну 1000 для одного это овердохрена
ну дак не всегда, у нас бд находилась рядом с аппликейшен сервером и 2к параметров не долго гнать, эффективности между 500 не былоо