Daniel
на здоровье
Aleksey
Чят, я зная язык на уровне "пару книг прочитал" есть смысл соваться на хакатоны, как думаете?
Daniel
Го - простой язык
Daniel
С ним важен не он собственно, а то, что в голове
Nikita
Aleksey
А почему нет ?
Потому что меня тут попросили друзья съездить с ними на хакатон по нейросетям в роли сисадмина (основной профиль) и... 2 дня я смотрел мультики, так и не пригодившись.
Aleksey
Но формат понравился. Возникает вопрос: а что происходит на хакатонах по языку, а не теме. И буду ли я там понимать что происходит
Nikita
Есть вариант не попробовать и узнать ? Если нет тогда попробуй
Vladimir
Я бы совался, причем брал маленькие кусочки работы сначала, и таким макаром находил применение академическим знаниям. С каждым новым хакатоном - больше опыту.
Aleksey
Igor
Nikita
Я бы даже будь совсем не в теме, но с желанием взял бы на себя ту часть работы которая простая но муторная, её тоже нужно делать, так и опыта можно набраться и лишним не будешь,
Nikita
По нейросетям это может быть проверка алгоритма на разных тестовых выборках, составление этих выборок сравнение результатов в табличках в конце концов, для го хоть тесты
Aleksey
С нейросетями норм было, я изначально ехал на случай, если нужен будет асм или что-то по линуксам/железу. :)
Теперь вот хочется в чуть более активной роли побыть
Sergey
Тэкс, я разобрался
Sergey
в моём случае было важно запускать бинарник из правильной категории
Sergey
ещё один глупый вопрос
Sergey
а есть ли способо упаковать шаблон и, допустим, картиночки в бинарник?
Aleksey
https://github.com/jteeuwen/go-bindata
Aleksey
Эта?
Vladimir
есть еще такое: https://github.com/elazarl/go-bindata-assetfs
Михаил
подскажите — а гошные регулярки, это самая быстрая имплементация? В ней есть оптимизации как grep если регулярка это просто строка? Или самому такую сделать может, хмм.
Михаил
или есть более быстрые реализации?
Vladimir
Михаил
с другими имплементациями
Михаил
я тут какое-то rubex нашел, правда пока не тыкал
Yehor
может будет проще использовать binding к prce
Михаил
не думаю что это будет сильно проще, сейчас я на маке собираю релиз
Михаил
а в случае с pcre видимо этот вариант отпадет
Михаил
я правда еще сишных биндингов не пытался прикручивать, но опасаюсь )
Yehor
rubex тоже по описанию использует binding к Oniguruma
Yehor
вот, посмотри на это - https://github.com/dlclark/regexp2
Yehor
хотя нет, лучше пока не использовать, автор говорит об этом
Dima
Михаил
Да, но греп не станет делать регулярку, если ему просто подстроку надо найти
Михаил
А я базово не в теме, регулярка там или просто строка. Нормальный движок, с оптимизацией, 146% такой случай ловит
🏳️ Phil
Сейчас голова распухнет. Мне надо превратить uint16, uint8, uint8 в []byte. bigendian
Мерль
Сейчас голова распухнет. Мне надо превратить uint16, uint8, uint8 в []byte. bigendian
https://golang.org/pkg/encoding/binary/
package main
import (
"bytes"
"encoding/binary"
"fmt"
"math"
)
func main() {
buf := new(bytes.Buffer)
var pi float64 = math.Pi
err := binary.Write(buf, binaryBigEndian, pi)
if err != nil {
fmt.Println("binary.Write failed:", err)
}
fmt.Printf("% x", buf.Bytes())
}
🏳️ Phil
хорошо, у меня еще есть []byte и мне его в конец надо прицепить, а потом фором поайтно пройтись
Мерль
🏳️ Phil
а оно append сделает?
Мерль
🏳️ Phil
[]byte к тому что bytes.Bytes() выдаст
Мерль
🏳️ Phil
вообще мне кажется в данном примере легче битовымт масками наплнить слайс из четырех элементов
🏳️ Phil
ладно, до дому доеду буду отлаживать. всю голову сломал
Мерль
🏳️ Phil
это наоборот. грубо говоря, мне надо запаковать DNSKEY RDATA в строку байтов наиболее простым способом
Мерль
Помните тот доклад от Пайка "Не бойтесь использовать функции как первого класса"?
У него вышла статья
https://dave.cheney.net/2016/11/13/do-not-fear-first-class-functions
🏳️ Phil
Надо мне dns клиентов нагуглить. Но от одного у меня уже глаза вытекли - оно там сруктуру на трех экранах в байтовый слайс распарсивает
Мерль
Мерль
Можно кстати даже не оборачивать
Мерль
type Buffer struct {
buf []byte
off int
runeBytes [utf8.UTFMax]byte
bootstrap [64]byte // memory to hold first slice; helps small buffers avoid allocation.
lastRead readOp
}
Михаил
кстати это всё чудесно про re2 и тп, но регулярки в го тормоз. Я рад что их нельзя бомбануть как pcre, но оптимизировать их надо
🏳️ Phil
смотри. у меня uint16, uint8, uint8 и base64 decode, которая не больше 2048 по результату. инт16 должен превратиться в два байта биг эндиан, остальное прилепиться в указанной очередности
Мерль
Мерль
🏳️ Phil
попробую дома
🏳️ Phil
Kirill
Kirill
🏳️ Phil
Эта функция делает то, что я просил из структуры
🏳️ Phil
ААААААААААААААААААААА!!!!!!!!!!!!!!!!!!
Kirill
Kirill
🏳️ Phil
dnskey_rdata := make([]byte, 4, 2052)
dnskey_rdata = []byte{1,2,3,4}
dnskey_rdata = append(dnskey_rdata, []byte{3,4,5,6,7,8,9,0}...)
🏳️ Phil
такая конструкция имеет смысл против там не знаю
dnskey_rdata := []byte{1,2,3,4}
dnskey_rdata = append(dnskey_rdata, []byte{3,4,5,6,7,8,9,0}...)
🏳️ Phil
не имеет
🏳️ Phil
Да что за функции-то такие. sha1.Sum() возвращает [20]byte, я беру в зависимости от разные хэши и хочу возвращать []byte. Но как?
Kirill
скопируй данные в слайс
🏳️ Phil
Но как?
Vladimir
Vladimir
sha.Sum() тебе всегда возвращает [20]byte, так же ж?
🏳️ Phil
Kirill
Но как?
slice := array[:]
должно сработать
🏳️ Phil
да как же
Kirill
вот так
Судзумия
Вот так
Судзумия
slice := array[:]
должно сработать