
Daniel
07.02.2017
10:11:56
как, впрочем, и питоно-паттерны

Quet
07.02.2017
10:12:24

Dmitry
07.02.2017
10:12:39

Quet
07.02.2017
10:12:51
точнее паттернов-то много, но какие из них именно “жаба-паттерны”

Google

Dmitry
07.02.2017
10:12:57

Daniel
07.02.2017
10:13:19
а о каких именно паттернах идет речь?
ну, например, каждый раз, когда мне нужен тред-пул - я понимаю, что что-то делаю не так. каждый раз, когда мне нужен routine id - я понимаю, что что-то елаю не так

Dmitry
07.02.2017
10:13:43
или даже так, "какие куски кода в твоем проекте на самом деле широкоизвестный паттерн"

Maxim
07.02.2017
10:13:59

Quet
07.02.2017
10:14:18

Dmitry
07.02.2017
10:16:35
везде передавать, везде возвращать.
короче, я уже смирился :)
всем спасибо

Roman
07.02.2017
10:23:39

Daniel
07.02.2017
10:25:19
он есть уже
если он тебе явно потребовался - ты что-то делаешь не так

Roman
07.02.2017
10:26:25

Daniel
07.02.2017
10:27:41
этот

Google

Phil
07.02.2017
10:28:40

Roman
07.02.2017
10:30:23

Alexander
07.02.2017
10:33:44
если логгер у тебя контекстной-зависимый, то что плохого в том, что ты его явно и передаешь? или строишь стуктурку, заранее передавая туда логгер
если у кода, метода, функции есть какая-то зависимость, то очень неплохо, что она выражена в сигнатуре этого кода

Phil
07.02.2017
10:34:48
Я кстати прямо сейчас борюсь с reflection. Не понимаю, хорошо это, плохо, и где его можно, а где нельзя. И вообще, насколько плохо interface{}. Опять же - где уместен, где нет. Нет этого понимания. Вот это проблема да

Alexander
07.02.2017
10:35:56
ну создатели языка очень расстраиваются, когда в библиотеку языка добавляют interface{} и во многих постах пишут, что типа "ребята, ни-ни! хорошо подумайте действительно ли оно вам надо"

Daniel
07.02.2017
10:36:23
interface{} - это задел на будущий пиздец

Quet
07.02.2017
10:37:05

Alexander
07.02.2017
10:37:08
sort.slice (или как-то так) сейчас же добавили в 1.8 и вот там первый параметр как раз interface{}. в обсуждении фичи на гитхабе по этому поводу немало слез пролили

Phil
07.02.2017
10:37:26

Daniel
07.02.2017
10:37:44
а нет же выбора

Alexander
07.02.2017
10:37:55
не понимаю, как это противоречит тому, что я написал :)
тем более, что для этих пакетов по-моему иначе и нельзя

Phil
07.02.2017
10:38:20

Quet
07.02.2017
10:38:44

Roman
07.02.2017
10:42:07
а вот да, расскажите про сериализацию. я правильно понимаю, что ради всяких json используется рефлексия итп?

Alexander
07.02.2017
10:42:24
ну да

Quet
07.02.2017
10:42:33
в языках где система типов помощнее можно обойтись без рефлекшена
ну а в го не обойтись )

Google

Alexander
07.02.2017
10:43:50
ну вот подумай как бы ты решал сам задачу. наверно посмотрел бы список полей в JSON, потом для каждого попытался бы найти на что бы его в целевой структуре замапить и вот пожалуйста - рефлексия нужна. т.к. целевая структура и json ничем не регламентированы
хотя чисто теоретически, можно было бы, чтобы компилятор при формировании кода, смотрел на поля твоей структурки и для нее делал код, который читает и пишет ее в JSON или как-то другой формат

Phil
07.02.2017
10:56:20

Quet
07.02.2017
10:57:30

Phil
07.02.2017
11:06:53

Quet
07.02.2017
11:07:31
нет, если типы позволяют — можно без рефлекшена под капотом

i
07.02.2017
11:09:17
Про какие языки с развитыми типами вообще речь?

Quet
07.02.2017
11:13:55

i
07.02.2017
11:15:20

Roman
07.02.2017
11:15:40
Rust?

Phil
07.02.2017
11:16:22

Serge
07.02.2017
11:18:08
Какой операционной системой вы пользуетесь для разработки на Go?
GNU/Linux – 12
??????? 63%
Mac OS – 6
???? 32%
Windows – 1
? 5%
другая
▫️ 0%
? 19 people voted so far.

Phil
07.02.2017
11:19:33
хорошая голосовалка. я во всех чатиках проголлсовал

Maxim
07.02.2017
11:19:48

Serge
07.02.2017
11:20:49

Maxim
07.02.2017
11:21:29
Недавно угарали же с чувака, который пытался накатить го в линукс винды и ещё удивлялся почему всё так плохо

i
07.02.2017
11:22:12
Rust?
И там разбор json без рефлексии с *void?

Phil
07.02.2017
11:34:20

corpix
07.02.2017
11:39:35

Phil
07.02.2017
11:55:39

Google

Admin
ERROR: S client not available

corpix
07.02.2017
12:35:47

Phil
07.02.2017
12:38:03

corpix
07.02.2017
12:49:02

Maxim
07.02.2017
13:07:40
Чёт с гофера проиграл. Думаю мне надо скоро пойти отсыпаться

Alexandr
07.02.2017
14:32:16
а кто нибудь пользуется bazel, для сборки go проектов?

Phil
07.02.2017
14:57:29
это наверное пятый заход по теме, но я так ничего и не определил для себя.
1. Нужна простая KV база. Данные небольшие - ключ например там вообще можно фиксировать на 16 или 32 или 64 байта, значения - ну пусть пара килобайт максимум. Требования -простота, скорость, персистентность, репликация. Желательно - мастер мастер.
2. Усложняем задачу. Все что в 1, но нужно, чтобы у записей был атрибут datetime, относительно которого делать выборку. Или както обыграть это?

Daniel
07.02.2017
14:58:36
количестово записей?

Phil
07.02.2017
15:06:21

Daniel
07.02.2017
15:07:07
я бы взял аэроспайк

Phil
07.02.2017
15:07:26
количестово записей?
Давай на самом деле возьмём 100000. Но они будут достаточно регулярно удаляться и апдейтится

Maxim
07.02.2017
15:17:31
Данные конфига hjson пишутся в переменную типа map[string]interface{}. Как мне заместо интерфейса указать структуру в мапе?

Denis
07.02.2017
15:18:33
map[string]MyType
же

Maxim
07.02.2017
15:18:54

Denis
07.02.2017
15:19:12
где паника?

Maxim
07.02.2017
15:19:24
Или предлагаете накатить переменную с типом интерфейса на переменную с известной структурой?

Daniel
07.02.2017
15:19:45
а?

Maxim
07.02.2017
15:20:09
где паника?
panic: reflect.Set: value of type map[string]interface {} is not assignable to type map[string]main.Configuration
Может не я тупой, а пакет hjson кривой, но мне правда лень сейчас заниматься его патчем что б работало.
@kirilldanshin ты ж мне это рекоммендовал - выручай чо как

Google

Denis
07.02.2017
15:27:24
а зачем тебе human json?

Maxim
07.02.2017
15:28:10

Constantine
07.02.2017
15:28:15
?
причина!
ну ты Макс даешь