home.social

#goroutine — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #goroutine, aggregated by home.social.

fetched live
  1. 10 вопросов на Go собеседовании, которые валят большинство джунов

    Готовиться к Go-собеседованию по списку с GitHub — значит знать ровно то же, что знают все остальные. Интервьюеры это чувствуют сразу. В этой статье — 10 вопросов, которые реально задают на Golang Junior собеседованиях, с разбором так, как это объяснили бы вам после интервью на обратной связи.

    habr.com/ru/articles/1045104/

    #golang #go #собеседование #junior #goroutine #concurrency #channel #defer #slice #interface

  2. Code Review Horror Stories. Часть 1: Concurrency & Memory в Go-сервисе

    Продолжение прошлой статьи про ошибки на Go-собесах . В тот раз — про лайв-кодинг. Теперь — про code review: когда дают готовый сервис на ~150 строк и говорят “найди что не так, у тебя 30 минут”. Разберём по косточкам реальный код с собеседования — микросервис трекинга рекламных кликов. Багов набралось 21, поэтому делю на две части. Первая — про самое страшное: concurrency, гонки, утечки памяти и горутин. Это то, что роняет сервис в проде. Часть 2 — про API design, ошибки и graceful shutdown — выйдет следом. Актуально для Go 1.26. Из 21 бага на собесе я нашёл 18. Три самых тонких пропустил — потом, дома, перечитал спокойно и выписал. В этой части про concurrency пропустил один — TOCTOU race в дедупликации. Остальные семь — поймал. Расскажу как искал и какими красными флагами зацепился.

    habr.com/ru/articles/1031010/

    #go #golang #code_review #собеседование #конкурентность #goroutine #race_condition

  3. Почему Go-сервисы начинают тормозить без ошибок (и при чём тут goroutines). Часть 1

    Часто про Go говорят: «это язык, где конкурентность почти бесплатная» . И знаете что? Это правда. Почти. Но «почти» — это самое опасное во всей истории, так как либо ты управляешь системой, либо она управляет тобой руками runtime'а. В трёх статьях я разберу путь, через который проходит почти каждый Go-разработчик от наивного «я добавил go — получил параллельность», до взрослого «я проектирую concurrency-систему с понятными границами».

    habr.com/ru/articles/1028264/

    #изучение_языков #go #golang #goroutine #goroutines #программирование #производительность #мониторинг #системное_программирование #архитектура

  4. [Перевод] Планировщик Go

    Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали. В этой статье подробно рассматриваются следующие вопросы: Компиляция и среда выполнения Go Примитивный планировщик Улучшение планировщика Модель GMP Начальная загрузка программы Создание горутины Цикл планирования Поиск готовой к выполнения горутины Вытеснение горутин Обработка системных вызовов Сетевой и файловый ввод-вывод Работа netpoll Сборщик мусора Общие функции API среды выполнения Go

    habr.com/ru/companies/timeweb/

    #go #golang #scheduler #scheduling #schedule_loop #планировщик #планирование #цикл_планирования #timeweb_статьи_перевод #goroutine

  5. За кулисами асинхронности: корутины, горутины и правда между ними

    Асинхронность — слово, от которого у разработчиков дергается глаз и теплеет сердце. Корутины, горутины, event loop, трэдпулы — за этими терминами скрывается целая философия, меняющая взгляд на то, как писать высоконагруженные системы. Привет, Хабр! Меня зовут Дмитрий Буров и я Golang-разработчик, а также лидер Go-сообщества в Lamoda Tech. В IT свитчнулся из военного дирижера. В коммерческой разработке — более 10 лет, начинал как фуллстек-разработчик на стеке JS, PHP, CSS, а последние шесть пишу только на Go. В этой статье по мотивам моего доклада для GolangConf расскажу про асинхронность и её роль в современных высоконагруженных системах. Разберём исторический аспект, концепцию и реализацию корутин в разных языках, эволюцию асинхронных подходов, сравним корутины и горутины, выясним, зачем Go добавил в рантайм пакет coro и чем это может обернуться.

    habr.com/ru/companies/oleg-bun

    #go #golang #coroutine #goroutine #asynchronous #программирование #разработка #golangconf

  6. Потоки, горутины, синхронизация и мьютексы в Go

    Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства синхронизации. Приглашаю разобраться подробно.

    habr.com/ru/articles/933464/

    #go #golang #goroutine #mutex

  7. Автоматизация контента: как я сделал умного Tg-бота для публикации видео из VK (очередь, дедупликация, NutsDB, yt-dlp)

    Здравствуйте, коллеги! Хочу поделиться опытом проектирования и реализации production-ready Telegram-бота, который автоматически собирает и публикует свежий видеоконтент из паблика ВКонтакте — и делает это без дублей, с гарантией доставки и мемными подписями на базе OpenAI . В статье я покажу архитектуру, приведу примеры кода и расскажу о фишках, таких как очередь ссылок на видео (NutsDB), проверка на уникальность (deduplication), скачивание через yt-dlp и интеграция с OpenAI для генерации описаний.

    habr.com/ru/articles/918186/

    #Telegram_Bot #vk_api #go_golang #ytdlp #автоматизация #NutsDB #OpenAI_API #Генерация_мемов #Goroutine #Docker

  8. Секреты дедлоков

    Как-то раз я допустил в своем коде дедлок и пока выкатывал пул реквест с его фиксом думал “ах как бы было хорошо, если дедлоки определялись на этапе компиляции”. Я решил немного разобраться в этом вопросе и вот что выяснил… Узнать больше

    habr.com/ru/companies/ozonbank

    #go #goroutine #goroutines #panic #deadlock #deadlocks #timer #дедлок #горутина #горутины

  9. Разбираем конкурентность в Go: книги, блоги, выступления

    Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом функции — и она начнет выполняться в отдельном потоке. Я Владислав Белогрудов, эксперт по разработке ПО в YADRO. В свое время изучал различные источники и лучшие практики в поиске эффективных способов организации параллельных процессов в Go. Делюсь ими с вами. Пополнить библиотеку

    habr.com/ru/companies/yadro/ar

    #golang #go #goroutine #concurrency_patterns #functional_programming #channel

  10. Как рождаются, живут и умирают горутины

    Вы когда-нибудь, глядя на горутину, думали, что у неё под капотом? Я вот решил посмотреть. И сегодня расскажу о том, как рантайм Go создаёт и управляет горутинами, о статусах, которые у них есть, и некоторых хитростях, к которым прибегают создатели языка.

    habr.com/ru/companies/ozonbank

    #go #runtime #garbage_collector #goroutine #internal #golang #source_code

  11. The WTF moment when you realise that #PHP with Fiber provides a kind of "goroutine". It is based on an event loop and can be used like a #goroutine thanks to the work of Frode Børli and his project phasync... including channels... but still within a single thread, too bad 🤷

    I would still prefer #golang 💙 But hey! Nice work PHP

  12. So I've been learning some basics of #golang since my team has started building most our services with that language. Got to the section on #go concurrency and was ready to strap in and learn all about thread pools, etc. Come to find out simply putting the word `go` in front of a function will create a #goroutine that will then run concurrently. What!?! Mind blown. 💥

  13. So I've been learning some basics of #golang since my team has started building most our services with that language. Got to the section on #go concurrency and was ready to strap in and learn all about thread pools, etc. Come to find out simply putting the word `go` in front of a function will create a #goroutine that will then run concurrently. What!?! Mind blown. 💥