Нина Пакшина
Нина Пакшина
  • 8
  • 1 719
Паттерн многозадачности и горутины в Go: пул обработчиков (worker pool)
Один из часто используемых паттернов многозадачности - пул обработчиков (worker pool)
Используется, когда требуется искусственно ограничить количество одновременно запускаемых горутин.
มุมมอง: 71

วีดีโอ

Основные инструменты профилирования в Go
มุมมอง 20316 ชั่วโมงที่ผ่านมา
Мини практикум по бенчмаркам и профилированию в Golang. Я рассказываю об основных инструментах (benchmark, benchstat, pprof, go tool), о том как запускать сбор данных, и как интерпретировать результат. Ссылка на репозиторий: github.com/PakshNina/profiling 1:29 - Инструменты 1:55 - Бенчмарки 5:27 - Сравнение бенчмарков 9:40 - Выгрузка профиля ЦПУ и Памяти из бенчмарков 11:34 - Работа с pprof чер...
Чего ожидать от HTTP/3 + Go
มุมมอง 1.2K14 วันที่ผ่านมา
Видео трансляции с митапа Московского Клуба Программистов 22 мая 2024 года в Умном городе. В докладе рассказывается про HTTP/3 в контексте языка Go. 02:15 - Предубеждение 1: HTTP/2 кардинально отличается от HTTP/3 09:20 - Предубеждение 2: HTTP/3 поверх UDP, поэтому он ненадежен 14:20 - Предубеждение 3: HTTP/3 существеннее быстрее, чем HTTP/2 17:47 - HTTP/3 безопаснее HTTP/2 20:38 - Зачем исполь...
Как браузер знает, что отправлять серверу? О версиях HTTP на примере языка Go
มุมมอง 9014 วันที่ผ่านมา
Доклад посвящен HTTP протоколу: как браузер знает, какую версию HTTP использовать? Что такое сокеты и как написать сырые сокеты на Go. Погружаемся в ньюансы сетевого взаимодействия клиента и сервера HTTP.
Управление памятью и сборщиком мусора в Go
มุมมอง 13714 วันที่ผ่านมา
Мой доклад от 2023 года в Московском Клубе Программистов. Здесь рассказываю о том, как работает сборщик мусора, как им можно управлять с помощью GOGC и GOMEMLIMIT. 00:57 - Стек и куча 03:57 - Escape analysis 05:55 - Принцип работы сборщика мусора в Go 07:38 - Какие ресурсы потребляет сборщик мусора 08:28 - Stop the world 09:55 - Когда запускается сборщик мусора 11:00 - GOGC 16:12 - Куча в реаль...
Библиотека Unsafe в Golang
มุมมอง 20314 วันที่ผ่านมา
В данном докладе я рассказываю о том, что такое библиотека unsafe в Go, как можно работать с указателями и основы адресной арифметики. Также расскажу о случаях, где можно применить unsafe.
Вокршоп по работе с Go, http/3 и стримами.
มุมมอง 54หลายเดือนก่อน
Вокршоп по работе с Go библиотекой quic-go, http/3 и стримами. Использую версию Go 1.22, версию quic-go 0.42.

ความคิดเห็น

  • @unicoxr5tj417
    @unicoxr5tj417 4 ชั่วโมงที่ผ่านมา

    ставим кодерше лайк. Большая редкость, да и еще на Голанг

  • @tatyana_nero
    @tatyana_nero 12 ชั่วโมงที่ผ่านมา

    О, воркер пул часто использую в своих проектах!

  • @JohnKekSex
    @JohnKekSex 14 ชั่วโมงที่ผ่านมา

    Видео огонь! Хотелось бы больше видео о паттернах многопоточки или же об архитектурных, дизайн.

    • @PakshinaNina
      @PakshinaNina 12 ชั่วโมงที่ผ่านมา

      Спасибо! Да, в ближайшее время сделаю еще про паттерны многопоточности. И еще планирую сделать про паттерн проектирования «цепочка обязанностей».

  • @L0wPressure
    @L0wPressure 2 วันที่ผ่านมา

    Коллега, тоже промышленная автоматизация -> веб-разработка.

    • @PakshinaNina
      @PakshinaNina 2 วันที่ผ่านมา

      @@L0wPressure, коллеги! С чем работал: siemens, wago, fastwel? :)

    • @L0wPressure
      @L0wPressure วันที่ผ่านมา

      @@PakshinaNina GE Fanuc, Trei, Тэкон и немного с Siemens :)

    • @PakshinaNina
      @PakshinaNina 12 ชั่วโมงที่ผ่านมา

      @@L0wPressure из перечисленных только Тэкон знаю (ну и сименс) :)

    • @L0wPressure
      @L0wPressure 12 ชั่วโมงที่ผ่านมา

      @@PakshinaNina их слишком много, чтобы все знать, да и ни к чему. Но GE достаточно активно до 14 года использовались, пока не началось импортозамещение :)

  • @mikhailm.887
    @mikhailm.887 3 วันที่ผ่านมา

    В строчках типа headerSize := unsafe.Offsetof(pdu.ByteCounut) + unsafe.Sizeof(pdu.ByteCount) есть какой-то смысл привязываться к последнему полю в структуре, или можно написать просто headerSize := unsafe.Sizeof(pdu) ?

    • @mikhailm.887
      @mikhailm.887 3 วันที่ผ่านมา

      А, понял, висячий байт останется

    • @PakshinaNina
      @PakshinaNina 2 วันที่ผ่านมา

      @@mikhailm.887да, все верно :)

  • @Hanke1exe
    @Hanke1exe 4 วันที่ผ่านมา

    Классный доклад! Жаль, что не смог прийти на митап...

  • @Hanke1exe
    @Hanke1exe 4 วันที่ผ่านมา

    Спасибо за видео!

  • @user-rj5kt3ft8w
    @user-rj5kt3ft8w 6 วันที่ผ่านมา

    спасибо. было бы интересно послушать про оптимизации, уменьшению аллокаций

    • @PakshinaNina
      @PakshinaNina 6 วันที่ผ่านมา

      Добрый день, про escape analysis и аллокации есть немного в докладе про сборщик мусора, посмотрите по таймкодам.

  • @egorshiryaev6058
    @egorshiryaev6058 7 วันที่ผ่านมา

    Спасибо Нина, очень интересный доклад, спасибо что выложила в сеть!😊

    • @egorshiryaev6058
      @egorshiryaev6058 6 วันที่ผ่านมา

      Подскажите, Чем мультиплескирование в http2, отличается от мультиплескирования в http3? Вопрос исходит из проблемы HOL, которая есть в http2, хотя вроде как мультиплескирование должно её решать, а в http3 она решена...

  • @tatyana_nero
    @tatyana_nero 7 วันที่ผ่านมา

    Привет, спасибо за доклад! Подскажи, как влияет на прод профилирование в режиме онлайн? Может ли он дать серьезную нагрузку? Это безопасно для прода?

    • @PakshinaNina
      @PakshinaNina 7 วันที่ผ่านมา

      Да, разработчики утверждают, что pprof использует дополнительную нагрузку в 5% для профилирования ЦП и кучи. Поэтому pprof безопасно использовать в продакшене с точки зрения потребления ресурсов. С точки зрения безопасности другой вопрос: у вас в продакшене будет запущен еще один экземпляр сервера какой-то «левой» библиотеки, и это уже нужно обсуждать с вашей службой безопасности (а с ними всегда непросто :))

    • @tatyana_nero
      @tatyana_nero 6 วันที่ผ่านมา

      @@PakshinaNina спасибо за ответ!

  • @user-xn5ci7zs5e
    @user-xn5ci7zs5e 7 วันที่ผ่านมา

    Спасибо за доклад! Так много и подробно по теме в одном месте, да еще и с примерами - идеально!

  • @markshevchenko
    @markshevchenko 7 วันที่ผ่านมา

    Глубоко и познавательно. Нина потратила много сил и времени на подготовку.

  • @user-tf7vk5hl1g
    @user-tf7vk5hl1g 7 วันที่ผ่านมา

    Супер, спасибо! Пока мало информации по HTTP/3 в Go, спасибо за иследование!

  • @Hanke1exe
    @Hanke1exe 7 วันที่ผ่านมา

    О, класс! Как раз искал доклад по этой теме. Спасибо

  • @vova_dev
    @vova_dev 7 วันที่ผ่านมา

    Структурированный доклад! Есть последовательный рассказ, сравнение версий, приятная подача. В том числе освещены тонкости - проблема http1/2 Head-Of-Line, сам quic! Сделано качественно, спасибо!

  • @developerdiary3136
    @developerdiary3136 8 วันที่ผ่านมา

    Здравствуйте, интересные доклады, спасибо. Планируете какие-то практические видео записывать?

    • @PakshinaNina
      @PakshinaNina 8 วันที่ผ่านมา

      Добрый день! В понедельник будет практикум по профайлингу и бенчмаркам (основные команды, как интерпретировать результат). В планах сделать несколько коротких практических видео по паттернам многозадачности (worker pool, for-select-done, errgroup). Думаю еще сделать практику по gRPC и по REST API. Но если ждете что-то конкретное, то пишите :)

    • @developerdiary3136
      @developerdiary3136 8 วันที่ผ่านมา

      @@PakshinaNina websocket хотелось бы посмотреть, с хорошей реализацией и аутентификацией (хотя бы н примерах), ,grpc тоже интересно Спасибо за внимание

    • @PakshinaNina
      @PakshinaNina 8 วันที่ผ่านมา

      @@developerdiary3136 да, вебсокеты тоже запишу в todo лист :)

  • @user-rn9jx7gt7r
    @user-rn9jx7gt7r 9 วันที่ผ่านมา

    Супер)) Хотелось бы в проде увидеть HTTP/3)

  • @middaysan
    @middaysan 9 วันที่ผ่านมา

    Круто! спасибо за доклад!

  • @JohnKekSex
    @JohnKekSex 10 วันที่ผ่านมา

    Нина, продожлайте делать такие отличные видосики. Вы нужны этому миру

    • @PakshinaNina
      @PakshinaNina 10 วันที่ผ่านมา

      Спасибо, буду стараться!

  • @tatyana_nero
    @tatyana_nero 13 วันที่ผ่านมา

    Какая хорошая конференция, жаль, что я пропустила. Но хорошо, что есть онлайн версия, спасибо!

  • @tatyana_nero
    @tatyana_nero 15 วันที่ผ่านมา

    Спасибо за информацию! Буду ждать новые видео!

  • @PakshinaNina
    @PakshinaNina 16 วันที่ผ่านมา

    Github: github.com/PakshNina/protocols

  • @PakshinaNina
    @PakshinaNina 16 วันที่ผ่านมา

    Github: github.com/PakshNina/http3streams

  • @PakshinaNina
    @PakshinaNina 16 วันที่ผ่านมา

    Репозиторий с примерами: github.com/PakshNina/golangunsafe

  • @PakshinaNina
    @PakshinaNina 16 วันที่ผ่านมา

    Ссылка на репозиторий: github.com/PakshNina/gc Ссылка на статью: habr.com/ru/articles/742402/