
- Видео 10
- Просмотров 18 878
Нина Пакшина
Добавлен 27 май 2024
Меня зовут Нина, я работаю в области IT более 13 лет.
В данный момент пишу на Go.
На своем канале выкладываю доклады и воркшопы по программированию по Go и сетям.
Мои статьи на Medium: medium.com/@ninucium
Статьи на Habr: habr.com/ru/users/Ninako/
Почта для связи: pakshinanina@gmail.com
В данный момент пишу на Go.
На своем канале выкладываю доклады и воркшопы по программированию по Go и сетям.
Мои статьи на Medium: medium.com/@ninucium
Статьи на Habr: habr.com/ru/users/Ninako/
Почта для связи: pakshinanina@gmail.com
Пишем kafka-консьюмер на Go
Всем привет! Новое видео про консьюмер в Kafka на языке Go.
Продюсер:
ruclips.net/video/7Hm2RsH8bS8/видео.html
Продюсер:
ruclips.net/video/7Hm2RsH8bS8/видео.html
Просмотров: 365
Видео
Пишем kafka-продюсер на Go
Просмотров 46814 дней назад
Всем привет! Новое видео про продюсер в Kafka на языке Go. Используемая библиотека: github.com/confluentinc/confluent-kafka-go С/С библиотека, которая используется в Go: github.com/confluentinc/librdkafka Confluent Kafka 101: developer.confluent.io/courses/apache-kafka/events/
Углубляемся в горутины: истинная параллельность, цена легковесности и причем здесь сборщик мусора
Просмотров 1,6 тыс.2 месяца назад
Доклад на MTS True Tech Go, Лето в Кубе. 8 августа 2024 года. Как Golang взаимодействует с различными слоями среды исполнения? Сколько горутин можно и нужно запускать? В этом докладе я углубляюсь в механизмы многозадачности в Go. Рассмотриваем, как планировщик управляет горутинами, что делает их легковесными и как сборщик мусора влияет на их работу. Этот доклад будет полезен для тех, кто хочет ...
Синхронизация горутин с помощью errgroup
Просмотров 4713 месяца назад
В данном видео я рассказываю о библиотеке errgroup и паттерне многозадачности errgroup, который можно реализовать с ее помощью. Данный паттерн используется, если у нас есть задача, которую мы можем разбить на несколько независимых подзадач. И если хотя бы одна из подзадач завершилась с ошибкой, то исполнение других горутин также останавливаем.
Основные инструменты профилирования в Go
Просмотров 5163 месяца назад
Мини практикум по бенчмаркам и профилированию в Golang. Я рассказываю об основных инструментах (benchmark, benchstat, pprof, go tool), о том как запускать сбор данных, и как интерпретировать результат. Ссылка на репозиторий: github.com/PakshNina/profiling 1:29 - Инструменты 1:55 - Бенчмарки 5:27 - Сравнение бенчмарков 9:40 - Выгрузка профиля ЦПУ и Памяти из бенчмарков 11:34 - Работа с pprof чер...
Чего ожидать от HTTP/3 + Go
Просмотров 14 тыс.4 месяца назад
Видео трансляции с митапа Московского Клуба Программистов 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
Просмотров 3184 месяца назад
Доклад посвящен HTTP протоколу: как браузер знает, какую версию HTTP использовать? Что такое сокеты и как написать сырые сокеты на Go. Погружаемся в ньюансы сетевого взаимодействия клиента и сервера HTTP.
Управление памятью и сборщиком мусора в Go
Просмотров 5714 месяца назад
Мой доклад от 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
Просмотров 6974 месяца назад
В данном докладе я рассказываю о том, что такое библиотека unsafe в Go, как можно работать с указателями и основы адресной арифметики. Также расскажу о случаях, где можно применить unsafe.
Вокршоп по работе с Go, http/3 и стримами.
Просмотров 2065 месяцев назад
Вокршоп по работе с Go библиотекой quic-go, http/3 и стримами. Использую версию Go 1.22, версию quic-go 0.42.
спасибо вам , но эта кафка самый настоящий ужас , даже просто собрать кластер что бы потестить нормально не работает , жаль что компании выбирают именно ее , nats в 100 раз лучше и не глючит , как эта кафка , надо быть супер ниндзя что бы собирать не глюченный кластер этой хваленной кафки это просто ужас !!!)
Спасибо. всё понятно
Есть ли ограничение на количество консьюмеров?
Количество консьюмеров не должно быть больше количества партиций. Иначе нет смысла)
@@PakshinaNina спасибо за ответ! ❤️
Спасибо, Нина! С этими роликами будет проще пощупать Kafka, а то всё время использую RabbitMQ. А что будет если consumers больше чем partitions, но один из тех который обрабатывает в текущий момент по какой-то причине упадёт, тот что простаивает заменит его? Будет что-то типо горячей замены? Т.е не придётся ждать пока заного подымится упавший consumer, с этим же consumer number , а на его место станет простаивающий, но уже готовый к обработке.
Всякий раз, когда у нас подключается или отключается консьюмер, запускается ребалансировка. Поэтому да, простаивающий консьюмер получит партицию и будет с нее читать.
Очень в тему видео, как раз планировал попробовать кафку! Спасибо за понятное изложение)
Большое спасибо
Может вместо консьюмера повторим тоже самое с red panda? )
Мне пришлось гуглить, что это! Интересно! Но я бы вначале хотела попробовать брокер сообщений NATS)
@@PakshinaNina для натса печально все с web ui((
Нина, привет! Спасибо за видео. Подскажи, а у тебя не было такой проблемы при работе с kafka ui: когда в топике много сообщений, становится невозможно посмотреть их все, при переходе на страницу 2, 3 и тд всегда отображаются данные 1-ой страницы.
Привет! Да, тоже заметила такое, причем в последней версии. До этого вроде нормально было. Мы в проде используем kowl, но если честно в нем тоже были проблемы с отображением сообщений. Загугли статью «обзор ui инструментов kafka flant» на Хабре. Там рассказывают про различные инструменты ui для кафки.
Таймкоды: 01:01 - разворачиваем тестовый кластер 04:04 - создаем продюсер 07:37 - конструктор продюсера 08:44 - настройки продюсера 10:35 - метод для отправки сообщений 15:52 - остановка продюсера 17:01 - отправляем сообщения в кафку 20:40 - топик в Кафке 22:30 - партиции, репликация и оффсет 24:38 - ключ сообщения 32:45 - timestamp
Ждём консюмер, срочно!)
Уже записано, осталось немного отредактировать :)
Я sarama юзал, вроде тоже поддерживается, много звезд и полностью на гошке написана.
Спасибо, тоже попробую поюзать!
Спасибо за инфо! Полезности!
Спасибо ❤
О, кафка это актуально! Ждем приемьеры!
Рада, если поможет!
Очень доступно и по сути, спасибо!
Спасибо за доклад, было познавательно и доступно.
3 дня пишу на го, делаю тестовое задание, вкусная вакансия попалась 😅 11 лет во фронтенде до этого. Тестовое я сделал, но интересно в чём основная сложность работы на бэкенде? Я так понимаю, только масштабирование, микросервисы и всё такое. Кто какие самые сложные задачи решал на го?
@@Disorrder везде свои сложности. Где-то нужно просто JSON перекладывать. Но нужно это делать очень быстро и используя только стандартные библиотеки (знаю такие системы). Где-то распределенные транзакции, с возможностью быстрого отката (например, онлайн ритейлеры). У меня самая сложная задача была - создать сервис обработки большого количества данных, которые я получала из разных систем, их нужно было нормировать, синхронизировать, обновлять в случае изменений. Где-то синхронно получала, данные, где-то асинхронно из очереди событий. На основе этих данных нужно было делать коммерческие расчеты. И все еще усложнялось практически отсутствующим ТЗ, задача была поставлена «сделай также как делают N вручную». А там на каждое расчетное поле скидывают SQL из 500 строк, и каждую неделю SQL менялся.
@@PakshinaNina после такого ответа чел обратно вернулся делать джастифай контент центр
хорошо систематизированы знания из теоретических статей по канкарренси в гошке, спасибо!
Жадность владельцев МТС на каком уровне сейчас интересно спросить
Доклад для Go Tech Meetup в МТС, 8 августа. Во время доклада я сильно переживала, поэтому не будьте слишком строги) Доклад получился больше теоретическим, чем практическим. ПС: у меня в последнее время нет моральных сил на троллей/негатив. Устала я очень. Поэтому негатив буду банить, заранее простите мои любимые токсики! Так-то я обычно вас люблю, но не сейчас 🫶
Спасибо за доклад, было познавательно
Спасибо большое, что поделилась знаниями. Надеюсь, в будущем так же смогу быть полезным для молодых разработчиков как и ты.
Отличный доклад! Было интересно послушать <3
Ничего им не рассказывайте больше , а то снова начнут блокировать трафик
Нина как классно вы объясняете, какая четкая речь без эканий, идеально! Слушаю с большим интересом. Инженер со стажем )
@@eeenvyy добрый день, спасибо за позитивную обратную связь! Это мотивирует :)
На 17:42 интуиция сразу кричит, 0RTT это возможная дыра в безопасности в будущем! Но возможно я ошибаюсь)
а на 30:30 стало совсем страшно )
@@qerteuijbcfujg - у нас дыра в безопасности! - ну хоть что-то у нас в безопасности. На самом деле, с 0-rtt самая главная атака - это replay attack. То есть злоумышленник может «скопировать» и повторить запрос, который был сделан легитимным пользователем. Если это запрос страницы, то это одно. А если это операция по оплате, то уже серьезнее. Вообще браузер и так-то может задвоить запрос, само приложение должно быть устойчиво к двойным запросам. Запросы должны быть идемпотентны. А еще предлагают в качестве защиты принимать по 0-rtt только get запросы без query.
О, коллега) Автоматизация в зданиях естественным образом привела к Go)))
@@Igor_melnikov ха, кажется это естественный путь :)
На удивление, очень практичный и техничный доклад. Приятно удивлен. А то в последнее время на всяких конференциях много воды льют. Единственное жаль, что стрим выложили в качестве 720p. Для 2024 года уже немного старовато такое разрешение.
Стрим был в 1080, но при перезаливке ужалось. Я обычно с телефона смотрю или в миниатюрном плавающем окне, поэтому не задумывалась о высоком качестве. Буду иметь ввиду, что для некоторых это важно!
@@PakshinaNina Да, просто текст на картинках, насыщенных объемом технической информации читать приятно и четко когда хотя бы FullHD, а тут слегка все было замылено. Не то что принципиально, просто я подумал, что сейчас уже это не проблема для всех выкладывать в FullHD. Я как раз стрим смотрел на мониторе 43 дюйма) Спасибо.
блин мальчики задолбали со своим спермотоксикозом, представьте мужика на сцене! доклад слабый, на вопросы докладчик не отвечает, про практическую сторону не осведомлён и отправляет в доклад ОК.
Рассказываем о мире технологий, и ждём, когда подгрузится доклад....
@@nelson5158, снова смотрим видео в 144 :( Вот задумалась, куда можно дублировать видео, чтобы люди могли смотреть без тормозов.
слушают о мире технологий и не знают про впн...
@@DJcRuT000с впн не те ощущения))
Нина, спасибо тебе большое за доклад. Спасибо, что ты делишься знаниями. Крепко тебя обнимаю 😘
Нина отличный доклад) спасибо
Спасибо, очень грамотно и информативно!
Ваши глаза разве не болят от смотрения в мониторы ?
Большие мониторы - норм. Имел опыт ивентов
В джаве фреймворке есть библиотеки для http/3? Мне кажется Quarkus, Spring до сих пор ждут релиза netty 5.0.
Не знал про errorgroup, спасибо)
Огонь! Каждый ролик - всё по делу!
Огонь
О не знала о такой либе, спасибо!
Есть интересная реализация sourcegraph/conc, которая дополнительно умеет отлавливать паники в горутинах.
@@КонстантинТрегубов-ъ9ш спасибо, посмотрю!!
ставим кодерше лайк. Большая редкость, да и еще на Голанг
@@unicoxr5tj417 это я пока аудиторию набираю, потом буду снимать видео про ноготки 💅 (шутка)
@@PakshinaNina ноготки-норм тема. У мну в городе одна девчонка лет 40 дошла от ноготочков, до своего солону красоты)
да брось их много, просто как и почти все айтишники они скромники-интроверты
@@DimaTiunov не, мало
Коллега, тоже промышленная автоматизация -> веб-разработка.
@@L0wPressure, коллеги! С чем работал: siemens, wago, fastwel? :)
@@PakshinaNina GE Fanuc, Trei, Тэкон и немного с Siemens :)
@@L0wPressure из перечисленных только Тэкон знаю (ну и сименс) :)
@@PakshinaNina их слишком много, чтобы все знать, да и ни к чему. Но GE достаточно активно до 14 года использовались, пока не началось импортозамещение :)
В строчках типа headerSize := unsafe.Offsetof(pdu.ByteCounut) + unsafe.Sizeof(pdu.ByteCount) есть какой-то смысл привязываться к последнему полю в структуре, или можно написать просто headerSize := unsafe.Sizeof(pdu) ?
А, понял, висячий байт останется
@@mikhailm.887да, все верно :)
Классный доклад! Жаль, что не смог прийти на митап...
Спасибо за видео!
спасибо. было бы интересно послушать про оптимизации, уменьшению аллокаций
Добрый день, про escape analysis и аллокации есть немного в докладе про сборщик мусора, посмотрите по таймкодам.
Спасибо Нина, очень интересный доклад, спасибо что выложила в сеть!😊
Подскажите, Чем мультиплескирование в http2, отличается от мультиплескирования в http3? Вопрос исходит из проблемы HOL, которая есть в http2, хотя вроде как мультиплескирование должно её решать, а в http3 она решена...
@@egorshiryaev6058 Дисклеймер: я не специалист по теме, исхожу из своего (возможно неверного) понимания лекции. http2 построен поверх tcp и обработка ситуаций с потерянными пакетами делается на этом уровне (TCP), который про мултиплексирование (происходящее на уровне выше) не знает, и ничего лучше, чем всё заморозить, пока не пропихнётся потерянный покет (соственно HOL-ситуация), не может придумать. А в http3, всё это происходит на том уровне, который знает про мультиплексирование, а значит может другие "каналы" в рамках мультиплекса обрабатывать независимо, подмораживая (если это вообще необходимо, например datagram режиму такое и вовсе ни к чему) только тот, в котором была потеря.
Привет, спасибо за доклад! Подскажи, как влияет на прод профилирование в режиме онлайн? Может ли он дать серьезную нагрузку? Это безопасно для прода?
Да, разработчики утверждают, что pprof использует дополнительную нагрузку в 5% для профилирования ЦП и кучи. Поэтому pprof безопасно использовать в продакшене с точки зрения потребления ресурсов. С точки зрения безопасности другой вопрос: у вас в продакшене будет запущен еще один экземпляр сервера какой-то «левой» библиотеки, и это уже нужно обсуждать с вашей службой безопасности (а с ними всегда непросто :))
@@PakshinaNina спасибо за ответ!
Спасибо за доклад! Так много и подробно по теме в одном месте, да еще и с примерами - идеально!
Глубоко и познавательно. Нина потратила много сил и времени на подготовку.
Супер, спасибо! Пока мало информации по HTTP/3 в Go, спасибо за иследование!
О, класс! Как раз искал доклад по этой теме. Спасибо
Структурированный доклад! Есть последовательный рассказ, сравнение версий, приятная подача. В том числе освещены тонкости - проблема http1/2 Head-Of-Line, сам quic! Сделано качественно, спасибо!