Alexander
Еще один большой минус buntdb - value для хранения там строка, в badger - слайс байт
Alexander
но решается string(data)
Vadim
Болт уже не планируют ускорять?
Alexander
у болта висит куча issue, которые не решают, особенно то, что он херит данные
Alexander
думаю, для coreos это не приоритетный проект, у них есть etcd
Fastumkruk
Это как называется? При попытке скомпилить под win.
Vadim
Еще один большой минус buntdb - value для хранения там строка, в badger - слайс байт
Объясни, пожалуйста, почему они выбрали такой тип хранения.
Alexander
почему не знаю, писал разработчику на этот счет, он ответил, что мол это не проблема, приводи свой слайс байт к строке и все
Alexander
ну а потом обратно, при чтении
Aleksandr
Точнее зачем он тратится на конвертирование из одного в другое
Alexander
не известно, но думаю легко сделать PR и "отрефакторить" func appendBulkString(buf []byte, s string) []byte { buf = append(buf, '$') buf = append(buf, strconv.FormatInt(int64(len(s)), 10)...) buf = append(buf, '\r', '\n') buf = append(buf, s...) buf = append(buf, '\r', '\n') return buf } // writeSetTo writes an item as a single SET record to the a bufio Writer. func (dbi *dbItem) writeSetTo(buf []byte) []byte { if dbi.opts != nil && dbi.opts.ex { ex := dbi.opts.exat.Sub(time.Now()) / time.Second buf = appendArray(buf, 5) buf = appendBulkString(buf, "set") buf = appendBulkString(buf, dbi.key) buf = appendBulkString(buf, dbi.val) buf = appendBulkString(buf, "ex") buf = appendBulkString(buf, strconv.FormatUint(uint64(ex), 10)) } else { buf = appendArray(buf, 3) buf = appendBulkString(buf, "set") buf = appendBulkString(buf, dbi.key) buf = appendBulkString(buf, dbi.val) } return buf }
Alexander
чет большая порятнка получилась, соре
Vadim
А что у бунта по скорости записи, ибо b деревья, как я слышал не очень быстрые.
Alexander
хранится я понял просто WAL, поэтому супербыстро
Alexander
просто append в конец
Andrey
Всем привет! Кто-нибудь нарезал mp3 через go? Именно средствами языка/библиотеки) через ffmpeg умею)
Vladimir
Присоеденяюсь к вопросу
Kirill
Ты кому? :)
Petr
уже никому )
Brommie
опять эти горутины не дают мне покоя
Petr
тоже удалю )
Kirill
Призрачные горутины)
Brommie
хотя нет, не они, смтп кривой
Brommie
net/smtp.(*Client).Close(0x0, 0x621ee0, 0xc4202f1b30) /usr/lib/go-1.10/src/net/smtp/smtp.go:76 +0x22 github.com/badoux/checkmail.ValidateHost(0xc4203782a0, 0x15, 0x6223e0, 0xc42037a1d0) /home/iwex/GO/src/github.com/badoux/checkmail/checkmail.go:57 +0x441
Brommie
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x582792]
Brommie
как такое можно отсеять без паники? рекавер?
Roman
https://go101.org/article/unsafe.html
Brommie
либа то не моя
Kirill
https://go101.org/article/unsafe.html
Зачем пыхеру-новичку такое показываешь? :)))
Brommie
во во
Maksim (Ellrion)
net/smtp.(*Client).Close(0x0, 0x621ee0, 0xc4202f1b30) /usr/lib/go-1.10/src/net/smtp/smtp.go:76 +0x22 github.com/badoux/checkmail.ValidateHost(0xc4203782a0, 0x15, 0x6223e0, 0xc42037a1d0) /home/iwex/GO/src/github.com/badoux/checkmail/checkmail.go:57 +0x441
пул реквест кинь автору https://github.com/badoux/checkmail/blob/master/checkmail.go#L55-L58 defer client.Close() после проверки на ошибку пусть поставит
Maksim (Ellrion)
а пока форк сделай и юзай его
Roman
Зачем пыхеру-новичку такое показываешь? :)))
ну чтобы он вжух... и смог ансейф )
Kirill
ну чтобы он вжух... и смог ансейф )
Тогда будет вжух и хешмап из пыхи в гошке
Roman
Alexey
Всем привет! На конференции не всем хватило сувениров, но теперь это поправимо! 👌 Милейшие плюшевые гоферы и фирменные футболки ждут своих хозяев вот тут: http://gopher-stuff.tilda.ws
Brommie
:D map[string]<T>
Kirill
map[interface{}]interface{}
Roman
map[interface{}]interface{}
так мно было?
Васильев Виктор
Я сделанного вручную гофера купил за 1700 с доставкой
Васильев Виктор
а тут 2300
Ivan
Да прифигели совсем такие цены устанавливать
Władimir (Zae)
1800 за майку
Władimir (Zae)
Alexey
Выступающим на митапах в Москве – бесплатно!
Васильев Виктор
Принт на майке можно купить рублей за 900 вместе с майкой о_о
Васильев Виктор
А в некоторых местах и дешевле
Alexey
Можно. Покупайте 🙂 Но кто-то предпочтёт купить время
Alexey
А мы собираем на следующий GopherCon
Kirill
Принт на майке можно купить рублей за 900 вместе с майкой о_о
Да только ткань будет на соответствующие деньги, тобишь довольно противная
Васильев Виктор
Да не сказал бы
Васильев Виктор
Уже покупал и все хорошо
Kirill
А дороже покупал для сравнения?
Васильев Виктор
Естественно
Władimir (Zae)
Да только ткань будет на соответствующие деньги, тобишь довольно противная
ну а ты думаешь что в этой майке хорошая ткань? админ же сам сказал что собирает деньги на следующую конфу)
Васильев Виктор
Моя самая дорогая майка за 3к. Да не дорого но просто не видел смысла покупать дороже
Васильев Виктор
Васильев Виктор
Я не против сбора денег на другой кон
Васильев Виктор
он был шикарен
Васильев Виктор
но эт чет странное
Alexey
Время на поиск дизайна, ткани, места, заказа и доставки.
Alexander
😃 да хорош, парни, это называется мерч. когда вы покупаете не просто какую-то вещь, а вещь в поддержку кого-то. нормальное явление, что она продается дороже себестоимости
Alexey
Оно, конечно, дороже себестоимости, потому что мы компенсируем _своё_ время 🙂
Васильев Виктор
Ну эм...не знаю чейчас полно сервисов котоыре делают все вышесказанное за тебя
Васильев Виктор
а вот эти картинки на дизайне на сколкьо я помню в открытом доступе. Или я не прав?
Васильев Виктор
В общем у меня претензий нет на счет сбора средств\
Васильев Виктор
я толкьо за
Васильев Виктор
просто как то слишком много получилось. Можно было снизить цену и взять количеством
Alexey
Ты не прав. Эти дизайны мы не выкладывали для всеобщего пользования
Alexey
Мы и так взяли большим количеством. Это то, что осталось от второй партии
Васильев Виктор
Хорошо я не прав. Конкретно этот дизайн не найти
Anonymous
коллеги, подскажите, как правильнее всего - всмысле, эффективнее-выстрее сделать инсерт в mysql файла с огромным количеством даных? Мой запрос для импорта одной строки таков: INSERT t1 (с1, с2, с3, с4, с5) values (?,?,?,?,?) on duplicate key upс1 с4 = с4 + values(с4), с5 = с5 + values(с5); сейчас я делаю просто построчный импорт циклом. Медленно выходит.
Alexey
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
Alexey
https://github.com/go-sql-driver/mysql#load-data-local-infile-support