
Vasily Romanov
24.06.2018
12:10:20
у нас реально потребность была заморачиваться :)

Pawel
24.06.2018
12:11:06

Dmitry
24.06.2018
12:11:28
https://github.com/RedSkotina/xrich/tree/develop/vendor

Google

Dmitry
24.06.2018
12:12:36
и че мне делать? деп понимаете что это тотже самый проект и не вендорит его, а херока видите ли не понимает

Roman
24.06.2018
12:24:58

Vasily Romanov
24.06.2018
12:25:24
там выложена либа на которой оно у нас реализовано

Dmitry
24.06.2018
12:26:04
скажите че прочитать тогд если тут никто помочь не в состоянии с моей бедой с херокой

Roman
24.06.2018
12:26:07

Dmitry
24.06.2018
12:29:02

Vasily Romanov
24.06.2018
12:29:37
но если ручками - то лучше сразу отдельно общее решение писать и выложить, всем полезно будет

Roman
24.06.2018
12:30:24

Vasily Romanov
24.06.2018
12:31:54
ну там всё же чуть сложнее :)

Google

Vasily Romanov
24.06.2018
12:32:01
но это тоже работать будет в базовом варианте

Dmitry
24.06.2018
12:42:52

Roman
24.06.2018
12:49:21
как я могу заэмбедить сам пакет в свою же папку вендор?
1. cd /path/to/your/project
2. mkdir vendor
3. cd vendor
4. mkdir -p github.com/$DEPENDENCY_VENDOR *
for your includes to work properly - use /vendor/<vendorname>/ subdirectory
5. cd github.com/$DEPENDENCY_VENDOR
6. git clone https://github.com/$DEPENDENCY_VENDOR/$LIBNAME
7. cd $LIBNAME
8. rm -rf .git
strip off the git repository meta data
9. rm -rf examples
[optionally] strip off any irrelevant files such as examples, documentation or similar if you want
10. cd /path/to/your/project
11. git add /path/to/your/project/vendor
add your dependencies to your projects repo
12. git commit && git push
* assuming your dependency is hosted on github.com

Dmitry
24.06.2018
12:50:36


Roman
24.06.2018
12:52:00
встроенные зависимости куда безопаснее внешних. Они просто не могут измениться, их изменение легко отследить в комитах.
Был тут недавно скандал с https://www.npmjs.com/ там сервер раздавал инфицированные зависимости...
типа в package.json у тебя указан password-hasher@v1.1.2 и при npm i он тебе грузит его инфицированный вариант, который перехватывает например пароли
можно одновременно эмбэдить зависимости и поддерживать dep, но проблемо. Единственный минус это больше файликов в репе если зависимостей очень много
ещё один плюс: поддержка go get изкоробки, код сразу приходит со своими зависимостями


many-faced
24.06.2018
13:06:43
Коллеги, подскажите, если одну структуру встроить в другую, и её в третью, то из самой верхней не будет прямого доступа к полям самой внутренней?
Встраивание всмысле работает только на соседние уровни или сквозно?

Daniel
24.06.2018
13:15:36
встраивание вообще не работает между уровнями

many-faced
24.06.2018
13:30:07
Как это не работает? работало же

Daniel
24.06.2018
13:30:21
а?!

Kirill
24.06.2018
13:31:22
Кто сломал людей?

Daniel
24.06.2018
13:31:23
встраивание - это сиснаксический сахар, позволяющий не определять все методы втраиваемого у встраивающего - они пробрасываются автоматически. все.

many-faced
24.06.2018
13:32:25
а?!
Реботало же говорю!! слышно?

Daniel
24.06.2018
13:33:19
слышно. но, коллега, вы просто ошибаетесь

Dmitry
24.06.2018
13:38:38

Pawel
24.06.2018
13:39:03

Google

Dmitry
24.06.2018
13:40:00

many-faced
24.06.2018
13:42:57

Pawel
24.06.2018
13:43:10

Daniel
24.06.2018
13:44:18

many-faced
24.06.2018
13:45:11

Daniel
24.06.2018
13:45:41
того самого "доступа" нет

many-faced
24.06.2018
13:47:56
Кстати, коллеги, существует ли возможность в go назначить разным типам один метод?

Daniel
24.06.2018
14:38:50
а?!

Semyon
24.06.2018
14:39:07
а?!
Думаю речь про перегрузку

Daniel
24.06.2018
14:39:19
или про генерики

Semyon
24.06.2018
14:39:42

many-faced
24.06.2018
14:40:04

Semyon
24.06.2018
14:40:50

many-faced
24.06.2018
14:40:59
а?!
К ЧЕМУ говорю доступа нету?

Semyon
24.06.2018
14:42:37

Daniel
24.06.2018
14:42:50

many-faced
24.06.2018
14:43:24

Dmitri
24.06.2018
15:06:53

Google

many-faced
24.06.2018
15:07:39

Dmitri
24.06.2018
15:07:56

many-faced
24.06.2018
15:08:38
вот, скорее да. чуть позже проверю

Roman
24.06.2018
15:09:50
какой вариант лучше?
func prepare(data *Data) func() {
data.something()
// returned lambda captures data
return func() {
data.somethingElse()
}
}
или не захватывать scope variable?
func prepare(data *Data) func(*Data) {
data.something()
// returned lambda doesn't capture anything
return func(data *Data) {
data.somethingElse()
}
}
если я правильно понимаю, то во втором варианте больше вероятность размещения data в stack'е, а в первом вероятность размещения data в heap'е выше, нет?)

Admin
ERROR: S client not available

Dmitri
24.06.2018
15:12:56

Vasily Romanov
24.06.2018
15:19:10

Daniel
24.06.2018
15:19:30
если уходит - точно в хипе, как еще

Roman
24.06.2018
15:21:58
если уходит - точно в хипе, как еще
func caller() {
data := NewData()
finalize := prepare(data)
finalize(data)
}
вроде же он может data на стэке определить, ибо она не покидает caller, или нет?

Daniel
24.06.2018
15:22:24
вот те, которые покидаю скоп - те точно в хипе окажутся
и еще те, про которые компилятор не смог понять, что они за пределы скопа не уходят

Roman
24.06.2018
15:23:16

Daniel
24.06.2018
15:23:55
я не видел

Roman
24.06.2018
15:25:03

Daniel
24.06.2018
15:25:20
да

Roman
24.06.2018
15:26:26
по сути, с имеющейся реализацией стэка в Go, можно всё в стэк пихать, что не покидает callstack

Vadim
24.06.2018
15:45:46
Привет, я тут подумал. Есть какое-нибудь ide, в котором реализована функция одновременной работы с файлом. Для тимкода.

Google

Vadim
24.06.2018
15:46:33
Как в google docs

Александр
24.06.2018
16:22:59
кто сталкивался с багом в template.HTML ?
собираю тут сторонний HTML в слайсы
var allPosts []template.HTML и на одном из кусков при финальном рендере режет на половине
что-то я пока не допер почему такая обрезка
при сборке "как строки" все ок

Daniel
24.06.2018
16:24:07
Там ошибка в синтаксисе, и ты ее игноришь

Александр
24.06.2018
16:24:30
можно обойти?
HTML то с стороннего источника ?

Daniel
24.06.2018
16:56:25
коллеги, кто gometalinter пользуется, вы успели заценить https://github.com/golangci/golangci-lint?
я вот рекомендую весьма

Dmitry
24.06.2018
19:16:57
помогите с viper. не цепляет переменные окружения почему то
https://github.com/RedSkotina/xrich/blob/b0dc456f17cdd8befb83a7dbbf92f7f6852141d9/cmd/xrich_telebot/main.go#L37
почему то пустая строка в viper.GetString("token")
хотя на os.GetEnv все нормально получает