❓ Что будет, если вызвать time.Sleep(0)
Вызов time.Sleep(0) не останавливает текущую горутину, как при обычном time.Sleep, а отдаёт управление планировщику Go.  
То есть текущая горутина будет временно «усыплена», и планировщик сможет переключиться на другие горутины, если они ожидают выполнения. 
👍21🌚1
  ⚠️ В машинном обучении, как в любви: слишком идеальные предсказания – это подозрительно!
Когда модель слишком прилипчива к тренировочным данным, результат оказывается… ну, как в отношениях, когда всё кажется идеальным, но реальность ломает сердце.
❌ Оверфиттинг (Overfitting) – модель так хорошо запомнила тренировочные данные, что на реальных данных начинает путаться.
💔 В любви: «Я выбрал идеального партнёра по профилю, а в жизни выяснилось, что его «идеальность» – всего лишь иллюзия!»
❌ Андерфиттинг (Underfitting) – модель обучена настолько поверхностно, что предсказывает мэтчи случайным образом.
💔 В любви: «Мне нравятся только люди с именем Александр, а всех остальных я даже не замечаю – бедный фильтр!»
❌ Неправильный выбор фичей (Feature Selection Fail) – если модель опирается на неважные признаки, она предсказывает мэтчи хуже случайности.
💔 В любви: «Ты любишь авокадо? Значит, мы созданы друг для друга!» – а потом оказывается, что это вовсе не про важное.
🎯 На вебинаре мы разобрали, как избежать этих ошибок и создать работающую модель для speed dating, которая на самом деле помогает находить любовь! Вчера мы не просто говорили о любви – мы её предсказывали!
🔥 Спасибо всем, кто был с нами и участвовал!
💘 Как же это было?
Если ты пропустил вебинар или хочешь пересмотреть запись – просто перейди по [ссылке] и получи видео 😉
Когда модель слишком прилипчива к тренировочным данным, результат оказывается… ну, как в отношениях, когда всё кажется идеальным, но реальность ломает сердце.
❌ Оверфиттинг (Overfitting) – модель так хорошо запомнила тренировочные данные, что на реальных данных начинает путаться.
💔 В любви: «Я выбрал идеального партнёра по профилю, а в жизни выяснилось, что его «идеальность» – всего лишь иллюзия!»
❌ Андерфиттинг (Underfitting) – модель обучена настолько поверхностно, что предсказывает мэтчи случайным образом.
💔 В любви: «Мне нравятся только люди с именем Александр, а всех остальных я даже не замечаю – бедный фильтр!»
❌ Неправильный выбор фичей (Feature Selection Fail) – если модель опирается на неважные признаки, она предсказывает мэтчи хуже случайности.
💔 В любви: «Ты любишь авокадо? Значит, мы созданы друг для друга!» – а потом оказывается, что это вовсе не про важное.
🎯 На вебинаре мы разобрали, как избежать этих ошибок и создать работающую модель для speed dating, которая на самом деле помогает находить любовь! Вчера мы не просто говорили о любви – мы её предсказывали!
🔥 Спасибо всем, кто был с нами и участвовал!
💘 Как же это было?
Если ты пропустил вебинар или хочешь пересмотреть запись – просто перейди по [ссылке] и получи видео 😉
👍1
  ❓ Чем отличается дерево от графа
Дерево — это частный случай графа, где нет циклов и есть ровно одна связь между двумя любыми узлами. 
Граф — это более общая структура, где связи (рёбра) могут быть между любыми вершинами, и циклы допускаются.
В дереве всегда N-1 рёбер при N узлах, а в графе — любое количество. 
Граф — это более общая структура, где связи (рёбра) могут быть между любыми вершинами, и циклы допускаются.
В дереве всегда N-1 рёбер при N узлах, а в графе — любое количество.
👍9🥱5
  ❓ Как можно реверсировать срез без дополнительной памяти
Использовать два указателя (i и j), которые движутся навстречу и обмениваются значениями. 
👍13
  ❓ В чем разница между стабильными и нестабильными алгоритмами сортировки
Стабильная сортировка сохраняет относительный порядок элементов с одинаковыми ключами, тогда как нестабильная сортировка может изменить их порядок
Пример:
До сортировки: 
Алекс (25), 
Боб (25), 
Крис (30). 
Стабильная сортировка по возрасту: 
Алекс (25), 
Боб (25), 
Крис (30). 
Нестабильная сортировка может поменять местами Алекса и Боба, хотя у них одинаковый возраст: 
Боб (25), 
Алекс (25), 
Крис (30). 
Пример:
До сортировки:
👍4😁3
  ❓ Как устроена map в Go
В Go map – это оптимизированная хеш-таблица с открытой адресацией, использующая buckets. 
Вместо linked list при коллизиях, как в Java HashMap, Go хранит по 8 элементов в одной корзине, а при нехватке места создаёт overflow bucket.
type hmap struct {
count int // Количество элементов
B uint8 // log₂(количества корзин)
hash0 uint32 // Случайная "соль" для хеширования
buckets unsafe.Pointer // Указатель на массив корзин
oldbuckets unsafe.Pointer // Для ленивого rehash
nevacuate uintptr // Состояние эвакуации (grow)
}
buckets – массив корзин (bmap), каждая хранит до 8 элементов.
oldbuckets – используется при ленивом rehash при увеличении map.
hash0 – случайная "соль" для предотвращения атак на хеш-таблицу. 
Вместо linked list при коллизиях, как в Java HashMap, Go хранит по 8 элементов в одной корзине, а при нехватке места создаёт overflow bucket.
type hmap struct {
count int // Количество элементов
B uint8 // log₂(количества корзин)
hash0 uint32 // Случайная "соль" для хеширования
buckets unsafe.Pointer // Указатель на массив корзин
oldbuckets unsafe.Pointer // Для ленивого rehash
nevacuate uintptr // Состояние эвакуации (grow)
}
buckets – массив корзин (bmap), каждая хранит до 8 элементов.
oldbuckets – используется при ленивом rehash при увеличении map.
hash0 – случайная "соль" для предотвращения атак на хеш-таблицу.
😁15👍6
  ❓ Вкратце объясните, для чего нужен пакет singleflight
Если несколько горутин одновременно требуют одни и те же данные, singleflight гарантирует, что операция будет выполнена лишь один раз, а результат поделится между всеми запросившими его, тем самым снижая избыточную нагрузку и экономя ресурсы. 
👍20💯3❤1
  ❓Для чего применяется context в Go
В Go пакет context используется для управления временем жизни горутин: передачи тайм-аутов, дедлайнов и отмены операций. 
👍16👾1
  📊 Как себя чувствует IT-рынок в 2025 году?
Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
  Друзья, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Совет на 2025-й — будьте осторожнее с выбором работы. 
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
👍1
  ❓ Что делать, если контекст не нужен, но его требуется передать
Если функция требует передать context.Context, но в вашем случае контекст не нужен, нужно передать context.TODO() 
😁11🤔6
  Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
  
Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 3024 страницы формата А4. 
Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.
👉 Список самого важного
Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.
👉 Список самого важного
👍3❤1💯1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤10👍7👾1
  ❓ Что такое RPS
Requests Per Second — это метрика, обозначающая количество запросов в секунду, которые система, сервер или API способны обработать. Используется для измерения производительности и нагрузки на веб-приложения, базы данных и сетевые сервисы. 
🤔7👍6😁6
  ❓ Как map добавляет элементы? (m[key] = value)
1️⃣ Вычисляется хеш ключа с учётом hash0. 
2️⃣ Определяется номер корзины: bucket = hash % 2^B. 
3️⃣ Проверяется наличие места среди слотов: 
Если есть — записываем ключ и значение. 
Если корзина заполнена — создаётся overflow bucket. 
🌚8🤔5👍1
  Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/4c54dd82
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍1
  Forwarded from Библиотека Go-разработчика | Golang
  
Работа мечты в один клик 💼
💭 Мечтаешь работать в Сбере, но не хочешь проходить десять кругов HR-собеседований? Теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить оффер?
📌 Зарегистрируйся здесь
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
HR больше не тянут время – рекрутеры свяжутся с тобой в течение двух дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzquscAwp
💭 Мечтаешь работать в Сбере, но не хочешь проходить десять кругов HR-собеседований? Теперь это проще, чем когда-либо!
💡 AI-интервью за 15 минут – и ты уже на шаг ближе к своей новой работе.
Как получить оффер?
📌 Зарегистрируйся здесь
📌 Пройди AI-интервью
📌 Получи обратную связь сразу же!
HR больше не тянут время – рекрутеры свяжутся с тобой в течение двух дней! 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzquscAwp
👍1🌚1
  ❓ Как работает пробинг в Swiss Table
1. Вычисляется хеш ключа (hash(key)) 
Используется aeshash (на поддерживаемых CPU) или memhash (на других архитектурах). 
Определяется bucket: bucket_index = hash(key) % num_buckets. 
2. Проверяется metadata (fingerprint) в bucket'е 
Каждый bucket хранит 8 слотов, где хранятся fingerprints ключей. 
Если fingerprint совпадает → проверяем полный ключ. 
3. Если слот занят → применяется квадратичный пробинг: 
next_index = (index + i²) % num_buckets 
i увеличивается (1, 4, 9, 16...), что уменьшает кластеризацию. 
Если после нескольких попыток элемент не найден → он отсутствует. 
👍19