
Sergey
14.11.2016
13:10:48
ща попробую...но тогда возникает другой вопрос
но задам его чуток попозже
спасибо!

Daniel
14.11.2016
13:11:40
на здоровье

Google

Aleksey
14.11.2016
13:28:13
Чят, я зная язык на уровне "пару книг прочитал" есть смысл соваться на хакатоны, как думаете?

Daniel
14.11.2016
13:28:53
Го - простой язык
С ним важен не он собственно, а то, что в голове

Nikita
14.11.2016
13:34:21

Aleksey
14.11.2016
13:36:17
А почему нет ?
Потому что меня тут попросили друзья съездить с ними на хакатон по нейросетям в роли сисадмина (основной профиль) и... 2 дня я смотрел мультики, так и не пригодившись.
Но формат понравился. Возникает вопрос: а что происходит на хакатонах по языку, а не теме. И буду ли я там понимать что происходит

Nikita
14.11.2016
13:43:49
Есть вариант не попробовать и узнать ? Если нет тогда попробуй

Favoretti
14.11.2016
13:51:02
Я бы совался, причем брал маленькие кусочки работы сначала, и таким макаром находил применение академическим знаниям. С каждым новым хакатоном - больше опыту.

Aleksey
14.11.2016
14:03:23

Igor
14.11.2016
14:05:30

Nikita
14.11.2016
14:08:14
Я бы даже будь совсем не в теме, но с желанием взял бы на себя ту часть работы которая простая но муторная, её тоже нужно делать, так и опыта можно набраться и лишним не будешь,
По нейросетям это может быть проверка алгоритма на разных тестовых выборках, составление этих выборок сравнение результатов в табличках в конце концов, для го хоть тесты

Aleksey
14.11.2016
14:15:33
С нейросетями норм было, я изначально ехал на случай, если нужен будет асм или что-то по линуксам/железу. :)
Теперь вот хочется в чуть более активной роли побыть

Google

Sergey
14.11.2016
14:36:49
Тэкс, я разобрался
в моём случае было важно запускать бинарник из правильной категории
ещё один глупый вопрос
а есть ли способо упаковать шаблон и, допустим, картиночки в бинарник?

Aleksey
14.11.2016
14:49:52
https://github.com/jteeuwen/go-bindata
Эта?

Favoretti
14.11.2016
15:21:12
есть еще такое: https://github.com/elazarl/go-bindata-assetfs

Михаил
14.11.2016
15:40:05
подскажите — а гошные регулярки, это самая быстрая имплементация? В ней есть оптимизации как grep если регулярка это просто строка? Или самому такую сделать может, хмм.
или есть более быстрые реализации?

Favoretti
14.11.2016
15:42:14

Михаил
14.11.2016
15:42:33
с другими имплементациями
я тут какое-то rubex нашел, правда пока не тыкал

Egor
14.11.2016
15:51:15
может будет проще использовать binding к prce

Михаил
14.11.2016
15:52:59
не думаю что это будет сильно проще, сейчас я на маке собираю релиз
а в случае с pcre видимо этот вариант отпадет
я правда еще сишных биндингов не пытался прикручивать, но опасаюсь )

Egor
14.11.2016
15:57:13
rubex тоже по описанию использует binding к Oniguruma
вот, посмотри на это - https://github.com/dlclark/regexp2
хотя нет, лучше пока не использовать, автор говорит об этом

Dima
14.11.2016
16:23:32

Google

Dima
14.11.2016
16:30:33

Михаил
14.11.2016
16:47:30
Да, но греп не станет делать регулярку, если ему просто подстроку надо найти
А я базово не в теме, регулярка там или просто строка. Нормальный движок, с оптимизацией, 146% такой случай ловит

Phil
14.11.2016
18:24:32
Сейчас голова распухнет. Мне надо превратить uint16, uint8, uint8 в []byte. bigendian

Мерлин
14.11.2016
18:32:08

Phil
14.11.2016
18:33:48
хорошо, у меня еще есть []byte и мне его в конец надо прицепить, а потом фором поайтно пройтись

Мерлин
14.11.2016
18:40:08

Phil
14.11.2016
18:43:24
а оно append сделает?

Мерлин
14.11.2016
18:43:34

Phil
14.11.2016
18:45:46
[]byte к тому что bytes.Bytes() выдаст

Мерлин
14.11.2016
18:46:59

Phil
14.11.2016
18:47:56
вообще мне кажется в данном примере легче битовымт масками наплнить слайс из четырех элементов

Phil
14.11.2016
18:48:47
ладно, до дому доеду буду отлаживать. всю голову сломал

Мерлин
14.11.2016
18:53:09

Phil
14.11.2016
18:57:55
это наоборот. грубо говоря, мне надо запаковать DNSKEY RDATA в строку байтов наиболее простым способом

Мерлин
14.11.2016
18:58:17
Помните тот доклад от Пайка "Не бойтесь использовать функции как первого класса"?
У него вышла статья
https://dave.cheney.net/2016/11/13/do-not-fear-first-class-functions

Phil
14.11.2016
19:00:41
Надо мне dns клиентов нагуглить. Но от одного у меня уже глаза вытекли - оно там сруктуру на трех экранах в байтовый слайс распарсивает

Мерлин
14.11.2016
19:00:44
Можно кстати даже не оборачивать
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
}

Google

Михаил
14.11.2016
19:03:08
кстати это всё чудесно про re2 и тп, но регулярки в го тормоз. Я рад что их нельзя бомбануть как pcre, но оптимизировать их надо

Phil
14.11.2016
19:04:12
смотри. у меня uint16, uint8, uint8 и base64 decode, которая не больше 2048 по результату. инт16 должен превратиться в два байта биг эндиан, остальное прилепиться в указанной очередности

Мерлин
14.11.2016
19:04:44

Phil
14.11.2016
19:08:33
попробую дома

Kirill
14.11.2016
20:38:39

Admin
ERROR: S client not available

Phil
14.11.2016
20:38:58
Эта функция делает то, что я просил из структуры
ААААААААААААААААААААА!!!!!!!!!!!!!!!!!!
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}...)
такая конструкция имеет смысл против там не знаю
dnskey_rdata := []byte{1,2,3,4}
dnskey_rdata = append(dnskey_rdata, []byte{3,4,5,6,7,8,9,0}...)
не имеет
Да что за функции-то такие. sha1.Sum() возвращает [20]byte, я беру в зависимости от разные хэши и хочу возвращать []byte. Но как?

Kirill
14.11.2016
21:38:57
скопируй данные в слайс

Phil
14.11.2016
21:42:15
Но как?

Favoretti
14.11.2016
22:20:04
sha.Sum() тебе всегда возвращает [20]byte, так же ж?

Phil
14.11.2016
22:32:44

Kirill
14.11.2016
22:56:01
Но как?
slice := array[:]
должно сработать

Google

Phil
14.11.2016
22:56:22
да как же

Kirill
14.11.2016
22:56:42
вот так

Судзумия
14.11.2016
22:56:46
Вот так
slice := array[:]
должно сработать

Kirill
14.11.2016
22:57:00
пробуй
тем более, это под коробкой не копирует данные

mio
14.11.2016
23:21:20
@schors вообщем, исходный код твоей функции sha1.Sum()
https://golang.org/src/crypto/sha1/sha1.go L125
125 func Sum(data []byte) [Size]byte {
126 var d digest
127 d.Reset()
128 d.Write(data)
129 return d.checkSum()
130 }
@schors делай вывод и не делай лишние аллокации по чужим советам )))

Kirill
14.11.2016
23:22:20

Phil
14.11.2016
23:24:04

mio
14.11.2016
23:24:28
@schors sha1.Sum() это лишь функция хелпер

Kirill
14.11.2016
23:24:28

mio
14.11.2016
23:24:52
лучше делать один инстанс дайджестера и ресетить/переиспользовать его
более того, hash.Hash.Sum([]byte) может результат записать в заранее подготовленный слайс, что еще раз экономит на аллокациях
sha1.New() возвращает hash.Hash

Phil
14.11.2016
23:26:22
уменя там дайджесты на выбор

mio
14.11.2016
23:26:38
ну так и hash.Hash интерфейс )

Kirill
14.11.2016
23:26:46