00:02:28 ayaan: 👋 00:04:09 Михаил Парфёнов: + 00:04:10 ayaan: + 00:04:10 Дмитрий: + 00:04:10 dmitriy: + 00:04:12 Pavel S: + 00:04:14 Konstantin: + 00:04:48 ayaan: + 00:04:49 dmitriy: + 00:04:50 Konstantin: + 00:04:51 Дмитрий: + 00:04:51 Михаил Парфёнов: + 00:04:53 David R: + 00:05:12 Михаил Парфёнов: захватывает переменные 00:05:15 Konstantin: оно хранит переменные скоупа 00:12:04 ayaan: я в шоке 00:14:57 David R: function ptr от "обычного" ptr ничем не отличается? 00:17:13 ayaan: в го получается все указатели 00:17:29 dmitriy: Никогда не задумывался о том, как хранится замыкание 00:22:56 David R: там не линейная зависимость 00:23:02 Константин Шум: Зависит от того сколько добавляем 00:23:06 Pavel: до какого-то предела, а ьам мультиплаер уаменьшается 00:23:13 ayaan: 256? 00:23:15 Дмитрий: До 1000 вроде 00:23:24 alex: *1.22 00:23:25 Konstantin: 1.25 00:23:28 Константин Шум: на 8 байт )) 00:24:34 Pavel: Михаил, а после того, как в слайс что-то добавили он сразу идет в кучу? даже если был на стэке? 00:26:55 Pavel: Я просто где-то читал, что слайс при любом изменение отправляется в кучу, а до определенного предела по размеру - его можно создать на стэке 00:32:19 ayaan: + 00:32:24 Дмитрий: + 00:33:55 dmitriy: Вопрос только про хранение слайса. Получается слайс из кучи может ссылаться на массив в стеке? Я думал что из стека можно в кучу заглянуть но не наоборот, или и так и так может работать? 00:35:52 David R: тут LLM отвечает что: Базовый массив, на который указывает срез, всегда хранится в куче 00:35:53 dmitriy: Понял, спасибо 00:36:13 dmitriy: Reacted to "тут LLM отвечает что..." with 👍 00:38:15 ayaan: + 00:54:42 alex: кроме кеша , какие ещё кейсы использования мап ? 00:56:52 Pavel S: Что в мапах чаще всего хранят, в реальной разработке? 01:04:12 Konstantin: там очередь под капотом мьютекса? 01:04:32 Константин Шум: Mutex чем-то напоминает транзакции в СУБД 01:04:38 Konstantin: или рандом эксесс? 01:05:50 Konstantin: ок, спасибо 01:14:55 David R: для счетчиков (интов) можно использовать библиотеку sync/atomic (atomic.Int64) 01:28:46 Konstantin: это массив в основе или другая струтура? 01:31:07 dmitriy: 🤯 01:33:49 Konstantin: грубо слайс слайсов? 01:34:12 Константин Шум: Не очень понял зачем перебирать значения? 01:34:52 dmitriy: А это реализация конкретно в go, или в других языках +- также? Я возможно упустил. Я вообще походу много чего упустил 😁 01:36:23 Константин Шум: То есть, мы не доверяем результату хеша, когда получаем int ? 01:36:44 Константин Шум: Ну даже не мы, а go ) 01:37:44 ayaan: Получается мапа это слайс из слайсов ? в первый слайс попадаем за счет остатка от деления hash ключа? 01:37:59 Константин Шум: А это и в других языках так ассоциативные массивы устроены? 01:47:52 Konstantin: то есть в новой мапе если бакет заполнен, то идет +1? 01:48:17 dmitriy: Но если нет возможности использовать SIMD, то будет работать по старому? 01:48:18 Константин Шум: Но если SIMD не поддерживает процессор, работать будет примерно, как раньше? Тактов нужно будет больше… 01:49:22 alex: как пхпшник офигеваю 01:49:41 ayaan: очень сложная штука 01:51:12 Konstantin: это называется swiss table? 01:52:01 David R: people := make(map[string]int, 3) // 3 - это cap? fmt.Println(people, len(people)) // map[] 0 // fmt.Println(cap(people)) // invalid argument 01:59:55 dmitriy: Главное погрузившись в это все не попасть в дурку в итоге) 02:00:03 Konstantin: Reacted to "Главное погрузившись..." with 😂 02:00:21 Konstantin: да, под конец тяжеловато шло) 02:03:14 David R: понял, спасибо 02:03:43 ayaan: даже планировщик проще работает чем мапа 02:03:44 Konstantin: спасибо большое, очень интересный урок был 02:04:05 dmitriy: Спасибо, было полезно 02:04:25 Pavel S: спасибо, пока 02:04:26 dmitriy: 😁 02:04:30 Konstantin: пока)) 02:04:33 ayaan: 👋 02:04:43 ayaan: продам гараж