
Max
19.02.2017
19:55:49
Типа func (Book) New(..)(newBook){...}

Peter
19.02.2017
20:02:38
Обычно рекомендуют обходиться без таких конструкторов, а передевать всё что нужно для работы как поля при создании структуры или в крайнем случае иметь функцию func NewBook(..)

Slava
19.02.2017
22:14:28
Max а как ты будешь вызывать этот статический метод? (Book(nil)).New ?

Peter
20.02.2017
05:38:28

Google

Mars
20.02.2017
05:54:44
Ребята, выскажите, пожалуйста, мнение, кому тема интересна - https://github.com/olebedev/go-starter-kit/pull/68

Roman
20.02.2017
06:10:53

Mars
20.02.2017
06:12:27

Roman
20.02.2017
06:16:58
Кстати, зачем в репозиторий копируют код vendor библиотек? Или это проблема пакетного менеджера Go (нельзя подключить определенную версию сторонней библиотеки)?

Mars
20.02.2017
06:18:05

Roman
20.02.2017
06:19:50
Ну такое убеждение... Слабое. В той же Java код сторонних библиотек не ставят в репозиторий
И насколько часто падает github?

Daniel
20.02.2017
06:23:11
Падает?

Roman
20.02.2017
06:24:32
Не замечал

Daniel
20.02.2017
06:25:10
Дело же не в "падает"

Roman
20.02.2017
06:28:06
Дело же не в "падает"
Я понял, что дело в доступности. Но в чем прикол, если твой репозиторий тоже на github, а значит тоже не доступен? Смысл?

Daniel
20.02.2017
06:28:37
Прикол в версионировании

N
20.02.2017
06:30:09

Google

Daniel
20.02.2017
06:30:15
Что в go, что в java запросто можно обнаружить, что софтина твоя перестала собираться/работать потому, что либа сторонняя обновилась

Roman
20.02.2017
06:32:36
В Java версии подключаемых библиотек явно задаются. То есть, может перестать собиратся только тогда, когда ты вручную версию поменял.
Просто уже не первый раз вижу код вендоров в Go репозитории

Daniel
20.02.2017
06:33:44
Вендоринг эту проблему решает, но, к сожалению, создает другие, не проще

Roman
20.02.2017
06:35:03
С помощью maven, gradle и т. д. Менеджеры зависимостей
В других языках тоже есть

Daniel
20.02.2017
06:35:30
Это не java, вообще-то

Roman
20.02.2017
06:35:46
А что?

Daniel
20.02.2017
06:36:05
И если конкретная версия из maven удалена - что вы делаете?

Roman
20.02.2017
06:36:41
Ищу другую? Только 1 раз такое было

Daniel
20.02.2017
06:36:59
Но было же?

Roman
20.02.2017
06:37:12
И оно не стоит, чтобы пихать код всех библиотек в репозиторий

Daniel
20.02.2017
06:37:41
Go подинамичнее сейчас развивается, в нем это реально проблема

Roman
20.02.2017
06:37:48
Там были причины, почему версия пропала - смена лицензии

Daniel
20.02.2017
06:38:20
Я помню времена, на заре maven, когда и в ява-мире это было проблемой
Ни мавен, ни грэдл, ни даже ант - не часть явы ни с какой точки зрения

Roman
20.02.2017
06:43:10
Не часть, но не нужно все так буквально воспринимать. Они все написаны на Java и по сути это родные менеджеры зависимостей в ней

Daniel
20.02.2017
06:43:40
А сколько лет мавену, и сколько яве?

Google

Alexander
20.02.2017
06:45:27
в том же C# до появления nuget, тоже хранили dll-ки в source control-е

Daniel
20.02.2017
06:46:48
Даже в перле у меня есть проект, который сегодня нельзя собрать из cpan - версии уехали

⠀
20.02.2017
06:47:40
*шутка про leftpad*

Alexander
20.02.2017
06:49:33
по идее разработчики Go обещали в ближайших версиях внимательней посмотреть на vendor-инг и управление зависимостями, поэтому может и замутят что-то подобное npm, nuget-у и т.п., тогда в проектах будем не vendor папку с исходным кодом держать, а простые конфигурации

Михаил
20.02.2017
06:50:31
и сейчас можно так делать, класть glide.* файлы
это никак же не исправит то, что версию либы, которую ты используешь, могут удалить.
и если это критично то лучше завендорить такую либу себе

Roman
20.02.2017
06:51:30
Если удалили, значит были причины

Михаил
20.02.2017
06:53:12
ну да, у хостера дц сгорел
чем не причина обновить зависимости

Phil
20.02.2017
06:53:19
Опять ява. Но откуда в мире Го жабисты? ОТКУДА? Это же другая вселенная

Roman
20.02.2017
06:53:46
Без причины удалять версию - немного неадекватно. У меня раз был случай, что версию библиотеки удалили через смену лицензии. В таком случае вендоринг не спасает

Daniel
20.02.2017
06:54:27

Phil
20.02.2017
06:58:25

Daniel
20.02.2017
06:58:47
потому, что погляди на статистику
java - распространенный язык, его программеров много
или ты спрашиваешь, почему php-шники не учат гоферов жить?
а явщики учат?

Roman
20.02.2017
07:00:12

Google

Daniel
20.02.2017
07:00:16
так это потому, что у явщиков есть чему поучиться

Phil
20.02.2017
07:01:03
угу. перлом мне помогли (подсказали еще один способ), с пхп просто нагуглил, а с java я даже просил помочь, в итоге написал сам родив ежа. что-то статистика не сработала

N
20.02.2017
07:08:02

Михаил
20.02.2017
07:11:34
а ещё я слышал такую классную фразу от пары программистов, "я программист-полиглот, пишу на нескольких языках"
у меня всегда в это время рвался шаблон,и я не понимал, неужели есть программисты которые могут писать только на одном языке.

Andrew
20.02.2017
07:13:22
Например, достаточно глянуть на разрабов Atom'а.

Mars
20.02.2017
07:14:41
Разные языки помогают решать разные задачи. По моему все очень просто здесь

Andrew
20.02.2017
07:18:42

N
20.02.2017
07:20:27
Разные языки помогают решать разные задачи. По моему все очень просто здесь
каждой задаче свой инструмент - молотком забивают гвозди, гвоздодером их дергают, можно и гвоздодером забивать гвозьди, но это изврат. поэтому есть те люди, которые это понимают и для задачи - подходящий инструмент, а есть те которые играют в религию и пишут все подряд на js - точнее пытаются это делать, результат там соотвествующий

Andrew
20.02.2017
07:21:13
Как пример, https://m.habrahabr.ru/post/320434/

Mars
20.02.2017
07:21:24

Roman
20.02.2017
07:24:17
Микроскопом тоже можно забивать гвозди...

N
20.02.2017
07:25:30

Phil
20.02.2017
07:29:10

Roman
20.02.2017
07:31:48
"Со вздохами о совецких временах" - вот это прям в точку было

Max
20.02.2017
09:05:43
Max а как ты будешь вызывать этот статический метод? (Book(nil)).New ?
Сори что так поздно отвечаю. Такой метод вызывается как Book.New(). Хотя откровенно говоря я пока не пробовал запускать. Просто получается в пакете куча методов будет типа NewUser, NewBook, NewProblem и так далее, если хранить модели в пакете model, и каждую модель в отдельном файле. Видимость методов все равно общая будет. А как лучше организовать модели я пока не придумал

Google

Slava
20.02.2017
09:08:21
Book.New - так в го не работает

Max
20.02.2017
09:11:30
Book.New - так в го не работает
Печаль. А как правильно организовать код моделей? Для каждой свой пакет делать? Или если статью на эту тему подкините, буду признателен.

Aleksandr
20.02.2017
09:13:00
NewBook(), NewPost итд

Max
20.02.2017
09:13:26

Peter
20.02.2017
09:47:07
кто-нибудь уже обновил арч до 1.8? как полет?

Andrew
20.02.2017
09:47:39

Phil
20.02.2017
09:47:43

Peter
20.02.2017
09:47:56
саблайм не поломался?

Sergey
20.02.2017
09:48:00

Peter
20.02.2017
09:48:36

Sergey
20.02.2017
09:49:00
Пульсаудио?

Peter
20.02.2017
09:49:16
ага

Sergey
20.02.2017
09:49:50
Выпиливаю сразу после накатывания нового дистрибутива, что на домашнем раче, что на рабочей убунте

⠀
20.02.2017
09:50:28
а у меня арч дома на столике стоит, ибо пока мак основным стал

Andrew
20.02.2017
09:50:41

Sergey
20.02.2017
09:51:06
Не выпиливаю, от systemd уже никуда не денешься

Andrew
20.02.2017
09:51:22