@proGO

Страница 1651 из 1674
Alexandr
22.08.2018
11:41:44
Брейкпоинт остановил выполнение до инициализации, поставьте его на одну строку ниже, и мусора не будет

чем структура отличается от обычной переменной?
Структура - это тип, экземпляр структуры - это переменная этого типа

Если коротко, то ничем

Google
Alexander
22.08.2018
11:42:49
У меня с этим нет проблем, выше вопрос задавали про это просто)

Alexandr
22.08.2018
11:45:35
А, лол, пропустил, сорян)

Александр
22.08.2018
12:21:40
народ кто работал с golang.org/x/time/rate

ладно проехали...

Алекс
22.08.2018
13:02:13
в чем разница между runtime.GC() и runtime/debug.FreeOSMemory() ? по сути они выполняют одну и ту же задачу, но FreeOSMemory кажется кошернее

Александр
22.08.2018
13:02:15
в гайдах пишут что тесты надо делать в каждом пакете свои, а как тогда общую картинку запустить?

go test требует указания пакета же

Artem
22.08.2018
13:08:34
Александр
22.08.2018
13:08:57
жеско

а если там папка вендор?

Artem
22.08.2018
13:09:09
vendor игнорится

в 1.10

в прошлых скорее всего нет, но это не точно

Google
Artem
22.08.2018
13:10:01
go test требует указания пакета же
там еще можно регексп указывать на названия тестов, файлов и т.д. и т.п.

Daniel
22.08.2018
13:29:00
TWIMC: вчерашняя проблема с listen оказалась очень странной: нельзя слишком часто открывать-закрывать unix сокеты. от этого что-то где-то ломается, и listen сокет закрывается надо бы багрепорт написать, но непонятно, куда
TWIMC 2 история про закрывающийся listen сокет оказалась и сложнее, и проще unix-сокеты были там у меня для отправки по ним tcp-соединений воркерам. соответственно - делал я их не через net.Dial, а через unix.Socket, и отправлял через unix.Sendmsg как паснуть именно хендлер соединения без unix.Sendmsg - я не знаю. так вот - потом я делал unix-сокету syscall.Close, естественно мистическим образом иногда (!) хендлер unix-сокета оказывался равен хендлеру listen-сокета. и listener закрывался, понятное дело. что с этим делать? у net.UnixConn появился сравнительно недавно метод SyscallConn, возвращающий syscall.RawConn, у которого, в свою очередь, есть Write(), позволяющий получить доступ к file descriptor. и этот fd можно использовать для вызова unix.Sendmsg, да...

Olzhas
22.08.2018
13:33:04
А в чем преимущество unix.Socket перед net.Dial?

Я тупой

Юзал всегда net.Dial и в ус не дул

Daniel
22.08.2018
13:33:48
он возвращает file descriptor, котрый используется для unix.Sendmsg

до появления SyscallConn это был единственный способ получить fd

а SyscallConn появился в 1.9, кажется, и код, с которым я вожусь, тупо старше

Olzhas
22.08.2018
13:35:22
Щито поделать тогда

Александр
22.08.2018
13:40:25
мне вот интересно

а куда моки класть для тестов

Виктор
22.08.2018
13:42:20
в отдельный package с моками почему не вариант?

Александр
22.08.2018
13:42:46
ну вообще странно выходит

есть handlers (они потребяют dao)

интерфейс dao лежит тоже в handlers

получается создается dao_mongo и dao_mock

@onokonem а это норм вообще?

Artem
22.08.2018
13:55:14
а куда моки класть для тестов
интеграционные и функциональные тесты мы пихаем отдельно в папку test, в которой уже складируем и сами тесты и моки и что душе угодно, а рядом держим только юнит

undiabler
22.08.2018
14:15:57
что-то придумали уже для проверки интерфейсов на nill значение кроме рефлексии?

Google
Лемур
22.08.2018
14:17:02
interface{} == nil так нельзя, да?

Daniel
22.08.2018
14:17:14
А?

Лемур
22.08.2018
14:18:30
ого, целый тред есть https://groups.google.com/forum/#!topic/golang-nuts/wnH302gBa4I/discussion

undiabler
22.08.2018
14:20:02
да, гошечка болеет таким давно напарывался, сейчас снова подобное надо хотел узнать может что-то поменялось с тех пор

https://golang.org/doc/faq#nil_error

только ко всем интерфейсам применимо, не только к err

undiabler
22.08.2018
14:45:17
ну потому что пустой указатель на интерфейс != nil и нужно извращаться чтоб проверить А в случае если так запланированно чтоб функция могла принимать nil интерфейс и игнорировать его, то код вырастает сразу в разы)

isNil функцию с глубокой проверкой и так костыляют рефлексией. но я втихаря надеюсь что когда нибудь ее добавят нейтивную)

Dorian
22.08.2018
14:46:48
Так а в чем болезнь*

В Go все nil имеют тип

undiabler
22.08.2018
15:11:28
https://play.golang.org/p/deGI8hSs8t4

вот это я считаю не совсем очевидным поведением

Daniel
22.08.2018
15:15:41
да, это не очевидное поведение

но это ошибка программиста, которую не ловит компилятор

а не что-нибудь еще

Artem
22.08.2018
15:16:46
вот это я считаю не совсем очевидным поведением
зато тебе не нужно тащить везде что-то типо implements: A, B, C, Dog, Cat, Human, Generics, Main

Google
Pawel
22.08.2018
15:46:30
вот это я считаю не совсем очевидным поведением
про то, что nil объект кастится в not nil интерфейс, описано чуть более чем везде, где речь заходит о голанге

Sergey
22.08.2018
16:26:41
А существует в природе сборщик логов типа logstash, но написанный на го

?

Vyacheslav
22.08.2018
19:02:59
Sergey
22.08.2018
19:18:40
Vladimir
23.08.2018
04:14:32
Привет, пользовал кто https://github.com/gocraft/work

интересует, как оно себя ведет с долгоиграющими процессами

Никита
23.08.2018
09:30:03


Vasily Romanov
23.08.2018
09:40:30
профайлер не может смотреть что там в сишном код твориться, поэтому виден только сам вызов чего-то через cgo

Никита
23.08.2018
09:48:46
профайлер не может смотреть что там в сишном код твориться, поэтому виден только сам вызов чего-то через cgo
А то что у остальных вызовов указано 0 миллисекунд — это значит что они занимают меньше миллисекунды?

Юрий
23.08.2018
11:44:30
Ребята, подскажите что делаю не так. Есть GOPATH ведет в /home/develop/projects/goЧерез dep настроил зависимости, запускаю $ dep ensure создается папка vendor в ней все необходимые либы есть запускаю go run main.go и получаю ошибки формата: proto/access-token/access-token.micro.go:19:8: cannot find package "_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto" in any of: /usr/lib/go-1.10/src/_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto (from $GOROOT) /home/develop/projects/go/src/_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto (from $GOPATH)я не могу найти кто добавляет префикс /home/develop/projects/go/src/_/home/develop т.к без префикса папка на месте ls -la /home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto total 360 drwxrwxr-x 2 develop develop 4096 авг 23 18:42 . drwxrwxr-x 3 develop develop 4096 авг 23 18:42 .. -rw-rw-r-- 1 develop develop 7700 авг 23 18:42 clone.go -rw-rw-r-- 1 develop develop 11484 авг 23 18:42 decode.go -rw-rw-r-- 1 develop develop 1860 авг 23 18:42 deprecated.go

Алексей
23.08.2018
12:03:04
ребят, всем привет, только начинаю учить go, разбираю чужие сорсы и возник такой вопрос, а что за параметры перед названием функции? в доке честно смотрел func (s *streamPacketCipher) readPacket(seqNum uint32, r io.Reader) ([]byte, error) {

Roman
23.08.2018
12:04:53
ребят, всем привет, только начинаю учить go, разбираю чужие сорсы и возник такой вопрос, а что за параметры перед названием функции? в доке честно смотрел func (s *streamPacketCipher) readPacket(seqNum uint32, r io.Reader) ([]byte, error) {
это не параметры, это function receiver, типа this в методах, пожалуйста пройдите основной golang tour пережде чем читать чужой код и задавать такие вопросы

Andrey
23.08.2018
12:05:00
https://tour.golang.org/methods/1

Алексей
23.08.2018
12:05:15
спасибо, еще раз извиняяюсь

Roman
23.08.2018
12:05:27
Алексей
23.08.2018
12:05:33
спасибо

Лемур
23.08.2018
12:05:34
спасибо, еще раз извиняяюсь
Всё ок, для этого чат и нужен)

Google
Roman
23.08.2018
12:06:34
Всё ок, для этого чат и нужен)
ну этот чат скорее для таких вопросов, на которых нет "очевидного" ответа ?

Юрий
23.08.2018
12:07:07
Есть кто с dep подскажет в чем тупняк?)

Лемур
23.08.2018
12:07:24
ну этот чат скорее для таких вопросов, на которых нет "очевидного" ответа ?
2 момента. - для кого-то очевидное может не быть таким - где чат для вопросов начинающих?

Roman
23.08.2018
12:11:06
Юрий
23.08.2018
12:11:27
по всей видимости я неправильно структурирую папку с проектом

Roman
23.08.2018
12:12:56
Ребята, подскажите что делаю не так. Есть GOPATH ведет в /home/develop/projects/goЧерез dep настроил зависимости, запускаю $ dep ensure создается папка vendor в ней все необходимые либы есть запускаю go run main.go и получаю ошибки формата: proto/access-token/access-token.micro.go:19:8: cannot find package "_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto" in any of: /usr/lib/go-1.10/src/_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto (from $GOROOT) /home/develop/projects/go/src/_/home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto (from $GOPATH)я не могу найти кто добавляет префикс /home/develop/projects/go/src/_/home/develop т.к без префикса папка на месте ls -la /home/develop/projects/go/src/shop/srv/access-token/vendor/github.com/golang/protobuf/proto total 360 drwxrwxr-x 2 develop develop 4096 авг 23 18:42 . drwxrwxr-x 3 develop develop 4096 авг 23 18:42 .. -rw-rw-r-- 1 develop develop 7700 авг 23 18:42 clone.go -rw-rw-r-- 1 develop develop 11484 авг 23 18:42 decode.go -rw-rw-r-- 1 develop develop 1860 авг 23 18:42 deprecated.go
go run запускает в твоём случае только main.go и игнорит все остальные исходники, go run не для этого, делай go build && ./main.exe

Юрий
23.08.2018
12:13:57
на зависимости продолжает ругаться

в vendor все необходимые либы есть, но он их не видит т.к сам добавляет префикс /home/develop/projects/go/src/_

Roman
23.08.2018
12:14:43
Юрий
23.08.2018
12:14:51
в итоге путь у меня /home/develop/projects/go/src/_/home/develop/projects/go/src/shop/.... :D

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