
Mykyta
29.12.2017
11:51:50
Только ты расшариваешь ее содержимое глобально
Короче, перепиши код так, чтобы вообще не было глобальной переменной
и ты сам увидешь, как все станет гораздо проще

Lucky
29.12.2017
11:52:51
Пожалуй обойдусь костылём

Google

Arch
29.12.2017
11:53:09

Lucky
29.12.2017
11:54:07

Mykyta
29.12.2017
11:54:32

Lucky
29.12.2017
11:54:34
Хоть и ссылкой

Arch
29.12.2017
11:54:58
вот да
var a = make(map[string]*Client)
так норм отрабатывает в глобал скопе

Lucky
29.12.2017
11:56:00

Arch
29.12.2017
11:56:26

Mykyta
29.12.2017
11:57:31
Посмотри что у тебя первым выходит, обращение к функции которая использует твою переменную или вызов init. Если вызов init, то смотри что в функции хранится после этого

Arch
29.12.2017
11:58:31

Mykyta
29.12.2017
11:59:42
к чему это?
к тому, что расставь брейкпоинты и посмотри как выполняется код пошагово

Google

Mykyta
29.12.2017
12:00:32
Из-за того, что у тебя переменная хранится глоабльно, тебе трудно проследить кто к ней обращается.

Arch
29.12.2017
12:02:59

Mykyta
29.12.2017
12:04:12

Arch
29.12.2017
12:04:55
Более того, многие большие проекты с умными дядьками на борту грешат использованием глобалов, чего уж говорить про новичков на этом празднике жизни))))))

Lucky
29.12.2017
12:05:40
Так ладно, а чем дебажить лучше? Или есть встроенный?

Mykyta
29.12.2017
12:06:24

Lucky
29.12.2017
12:06:37
vscode
Но до этого только в блокноте писал, да

Mykyta
29.12.2017
12:06:49
Нажми ф5
В следующий раз вообще в ed пиши код)

Lucky
29.12.2017
12:07:34
Не, ф5 это же ран

Mykyta
29.12.2017
12:08:08
Тогда ctrl+f5
хотя стоп
что ты все путаешь
все правильно, ф5
только брейкпоинт сначала поставь

Arch
29.12.2017
12:21:03

nezorflame
29.12.2017
12:21:43

Mykyta
29.12.2017
12:21:55
Ну без форматирования, рефакторингов, анализа, интелисенса и прочих благ цивилизации

nezorflame
29.12.2017
12:22:04
Кроме макоси, там надо самому ставить через brew

Google

Arch
29.12.2017
12:22:37

nezorflame
29.12.2017
12:23:06
Так саблайм, как и vscode, и атом, называть блокнотом - оскорбление)

Mykyta
29.12.2017
12:23:38
Так он по факту умеет не больше, чем nano какой-то

Arch
29.12.2017
12:23:45
да ладно, обычный блокнот, ранее в акелпаде писал, разница не большая

Mykyta
29.12.2017
12:23:48
ну может через костыли чуть больше

nezorflame
29.12.2017
12:23:50
Здрасьте приехали
Плагины же
https://github.com/DisposaBoy/GoSublime

Arch
29.12.2017
12:24:25

Mykyta
29.12.2017
12:25:07
Хорошо, что у меня годовая лицензия на голенд

nezorflame
29.12.2017
12:25:11
Я сам vscode юзаю, но в саблайме все тоже весьма прилично

Mykyta
29.12.2017
12:25:24
мне подарили за то, что я им баги с самого начала репортил)

nezorflame
29.12.2017
12:25:34

Arch
29.12.2017
12:25:38
Не люблю IDE за их неповоротливость и тормозность

nezorflame
29.12.2017
12:25:46

Igor
29.12.2017
12:26:19
вы на джаве попробуйте без иде пописать

Arch
29.12.2017
12:26:25

nezorflame
29.12.2017
12:26:30
К счастью, не нужно

Mykyta
29.12.2017
12:26:32
Когда я работал на дотнете, код без решарпера даже никто бы не взялся ревьювить

Arch
29.12.2017
12:26:36

Google

nezorflame
29.12.2017
12:26:51
Мне C++ и C# хватило

Mykyta
29.12.2017
12:26:54

Arch
29.12.2017
12:27:09

nezorflame
29.12.2017
12:28:02

Mykyta
29.12.2017
12:28:02

nezorflame
29.12.2017
12:28:25
Лучшая IDE, которую когда-либо юзал, аж ностальгия пробила

Arch
29.12.2017
12:28:31

nezorflame
29.12.2017
12:28:51
Да, решарпер мастхэв был

Mykyta
29.12.2017
12:28:57
Мне C++ и C# хватило
C# изначально спроектирован как язык, который полностью должен поддаваться статическому анализу

Arch
29.12.2017
12:29:02

Admin
ERROR: S client not available

Mykyta
29.12.2017
12:29:43
По идее в цпп с кучей макросов польза от синтаксического анализа стремится к нулю, как в жаваскрипте

Arch
29.12.2017
12:30:19
Под макросами ты подразумеваешь сценарии препроцессора?

Mykyta
29.12.2017
12:30:20
но на цпп за деньги никогда не писал, может и ошибаюсь
Да
В шарпе они тоже есть
но они там оч простые

Arch
29.12.2017
12:30:52
препроцессор - это круть, скучаю по нему)

Mykyta
29.12.2017
12:31:58
В го он тоже есть, для условной компиляции с сgo например

Arch
29.12.2017
12:32:07
Так ХР ностальгировать, сопли намотали на кулак и за работу))))

Google

Arch
29.12.2017
12:43:06
Народ, а если я буду проходиться по мапу ренджем и внутри цикла удалять элементы этой же мапы, оно сообщит мне о ошибке рантайма, типа индек аут оф рэндж?
или оно умное? и итератор будет кружить до того, как мапа не останется пустой

nezorflame
29.12.2017
12:45:30
https://golang.org/doc/effective_go.html#for

Mykyta
29.12.2017
12:45:35

nezorflame
29.12.2017
12:45:40
for key := range m {
if key.expired() {
delete(m, key)
}
}
в общем, ответ - да
только вот в таком виде, по ключам
по элементам не уверен

Arch
29.12.2017
12:46:58
Конечно по ключам)))) Спасибо

nezorflame
29.12.2017
12:47:49

Arch
29.12.2017
12:48:30
В питоне было весело, таким образом начинаешь летать по списку, а потом у тебя пол списка остается)))))

Mykyta
29.12.2017
12:53:39

Nikolay
29.12.2017
13:53:26
Я бы советовал этого избежать

Arch
29.12.2017
15:31:52
Народ, тут обнаружил странную странность, http сервак у меня взлетает как - то странно три раза из 4, причем если глянуть через netstat -ntulp, то его даже нет в слушателях порта. Куда копнуть можно? При этом никаких признаков невзлета или паники.
причем процесс, который слушает порт зовется api и через ps -A он есть
2478 pts/0 00:00:00 go
2500 pts/0 00:00:00 api
есть может какой лог у go что он там не смог порт забиндидь или что-то в этом духе

oneek
29.12.2017
15:45:31
strace -x

Arch
29.12.2017
15:59:57
Крутяк, нашел аномалию между нормальным вызовом и глючным
futex(0xae1970, FUTEX_WAIT, 0, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
—- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} —-
rt_sigreturn({mask=[]}) = 202
ТОлько что бы это могло значить?

Александр
29.12.2017
16:11:43
господи, чем вы заняты