
Dmitri
29.05.2018
06:09:08
ну, какбэ, заради апишки из 3-4 методов тащить за собой потроха фреймворка, из которых тебе не нужно 80%...
так себе удовольствие, имхо

Dmitri
29.05.2018
07:09:53
Что содержит последнее число при панике? Адрес?
main.main()
/.../panic.go:12 +0x47

Subbotin
29.05.2018
07:18:35

Google

Dmitri
29.05.2018
07:21:55
Да ну какой-нить эхо весит мало, а работать удобнее
ну ладно, насчёт "какого-нибудь эхо", пожалуй, соглашусь. Его юзать можно. Но он сам настаивает на том, что он микрофреймворк, и не тащит за собой свои логи, свой orm и т.д. и т.п. А вот тот же beego тащит, им увлекаться не стоит. При этом для неофита, вероятно, стоит сначала сделать руками ровно все то, что делает echo, чтобы иметь понимание того, что там происходит, а уже потом принимать решение о том, какие фреймворки в проект тащить.
но это имхо
просто когда про фреймворки спрашивают, обычно ищут "что-то вроде laravel или ror, только для Go". Вот те, которые себя позиционируют как "laravel на Go", имхо, тащить в проект из 3-4 методов в апи, не стоит
на выходе рискуешь геморроя с хотелкой вроде "а не прикрутить ли нам сквозные логи" огрести, по сложности сравнимого с проектом целиком.
ну или начнешь костылями обмазываться

Mr.
29.05.2018
10:57:23
#зависимости #dig
https://m.habr.com/company/funcorp/blog/372199/

Crypt
29.05.2018
11:19:55

Den
29.05.2018
12:41:38
Гоферы, и все кому интересно, скоро, 2 июня в Харькове будет проходить Go митап
Приходите, будем рады вас видеть ! ?
событие на facebook : https://www.facebook.com/events/1809296232498435/
регистрация и билеты : https://app.softserveinc.com/apply/register/en/khgomeetup?utm_source=ID283_idr1192

Sergey
29.05.2018
12:42:38

Roman
29.05.2018
13:01:02

Pawel
29.05.2018
13:26:40
Как в main-е на самом верху отловить все паники всех горутин?

Kirill
29.05.2018
13:27:06
Никак?

Pawel
29.05.2018
13:27:32
и как быть? отлавливать в каждой по отдельности?

Google

Sergey
29.05.2018
13:27:39
только в горутинах

Kirill
29.05.2018
13:27:45
И платить за все дефёры

Roman
29.05.2018
13:28:02

Pawel
29.05.2018
13:29:11

Roman
29.05.2018
13:30:45
на крайняк:
func main () {
func() (err error) {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
}
}()
// Application code goes here
}()
}
но я бы перенёс запуск приложения в отдельную функцию в которой ловил бы и перезапускал если оно требуется

Kirill
29.05.2018
13:32:32

Roman
29.05.2018
13:32:45

Kirill
29.05.2018
13:33:28
и то!
И ничего это не даст, кроме того, что при os.Exit() вызовется дефёр

Roman
29.05.2018
13:34:15
вопрос же в том как словить панику глобально

Pawel
29.05.2018
13:37:57

Kirill
29.05.2018
13:39:26

Pawel
29.05.2018
13:39:35
вот запускать ПРОЦЕСС из другого процесса и перехватывать его std out и парсить в нём панику - вот это сила!

Roman
29.05.2018
13:40:02
aaa, пардон, я неправильно прочёл, my bad, имеется ввиду не из главной горутины а всех в принципе.. ну да, при запуске каждой - defer

Kirill
29.05.2018
13:40:19
Fork bomb for the win

Mike
29.05.2018
14:40:22

Artem
29.05.2018
14:44:09

Alexander
29.05.2018
14:51:47

Google

Dmitri
29.05.2018
15:23:16

Roman
29.05.2018
15:45:59

Dmitri
29.05.2018
16:01:28

Roman
29.05.2018
16:03:03
ну, какбэ, не уверен, что оно тут нужно
it depends.. по сути мир переходит уже на API + WebApp, но люди из "PHP мира" всё пилят свои приложения в стиле server-side-rendered, вот им то как-раз такое и нужно
так-что да, сомневаюсь что оно прям нужно в Go

Bogdan (SirEdvin)
29.05.2018
16:04:44
Иронично, что server-side-rendered в первом типе приложений все равно приходится прикручивать)

Dmitri
29.05.2018
16:07:31
ну вот, собственно, то, что на бэке от фреймворка, обычно, нужно - оно и в стандартной библиотеке го более-менее удобоваримо. Так что непонятно, нафига фреймворк пилить. И даже если server-side нужен, шаблонизатор - вполне себе.
а полновесные MVC-фреймворки... ну, какбэ, и на go есть, только от них геморроя вполне можно получить
а серьезная контора, со всеми этими вашими архитектурами и оптимизациями, гошный MVC-фреймворк пилить не будет, т.к. понимает, что для таких вещей есть более другие языки
а то, что пилят, "потому что могут" - пилят энтузиасты-одиночки, и оно, как правило, в проде "не очень" себя ведет
тем более, собери в кучу полсотни-сотню толковых гоферов с опытом, заплати им денег и попроси конкретно для тебя "полновесный MVC-фреймворк все-искаропки" запилить...
передерутся нафиг

Dmitri
29.05.2018
16:11:51
если не на этапе "общей архитектуры", то уж при выборе логгера/orm'а - точно посрутся насмерть
потом будет война за шаблонизатор и роутер

Subbotin
29.05.2018
16:13:36

Dmitri
29.05.2018
16:13:40
в конечном итоге ты получишь за свои кровные (мы помним, ты им заплатил) штук 10 "полновесных фреймворков", пару "модульных систем" и с полсотни "решений на микросервисной архитектуре" - все это различной степени готовности и упоротости

Bogdan (SirEdvin)
29.05.2018
16:14:18
Или гоферы откровенно плохие программисты, или у вас где-то допущенна логическая ошибка в управлении проектом. Надеюсь на второе)
Но если это full-featured, то там все свое обычно пишут, таки да.

Dmitri
29.05.2018
16:15:27
вот "full-featured" на го я уже видел, пока что не в восторге

Google

Roman
29.05.2018
16:16:46

Dmitri
29.05.2018
16:17:12
просто возьми на тех же условиях спецов по asp.net - они тебе кучей будут продавать примерно одно и то же, у них в принципе, экосистема более монолитна

Bogdan (SirEdvin)
29.05.2018
16:17:35
первом типе?
Ну, для API + WebApp вам все равно нужен server-side-render как минимум для всяких скрапперов от поисковиков и читалок.

Dmitri
29.05.2018
16:19:07
а го - он либо если хочется "попроще, но надежно, как трактор", либо если хочется "странного"

Roman
29.05.2018
16:19:11

Bogdan (SirEdvin)
29.05.2018
16:20:15
Зная, какие веселые люди пишут nodejs, я слабо верю, что оно так просто работает в духе "подключить одной строкой". Предполагаю, что там надо таки веселостей нахватать.

Admin
ERROR: S client not available

Roman
29.05.2018
16:21:17
уже даже фреймы чисто для SSR имеются такие как Nuxt.js на основе Vue.js
суть в том, что мир переходит на WebApp + API и Go из коробки отлично для API подходит и без всяких фреймов аля Laravel и всяких говно-CMS
зачастую просто берёшь шаблон приложения уже со всеми настройками и поверх него пишешь, ибо самостоятельно конфиги писать конечно полная жопа

Pawel
29.05.2018
19:09:38

Mike
29.05.2018
19:15:11

Pawel
29.05.2018
19:17:14
ну вот, собственно, то, что на бэке от фреймворка, обычно, нужно - оно и в стандартной библиотеке го более-менее удобоваримо. Так что непонятно, нафига фреймворк пилить. И даже если server-side нужен, шаблонизатор - вполне себе.
шаблонизаторы - это зло, гошный в т.ч. Здоровые люди пишут server side frontend на DSL, транслируемый в html. В Го этого нет. Но тут надо понимать, что всё что касается фронтенда в Го отвратительно, потому что вендор не заинтересован писать фронт на Го, а энтузиасты ничего кроме колхоза традиционно предложить не могут

Mike
29.05.2018
20:05:01

Roman
29.05.2018
20:35:51

Николай
29.05.2018
20:38:51

Kirill
29.05.2018
20:43:31

Антон
29.05.2018
20:50:54

Google

Антон
29.05.2018
20:51:24
Тот же Дейкстера

Pawel
29.05.2018
21:31:59

Николай
29.05.2018
21:34:40

test
29.05.2018
23:46:24
Как жизнь мужики ?
Понял дядь.
Зажигалку ?

Roman
29.05.2018
23:58:23

Sergey
29.05.2018
23:59:07
сейчас бы серьёзно воспринимать вбросы Filimonenkow'а

FRD Official - Dmitriy
30.05.2018
00:30:25
писать HTML сайты на DSL? ну-ну...
Ну как бы любой шаблонизатор, в то числе и в GO - это уже DSL. А вообще в том вбросе все достаточно уныло, особенно про здоровых людей и фронтенд.

Roman
30.05.2018
00:31:15

FRD Official - Dmitriy
30.05.2018
00:31:44

Roman
30.05.2018
00:33:22

FRD Official - Dmitriy
30.05.2018
00:42:47

Roman
30.05.2018
00:45:04