@gogolang

Страница 1177 из 1630
Александр
22.06.2018
17:30:23
// Buffer large enough for 10 USB packets from endpoint 6. buf := make([]byte, epIn.Desc.MaxPacketSize) // Repeat the read/write cycle 10 times. for i := 0; i < 10; i++ { log.Print("Read!") // readBytes might be smaller than the buffer size. readBytes might be greater than zero even if err is not nil. readBytes, err := epIn.Read(buf) if err != nil { fmt.Println("Read returned an error:", err) } if readBytes == 0 { log.Fatalf("IN endpoint 6 returned 0 bytes of data.") } }

строго по ману вроде

если девайс выключить, то упадет в "og.Fatalf("IN endpoint 6 returned 0 bytes of data.")"

Google
Daniel
22.06.2018
17:31:09
ну вот проксики

все

Александр
22.06.2018
17:32:00
Что за девайс?
пикалка, для кодов

лазерная

2018/06/22 20:29:42 020.027 10c4:ea60 CP210x UART Bridge / myAVR mySmartUSB light (Cygnal Integrated Products, Inc.) 2018/06/22 20:29:42 Protocol: (Defined at Interface level) 2018/06/22 20:29:42 Configuration 1: 2018/06/22 20:29:42 -------------- 2018/06/22 20:29:42 Interface 0 alternate setting 0 (available endpoints: [0x02(2,OUT) 0x81(1,IN)]) 2018/06/22 20:29:42 Vendor Specific Class 2018/06/22 20:29:42 ep #1 IN (address 0x81) bulk [64 bytes] 2018/06/22 20:29:42 ep #2 OUT (address 0x02) bulk [64 bytes] 2018/06/22 20:29:42 --------------

соотвественно делаю

cfg, err := dev.Config(1) if err != nil { log.Fatalf("%s.Config: %v", dev, err) } defer cfg.Close() intf, err := cfg.Interface(0, 0) if err != nil { log.Fatalf("%s.Interface: %v", cfg, err) } defer intf.Close() epIn, err := intf.InEndpoint(0x81) if err != nil { log.Fatalf("%s.InEndpoint: %v", intf, err) }

Roman
22.06.2018
17:34:56
ну вот проксики
Вообще, везде где между парой fd байты перекладывать

Daniel
22.06.2018
17:36:44
я в курсе, зачем splice :) он у меня ровно в двух местах. при этом на тех же местах есть tls handshake, так что пока (до перехода на ec) мне вообще пофиг, что делает весь мой код. важно только насколько быстро вычисляется rsa ключ

‎‎‎‎
22.06.2018
17:38:26
допустим есть структура Person struct { Money int } у нее есть функция func (p *Person)work() { for { p.Money++ } } если я запущу эту функцию в горутине, а потом объект Person приравняю к nil

в горутине будет паника?

Daniel
22.06.2018
17:38:58
объект ты никак к nil не приравняешь

Google
Daniel
22.06.2018
17:39:25
с указателем делай что хочешь - в методе уже его копия

‎‎‎‎
22.06.2018
17:39:38
аа

Daniel
22.06.2018
17:40:04
а вот если ты полезешь менять то, на что указатель - возможны варианты, но паника врядли

‎‎‎‎
22.06.2018
17:40:56
я имел в виду это keks := Person { Money: 228 } go keks.Work() keks = nil

Zaur
22.06.2018
17:41:28
Так не получится сделать же

Александр
22.06.2018
17:42:58
да вот документации к ней не шло

просто вручили две железки и привет ?

Zaur
22.06.2018
17:43:31
Если сделаешь keks:= &Person{} то сможешь сделать. Но это не сотрёт выделенную память, которая используется методом

Александр
22.06.2018
17:43:33
но вроде бы как без всякой иницилизации как то ее запускали на прослушку

‎‎‎‎
22.06.2018
17:43:35
а, я тупанул, извините ??

Александр
22.06.2018
17:43:45
она даже в консоль как то отдавала

Мерлин
22.06.2018
17:44:11
Александр
22.06.2018
17:44:25
а она не отдает управление

0 байт я бы еще понял

оно буфер читает и читает

цикл 1 итерацию закончить не может

пока девайс не отключишь

Google
Мерлин
22.06.2018
17:45:48
оно буфер читает и читает
Я бы попытался найти доки И на всякий случай потестить чем-нибудь ещё, кроме этой библиотеки

Александр
22.06.2018
17:46:07
меня смушает вот приписка на 1 интерфейсе...

CDC Data (Unused)

Vadim
22.06.2018
17:56:04
Лето, пошли бы пописали код на свежем воздухе!
Я вот тоже думаю прихватить столик и пойти на море. Но постоянно боюсь комп испоганить.

Dmitry
22.06.2018
18:01:22
есть бенч тесты и просто тестирование класса - есть какие то правило как называть если они в отдельных файлах? т.е. файл с кодом chain , файлы с тестами chain_test, а файл с бенчами chain_bench_test.go ?

Александр
22.06.2018
18:10:01
больше ничего вкусного не нашел

Мерлин
22.06.2018
18:18:34
у нас вроде одна вменяемая либа от гугла
идея в том, чтобы потыкать руками тут какой угодно инструмент подойдёт, например библиотека на питоне

‎‎‎‎
22.06.2018
18:35:11
Kirill
22.06.2018
18:36:01
нет, много
Это в рамках одной структуры?

‎‎‎‎
22.06.2018
18:36:05
я поставил в структуру ctx и таймер таймер при срабатывании по таймауту вызывает context.CancelFunc а потоки ее мониторят

Kirill
22.06.2018
18:37:07
Там реально инкремент?

‎‎‎‎
22.06.2018
18:37:32
‎‎‎‎
22.06.2018
18:38:07
Kirill
22.06.2018
18:38:18
Угу

‎‎‎‎
22.06.2018
18:38:23
Нет

Это просто пример

Google
‎‎‎‎
22.06.2018
18:38:58
Мне нужен был нормальный способ убивать горутины

Вот заюзал context с таймером

Alex
22.06.2018
18:40:03
Й

Никита
22.06.2018
18:40:57
Почему порядок полей структуры влияет на производительность?

Никита
22.06.2018
18:41:13
Лень

Kirill
22.06.2018
18:41:40
Лень
Ну а всем лень объяснять дважды два каждому по отдельности

Kaspar
22.06.2018
18:42:19
Kirill
22.06.2018
18:42:34
Обычно да

Admin
ERROR: S client not available

Никита
22.06.2018
18:42:53
Не нужна тебе такая производительность
Вполне вероятно, просто интересуюсь

Kirill
22.06.2018
18:42:58
Когда человеку нужна такая производительность, он обычно уже и так это знает

Kaspar
22.06.2018
18:42:59
Особенно в ущерб читабельности

Kirill
22.06.2018
18:43:08
Особенно в ущерб читабельности
Не всегда это в ущерб

Никита
22.06.2018
18:43:25
Кстати, о какой производительности идёт речь?

Kirill
22.06.2018
18:44:18
Кстати, о какой производительности идёт речь?
Не всегда возможно даже тупо замерить разницу

Google
Kirill
22.06.2018
18:47:28
Тем, кто должен выжать десятки гигабит в секунду на слабом железе и ему уже нечего оптимизировать

В общем, почти что никому

И тому, кто делает имплементацию по живому стандарту

Никита
22.06.2018
18:50:38
Понял

Спасибо

Max
22.06.2018
19:25:00
друзья кто работал с github.com/google/jsonapi

известная проблема что нельзя unmarshall в структуруу в которой есть атрибуты - которые объекты

но я не могу найти никакого workaround вообще

кто может подсказатб?

https://github.com/google/jsonapi/issues/74

тут детали

Dmitry
22.06.2018
19:31:07
как в одну строчку сделать чтобы при пустом массиве выдавалась пустая строка ? return c.keys[r.rnd.Intn(len(c.keys))]

Alexander
22.06.2018
19:35:46
или юзать if на этом

Dmitry
22.06.2018
19:39:27
Мерлин
22.06.2018
19:39:38
[]*Prefix
тогда никак

Dmitry
22.06.2018
19:40:18
тогда никак
ну про пустую строку я загнул. нужно чтобы nil возвращало

Александр
22.06.2018
19:40:38
вы чего, проверьте на len

Мерлин
22.06.2018
19:40:40
Dmitry
22.06.2018
19:41:18
никак просто добавь if
окей. я подумал что гуру знают какой то другой обходной путь :)

Мерлин
22.06.2018
19:41:48
окей. я подумал что гуру знают какой то другой обходной путь :)
в go самый прямой путь — обычно самый правильный

Страница 1177 из 1630