
Dorian
22.08.2018
11:39:49

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


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 значение кроме рефлексии?

Artem
22.08.2018
14:16:50

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

Dorian
22.08.2018
14:42:00

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

Dorian
22.08.2018
14:46:48
Так а в чем болезнь*
В Go все nil имеют тип

Daniel
22.08.2018
14:52:37
коллега, вы точно понимаете суть проблемы?

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

Roman
22.08.2018
15:32:27

Google

Pawel
22.08.2018
15:46:30

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


Юрий
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

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

Лемур
23.08.2018
12:05:00

Алексей
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

Roman
23.08.2018
12:11:06

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


Roman
23.08.2018
12:12:56


Юрий
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