
Michael
12.07.2017
10:37:43
хм... я про шарповый ридонли
readonly инициализируется в init, а далее ведёт себя как константа

Andrew
12.07.2017
10:39:23

Zhenja
12.07.2017
10:41:03
а, тогда статью надо переименовать в SimpleTypeGlobalVariablesAreBad

Google

Michael
12.07.2017
10:42:00
fix(Variables(Are(Bad)))

Andrew
12.07.2017
10:45:12

corpix
12.07.2017
10:49:48

Анатолий
12.07.2017
10:52:47

Andrew
12.07.2017
10:57:43

Axm
12.07.2017
11:11:05

corpix
12.07.2017
11:18:16

Axm
12.07.2017
11:18:32
во все функции проекта?

Igor
12.07.2017
11:21:29
В других языках это решается через IoC контейнер
в Go сколько не гуглил, адекватного контейнера не нашёл

corpix
12.07.2017
11:23:55

Димка
12.07.2017
11:43:35
Вопрос по math/rand
Как сделать, что бы он генерировал случайные числа?
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println(rand.Intn(100))
}
всегда выводит число 81...
точнее, при каждом запуске программы, одно и тоже число

Google

Alexander
12.07.2017
11:44:33
https://golang.org/pkg/math/rand/#Rand.Seed

Aleksandr
12.07.2017
11:45:02

Димка
12.07.2017
11:46:10
ага, спасибо

Mike
12.07.2017
11:48:52

Michael
12.07.2017
12:44:25
просто immutable ?

Slava
12.07.2017
15:27:37
ридонли и неизменяемые переменные действительно важны/удобны
надеюсь го в эту сторону придёт так или иначе

Евгений
12.07.2017
15:31:52
> неизменяемые переменные
константы?

Vladislav
12.07.2017
15:32:33
На самом деле непонятно, что мешает просто не менять.

Michael
12.07.2017
15:35:24

Евгений
12.07.2017
15:36:50
Пишите везде := и присваивайте по одной - компилятор сам начнет ругаться, что вы ее пытаетесь переопределить —- тут должен идти тролль-фейс ))

Slava
12.07.2017
15:41:24

Vladislav
12.07.2017
15:51:28
То же, что мешает людям писать код без багов
Ну смотри. Не знаю как у всех, но на моем опыте баги возникают в основном из-за невнимательности или просчете в логике. Просчет иммутабельность не убирает. Невнимательно изменить переменную. Тут 2 варианта. 1: хотел изменить не ту переменную. Тут спасают грамотные названия этих самый переменных. Не должен был вообще ничего менять. Тут да. Но таких багов лично я давно не допускал.

corpix
12.07.2017
15:53:24

Mike
12.07.2017
15:54:27


Slava
12.07.2017
16:00:07
Если код поддерживается в течении десятилетий - тем более, уже пять поколений людей его писало
я тут во всём согласен с Дейвом https://dave.cheney.net/2017/06/15/simplicity-debt

Google

Vladislav
12.07.2017
16:04:24
Тот же, по-моему, Дейв писал о том, что нужно отказаться от глобальных переменных.
И сразу уходит глобальное состояние, которое можно менять.

Ivan
12.07.2017
16:05:51
ТО что все годами гонятт на глобальные переменные не новость
Но иногда не понятно как иначе, у меня из за этих инъектиций состояния в функции, бывает голову уже сломаешь

corpix
12.07.2017
16:08:07
Ну это дело привычки. Нужно принять что придётся не менять что-то во вселенной, а создавать новую вселенную, где уже есть нужное изменение :D

Aleksandr
12.07.2017
16:09:03

Vladislav
12.07.2017
16:18:47

Ivan
12.07.2017
16:41:41
Угу

Мерлин
12.07.2017
16:42:25

Aleksandr
12.07.2017
16:42:57
это все диктуется чрезмерной лаконичностью и низкоуровневостью языка.

Ivan
12.07.2017
16:44:15
Как вот люди решают проблему большого конфига, у меня есть масштабный кофиг (на самом деле много, уровня приложения, уровня конкретного инстанса, уровня задачи) и читаю я в main и потом начинаю части его прокидывать в функции, но это уйма убогой писанины.
И я постоянно думаю что сорвусь и дам пакетам своим или читать конфиг, или будут переменные глобальные

Michael
12.07.2017
16:45:38
???
Context
и в нём, что надо прокидывать
не?

Aleksandr
12.07.2017
16:47:46

Ivan
12.07.2017
16:47:48
Ну да, типа того. Но вот толи всю эту уйму конфигов пизхать в один контекст, толи делать дробить их

Valentin
12.07.2017
16:51:29

Mike
12.07.2017
16:52:42

Google

Mike
12.07.2017
16:53:27
заодно внутри пакета можешь норм организовать конфиг по файлам

Ivan
12.07.2017
16:54:45
Пакет config есть, их как бы много.
На уровне app , естьт конфиг где номер инстанса например и база, на уровне задачи например дургой конфиг , там какую таблицу процессить и тд

Admin
ERROR: S client not available

Ivan
12.07.2017
16:59:59
Т.е. в двух словах, или контексты или некий синглетон с методами getBlabla

corpix
12.07.2017
17:09:16

Ivan
12.07.2017
17:50:55
А потом, сделать синглотоном? или чего с ним

corpix
12.07.2017
17:53:13
А потом использовать там где он нужен, например так:
Пакет с конфигом может выглядеть так https://github.com/corpix/market-fetcher/blob/master/config/config.go#L162
Использование так https://github.com/corpix/market-fetcher/blob/master/cli/root.go#L39

Ivan
12.07.2017
17:54:34
Спасибо!

Мерлин
12.07.2017
19:16:28
[last news]
Useful Constructors in Go

Aleksandr
12.07.2017
19:21:22

Mush
12.07.2017
21:56:28
Кто-то использовал go tool trace?

Анатолий
13.07.2017
07:04:46
Парни, смотрю гайды по написанию рестапи, часто встречается горилла, норм выбор?

Daniel
13.07.2017
07:05:13
Выбор для чего?

Мерлин
13.07.2017
07:13:47

Анатолий
13.07.2017
07:15:10
Спасибо, про чи, я уже слышал в этом чяти, посмотрю на неё

Daniel
13.07.2017
07:34:54
а я повторю - что делать-то?
я вот весь свой рест пишу на сваггере

Igor
13.07.2017
07:41:46

Ivan
13.07.2017
08:13:14
а Format 20160105 только уц меня вызывает отвращение?

Google

Valentin
13.07.2017
08:22:26
Да он не удобный
Американцам он привычный, откуда го)
Не понимаю, почему нельзя было сделать буквами, как в php- ddmmyyy

Анатолий
13.07.2017
08:30:37
У меня при виде этой ерунды возникло желание написать враппер, я еще больше холловорлда на написал, а обернуть это уже желание возникло.

Axm
13.07.2017
08:31:05

Mike
13.07.2017
08:31:26
http://fuckinggodateformat.com

Анатолий
13.07.2017
08:32:34
Ну мотивация понятна, взять полную дату и пронумеровать все свойства
Но, оказывается, как и всегда внезапно, в мире больше одного языка, больше одной раскладки клавиатуры и больше одного стандарта написания дат

Ivan
13.07.2017
08:35:32
Всё время хочется ругаться