
Sparrow
23.08.2017
19:48:52
ой все, люби свою змею. я не против )

Sergey
23.08.2017
19:50:15

Alexey
23.08.2017
19:50:51

Sergey
23.08.2017
19:52:04

Google

Alexey
23.08.2017
19:52:32

Sergey
23.08.2017
19:52:45

Nikolay
23.08.2017
19:53:36

Alexey
23.08.2017
19:54:52

Sparrow
23.08.2017
19:58:03
наверняка мап как дерево устроен, откуда там сортировке взяться (исходник не смотрел)

Nikolay
23.08.2017
20:00:22

Daniel
23.08.2017
20:01:38
там дерево внутри
и оно при каждой записи перебалансируется

Sergey
23.08.2017
20:01:56
Там потомком
Вроде

Daniel
23.08.2017
20:02:20
а вот то, что и без записей порядок обхода каждый раз случайный - это сделано специально

Alexander
23.08.2017
20:02:21

Google

Nikolay
23.08.2017
20:03:25
там дерево внутри
т.е. тип map[T1]T2 имеет под собой древовидную структуру в памяти, так это понимать?

Daniel
23.08.2017
20:03:33
да

Nikolay
23.08.2017
20:04:08
а где можно просвятиться по этому вопросу, особенно про балансировку заинтриговало

Sparrow
23.08.2017
20:04:22
гугл data structures
можно какой-нибудь курс пройти

Daniel
23.08.2017
20:04:51
https://www.goinggo.net/2013/12/macro-view-of-map-internals-in-go.html

Sergey
23.08.2017
20:04:57

LexsZero
23.08.2017
20:05:38

Nikolay
23.08.2017
20:06:09
Всем спасибо, буду учиться

Sparrow
23.08.2017
20:06:46
ага. по книжкам -- есть одна с кнутом и много разных с пряниками.

Sergey
23.08.2017
20:07:10
)

Dmitri
23.08.2017
20:07:48
https://gist.github.com/CssHammer/cf435e9b07e25ae17ad537e55c99ec42
Подскажите, если сработал return во внутренней функции - прекратиться ли цикл?

Daniel
23.08.2017
20:08:07
нет, конечно

Dmitri
23.08.2017
20:08:44
да и я так же удивился, но че-то после ретурна прекращается все у меня
буду копать, спапсибо

Sergey
23.08.2017
20:09:29
Ты чо))

Тимофей
23.08.2017
20:13:04
Сори, случайно

Sergey
23.08.2017
20:13:49
нет, конечно
А есть какой нить бот, просто как в чате про вим. Чтобы можно было банить спаммеров?

Dmitri
23.08.2017
20:14:33
banoff например

Google

Alexander
23.08.2017
20:17:25
Ребята, вычего? Какие сбалансированные деревья? На код типа map поглядеть просто религия не позволяет? https://golang.org/src/runtime/hashmap.go
Там прямо в самом начале и рассказано, как организован внутри тип map.

Alexey
23.08.2017
20:24:55

Nikolay
23.08.2017
20:26:16
Забываю, что Go написан на Go и можно подглядеть исходники. Но что-то сходу не разобраться без объяснений.

Daniel
23.08.2017
20:27:01

Alexander
23.08.2017
20:27:15
А что тут объяснять?
// A map is just a hash table. The data is arranged
// into an array of buckets. Each bucket contains up to
// 8 key/value pairs. The low-order bits of the hash are
// used to select a bucket.

Daniel
23.08.2017
20:27:45
ну
сначала массив, потом мапа

Sergey
23.08.2017
20:28:54
Какой переезд лол
В ла

Alexander
23.08.2017
20:32:17
/me зануда :)

Daniel
23.08.2017
20:33:13
ну, хорошо. как мы назовем ту структуру, что на картинке?

Alexander
23.08.2017
20:34:07
array of buckets

Daniel
23.08.2017
20:34:44
Деревом в теории графов называют связный ациклический граф.

Alexander
23.08.2017
20:34:56
Даниэль, попробуй заняться лексическим анализом. Для начала можно попробовать найти слово 'tree' в коде hashmap.go :)

Daniel
23.08.2017
20:35:09
массив бакетов представляет собой связанный ациклический граф

Alexander
23.08.2017
20:36:33
в вакууме :)

Джон
23.08.2017
20:36:38

Daniel
23.08.2017
20:37:12
в вакууме :)
в учебнике, бро, в учебнике...
учебников, правда, никто не читает из программистов

Sergey
23.08.2017
20:37:48

Google

Джон
23.08.2017
20:38:00

Daniel
23.08.2017
20:38:18
я тут порадовал интервьера, сказав, что список однонаправленный - тоже дерево. но он и правда дерево же, просто вырожденное

Alexander
23.08.2017
20:38:24
в учебниках написано, что весь мир - это граф. Это еще индусы знали с их Сетью господа Индры, где каждый узел связан со всеми остальными :)

Daniel
23.08.2017
20:38:47
ну так и не надо такое важное знание игнорировать

Alexander
23.08.2017
20:39:15
OK! :)

Sergey
23.08.2017
21:05:26
https://play.golang.org/p/f058QGB4QK можете подсказать демон собирает все что пришло на порт тсп 7000 и пишет в БД , но когда я делаю проверку не telnet (он нормально работает ) а каким то приложением по tcp то пусто Message Received:TEXT in (пусто)

Admin
ERROR: S client not available

Nikolay
23.08.2017
21:11:37

Daniel
23.08.2017
21:11:56
так и есть

Sergey
23.08.2017
21:17:58
ок , но почему демон не видит ничего что пришло на TCP порт хотя если подключаться через телнет все норм

Nikolay
23.08.2017
21:18:01

Sergey
23.08.2017
21:19:46
но почему то null в переменной
data := string(message)

Nikolay
23.08.2017
21:21:14
ну как я понимаю, не учитывается ошибка, поэтому message = nil, поэтому и пусто
хотя доки говорят, что должен хотя бы часть возвращать, которая прочиталась до ошибки

Sergey
23.08.2017
21:23:55
и еще момент я вижу эти сообщения когда разрываю тсп сессию

Daniel
23.08.2017
21:24:20
коллега

Google

Daniel
23.08.2017
21:24:30
код ваш довольно мерзко отформатирован
читать его неприятно
там наверняка что-то простое, но я даже не смог до этого дойти

Kirill
23.08.2017
21:25:25
как ты мягок, Нил
комментарии без пробела после // зарезервированы

Alexey
23.08.2017
21:26:56

Alexander
23.08.2017
21:26:59
> а каким то приложением по tcp то пусто
Сергей, так это, может быть, на "какое-то приложение" надо смотреть?
Откуда эта нахальства у всех сразу думать, что какое-то приложение сразу по TCP что-то отправляет? :)

Sergey
23.08.2017
21:28:35
потому что я знаю
какоек то приложение потому что это не так принципиально

Daniel
23.08.2017
21:29:16
коллега
обрежте все, кроме работы с сетью
и посмотрите, что там как

Alexander
23.08.2017
21:29:37
А еще лучше строки типа 45 делать в виде
fmt.Println("Cannot accept!!", err)

Alexey
23.08.2017
21:30:04

Daniel
23.08.2017
21:30:05
да нет никакого смысл продолжать, если акцепт ошибку вернул. падать надо
log.Fatalf()

Alexander
23.08.2017
21:30:48
Ну, или Errorf, да. Но оно будет не в stdout писать, а в stderr

Daniel
23.08.2017
21:31:01
да и слава богу