
Eldar
21.07.2017
16:41:29
структура это уже 1 тип данных разные структуры туда не запишешь или я не прав?

Vladimir
21.07.2017
16:42:09

Eldar
21.07.2017
16:43:22
Массив — упорядоченный набор данных, используемый для хранения данных одного типа

Vladimir
21.07.2017
16:43:55
вдруг ему нужно типа...
type hhh struct {
val1 string
val2 int
}
var array [10][10]hhh

Google

F
21.07.2017
16:49:01
а сколько максимум значений функция может возвращать?

Vladimir
21.07.2017
16:49:31

Eldar
21.07.2017
16:50:15
это значит немеренно?)))

Vladimir
21.07.2017
16:51:07
ну стек небезразмерный .... но я бы не стал превосходить 4к в возврате

Eldar
21.07.2017
16:51:59
4к это я так понимаю 4000?

Vladimir
21.07.2017
16:52:11
байт
или как у гоферов положено uint8

Yan?
21.07.2017
16:54:06

Vladimir
21.07.2017
16:56:09

Aleksandr
21.07.2017
16:57:00

Yan?
21.07.2017
16:57:12
в пхп
Пиздос, я думал что такое невозможно
И спрашивается нахуя?

F
21.07.2017
16:57:33

Google

Yan?
21.07.2017
16:58:05
в питоне
Рили, я что-то такого не припомню

Aleksandr
21.07.2017
16:58:14
В любом языке с нестрогой типизацией

Aleksandr
21.07.2017
16:58:29
И спрашивается нахуя?
когда у тебя нет типизации, то откуда-то вместо "" может придти например null, а проверка отработает одинаково

Yan?
21.07.2017
16:58:30
А блять и правда, мой косяк

Vladimir
21.07.2017
16:58:57
хммм .... в перечисленных выше языках , подход = МАССИВ СТРУКТУР , одного и того же типа

Yan?
21.07.2017
16:58:57
Не, в строгой типизации такое не прокатит

Aleksandr
21.07.2017
16:59:19
map интерфейсов нужен
если разные типы

Vladimir
21.07.2017
16:59:52

Aleksandr
21.07.2017
17:00:44
да, еще map массивов мапов

Труба
21.07.2017
17:24:41
всем привет, как правильно получить путь к папке, откуда была запущена программа. Использую пакет viper для конфига, указал
viper.AddConfigPath(".")
. Залил на сервер, не работает, смотрю логи. No such file or directory "путь до папки где был создан бинарник".
откуда в бинарнике вообще данные о том, где был создан файл?

Maxim
21.07.2017
17:28:31
Точка и должна как раз из точки запуска бинарника брать.
Но лучше ресурсы и конфиги отдельно хранить. Бинарник-то где угодно валяться может.
Вдруг через make в /usr/bin запихнут.
А там конфига при всем желании не будет.

Труба
21.07.2017
17:29:12
да, но она указывает на папку где был СОЗДАН бинарник, а не откуда он был запущен

Maxim
21.07.2017
17:29:44
Странно, не сталкивался с таким. Всегда из папки запуска ориенитровалась.

Труба
21.07.2017
17:32:21
а как конфиг вообще можно хранить отдельно, в какой папке?

Maxim
21.07.2017
17:32:57
Зависит от оперционки.

Google

Maxim
21.07.2017
17:33:11
При всей своей кросс-платформенности, придется учитывать особенности осей)
На линукс пишешь?

Труба
21.07.2017
17:33:53
не знаю можно засунуть бинарник и конфиг в одну папку, а потом сделать симлинк куда нужно
да, под линукс

Maxim
21.07.2017
17:34:10
Насколько помню, конфиги в линухе хранятся /opt/название_проги
Это прямо все о программе там хранится твое

corpix
21.07.2017
17:36:26

Труба
21.07.2017
17:36:45
хорошо, спасибо)
не знаю вообще, думал все эти папки для системных файлов, а у меня веб-сервис -)

Maxim
21.07.2017
17:37:28
А что в opt? Часто вижу, что вообще все подряд хранится в /opt, кроме генерируемых вещей.

corpix
21.07.2017
17:37:46

nezorflame
21.07.2017
17:38:10
Мы в /opt бинарники держим, например, по подпапкам

Maxim
21.07.2017
17:38:20
Пока не вижу противопоказаний к хранению кофнига там)

nezorflame
21.07.2017
17:38:43
Конфигурации в /etc

Maxim
21.07.2017
17:38:45
Вот и темка для холиварчика подъехала.

nezorflame
21.07.2017
17:39:06
Логи либо сислог сервер, либо /var/log
А вообще кто как делает

corpix
21.07.2017
17:39:18

Труба
21.07.2017
17:39:42

Maxim
21.07.2017
17:40:13
В /etc хранить конфигурации, которые доступы для изменения пользователем.

Google

Maxim
21.07.2017
17:40:20
А если я не хочу, чтобы туда грязынми руками кто-то лез.

Eldar
21.07.2017
18:00:33
подскажите пожалуйста как организовать структуру проекта по аналогии с MVC допустим в Java есть controller, model, dao, service а как в го это лучше организовать?

Maxim
21.07.2017
18:01:13
controller - service - respositories
Отдельно model, utilities
https://habrahabr.ru/post/331456/ - вот тут описана структура. Правда, немного каша с iOS, но должно быть понятно.

Eldar
21.07.2017
18:02:54
получается в model будет только описание структуры, в repositories работа с БД и контроллеры?

Maxim
21.07.2017
18:05:41
Работа с БД в репах
О каких контроллерах говоришь?

Труба
21.07.2017
18:07:00
есть еще ddd https://github.com/marcusolsson/goddd
еще вот тут можно посмотреть, как подключение к БД прокинуть в контроллеры https://habrahabr.ru/post/332122/

Eldar
21.07.2017
18:09:01
и еще в go есть веб-фреймворк beego, но сколько я ни читал статей про него почти нигде не говорят, кто нибудь работал с ним? у меня есть на нем 1 проект и он мне кажется неплохим

Maxim
21.07.2017
18:11:00
Контроллеры находятся отдельно.
Они взаимодействуют только с сервисами.

Kirill
21.07.2017
18:15:02
Goway огонь прошёл
Кто не пошёл - зря

Sergey
21.07.2017
18:28:19

Kirill
21.07.2017
19:26:53

Google

Kirill
21.07.2017
19:27:24
Я модерировал второй поток, есичо

F
21.07.2017
19:39:26
код надо хранить в $GOPATH/src?

Kirill
21.07.2017
19:53:11
Да. И на гитхабе

Alexey
21.07.2017
21:05:35

corpix
21.07.2017
22:58:34
Кстати, если конфиги в контейнере(docker/rkt - не важно) то я кладу в контейнер шаблон, а динамические параметры доставляю через окружение. Entrypoint в этом случае это просто обертка, которая зовёт специальный скрипт и потом делает exec приложения.
Скрипт (сорян, я люблю такое на питоне писать, считаю что он очень хорош для этой задачи) https://github.com/corpix/toolbox/blob/master/template/format-environ#L39

Vladimir
21.07.2017
23:37:26
тем кто не спит https://habrahabr.ru/company/ods/blog/330118/

Dmitri
22.07.2017
05:26:20

Труба
22.07.2017
05:31:39

Dmitri
22.07.2017
05:34:40
так и сделал) только бинарник кинул в /usr/local/bin
ну да. Есть такая точка зрения:
бинарники из пакетного менеджера - /usr/bin,
бинарники, не контролируемые пакетным менеджером и самосбор - /usr/local/bin,
бинарники от сторонних хренпойми вендоров - /opt/имявендора/путь,чегоОнТамНаопределял.
Типа, так рекомендуется. Официально именуется "продуманная система" и "Стандарт Иерархии Файловой Системы". Со стороны даже вызывает зависть... Но аноним помнит, почему так сложилось.

corpix
22.07.2017
05:53:00

Dmitri
22.07.2017
06:23:40
/opt - помойка, в этом смысл и есть
если есть софтина, место которой на помойке, но, при этом, она тебе нужна, в /opt'е ей и место. При этом нефиг ей за этот самый /opt вылезать вообще
короче - это для вендорофантазийных вещей