@proGO

Страница 1519 из 1674
Alexander
16.06.2018
18:28:49
оно здесь особо и не нужно по сути
Конечно, когда стейтлес апишку пишешь оно не нужно.

А для остального го как бы и не годен.

Google
Roman
16.06.2018
18:29:23
Alexander
16.06.2018
18:30:55
холивар тригер детектед
Меня самого чувак затригерил своим вопросом про обсервбл. У го есть своя (узкая) ниша и реактивное программирование в нее не вписывается.

причём тут stateless?
Потому-что реактивное программирование это про сложную работу с состоянием.

хм?
Го работает с асинхронным (неблокирующим) IO. При этом когда горутина делает IO вызов го скедулер укладывает её спать.

Чтобы это все работало под капотом нужен евентлуп.

Roman
16.06.2018
18:37:14
да ладно.. просто попробуйте))

Demuz
16.06.2018
18:40:05
да ладно.. просто попробуйте))
Ххех. Может и попробую. Повешу ивент листенеры на переменную, которую нужно мониторить и при обновлении этой переменной, пусть везде высвечивается она автоматически обновленная. Оххх, жесть. Наверное это все таки для рендеринга подходит, чем для консоли. Но отображение в консоли и есть своего рода рендеринг.

Roman
16.06.2018
18:42:28
Demuz
16.06.2018
18:43:54
?

Roman
16.06.2018
18:44:38
?
ну а что?))

Kirill
16.06.2018
19:03:43
Народ, у меня объявление: Каждый месяц я буду разыгрывать по от $50 до $100 за: - самую популярную статью об https://github.com/gramework/gramework на таких платформах, как medium, habr.com, digitalocean (если вы хотите опубликовать статью на другой платформе вам нужно написать мне, чтобы я сначала проверил, можно ли автоматически проверить всё нужное для нахождения самой популярной статьи). Автор самой популярной статьи месяца получит деньги. ВНИМАНИЕ: статьи, которые просто копируют примеры из ридми проекта и не дают новых знаний о grarmework читателям, не участвуют в акции. - самого активного контрибьютора. Я добавлю специальные баллы в названия тикетов и контрибьютор, собравший наибольшее количество баллов (при этом не меньше 4), получит деньги. Вы можете создавать новые тикеты с вашими пожеланиями, я буду ставить баллы на них. Я сам не участвую в этом рейтинге и не считаю свои же баллы.

Panda
16.06.2018
19:05:45
не зря говорят что гитхаб это инстаграмм

Kirill
16.06.2018
19:10:50
Google
Dmitri
16.06.2018
19:21:47
Нет, чувак серьезен

[Anonymous]
16.06.2018
19:35:50
Хай всем

Roman
16.06.2018
19:36:02
Хай всем
хайль)

Kaspar
16.06.2018
19:47:27


1nt3rrupt3r
16.06.2018
19:49:44
в го работа с массивами goroutine-safe?)

Vasily Romanov
16.06.2018
19:50:06
нет

1nt3rrupt3r
16.06.2018
19:50:28
ых

Vasily Romanov
16.06.2018
19:50:30
любое изменение - не goroutine-safe

1nt3rrupt3r
16.06.2018
19:51:01
любое изменение - не goroutine-safe
с числами же вроде как-то можно, разве нет?

Vasily Romanov
16.06.2018
19:51:28
с числами тоже рейсы возможны

1nt3rrupt3r
16.06.2018
19:51:30
лан, спасибо всё равно

Vasily Romanov
16.06.2018
19:51:34
если вы изменяете данные

если только читаете - то никаких проблем нету

Alexandr
16.06.2018
19:51:46
@rvasily привет, это не ты случайно роликах про обучение го снимался? )

Daniel
16.06.2018
19:51:55
Goroutine-safe только каналы, atomic

Alexandr
16.06.2018
19:52:17
да, я
респект, ролики агонь!

Daniel
16.06.2018
19:52:35
Уже об sync.Mutex можно споткнуться

Google
1nt3rrupt3r
16.06.2018
19:54:17
Goroutine-safe только каналы, atomic
я писал свой thread-pool и мне надо было асинхронно добавить в очередь много задач, а потом ждать, пока все задачи выполнятся, как мне добавлять задачи, если каналы блокируют?

Vasily Romanov
16.06.2018
19:54:51
буферизированные каналы?

Daniel
16.06.2018
19:54:55
Буферизованные каналы

1nt3rrupt3r
16.06.2018
19:58:50
Буферизованные каналы
но они же не могут быть бесконечно большими?

Vasily Romanov
16.06.2018
19:59:06
не могут

1nt3rrupt3r
16.06.2018
19:59:11
точнее расширяться

а я не могу заранее знать количество задач

Vasily Romanov
16.06.2018
19:59:32
они вообще не могут расширяться, это не слайс

нет проблемы держать канал большого с большим буфером

особенно если вы туда передаёте указатель на структуру, например

так, канал на 10к указателей будет в памяти примерно 80 кб занимать

1nt3rrupt3r
16.06.2018
20:01:42
а если я буду добавлять задачи в другой горутине - пул может запуститься и отключиться раньше добавления какой-либо задачи

Vasily Romanov
16.06.2018
20:01:46
конечно у вас может прилететь и миллион, но тут уже думать - может внешнее хранилище

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

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

1nt3rrupt3r
16.06.2018
20:02:45
пул запускается и отключается асинхронно

Vasily Romanov
16.06.2018
20:03:08
зачем?

1nt3rrupt3r
16.06.2018
20:03:20
лучше просто сделать его синхронным?

зачем?
я заядлый nodeист

Vasily Romanov
16.06.2018
20:03:35
что значит "сделать синхронно"?

Google
1nt3rrupt3r
16.06.2018
20:04:04
ожидать выполнения всех задач после запуска

Vasily Romanov
16.06.2018
20:04:09
запускаете пул и он работает, нет задач - ждёт

1nt3rrupt3r
16.06.2018
20:04:22
и останавливать в горутине добавления задач

наверное я просто говнокодер

Vasily Romanov
16.06.2018
20:04:47
можно пошаманить чтобы на одном пуле выполнялись разные группы задач

Vadim
16.06.2018
20:04:56
Привет, у меня protoc перестал добавлять // Server API for service и // Client API for service

Vasily Romanov
16.06.2018
20:04:57
и дожидаться вы будете именно своей группы

Admin
ERROR: S client not available

Vasily Romanov
16.06.2018
20:05:32
наверное я просто говнокодер
в го просто механика чуть-чуть другая, чем в ноде

Vadim
16.06.2018
20:05:42
Сейчас код генерируется просто без них. Я хз что делать

1nt3rrupt3r
16.06.2018
20:06:04
лан, спасибо за помощь

Vasily Romanov
16.06.2018
20:06:21
Сейчас код генерируется просто без них. Я хз что делать
grpc? вы не забыли случаем опцию для генерации именно грпц-шнйо обвязки указать?

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

Roman
16.06.2018
20:07:53
grpc? вы не забыли случаем опцию для генерации именно грпц-шнйо обвязки указать?
ребят, а что все так горят gRPC'шкой? помимо типизации есть какие-то значительные преимущества перед REST?

Vasily Romanov
16.06.2018
20:09:00
Vadim
16.06.2018
20:09:14
да

Блин, спасибо огромное. Сейчас час тупо смотрел на код, не понимал что происходит

Vasily Romanov
16.06.2018
20:10:09
ребят, а что все так горят gRPC'шкой? помимо типизации есть какие-то значительные преимущества перед REST?
1. бинарный протокол, как формата, так и транспорта( http2 ) 2. за счет http2 оно в 1 соединение много запросов шлёт 3. генерация клиента и сервера для большого количества языков

Google
Vasily Romanov
16.06.2018
20:10:59
а, да, ещё генерация структур тоже дял всех языков

Roman
16.06.2018
20:11:09
Vasily Romanov
16.06.2018
20:11:21
в итоге вы меньше времени уделяете именно протоколу, а больше именно вашей бизнес-логике

Roman
16.06.2018
20:12:36
це-ж вроде как Thrift? т.е. есть IDL?

Vasily Romanov
16.06.2018
20:14:44
да

но Thrift от фейсбука, гуглу не комильфо было его использовать :)

Pawel
16.06.2018
20:18:42
Уже об sync.Mutex можно споткнуться
Расскажите пожалуйста почему RWMutex безопаснее Mutex

Vasily Romanov
16.06.2018
20:19:04
он не безопаснее

просто оптимальнее для чтения

Roman
16.06.2018
20:20:10
Расскажите пожалуйста почему RWMutex безопаснее Mutex
безопаснее? никак не безопаснее, суть в том, RWMutex позволяет не блокировать одновременные чтения, это shared и exclusive locking, почитайте

Pawel
16.06.2018
20:20:57
я текст выше не так понял, сорян

Roman
16.06.2018
21:01:18
я бы конечно про контракт рассказал * gql кхм *.. но не буду)

Daniel
16.06.2018
22:19:23
Расскажите пожалуйста почему RWMutex безопаснее Mutex
он не безопаснее, он просто позволяет взять больше одного RLock параллельно

Alexander
17.06.2018
05:39:46
Расскажите пожалуйста почему RWMutex безопаснее Mutex
В Go он скорее опаснее, чем безопаснее, ибо язык не сможет гарантировать, что когда ты взял лок на чтение ты не будешь туда писать.

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