Size: a a a

2020 July 02

МП

Мимо Проходящий... in Go-go!
Zver
https://play.golang.org/p/HvUVpdKfzzh
Все работает. В обертке править даже ничего не пришлось.
не работает. дэдлок https://play.golang.org/p/VGs6j-G7S2C
источник

AK

Anton Kucherov in Go-go!
Daniel Podolsky
очень трудно заставить себя мыслить о предметной области в терминах go

почему - открытый вопрос
А мне вот любо, дорого. Не идеально, но свежее. Хотя на то чтобы отвыкнуть от мышления иерархиями наследования, понадобилось некоторое время да.
источник

D

Den in Go-go!
Daniel Podolsky
потому, что оценить скорость вариантов на этапе старта разработки невозможно. и не нужно
зато потом начнётся
версия 1.3 софтики - "ой чё-та сервер валится", "ой соединения не держатся", "ой надо другую библиотеку брать"
источник

RF

Roman Fedyashov in Go-go!
Daniel Podolsky
потому, что оценить скорость вариантов на этапе старта разработки невозможно. и не нужно
Например есть один проект, где люди не стали применять оптимизацию преждевременную и теперь для апдейта 10 строк выбирается из бд 2 миллиона, меняются значения, удаляются старые и заново всё вставляется
источник

DP

Daniel Podolsky in Go-go!
Roman Fedyashov
Например есть один проект, где люди не стали применять оптимизацию преждевременную и теперь для апдейта 10 строк выбирается из бд 2 миллиона, меняются значения, удаляются старые и заново всё вставляется
думаешь, “оптимизация” на старте помогла бы этого избежать?
источник

ЕА

Егор Андреевич... in Go-go!
Daniel Podolsky
это очень вредная статья, по факту

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

но теперь нубасы решили, что это специфическая ситуация имеет к ним отношение. не имеет.
на реальном проекте примерно на 30к клиентах онлайн библиотека из этой статьи (gobwas) лучше той же гориллы по памяти (уже относительно долгое время запущено 2 инстанса, 1 на горилле, другой на гобвасе)
источник

AK

Anton Kucherov in Go-go!
Den
зато потом начнётся
версия 1.3 софтики - "ой чё-та сервер валится", "ой соединения не держатся", "ой надо другую библиотеку брать"
Пока вы не вышли на рынок и у вас не появились реальные пользователи, вы занимаетесь преждевременной оптимизацией. С чего вы вообще взяли что они к вам придут? Почему бы не подойти к вопросу прагматично и решать проблемы по мере их поступления?
источник

RF

Roman Fedyashov in Go-go!
Daniel Podolsky
думаешь, “оптимизация” на старте помогла бы этого избежать?
Вполне) если бы сразу сделали апдейт только тех, которые меняются
источник

АП

Александр Попов... in Go-go!
Anton Kucherov
Пока вы не вышли на рынок и у вас не появились реальные пользователи, вы занимаетесь преждевременной оптимизацией. С чего вы вообще взяли что они к вам придут? Почему бы не подойти к вопросу прагматично и решать проблемы по мере их поступления?
когда упал продакшен в 2 ночи?
источник

@

@mr_tron in Go-go!
Daniel Podolsky
потому, что оценить скорость вариантов на этапе старта разработки невозможно. и не нужно
ну такое. по бенчмаркам мы знаем что фастхттп и зеролог быстрее чем gin и logrus. врядли они окажутся медленнее. да - может они дадут всего 5-10% производительности, но хуже то не будет.
или например у меня есть либа для base58 кодирования. она в 8 раз быстрее чем наивная реализация  в самой популярной либе через big.Int
почему бы не взять её по-дефолту когда выбираешь пакет на pkg.go.dev ?
источник

МП

Мимо Проходящий... in Go-go!
Roman Fedyashov
Например есть один проект, где люди не стали применять оптимизацию преждевременную и теперь для апдейта 10 строк выбирается из бд 2 миллиона, меняются значения, удаляются старые и заново всё вставляется
скорее просто накосячили если это про strpad
источник

DP

Daniel Podolsky in Go-go!
Roman Fedyashov
Вполне) если бы сразу сделали апдейт только тех, которые меняются
и сейчас ведь не поздно, правда?
источник

AK

Anton Kucherov in Go-go!
Александр Попов
когда упал продакшен в 2 ночи?
Нет, когда метрики показывают стабильный тренд и вы уже видите через сколько месяцев примерно этот продакшен может упасть.
источник

S

Sebor in Go-go!
Roman Fedyashov
Например есть один проект, где люди не стали применять оптимизацию преждевременную и теперь для апдейта 10 строк выбирается из бд 2 миллиона, меняются значения, удаляются старые и заново всё вставляется
Так может они просто настолько криво с самого начала написали
источник

D

Den in Go-go!
Anton Kucherov
Пока вы не вышли на рынок и у вас не появились реальные пользователи, вы занимаетесь преждевременной оптимизацией. С чего вы вообще взяли что они к вам придут? Почему бы не подойти к вопросу прагматично и решать проблемы по мере их поступления?
во-первых это опенсорс проект, во-вторых пользователи уже есть, в третьих сомневаюсь что кто-то ещё будет фиксить сервер кроме меня, а жалобы будут и много
источник

RF

Roman Fedyashov in Go-go!
Daniel Podolsky
и сейчас ведь не поздно, правда?
Поздно, кстати) 1 миллион строк в таком стиле
источник

АП

Александр Попов... in Go-go!
я тут сразу вспоминаю такую ныне покойную игру warhamme online, они тоже решали задачи по мере поступления - не получилось, cервера падали и лагали (там примеров дохрена просто таких)
источник

AK

Anton Kucherov in Go-go!
Den
во-первых это опенсорс проект, во-вторых пользователи уже есть, в третьих сомневаюсь что кто-то ещё будет фиксить сервер кроме меня, а жалобы будут и много
Ну окей, берите Go, пишите, в чем проблема то?
источник

DP

Daniel Podolsky in Go-go!
Roman Fedyashov
Поздно, кстати) 1 миллион строк в таком стиле
ой, перестань

если оно такое - они в архитектуре облажались, а не в “оптимизации”
источник

D

Den in Go-go!
Anton Kucherov
Ну окей, берите Go, пишите, в чем проблема то?
уже объяснял, гибкость нужна
источник