
Kirill
18.12.2016
14:59:27

Phil
18.12.2016
14:59:29
читай из канала одним обработчиком и запускай из него горутины. разницы никакой

Kirill
18.12.2016
14:59:44

Phil
18.12.2016
15:00:05

Google

corpix
18.12.2016
15:00:12
блин, кто-нибудь на вопрос мне может ответить?
Я правильно понял, что писатель в канал один, а читателей(горутин, разбирающих данные из канала) много?
Тогда в каждом читателе достаточно использовать for v := range myChannel { ... } как только канал закроется - цикл прекратится

Daniel
18.12.2016
15:00:27
Несколько читателей - не проблема
Несколько писателей - вот засада

Антон
18.12.2016
15:00:58
простой пример, типа unix pipe'а: source | processor1 | processor2 | destination
именно
несколько писателей

Kirill
18.12.2016
15:01:12

Daniel
18.12.2016
15:01:54
Повторное закрытие канала тоже вызывает панику, вы помните, да?

Phil
18.12.2016
15:02:30
В древние времена еще счетчик обработчиков делали. когда он обнуляется - диспетчер все закрывает

Daniel
18.12.2016
15:02:39
Вот да

Мерлин
18.12.2016
15:02:41

Daniel
18.12.2016
15:02:54
WaitGroup

Мерлин
18.12.2016
15:02:57
Например канал с пустыми структурами

Google

Антон
18.12.2016
15:02:57
это поможет, когда ты хочешь в обработчиках (которых несколько) получать сигнал "сдохни, мы сваливаем". А когда наоборот? когда штука, которая порождает горутины, должна получить от них сигнал, чтобы закрыть канал, из которого будут читать другие процессоры пайпа?

Kirill
18.12.2016
15:03:03

Антон
18.12.2016
15:04:03
ибо если канал не закрыть, range ch будет ждать вечно

Мерлин
18.12.2016
15:04:06

Daniel
18.12.2016
15:04:10

corpix
18.12.2016
15:04:11
несколько писателей
Да, тогда нужно использовать какой-то метод синхронизации, типа sync.WaitGroup наверное. Т.е. закрывать канал только тогда, когда все писатели закончили

Phil
18.12.2016
15:04:53

Slava
18.12.2016
15:05:08
Помогите с неймингом друзья
допустим есть некий пакет, который что-то делает для других пакетов
ну к примеру, генерирует флаги по структуре для flag, pflag, urfave/cli
как можно называть эти подпакеты с генераторами? gen/flag gen/pflag, плохи тем, что они совпадают с оригинальными при импорте. ВНИМАНИЕ, нужно не имя для пакета, а шаблон имени для подпакетов генераторов

Daniel
18.12.2016
15:05:53

Мерлин
18.12.2016
15:06:13
adapter_*

Slava
18.12.2016
15:06:55
слишком длинно
и андерскоры ужасные
зачем они вообще?

Phil
18.12.2016
15:07:23

Мерлин
18.12.2016
15:07:24
*gen

corpix
18.12.2016
15:07:34
А почему бы не просто gen* (слитно, например gencli, genpflag)?

Slava
18.12.2016
15:08:53
возможно, но выглядит как-то не по человечески

corpix
18.12.2016
15:09:43
Согласен, но мне что-то кажется что тут лучше и не придумаешь, если хочется сохранить смысловую связь с пакетом, для которого происходит генерация

Google

Мерлин
18.12.2016
15:09:52
Либо длинно, либо по-человечески

Slava
18.12.2016
16:31:13
можно например префикс или суфикс как название пакета использовать
типа github.com/herak/herak/flag_herak

Мерлин
18.12.2016
16:32:16
[last news]
Advanced Encoding and Decoding Techniques in Go

Denis
19.12.2016
18:23:02
Всем привет!
Ребят, кто какие инструменты использует для хранения данных?
Желательно с быстрым доступом к данным для чтения и обновления

Slava
19.12.2016
18:25:31
я файловую систему использую

Мерлин
19.12.2016
18:27:42

Kirill
19.12.2016
18:28:05

Denis
19.12.2016
18:29:03

Мерлин
19.12.2016
18:31:38

Ruslan
19.12.2016
18:32:30

Мерлин
19.12.2016
18:32:59
Аааа

Kirill
19.12.2016
18:33:24

Ruslan
19.12.2016
18:33:31

Kirill
19.12.2016
18:33:44
когда данные потерять нужно

Мерлин
19.12.2016
18:33:59

Google

Ruslan
19.12.2016
18:34:43

Slava
19.12.2016
18:39:16
а в постгресе фсинк на каждую транзакцию?

corpix
19.12.2016
18:39:43
когда данные потерять нужно
Данные потерять - вряд ли, но в монге есть различные развесёлости https://blog.meteor.com/mongodb-queries-dont-always-return-all-matching-documents-654b6594a827#.r1yvszwwl

Kirill
19.12.2016
18:44:09

Slava
19.12.2016
18:45:41
зато хорошая реклама для клиентов - "мы врядли потеряем ваши данные"

corpix
19.12.2016
18:45:49

Kirill
19.12.2016
18:46:07
есть еще лучше

Admin
ERROR: S client not available

Slava
19.12.2016
18:46:32
только не афира

Kirill
19.12.2016
18:46:52
"в любой момент может придти налоговая? ваше решение — mongodb!"

corpix
19.12.2016
18:47:19
Да, очень конструктивно, спасибо

Kirill
19.12.2016
18:47:50
Да, очень конструктивно, спасибо
ну а что конструктивного тебе сказать? я человек простой — если база не работает или теряет данные — я ее копать не буду. особенно монгу, которая сама по себе мне не нравится.
это как питон: нахрена мне копать то, почему он медленный, если он мне нахрен не нужен? :)

Slava
19.12.2016
18:50:07
@kirilldanshin проблема статей афира в том, что мало кто понимает о чём в них речь (мало кто знает, что такое линеаризация итд) Но почти все берут статью и кричат, как плохо работает то или иное решение

Kirill
19.12.2016
18:51:33

Никита
19.12.2016
18:52:02
были времена, когда монга считала репликацию выполненной, когда на тачку приходил первый байтик.
не, ну, а чё. могут

Slava
19.12.2016
18:52:56

Google

Kirill
19.12.2016
18:56:16

Леша
20.12.2016
08:13:19
Для хранения данных локально лучше sqlite использовать?

Мерлин
20.12.2016
08:40:04

Леша
20.12.2016
08:46:57
Существуют ли паттерны дизайна консольных программ?

Slach
20.12.2016
08:53:24
Некоторые умудряются mvc в cli засунуть я думаю можно исходники docker командлайн утилиты смотреть

Mars
20.12.2016
09:04:08

Леша
20.12.2016
09:05:24
Спасибо ребят

hdhog
20.12.2016
09:05:30
или ~/.config/<app>/.*

Mars
20.12.2016
12:09:33
Всем привет,
думаю это будет интересно тем кто делает ботов для телеграма
https://github.com/olebedev/go-tgbot
Конкурент @m0sth8 )

Slava
20.12.2016
12:14:06

Мерлин
20.12.2016
12:18:50

Mars
20.12.2016
12:19:11
Нет, он наоборот собирался что то дописывать, на сколько я знаю
Конкуренция - двигатель прогресса
В любом случае )

Мерлин
20.12.2016
12:19:44

Mars
20.12.2016
12:25:28
Очень интересно будут ли люди генерировать библиотеки для других платформ
Можно пробовать прямо через web - https://generator.swagger.io/?url=https://raw.githubusercontent.com/olebedev/go-tgbot/master/swagger.yaml#/

Vladimir
20.12.2016
12:28:39

Mars
20.12.2016
12:29:05

Slava
20.12.2016
12:30:19