
Aleksandr
05.05.2017
08:06:32

juk
05.05.2017
08:06:41
наверно go list ?

m
05.05.2017
08:09:35
Хорошо, приведу пример. Я скачал чей-то пакет и хочу узнать, есть ли у него в зависимостях reflect. Как это сделать?

Anton
05.05.2017
08:09:36

Google

m
05.05.2017
08:11:19
я нагрепаю так ВСЕ пакеты, которые используют reflect. А мне нужно узнать, есть ли в зависимостях определённого пакета reflect.

Aleksandr
05.05.2017
08:11:45

m
05.05.2017
08:12:31
а это пакет использует ещё кучу зависимостей, а они каждая ещё зависимости...

Aleksandr
05.05.2017
08:13:03

m
05.05.2017
08:13:22
в какой же?

Aleksandr
05.05.2017
08:13:29
src

Anton
05.05.2017
08:13:40

m
05.05.2017
08:14:08
а ещё директория самого go...
а в src лежат и другие пакеты, поиск по которым мне не нужен.

Anton
05.05.2017
08:15:41
там будет с большой вероятностью src/github.com/author_name/dependency_name, по ней и грепай

Sergey
05.05.2017
08:16:53
И в самом низу будет ссылка на граф зависимостей
Типо https://godoc.org/github.com/Shopify/sarama?import-graph

Google

m
05.05.2017
08:17:42
вот мой пакет, например: https://godoc.org/github.com/MichaelMonashev/sync/netmutex

Aleksandr
05.05.2017
08:18:11

m
05.05.2017
08:18:38
Точно! спасибо большое. А как тако й же граф построить для своего пакета, который я не выкладывал в инет?

Sergey
05.05.2017
08:23:41

m
05.05.2017
08:24:53
Спасибо.
Похоже, что от reflect невозможно избавиться. Он даже в net через context пролез.
Хотел размер бинарника уменьшить. Где-то читал, что если нет reflect в зависимостях, то в бинарник не добавляется информация о всех полях структур, именах функций и т.д.

Aleksandr
05.05.2017
08:27:08

m
05.05.2017
08:27:26
Уже

Igor
05.05.2017
08:28:46
харды ж дешевые пипец, чего так париться

Aleksandr
05.05.2017
08:29:46

Igor
05.05.2017
08:29:54
справедливо

LexsZero
05.05.2017
08:30:09
время загрузки

Igor
05.05.2017
08:30:12
(хотя деплой обычно внутри сети осуществляется)

i
05.05.2017
08:30:13

Igor
05.05.2017
08:30:23

m
05.05.2017
08:30:26
Марко Кевац на хабре писал, как они в Баду сокращали размер бинарника для андройда...

LexsZero
05.05.2017
08:30:30
пишу на баше потому что он работает резко как понос

Igor
05.05.2017
08:30:37
и для мобильных это оправдано

Aleksandr
05.05.2017
08:30:57

LexsZero
05.05.2017
08:31:11
а го и петушон грузятся по несколько секунд даже на хелловорлдах

Google

Aleksandr
05.05.2017
08:32:23

LexsZero
05.05.2017
08:32:46
со стораджа в память
у меня тут эмбеддед, где сторадж 1) маленький 2) тормозной

Aleksandr
05.05.2017
08:33:04

Roman
05.05.2017
11:49:59

Evgenii
05.05.2017
11:51:23
Однако от rpi2 до эмбедед весьма далеко...

LexsZero
05.05.2017
12:01:21

Konstantine
05.05.2017
14:06:00
Ребят, мне нужно, чтобы программа каждые N минут (по умолчанию 5) делала какое-то действие (собирала данные) и каждый раз, когда проходит M минут (по умолчанию 30) делала другое действие на основе данных из сбора.
Лучше всего тупо сделать функции сбора и обработки и окружить их нужными time.Sleep или есть варианты лучше?)

Anton
05.05.2017
14:09:46
select на таймерах ?

Maxim
05.05.2017
14:10:42

Konstantine
05.05.2017
14:11:48

Anton
05.05.2017
14:13:33

LexsZero
05.05.2017
14:17:20
https://play.golang.org/p/uFP2r5v1ia
но в данном случае кажется лучше один тикер и счетчик, считающий до M/N и когда досчитает - запускать обработку.

Stanislav
05.05.2017
14:32:07
А вдруг сбор данных требует больше 5 минут?
Нужно асинхронно решить

LexsZero
05.05.2017
14:33:09
ну тогда две горутины и в каждую по тикеру

Konstantine
05.05.2017
19:26:11
Кстати, а есть какая-нибудь функция, чтобы запускать функцию\горутину в определенное время?
Скажем мне надо, чтобы в 12:00 запустилась функция или в любой час но в 15 минут (*:15). Что-то вроде встроенного крона)

LexsZero
05.05.2017
19:27:18
поищи пакет

Google

Igor
05.05.2017
19:27:32
https://github.com/jasonlvhit/gocron
поискал

Konstantine
05.05.2017
19:28:46

Igor
05.05.2017
19:29:09
есть
time называется
http://stackoverflow.com/a/19549474/974317

LexsZero
05.05.2017
19:30:49
можешь на тайме накостылять, да
вычесть текущее время из нужного и time.Sleep кек

Igor
05.05.2017
19:31:32
можешь вынести в отдельные подкоманды и заюзать обычный крон

Konstantine
05.05.2017
19:39:06
Накостылять и так ясно, думал может есть встроенное дело)
Спасибо)

Aleksandr
05.05.2017
20:12:14

Konstantine
05.05.2017
20:12:57
Не красивая строчка получается)

Aleksandr
05.05.2017
20:15:37

Konstantine
05.05.2017
20:15:53
Тогда уже и не одна строчка)

LexsZero
05.05.2017
20:16:50

Aleksandr
05.05.2017
20:17:59

Konstantine
05.05.2017
20:18:21

Stanislav
05.05.2017
20:20:06

Dmitry
05.05.2017
22:38:36
https://twitter.com/mosheroperandi/status/856946180810354688

Google

Nikolay
06.05.2017
05:44:25
Упс, я слоупок

Peter
06.05.2017
06:25:09
помню пару лет назад кто-то писал операционку на гоу. ни у кого не сохранилась ссылка на гитхаб?

Roman
06.05.2017
09:15:37

Peter
06.05.2017
09:40:00
Спасибо

Dmitry
06.05.2017
10:08:46
глючная

Igor
06.05.2017
10:33:49
эт не мне, это @SolidlSnake

Eugene
06.05.2017
11:01:03
Ребята, подскажите, почему один канал не передает в другой канал? Чувствую, что где то уходит в луп. https://play.golang.org/p/sC8N24-Clt

Ilya
06.05.2017
11:13:38
Каналы не буферезированы
Варйтер ждет ридера а ридера нет
Врайтер*
Так же нет записи в exit ну и main бесконечный

LexsZero
06.05.2017
11:19:39
что куда должно передаваться?

Ilya
06.05.2017
11:20:20
Сделай каналы с буфером 1 как минимум

Eugene
06.05.2017
11:42:53
@IlyaSinelnikov спасибо, буферизая помогла. exit - специально бесконечный, для цикла в три секунды