
Alexandr
15.06.2018
07:07:04
микросервисы, горутины, gRPC, event driven development, etc etc
Всем доброго утра. Можете посоветовать что-то конкретное почитать по архитектуре приложений с использованием go и вот этого всего? Синтаксис освоен, тур пройден, книжки выборочно проштудированы, ответ на вопрос "как сделать сложные приложения" пока не очень.

Андрей
15.06.2018
07:08:03

Pawel
15.06.2018
07:25:37

Dmitri
15.06.2018
07:39:49

Google

Alexandr
15.06.2018
07:43:17

Dmitri
15.06.2018
07:44:35
Как правило, подсматривание архитектуру у соседа, юзаете. Постепенно приходит понимание, что в ней хорошо, ну а главное - что в ней плохо.
Вопрос больше про практику.

Alexandr
15.06.2018
07:45:09

Dmitri
15.06.2018
07:46:13
Ну, как бы, экосистема го, в основном, про "собери сам свою мечту". Бест практис приносят, как правило, извне.
Вот на примере вебни: в Гоше есть стандартная библиотека "сделай сам", есть echo, про роутинг и мидлварь искаропки + "остальное сам", есть beego - про "у нас есть все. Если чего-то нет, вам оно не нужно".
Вот последний в го смотрится чужеродно

Alexandr
15.06.2018
07:49:39
Вопрос в том, что я пытаюсь понять как правильно сделать "сам"
я соберу мечту по наличию функционала, а не по качеству исполнения

Dmitri
15.06.2018
07:50:32
Ну вот про "как правильно сделать сам" - в го предполагается, что вы это знаете "до" переползания на го.

Alexandr
15.06.2018
07:51:12
отлично. Мой вопрос - где это узнать.

Dmitri
15.06.2018
07:51:20
Если нужен "комплексный подход искаропки" - такого в экосистеме нет.

Alexandr
15.06.2018
07:51:34
Нет, не нужен. Мне нужно узнать "как правильно сделать сам.

Google

Dmitri
15.06.2018
07:51:35

Alexandr
15.06.2018
07:52:23
В экосистемах более других языков
Сомневаюсь, что "экосистема" - это корректнынй носитель информации для её изучения. Мне кажется "книга" или "видео" больше должно подойти как ответ.

?
15.06.2018
07:53:27
по запросу не мало полезного https://duckduckgo.com/?q=best+practices+software+development&t=h_&ia=web

Dmitri
15.06.2018
07:53:38
Книгу или видиву надо искать на тему что-то вроде "промышленное применение и архитектура фреймворка X на языке Y"
На место x и y подставляем, например java+spring
Я про то, что "правильная архитектура приложения на го" - плохая формулировка. Из нее слово "го" убрать, и будет норм запрос в Гугель.

Alexandr
15.06.2018
07:57:11
хм.. вероятно, мне ваши ответы кажутся странными, т.к. все языки отличаются. Как я построю на другом языке приложение, если там нету (го)рутин?

Dmitri
15.06.2018
07:57:31
Конкретно по Гоше само понятие правильной архитектуры сильно размывчато. На го переползают, в основном, те, кого не устраивают устоявшиеся архитектурные подходы и их ограничения

Alexandr
15.06.2018
07:57:31
архитектура строится из особенностей языка имхо а не язык из особенностей архитектуры

Dmitri
15.06.2018
07:58:44
Архитектура приложения и горутины - вещи ортогональные

Alexandr
15.06.2018
07:59:25
Я думаю, вы прекрасно понимаете, что я имею ввиду, а именно способ реализации одного и тогоже функционала на разных языках будет разным ввиду их различий.

Vadim
15.06.2018
08:00:06
Вообще в го очень весело. Горутины заставляют очень сильно переосмыслить и облегчить код

Dmitri
15.06.2018
08:00:39
Вы в общую кашу сваливаете архитектуру приложений, паттерны проектирования и специфику реализации.

Alexandr
15.06.2018
08:01:37

Dmitri
15.06.2018
08:02:27
Архитектура приложения - это более высокий уровень абстракции, чем вам представляется.
Паттерны проектирования - это как раз набор рекомендаций по реализации этой самой архитектуре.

Alexandr
15.06.2018
08:03:18

Dmitri
15.06.2018
08:03:30
И один и тот же паттерн можно реализовать на миллионе языков.

Alexandr
15.06.2018
08:03:39

Google

Alexandr
15.06.2018
08:04:02
*умею синглтон на пыхе петоне и го ?

Dmitri
15.06.2018
08:05:25
И вот именно архитектура - это абстракция уровня "у нас тут репозиторий, а над ним адаптеры, вот эти куски - подписчики, и они показывают делегатов.
Го тут сильно сбоку, это детали реализации.

Alexandr
15.06.2018
08:06:11

Dmitri
15.06.2018
08:06:40
Давайте начнем с того, что конкретно вы хотите реализовать
Вам нужно копать в сторону паттернов и практики их применения

Alexandr
15.06.2018
08:07:41
Паттерны я осмысливаю. Понимая паттерны, пока не понитмаю, где их нужно или не нужно применять, какой куда итд.

Dmitri
15.06.2018
08:08:33
Дело в том, что, с точки зрения архитектуры приложения реализация паттерна на го, от реализации на пыхе
Ну вот го тут вообще не поможет
Нету готовых больших рецептов "конкретно для го"

Aleksei ?
15.06.2018
08:09:24
Коллеги знает кто-нибудь утилиту для форматирования .gohtml? Вроде видел как-то экспериментальную тулзу но теперь что-то не могу найти ?

Dmitri
15.06.2018
08:10:13
Говорю же, просто найдите рецепт архитектуры для java - их миллионы - и сделайте так же, но на го

Alexandr
15.06.2018
08:10:23
Давайте начнем с того, что конкретно вы хотите реализовать
Хорошо. "хочу написать своё" - блохчейн с различными алгоритмами подтверждения - pos, pow, bft.
Как мне понять, как правильно написать то, что я хочу написать? Сами алгоритмы известны(или станут таковыми). Но вопрос "архитектуры" всего этого. Я-то напишу сам не вопрос, функционал реализован будет. Боюсь, что его будет стыдно показать.


Dmitri
15.06.2018
08:12:16

Alexandr
15.06.2018
08:12:41

Dmitri
15.06.2018
08:13:18
Собственно архитектура "блохчейна" - это последствия практического опыта, а не чтения книжек

Alexandr
15.06.2018
08:13:48
Опыт на чужих граблях и бестпректисах имхо лучше, чем на своих граблях.
не вижу ничего дурного учиться на книжках помимо своих граблей.

Google

Dmitri
15.06.2018
08:15:21
Нету книжек "правильная архитектура xxx на го"

Alexandr
15.06.2018
08:15:58
есть книжки "правильная архитектура xxx" ?

Dmitri
15.06.2018
08:16:08
Го не навязывает архитектуру, он проектировался как раз как средство реализации любой архитектуры кусками
Есть

Danil
15.06.2018
08:16:15
Паттерны проектирования
И все

Alexandr
15.06.2018
08:16:36
И все
значит мир тлен а я идеалист?

Dmitri
15.06.2018
08:16:37
Там вместо го, обычно, другой язык указан

Danil
15.06.2018
08:16:49
А какая разница какой язык
Паттерны не меняются

Admin
ERROR: S client not available

Alexandr
15.06.2018
08:17:18

Dmitri
15.06.2018
08:17:23
И классика банды четырех - как универсальный подход

Alexandr
15.06.2018
08:17:56
на всякий случай кому вдруг
(увы пдф нет, купить хочу)

Dmitri
15.06.2018
08:21:19

Alexandr
15.06.2018
08:21:35
потому и глаз положил на неё.
на сколько помню, там и алгоритмы и паттерны

Google

Alexandr
15.06.2018
08:22:34
хотя вот на соседнем канале там какой-то обсёр паттернов идёт
Если всё же про Go.
Если погуглить что-то вроде Go design patterns Rob Pike, то ссылки будут про concurency patterns. И это неспроста.
Фабрики, синглтоны, фасады и проч в Go тащат индусы, чтобы книжки продавать на Packt, и не слишком умные люди на собесах/в описаниях вакансий

Danil
15.06.2018
08:23:19

Alexandr
15.06.2018
08:23:29

Artem
15.06.2018
08:24:13

Alexandr
15.06.2018
08:24:15
про паттерны есть офигенский сайт
https://refactoring.guru/ru/design-patterns
так.. я доехал до работы, отключаюсь )

Александр
15.06.2018
08:26:58
а насколько уместно для DAO методы вида FindAll() []*Model или FindOne()*Model

Dmitri
15.06.2018
08:42:20

Alexandr
15.06.2018
08:51:51

Artem
15.06.2018
08:53:14

Danil
15.06.2018
10:36:35
Какой стек технологии нужно знать Junior разработчику?

Yaroslav
15.06.2018
10:37:10
По какому направлению?

Danil
15.06.2018
10:37:45
Пффф
Хз
Вебтехнологии
Пусть будут

Harry
15.06.2018
10:38:48

Danil
15.06.2018
10:39:20
Бэкэнд

Artem
15.06.2018
10:40:00

Yaroslav
15.06.2018
10:40:09
SQL, http, tcp/websocket