@gogolang

Страница 1320 из 1630
Daniel
28.08.2018
23:16:40
а вот с этим плохо

по большей части этот код все же генерируется

Мерлин
28.08.2018
23:17:34
по большей части все же нет.
ну пока это микросервис уровне круда — нет

Google
Мерлин
28.08.2018
23:18:12
по большей части этот код все же генерируется
он должен генерироваться это подход здорового человека с большим количеством времени

Daniel
28.08.2018
23:18:18
если глянуть на тот код, который генерирует protobuf - все недостатки go как языка сразу видны

Daniel
28.08.2018
23:18:29
но радость в том, что можно и не глядеть :)

Мерлин
28.08.2018
23:21:54
ИМХО в го нету дженериков-на-кодогенераторах и вообще нормальной общепринятой инфраструктуры кодогенераторов потому что, давайте согласимся, при всей офигенности изкоробочных пакетов парсинга кода, писать кодогенераторы довольно сложно, громоздко и ненадёжно а какого-то эталонного тулинга для этого нет

ну кроме Stringer )

Daniel
28.08.2018
23:28:11
я знаю, как написать генерики на кодогенераторе

я написал несколько кодогенераторов в своей жизни, как из yaml, так и из кода с тегами

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

Pawel
29.08.2018
04:17:36
пока они не нужны вообще — то конечно не нужны и в генерализованном типе вы их не видите, потому что на Go их никто не пишет почти, кроме некоторых фанатиков а как только нужны какие-нибудь графы направленные, где у тебя ноды могут быть ещё и разного типа, так у тебя Go превращается в мешанину кастов, тайп свитчей и пустых интерфейсов да и просто можно поглядеть на такие прекрасные конструкции как map[string]interface{} на каждом месте, где надо работать с динамическими данными, и которые взрывается потому что где-то в глубине вместо int кто-то положил json.Number и ты не поймёшь в чём дело пока не пересмотришь большую часть кода приложения глазами а писать самому под конкретный тип бывает нетривиальной задачей в случае некоторых алгоритмов я понимаю что для CRUD это не нужно, но невозможность писать такие вещи просто и приятно как раз и ограничивает Go в CRUD
вот как раз таки там где interface{} имеет место быть надо писать тесты, проверяющие корректность кастов. И ошибок таких быть не должно

Мерлин
29.08.2018
04:19:41
вот как раз таки там где interface{} имеет место быть надо писать тесты, проверяющие корректность кастов. И ошибок таких быть не должно
надо делать так, как делать надо, и не надо делать так, как не надо поэтому сильная и статическая типизация не нужна )

Pawel
29.08.2018
04:21:08
надо делать так, как делать надо, и не надо делать так, как не надо поэтому сильная и статическая типизация не нужна )
я когда взял себе труд тесты писать, проблемы не правильных кастов interface{} ушли

Мерлин
29.08.2018
04:22:05
я когда взял себе труд тесты писать, проблемы не правильных кастов interface{} ушли
хм заменить все эти аргументы про interface{} на js или python и никакой разницы не будет вообще

Google
Мерлин
29.08.2018
04:23:07
собственно ассемблер тоже прекрасный язык, если у тебя есть время на пару месяцев трассировки

Мерлин
29.08.2018
04:23:39
Типизация говоришь не нужна
конечно есть же тесты

Pawel
29.08.2018
04:24:14
хм заменить все эти аргументы про interface{} на js или python и никакой разницы не будет вообще
ну собственно да. В js/питоне без тестов, заминяющих типизацию, никуда

Nick
29.08.2018
04:24:31
Зачем нам самолеты, если есть велосипеды

Pawel
29.08.2018
04:24:43
просто оно не так часто надо

Мерлин
29.08.2018
04:24:58
скоро мы научим писать компилятор тесты за нас, чтобы он проверял что мы пихаем в interface{}

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

Мерлин
29.08.2018
04:25:40
смотрите var ints = make(Set<int>)

удобно!

не то что ваши дженерики

Pawel
29.08.2018
04:26:10
ну и для своего обощённого кода я научился таки писать кодогенераторы, сбасибо Александру Валялкину с его quicktemplate. Оч полезный скил

Алексей
29.08.2018
05:56:36
Наконец-то более-менее нормальный проброс ошибок будет!!!!

Это куда важнее каких-то там дженериков

Many people have concluded (incorrectly) that the Go team’s position is “Go will never have generics.” Да и дженерики вдруг оказались не так уж ненужны.

Vladimir
29.08.2018
06:50:51
Michael
29.08.2018
06:56:14
Ссылки на статьи выше есть

Vladimir
29.08.2018
07:07:04
Ну и хорошо

Google
Alexander
29.08.2018
07:11:42
Ну что, все уже переобулись?

Алексей
29.08.2018
08:17:05
Сейчас ожидаем прихода возмущённого @bertolu4i Который будет возмущаться по поводу так нелюбимых им дженериков. И я надеюсь, что особого возмущения будут удостоены контракты, которые так похожи на тайпклассы богомерзкого хаскеля.

Andrei
29.08.2018
08:48:40
ну все, смена парадигмы. теперь похоже генерики нужны. та же история что с менеджером пакетов.
воу, кажется курирующему менеджеру в гугле прилетело по шапке и он таки заставил отцов основателей языка посмотреть в сторону нужд комьюнити

глядишь, так лет через 5 го можно будет использовать не только для простеньких CRUD’ов

Alexander
29.08.2018
08:49:44
чот толсто уже, коллеги

Andrei
29.08.2018
08:50:52
чот толсто уже, коллеги
наоборот, я рад, что дело сдвигается с мертвой точки

Artem
29.08.2018
09:38:58
а когда vgo юзаешь, он бинаркики после vgo install куда пихает?

Kirill
29.08.2018
09:40:54
конечно же C:\

Vladimir
29.08.2018
09:42:38
народ, а может кто статью на хабр по vgo сделает? прям по доке

Kirill
29.08.2018
09:44:48
а когда vgo юзаешь, он бинаркики после vgo install куда пихает?
https://github.com/golang/vgo/blob/045754d578a9e57344a06320e4dadfdec1da6891/vendor/cmd/go/testdata/script/mod_nomod.txt#L12

Aleksandr
29.08.2018
09:59:08
народ, а может кто статью на хабр по vgo сделает? прям по доке
по go modules есть статья на хабре например. наслаждайся

Zver
29.08.2018
10:01:50
А быть со вложенными пакетами в модулях?

Aleksandr
29.08.2018
10:02:17
GoodMoodDealler
29.08.2018
10:02:35
Можете что-нибудь доходчивое по мокам скинуть?

А то я чет не могу врубиться

Vladimir
29.08.2018
10:08:33
по go modules есть статья на хабре например. наслаждайся
Она полностью соответствует реализованному, не в курсе?

Andrei
29.08.2018
10:09:31
Можете что-нибудь доходчивое по мокам скинуть?
в чем затык? моки довольно просты, хоть и ОЧЕНЬ трудоемки в написании

Google
Andrei
29.08.2018
10:09:53
сразу советую использовать моки на кодогенерации, а не рефлексии

GoodMoodDealler
29.08.2018
10:10:01
Я смотрел простые варианты с интерфейсами

Admin
ERROR: S client not available

Vadim
29.08.2018
10:20:39
А я не хочу дженерики(

Алексей
29.08.2018
10:22:55
а вот и первые дженерикохейтеры появились

Tigran
29.08.2018
10:29:54
да тут полчата дженерикохейтеров

Алексей
29.08.2018
10:30:48
да тут полчата дженерикохейтеров
скорее процентов 90 даже

Антон
29.08.2018
10:30:51
Добрый день! Подскажите, пожалуйста, как наилучшим образом оптимизировать по времени вот такой вложенный цикл? https://play.golang.org/p/-T0vu26110C

Olzhas
29.08.2018
10:31:04
не умеют в дженерики

Roman
29.08.2018
10:35:08
посоветуйте какую -нибудь не тяжелую персистентную очередь

получаем в gin json задания , и складываем в очередь....второй воркер ходит туда и отправляет на железку

Daniel
29.08.2018
10:36:37
а вот и первые дженерикохейтеры появились
коллеги, вы задолбали предлагаю следующую схему взаимодействия: 1. вы пишете статью "как я использовал бы генерики, если бы они были в go" 2. вы ее где-нибудь публикуете. да хоть на гитхабе. 3. мы ее обсуждаем, возможно устраиваем голосование "хорошая статья или кг/ам" 4. пока такая статья не обсуждена - я выдаю сутки RO каждому, кто захочет пукнуть в стиле "а в go нет генериков"

Roman
29.08.2018
10:36:46
интенсивность заданий до 3 в секунду

Daniel
29.08.2018
10:37:14
я не задавал вопроса, коллега

Alexander
29.08.2018
10:38:27
интенсивность заданий до 3 в секунду
а условный redis чем не подошел? или нативное надо?

Roman
29.08.2018
10:38:51
давно не щупал редис, он умеет сохраняться? у нас критична потеря заданий

Алексей
29.08.2018
10:39:05
Хотя вообще то в черновике есть довольно неплохие примеры использования дженериков

Google
Антон
29.08.2018
10:39:54
а зачем тут оптимизация?
по тем или иным причинам он отрабатывает у меня около 600ms, что дофига)

Daniel
29.08.2018
10:40:12
так а на что он время тратит вы выяснили?

Roman
29.08.2018
10:41:06
ок.Спасибо гляну

Tigran
29.08.2018
10:41:15
Админ-самодур - горе для чата.

Daniel
29.08.2018
10:42:01
Админ-самодур - горе для чата.
а за публичное обсуждение действий модератора у нас бан. хотите поговорить про самодурство - приходите в личку

Andrei
29.08.2018
10:42:08
давно не щупал редис, он умеет сохраняться? у нас критична потеря заданий
редис раз в n секунд форкает себя и дампит текущее состояние на диск, так что потеря сообщений вполне себе возможна

Daniel
29.08.2018
10:42:25
легко возможна

Антон
29.08.2018
10:42:33
так а на что он время тратит вы выяснили?
я предположил, что на количество операций

Daniel
29.08.2018
10:43:01
родина дала вам профайлер, прометеус дала :)

Andrei
29.08.2018
10:43:04
ок.Спасибо гляну
советую глянуть rabbitmq или kafka

Страница 1320 из 1630