Size: a a a

2020 July 28

A

Aleksandr in Go-go!
Andrei 🦉 Sergeev
более выразительно для команды, которая разработала и продолжает поддерживать сервис

и не нужно обобщать отдельные случаи говнокода с «библиотеками классов» на всю разработку на динамических языках, я и в го могу привести тонну примеров говнокода, начиная со старых версий стандартной библиотеки
Я говорю про очень распространённую практику своих оберточных библиотек классов и хочу показать, что это не спроста так получается. Дело тут не в говнокоде. А в различие восприятия людей что есть правильно в разных языках. Когда инструментов становится мало и стиль упрощается, то зачастую кроме местечкового неудобства это даёт в перспективе легче поддерживаемость.
источник

A

Aleksandr in Go-go!
А вообще кончится весь разговор всё равно одним и тем же - каждый язык лучше всего подходит для своих задач. А самый лучший язык, это тот на котором нравится писать в данный момент времени (по жизни мы их меняем).
источник

AS

Andrei 🦉 Sergeev in Go-go!
Aleksandr
Я говорю про очень распространённую практику своих оберточных библиотек классов и хочу показать, что это не спроста так получается. Дело тут не в говнокоде. А в различие восприятия людей что есть правильно в разных языках. Когда инструментов становится мало и стиль упрощается, то зачастую кроме местечкового неудобства это даёт в перспективе легче поддерживаемость.
в каждом проекте на го точно также есть куча написанных на коленке врапперов и прочих инструментов, которые точно также очень сильно зависят от восприятия людей
источник

AK

Anton Kucherov in Go-go!
Andrei 🦉 Sergeev
я тоже, но бизнес очень ценит возможность сделать почти готовый продукт с фантастически низкими на фоне го затратами
Я для себя пока что думаю примерно так:
- Если бизнес хочет сделать продукт как можно быстрее и дешевле, RoR, Node.js, Laravel whatever.
- Если MVP уже запущен наблюдается стабильный рост, и бизнесу важна стабильность и надежность, можно подумать о Go
источник

D

Dmitry in Go-go!
Anton Kucherov
Я для себя пока что думаю примерно так:
- Если бизнес хочет сделать продукт как можно быстрее и дешевле, RoR, Node.js, Laravel whatever.
- Если MVP уже запущен наблюдается стабильный рост, и бизнесу важна стабильность и надежность, можно подумать о Go
Это типа начать разбивать раздутый монолит на го-сервисы?
источник

A

Aleksandr in Go-go!
Anton Kucherov
Я для себя пока что думаю примерно так:
- Если бизнес хочет сделать продукт как можно быстрее и дешевле, RoR, Node.js, Laravel whatever.
- Если MVP уже запущен наблюдается стабильный рост, и бизнесу важна стабильность и надежность, можно подумать о Go
Если надо как можно быстрее, то правило простое - пишите на том, на чём умеете. Это вообще главное правило для любой команды, если она именно бизнесом занимается )
источник

DM

Dmitry M in Go-go!
Anton Kucherov
Я для себя пока что думаю примерно так:
- Если бизнес хочет сделать продукт как можно быстрее и дешевле, RoR, Node.js, Laravel whatever.
- Если MVP уже запущен наблюдается стабильный рост, и бизнесу важна стабильность и надежность, можно подумать о Go
А где в этой системе координат быстро клепать фичи?
источник

A

Aleksandr in Go-go!
Разницу в скорости разработки на go vs nodejs vs ror vs laravel, если прогеры ваши знают всё одинаково - примерно одинаковая, я бы сказал, что го у ноды выиграет почти всегда и во всём, рор и лара зависит от задач.

Но правило то проще, как я выше сказал, на чём лучше умеете, на том и пишите, если у вас архитектурно всё норм и разбито на сервисы, то переписать на другой язык будет не проблема. (Хотя это почти никогда не имеет смысла)
источник

VL

V L in Go-go!
Anton Kucherov
Я для себя пока что думаю примерно так:
- Если бизнес хочет сделать продукт как можно быстрее и дешевле, RoR, Node.js, Laravel whatever.
- Если MVP уже запущен наблюдается стабильный рост, и бизнесу важна стабильность и надежность, можно подумать о Go
это что, инструмент можно менять во время развития продукта? 🙂
источник

МЮ

Макс Юю in Go-go!
подскажите пожалуйста
можно ли как то получить raw ответ от внешнего api
в частности интересуют заголовки

проблема в следующем внешний сервис выставляет 2 заголовка
set-cookie
и при чтении ответа я вижу только поледний
источник

DP

Daniel Podolsky in Go-go!
Вопрос не ясен
источник

KD

Kirill D in Go-go!
Макс Юю
подскажите пожалуйста
можно ли как то получить raw ответ от внешнего api
в частности интересуют заголовки

проблема в следующем внешний сервис выставляет 2 заголовка
set-cookie
и при чтении ответа я вижу только поледний
Не надо raw
источник

KD

Kirill D in Go-go!
Daniel Podolsky
Вопрос не ясен
У чела проблема с вычитыванием заголовков/кук
источник

МЮ

Макс Юю in Go-go!
alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"
cache-control: private, max-age=0
content-encoding: br
content-type: text/html; charset=UTF-8
date: Tue, 08 Jan 2019 06:19:47 GMT
expires: -1
server: gws
set-cookie: 1P_JAR=2019-01-08-06; expires=Thu, 07-Feb-2019 06:19:47 GMT; path=/; domain=.google.com
set-cookie: SIDCC=ABtHo-HHNcja-cEEFEUXtBmLOdql4RTVMCWKGApEFFb8lWSAqaTF_fi0gDLoWaCzH3ogvEofah0; expires=Mon, 08-Apr-2019 06:19:47 GMT; path=/; domain=.google.com; priority=high
status: 200


как вычитать оба значения set-cookie
источник

с

сонная википедия... in Go-go!
а как вы достаете-то?
источник

KD

Kirill D in Go-go!
Макс Юю
alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"
cache-control: private, max-age=0
content-encoding: br
content-type: text/html; charset=UTF-8
date: Tue, 08 Jan 2019 06:19:47 GMT
expires: -1
server: gws
set-cookie: 1P_JAR=2019-01-08-06; expires=Thu, 07-Feb-2019 06:19:47 GMT; path=/; domain=.google.com
set-cookie: SIDCC=ABtHo-HHNcja-cEEFEUXtBmLOdql4RTVMCWKGApEFFb8lWSAqaTF_fi0gDLoWaCzH3ogvEofah0; expires=Mon, 08-Apr-2019 06:19:47 GMT; path=/; domain=.google.com; priority=high
status: 200


как вычитать оба значения set-cookie
Просто обойди кукисы, там должно быть всё помёржено
источник

МЮ

Макс Юю in Go-go!
сонная википедия
а как вы достаете-то?
  resp, err := d.HTTPClient.Do(req)
 resp.Cookies()
источник

VM

Vladislav Milenin in Go-go!
хедеры это ведь map[string][]string, разве эти две строки не два элемента массива?
источник

Н

Никита in Go-go!
Andrei 🦉 Sergeev
в бизнес логике гораздо важнее как можно более точно выразить предметную область прямо в коде
больше сахара => можно больше выразить средствами языка и спрятать всю техническую начинку типа работы с типами под капот, проще говоря написать свой dsl => лучшая читаемость у бизнес логики
Ее выражение все будет ограничено техническими проблемами. Вот у вас пост, и в нем комментарии. Если мы хотим выразить домен как можно больше в коде, то наверняка будет что-то типа

type Post struct {
 Id int
 Comments []Comment
}


Только что этот код значит? Что каждый раз, когда мы подтянем пост, у нас сразу подтянутся комментарии? А сколько их подтянется? Мы же не можем подтянуть все. Да и не нужны нам каждый раз комментарии, в основном только для отображения поста. И как у нас сохраняются комментарии? Пушим просто в поле Comments и оно сохранит посты с комментарием? Скорее всего нет. В общем, оно только внешне отображает домен, но оно не отображает технический аспект никак, который мы должны учитывать
источник

МЮ

Макс Юю in Go-go!
Vladislav Milenin
хедеры это ведь map[string][]string, разве эти две строки не два элемента массива?
нет ключом будет set-cookie  и получить можно будет только последнюю запись
источник