@proGO

Страница 1644 из 1674
redwhite
18.08.2018
17:53:20
Добрый вечер! С коллегой начинаем новый проект на Гошечке, за плечами опыт php, python и nodejs, в последнее время товарищ очень угорел по "слоям" Мартина и в любой ситуации все так и делал, к чему я я относился прагматично, считая что в большинстве случаев это переуслажнение, и проще сделать сервис блаблабла и т.п.. Так вот вопрос, насколько это принято в Го? Предстоящий проект не очень сложный, но после mvp возможно развитие. Мне кажется что проще разделить на энтити и контроллеры, так себе вижу смысл от юзкейсов в контексте Го. Есть мысли на этот счет?

Alexey
18.08.2018
18:40:32
Но вообще на слои надо разделять, конечно

Dorian
18.08.2018
18:40:55
Есть что почитать по слоям?

Google
Marperia
18.08.2018
18:43:04
Ну, в таком случае, обычно советуют делать монолит без заморочек. И только в том случае, если проект будет успешным — переписывать подо всякие микросервисы со слоями. (От создателей «У людей есть мнение» и «Так делают крупные компании».)

redwhite
18.08.2018
18:45:57
Не совсем понял причем тут микросервисы?

Marperia
18.08.2018
18:47:42
Шутка юмора. Не обращайте внимания.

redwhite
18.08.2018
18:47:49
Оки

Но, сорян, все таки насколько, эмм, в пределах монолита, принято в Го?

Marperia
18.08.2018
18:56:33
А причём тут вообще язык программирования?

redwhite
18.08.2018
19:00:13
Ммммм, особо не причем, вопрос был больше об архитектуре. И конкретно об архитектуре в Го. Кому-то придется это поддерживать. Макконелл все дела

Maksim
18.08.2018
19:18:46
В понимании большинства слои - это про разные папочки. Так что большой вопрос, стоит ли.

redwhite
18.08.2018
19:21:13
Нет, вопрос не в папочках

Marperia
18.08.2018
19:22:13
Вообще обычно на го не пишутся полноценные веб-приложения, чаще всё-таки прикладные сервисы. Поэтому тут не придерживаются какой-то архитектуре как таковой, всё уходит в слой на ruby/python/php. Но вообще-то архитектуру должен строить либо тот, кто умеет это делать, либо тот, кому это потом поддерживать.

redwhite
18.08.2018
19:27:29
Ну т.е. это ответ масло масленное.

Google
redwhite
18.08.2018
19:29:00
Но я очень тебе благодарен, потому что хз кто еще ответил бы

Marperia
18.08.2018
19:37:39
Так вопрос составлен некорректно. Го — не массовый, очень молодой язык для написания небольшого количества довольно сложных проектов: каждый пишет, как он хочет.

Хотя я вообще не уверен, что в каком-то языке «принято» использовать определённую архитектуру.

Никита
18.08.2018
19:41:23
В том то и дело, что архитектура в принципе от языка сильно не зависит

Marperia
18.08.2018
19:41:29
А, щас понял. Если брать в пример пакеты для джавы, на которые разбивается крупное приложение, то такое тут не нужно. Но чёт по-моему достаточно разбить приложение на папочки.

Dorian
18.08.2018
19:43:29
Еще бы в го было просто разбить по папочкам, чтобы потом не бороться с циклическими импортами

Никита
18.08.2018
19:43:46
В го очень легко это сделать

Разбивать на пакеты

Dorian
18.08.2018
19:44:25
Если думать о папочках как о пакетах то да. Если подгонять все под всякие mvc то уже сложнее

Ну либо я рукозадый

Marperia
18.08.2018
19:45:34
Делаешь разные папки и один пакет @ Никаких импортов

Dorian
18.08.2018
19:46:13
А это вообще законно?

Marperia
18.08.2018
19:46:42
А кто мне запретит? Я же безработный — делаю, что хочу.

Pavel
18.08.2018
19:47:26
Лемур
18.08.2018
21:31:19
ребят, покритикуйте резюме

кому в личку кинуть?

Pavel
18.08.2018
21:32:49
очень странная просьба

Vadim
18.08.2018
21:37:38
могу покритиковать нюдсы твоей девушки

Лемур
18.08.2018
21:37:56
могу покритиковать нюдсы твоей девушки
Зачем тебе фотка моей руки?

Vadim
18.08.2018
21:38:18
Зачем тебе фотка моей руки?
уже повод для критики)

Google
Janserik
19.08.2018
12:54:08
У меня есть структура Альбом, и у каждого альбома может быть массив песен. Как через mgo.v2 добавить вложенный массив?

https://gist.github.com/zhanswift/d86cda8a3b374795a0710140f409795d

func CreateAlbumEndPoint(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() var album Album if err := json.NewDecoder(r.Body).Decode(&album); err != nil { fmt.Println("Err 1") respondWithError(w, http.StatusBadRequest, "Invalid request payload 1") return } if err := dao.Insert(album); err != nil { fmt.Println("Err 2") respondWithError(w, http.StatusInternalServerError, err.Error()) return } respondWithJson(w, http.StatusCreated, album) }

вот так добавляю из API

Alexey
19.08.2018
13:22:29
ребят, покритикуйте резюме
Это на техлида которое?)

Janserik
19.08.2018
13:33:12
Как так можно отправлять собщение чтоб задний фон другим был?
Не понятно что вы хотите узнать. Напишите подробнее

Abdurahmon
19.08.2018
13:34:45
Вот так?
Да так

Как вы это сделали?

Лемур
19.08.2018
13:41:08
Artem
19.08.2018
13:51:29
Как вы это сделали?
3 символа ` перед и после текста

Abdurahmon
19.08.2018
14:13:04
Спасибо

Janserik
19.08.2018
14:31:18
[]bson.M{}
Я решил перейти на MySQL

Mongo не удобный что то (((

Dorian
19.08.2018
14:32:06
Ну правильно. Если что-то не получается – нужно сразу менять инструмент. Все так делают

Sergey
19.08.2018
14:32:20
аргументация огонь.

Janserik
19.08.2018
14:33:30
Я хочу отношении, тут в Монго они не удобные мне

Человек
19.08.2018
14:42:03
Здравствуйте. Пытаюсь выполнить вызов os/exec cmd.Run(). var flags = `-ldflags="-w -s"`; cmd.Run(fmt.Sprintf("go build %s main.go"), flags). Пишет exec: "go build -ldflags=\"-w -s\" main.go" file does not exist. Ошибка в том что у меня передается \"-w -s\" в качестве флага, из-за этого и ошибка, но я не знаю как передать так чтоб у меня не появлялся слеш ?

Google
Человек
19.08.2018
14:43:59
то есть я в грависе (`) передаю кавычки (") и из-за этого чето где-то конфликтует

Лемур
19.08.2018
14:44:01
Я решил перейти на MySQL
Почему не постгре?

Vadim
19.08.2018
15:29:05
постгреС

Crypt
19.08.2018
16:49:05
Гошечка дружит с тарантулой?

Anton
19.08.2018
16:49:32
Roman
19.08.2018
17:50:17
Гошечка дружит с тарантулой?
С чем угодно дружит. Всегда можно написать драйвер самому

Crypt
19.08.2018
18:47:58
С чем угодно дружит. Всегда можно написать драйвер самому
Нет желания что-то писать низкоуровневое. Хочется по-прикладному)

yuriy
19.08.2018
18:49:03
писать самому драйвер - хороший совет постороннему человеку)))))

Alexey
19.08.2018
18:51:14
лучше только самому писать шифрование

Лемур
19.08.2018
19:48:38
постгреС
Ссслизерин

undiabler
19.08.2018
20:28:13
писать самому драйвер - хороший совет постороннему человеку)))))
Драйвер к базе на самом деле пишется достаточно быстро, так что ок совет

Просто почему-то людей пугает слово драйвер) видемо из-за винды, хз

Roman
19.08.2018
20:43:21
писать самому драйвер - хороший совет постороннему человеку)))))
а что за странный вопрос про "дружит ли?", если на go можно писать практически так же как и на Си

[Anonymous]
19.08.2018
21:07:33
а что за странный вопрос про "дружит ли?", если на go можно писать практически так же как и на Си
я наверное не совсем правильно понимаю) но Go вроде на уровень выше чем C, так что некоторые низкоуровневые вещи очевидно не досупны, память например)))

Степан
19.08.2018
21:07:56
unsafe.Pointer

чем не низкий уровень?

[Anonymous]
19.08.2018
21:09:13
Кстати интересный вопрос можно ли из Go к I/o напрямую обратиться

Степан
19.08.2018
21:09:18
еще можно встроенный go ассемблер юзать

кроссплатформенно, так сказать

Google
[Anonymous]
19.08.2018
21:09:46
чем не низкий уровень?
помоему они всё равно в ограниченную область памяти позволяют обращаться, там вроде всё лимитировано

undiabler
19.08.2018
21:10:15
я наверное не совсем правильно понимаю) но Go вроде на уровень выше чем C, так что некоторые низкоуровневые вещи очевидно не досупны, память например)))
все доступно, и память и чистые сишные вызовы просто держите в голове, но когда пишите на го лучше забудьте за это)

[Anonymous]
19.08.2018
21:10:43
так мне нужно перечитать документацию по Go)

Степан
19.08.2018
21:11:02
cgo

[Anonymous]
19.08.2018
21:11:22
мне казалось что + Go, это отсутсвие проблем с памятью как в C, что в целом результат отсутсвия доступа к ней)

Страница 1644 из 1674