
Roman
11.06.2017
12:24:52

Oleksandr
11.06.2017
12:43:48

Alex
11.06.2017
12:44:40

Oleksandr
11.06.2017
12:44:58

Google

Alex
11.06.2017
12:45:10

anton
11.06.2017
13:39:29
надо спрашивать чем рефлексия отличается от рекурсии.
или узнать про хэш и слэш - это одно и тоже? а так же что общего у map и google maps

Oleh
11.06.2017
14:04:54
знает кто то библиотеку, которая при загрузке страницы исполяет js?
может даже биндинги к js

Constantine
11.06.2017
14:05:58
что спросил?

Kirill
11.06.2017
14:06:10
Я вот тоже не понял, если честно

Michael
11.06.2017
14:06:55
vanilla js

Dmitry
11.06.2017
14:07:31
you should use jquery

Vladimir
11.06.2017
14:28:34
Fmt.fprintf

Kirill
11.06.2017
14:30:03

Maxim
11.06.2017
14:40:44

Alex
11.06.2017
14:41:24
Stop using js right now

Google

Alex
11.06.2017
14:41:31
It's cursed

Kirill
11.06.2017
15:06:10

Oleh
11.06.2017
15:08:51

Sander
11.06.2017
15:37:56
Всем привет,
помогите с простым вопросом по go, что-то у меня не получается.

Constantine
11.06.2017
15:38:16
:D
давай

Stanislav
11.06.2017
15:38:27

Sander
11.06.2017
15:38:40
вопрос еще не написал

Constantine
11.06.2017
15:38:51
думал, что забанят

Stanislav
11.06.2017
15:39:23

Sander
11.06.2017
15:43:32
есть у меня функция, которая открывает файл, читает из файла json и возврощает массив.
func getJson() ([]*News, error) {
file, err := os.Open(menuFile)
if err != nil {
return nil, err
}
defer file.Close()
var feeds []*News
err = json.NewDecoder(file).Decode(&feeds)
return feeds, err
}
Проблема возникла, когда мне понадобилось использовать функцию для чтения и других файлов.
menu_data.json
news_data.json and etc.
Под каждый, json файл нужно делать свой type.
type Menu struct {
Name string `json:"name"`
Alias string `json:"alias"`
}
Как мне сделать так, чтоб функция getJson, могла читать разные файлы, а не один определенный.

Igor
11.06.2017
15:47:54
С виду там универсальный парсер, должна работать с любым валидным Джейсон файлом

Sander
11.06.2017
15:47:55
пробовал по всякому, пока что не получилось
getJson работает только с новостями news_data.json с любым другим файлом работать не будет.
так как type не тот

Igor
11.06.2017
15:52:28
Если я правильно понял то значит тут функция декодер написана под конкретный формат файла и его только обрабатывает. В итоге эту функцию нужно сделать либо универсальной, либо написать реализации парсера для каждого типа, который нужно разобрать


Sander
11.06.2017
15:53:57
да оно работает под конкретынй формат файла,
сейчас пытаюсь сделать так, чтоб эта фунция работала со всеми форматами, чтоб не плодить куча этих функий под каждый формат.
но пока не получается, не очень понимаю как это сделать
все сделал
Хотелось бы спросить про go template.
Етсь два варианта, один простой, другой посложнее сделать, хочу понять как лучше и правильней.
1) Каждый новый template, будет содержать шапку head и подвал foot,
потом сам head, foot будут содержать свои чанки.
{{ template "head" . }}
----
HOME {{ . }}
----
{{ template "foot" . }}
2) У меня есть один base шаблон, который я прописываю сверху,
сам контент я оборачиваю в {{ define "content" }}...{{ end }},
все это потом подставляется в нужные места в шаблоне base.tmpl
{{ template "base" . }}
{{ define "content" }}
----
HOME
----
{{ . }}
{{ end }}
=========
Сам я делал по 2 варианту, но мне почему-то порекомендовали делать по 1, возможно по каким-то особым требованиям go, 1-первый подходит больше? Можете пожалуйста мне пояснить.

Google

Maxim
11.06.2017
18:28:56
Хотелось бы спросить про go template.
Етсь два варианта, один простой, другой посложнее сделать, хочу понять как лучше и правильней.
1) Каждый новый template, будет содержать шапку head и подвал foot,
потом сам head, foot будут содержать свои чанки.
{{ template "head" . }}
----
HOME {{ . }}
----
{{ template "foot" . }}
2) У меня есть один base шаблон, который я прописываю сверху,
сам контент я оборачиваю в {{ define "content" }}...{{ end }},
все это потом подставляется в нужные места в шаблоне base.tmpl
{{ template "base" . }}
{{ define "content" }}
----
HOME
----
{{ . }}
{{ end }}
=========
Сам я делал по 2 варианту, но мне почему-то порекомендовали делать по 1, возможно по каким-то особым требованиям go, 1-первый подходит больше? Можете пожалуйста мне пояснить.
Я делаю по второму варианту: общий лаяут, в который в зависимости от страницы сую нужные шаблоны.
Проблем не было. Первый способ можно порекомендовать если страниц немного и они прям все разные


Sander
11.06.2017
18:29:58
а есть пример такой реализации? первый конечно полегче, но со 2-вторым у меня лапша какая-то получилась.
то есть у меня все работало, но то как оно работало мне не очень понравилось

Maxim
11.06.2017
18:31:15
Мне нравится вариант с общим каркасом и подстановкой блоков внутри. Это удобно, не надо каждый раз оборачивать блок в код страницы

Sander
11.06.2017
18:32:12
окай
спасибо за ответ

Andrew
11.06.2017
19:29:09

Sander
11.06.2017
19:29:26
pointers

Oleh
11.06.2017
20:46:51
все сделал
хотелось бы пример посмотреть, если можно

Sander
11.06.2017
20:47:15
var news []News
ReadJSON("config/news.json", &news)

Sander
11.06.2017
20:47:24
func ReadJSON(fileName string, result interface{}) error {
file, err := os.Open(fileName)
if err != nil {
return err
}
defer file.Close()
return json.NewDecoder(file).Decode(result)
}

Oleh
11.06.2017
20:48:05
норм, да?

Sander
11.06.2017
20:49:04
?
посоветуйте го фрейморк для написания api, нашел goa, но может сейчас что получше вышло?

Максим
12.06.2017
04:02:55
Ранее в чате звучал подобный вопрос и советовали chi

Mikhail
12.06.2017
06:02:22
Доброе утро. Вопрос: почему допустим chan chan bool нельзя скастовать к допустим <-chan chan<- bool? Не то чтобы это проблема, но всё же интересно, почему так сделано...

Michael
12.06.2017
06:06:01
Чан Чанов сын Джеки Чана?
есть ли статья, кот. рассказывает зачем это нужно?

Mikhail
12.06.2017
06:16:54
И правда можно в конкретном случае без этого обойтись :) Но просто думал всё же существует какой-то кейс, когда вот такой каст что-то ломает, и потому он не разрешён...

Google

Michael
12.06.2017
06:29:47
ну, хотя бы пример, притянутый за уши, для чего такое может понадобиться?

Artem
12.06.2017
06:31:54
Как будет вести себя json.Unmarshal(), если не найдет нужное поле в json'е? Оно будет равно стандартному значению ведь?
...
Weapons []struct {
Fname string `json:"fname"`
name string `json:"name"`
Damage int `json:"damage"`
AttackAngle int `json:"attackAngle"`
AttackDelay int `json:"attackDelay"`
} `json:"weapons"`
...

Alexey
12.06.2017
06:36:28

Admin
ERROR: S client not available

Alexey
12.06.2017
06:36:43
Ну, это в смысле обвязать так можно

Michael
12.06.2017
06:37:25

corpix
12.06.2017
07:00:08

Mikhail
12.06.2017
07:23:21

Sander
12.06.2017
08:43:45
@zavitaev так это просто роуты и middleware,
а goa это полноценный фрейморк для api.
---

Максим
12.06.2017
08:44:09

Sander
12.06.2017
08:47:12
@zavitaev но среди роутинг систем я так понял лучше всех chi, я его кстати уже пробовал очень простой и удобный.

Constantine
12.06.2017
08:49:10

Pawel
12.06.2017
08:52:45

Denis
12.06.2017
08:54:32
На стандартном контексте запилен

Anton
12.06.2017
09:11:01

Michael
12.06.2017
09:12:02
ага, спасибо за chi

Anton
12.06.2017
09:16:46
А по шаблонизатрам кто что использует?

Phil
12.06.2017
09:59:21
Бокер тов! А никто с DNSSEC на go не работал? Я вот не могу нагуглить для https://github.com/miekg/dns стандартного рекурсивного клиентика и проверки NSEC. Ну не самому же изобретать

Sander
12.06.2017
10:55:25
Всем привет,
можете пожалуйста ответить, как у go сразвитием?

Constantine
12.06.2017
10:55:40
растет

Google

Sander
12.06.2017
10:55:50
просто читал статью, там напсиано
Есть и подводные камни. Сам язык «заморожен», но другие вещи, являющийся частью «дизайна языка», постоянно изменяются:

Igor
12.06.2017
10:55:52
растет
ты видел мэскота? он тебе не кажется дебилом?
сразу видно, что отстает в развитии.
ну что за вопрос!

Sander
12.06.2017
10:57:06
просто пишут много всякого, решил узнать что на самом деле.

Igor
12.06.2017
10:57:32
а здесь много всякого написать не могут?)

Maxim
12.06.2017
10:57:46

Constantine
12.06.2017
10:57:49

Igor
12.06.2017
10:57:59

Pawel
12.06.2017
10:59:53

Sander
12.06.2017
11:07:39
понятно
я вот тоже на го пытаюсь по немногу переходить )
спасибо за четкий ответ )

Pawel
12.06.2017
11:10:18
что ещё объективно - за личиной гоу-хейтеров скрваются типичные ебанаты если копнуть. И наоборот - норм.поцаны даже если не любят гоу всё равно на нём пишут. Вот например https://www.youtube.com/watch?v=HoEn7lXNQOU

Ywein
12.06.2017
12:36:50
Все ж разные юзкейсы