@proGO

Страница 1307 из 1674
Roman
22.03.2018
12:55:37
в ту же директорию
проблемка в этом есть.. придётся тодка все пакеты в один совмещать, т.е. например имплементацию клиента из подпакета в главный пакет засорять

Daniel
22.03.2018
12:55:54
эээ, нет

при чем тут это?

Roman
22.03.2018
13:04:38
эээ, нет
ну смотри.. сейчас всё разбито красивенько на пакеты... есть основной пакет webwire, в нём реализация сервера и всего что касается библиотеки включая unit test'ы. в под-пакете webwire/client реализация клиента на Go, в под-пакете webwire/test расположены integration тесты

Google
Roman
22.03.2018
13:05:56
и сейчас он считает так: unit test'ы покрывают там свои 36% пакета webwire, а test это же отдельный пакет, поэтому его coverage не касается webwire, следственно там получаем 78% как на выборах, а в webwire остаётся 36%

можно конечно переместить все integration тесты в сам пакет webwire, но тогда придётся и имплементацию клиента из под пакета в главный пакет пихать во избежание circular dependency

Daniel
22.03.2018
13:07:33
так это, напишите тестов в webwire

в чем проблема-то?

Roman
22.03.2018
13:09:04
так это, напишите тестов в webwire
они уже написаны) просто они в пакете webwire/test а не webwire

и я ищу возможность считать coverage основного пакете webwire из этого подпакета чтобы всё в одну папку не фигачить

но видимо такой возможности нет

Daniel
22.03.2018
13:09:54
если написано - перетащить в ту же директорию

Roman
22.03.2018
13:33:58
если написано - перетащить в ту же директорию
просто тогда всё в одной директории будет что ну очень некрасиво и неудобно.. но видимо нет иного варианта

Alex
22.03.2018
13:44:07
Кто нибудь запускал как службу в Windows? пытаюсь сделать через https://github.com/kardianos/service Запускается но прога корнем считает windows/system32 И там создает нужные папки ну и крашется из-за того что конфига нет)

Daniel
22.03.2018
13:45:59
https://golang.org/pkg/os/#Chdir

Alex
22.03.2018
13:47:24
https://golang.org/pkg/os/#Chdir
Я понимаю что можно поменять

Но в таком случае нужно указывать в конфиге путь.

Google
Zver
22.03.2018
13:51:55
Кто нибудь запускал как службу в Windows? пытаюсь сделать через https://github.com/kardianos/service Запускается но прога корнем считает windows/system32 И там создает нужные папки ну и крашется из-за того что конфига нет)
Вы создавайте конфиг не в текущей папке или меняйте ее. Используйте из окружения переменную с путем к appdata. Или где-нибудь сохраняйте путь в которой хотите использовать для конфига.

Alex
22.03.2018
13:58:54
мне просто не нравится сама идея указывать где-то путь. Если запускаю go run все отлично. Если go build потом запускаю exe'шку любым способом, то тоже все отлично. Если же эту exe'шку запускает служба то корнем считается system32

Daniel
22.03.2018
13:59:31
так а почему должно быть иначе-то?

Daniel
22.03.2018
13:59:51
впрочем, там, вроде, в настройках службы можно указать рабочую директорию

нет?

Alex
22.03.2018
13:59:56
Путь к приложению при go run будет ссылаться на Temp

Zver
22.03.2018
14:00:50
а где?)
В свойствах службы.

Alex
22.03.2018
14:01:39
рядом с exe файлом

там же нужно создать несколько папок для хранения логов и т.п.

Zver
22.03.2018
14:02:07
рядом с exe файлом
Ну определяйте тогда путь к файту и все.

Alex
22.03.2018
14:03:15
Я понимаю что могу определить. Просто у каждого исходники могут хранится в разных местах

Daniel
22.03.2018
14:03:29
при чем тут исходники вообще?!

Daniel
22.03.2018
14:04:48
а там ./

Zver
22.03.2018
14:05:05
Alex
22.03.2018
14:06:03
Когда пишешь go run в темпе лежит только exe без все прочего что мне нужно. и никак бы не хотелось чтоб там все создавалось

Google
Zver
22.03.2018
14:06:03
а там ./
А под виндой там полный путь. Надо проверить.

Daniel
22.03.2018
14:06:53
Когда пишешь go run в темпе лежит только exe без все прочего что мне нужно. и никак бы не хотелось чтоб там все создавалось
коллега, вы очень странное задумали. может быть, вы еще не осознали разницы с этим вашим питоном?

Alex
22.03.2018
14:09:57
Ну вот допустим, исходники: C:\test. команда filepath.Abs(filepath.Dir(os.Args[0])) при go run вернет Appdata\local\temp при go build и запуск exe вернет C:\test Каким же способо укажу абсолютный путь одной командой?

Daniel
22.03.2018
14:10:23
коллега

при чем тут исходники

вы распространять свое поделие как планируете?

Zver
22.03.2018
14:11:13
а там ./
Проверил. Под виндой пишет полный путь.

Daniel
22.03.2018
14:11:40
вариант, да

Alex
22.03.2018
14:11:40
Я понимаю, если речь идет только о запуске exe файла то все прекрасно заработает

Daniel
22.03.2018
14:11:54
а о чем еще может речь идти?

Alex
22.03.2018
14:12:39
при разработке конфиг у меня в исходниках. а exe в темпе

Zver
22.03.2018
14:13:50
Я понимаю, если речь идет только о запуске exe файла то все прекрасно заработает
Вы что-то усложняете. Вообще true way для винды хранить в АппДата данные приложения. Если там не хотите, а хотите в каталоге программы, то вариант выше, возвращает путь до приложения.

Zver
22.03.2018
14:15:20
при разработке конфиг у меня в исходниках. а exe в темпе
Для такого варианта указывайте переменную окружения с путем до конфига или путь в коммандной строке и все и пишите туда. А если они не указаны, используйте путь по умолчанию.

Egor
22.03.2018
14:17:38
всем привет) есть разгребал crypto/tls ?)

Daniel
22.03.2018
14:18:12
в чем вопрос

Egor
22.03.2018
14:18:30
генерация рандома клиента библиотекой

через &config.Rand

я генерю через bytes.NewReader() и пихаю туда строку в 32 байта, как по RFC положено, оно орёт типа ему мало начинает понимать только с 96 символов что есть 3х кратное 96 вопрос: почему?

т.е. вот так должно прокатывать config.Rand = bytes.NewReader([]byte("Wassup, it is client random.....")) но нет

а когда 96 пишу ему норм, причём судя по дампу трафика он берёт буфер на 96, срезает с конца 32 и остальное выкидывает

Google
Egor
22.03.2018
14:24:31
если есть мысли - с удовольствием послушаю

Nikita
22.03.2018
16:31:14
кто читает из config.Rand?

Egor
22.03.2018
16:33:10
а что за библиотека?
выше чуть было, crypto/tls же

смотрите, делаем клиента по классике, но добавляем фичу-пасхалку config.Rand = bytes.NewReader([]byte("00000000000000000000000000000000Yooo-Yooooooo! what's up bro?!?!00000000000000000000000000000000"))

>=96 символов в противном случае оно будет ругаться

Admin
ERROR: S client not available

Daniel
22.03.2018
16:34:38
ждем пример на playground
какое слово непонятно?

Egor
22.03.2018
16:36:10
какое слово непонятно?
код пошарить? плэйграунд не заведется, там ключи импортируются и кеи

Daniel
22.03.2018
16:36:52
ну - что-то такое пошарить, чтобы оно запускалось

но на самом деле - все можно на плейграунде завести, что стандартные либы использует

Egor
22.03.2018
16:38:54
https://play.golang.org/p/3jjVE4Va8VM пошарю вот так, тут не должно быть сложно понять чего происходит

но на самом деле - все можно на плейграунде завести, что стандартные либы использует
да понятно, просто я туда не буду серт пихать же в код и ключ

Daniel
22.03.2018
16:40:04
почему нет?

Egor
22.03.2018
16:41:45
ключ типа приватный вроде как

Daniel
22.03.2018
16:42:02
нагенерить временный

Nikita
22.03.2018
16:43:27
preMasterSecret := make([]byte, 48) _, err := io.ReadFull(config.rand(), preMasterSecret[2:])

https://golang.org/src/crypto/tls/key_agreement.go

как минимум

Google
Nikita
22.03.2018
16:43:50
я думаю что config.rand используется более чем в одном месте

Daniel
22.03.2018
16:43:57
а?!

угу

коллега, а зачем вы в качестве источника рандома указываете статическую строку?

Nikita
22.03.2018
16:44:56
и соотвественно чтений более чем одно

Egor
22.03.2018
16:44:57
я думаю что config.rand используется более чем в одном месте
я понимаю, я хочу делать рандом нерандомным

Daniel
22.03.2018
16:45:04
чтобы что?!

Nikita
22.03.2018
16:45:15
отладить что-то хочет видимо

патч

Egor
22.03.2018
16:45:34
отладить что-то хочет видимо
типа того, только тут ресёч больше

Nikita
22.03.2018
16:45:44
или сделай более чем 32

но одним символом

‘A’ * 100

Egor
22.03.2018
16:46:39


я понимаю что так работает что больше 32 и начиная от 96, но не понимаю почему и почему он берет когда 96 32 которые в середине и пихает только их в рандом

Nikita
22.03.2018
16:47:07
ага clientHelloMsg

Egor
22.03.2018
16:47:50
типа по RFC ясно и четко что TLS1.2 - 32 размерность

Daniel
22.03.2018
16:49:32
да

Страница 1307 из 1674