Skip to content

DetailedTalks 2021

Anatoly Kulakov edited this page May 23, 2024 · 11 revisions
Когда и где Докладчик Доклад Ссылки
16 декабря 2021 г.
Встреча SpbDotNet №79
Photo
Андрей Дятлов
Source generators v2.0 — инкрементальные генераторы
С появлением генераторов в С# прошло меньше года, но их популярность в сообществе уже позволила найти распространённые проблемы, с которыми сталкиваются как пользователи, так и разработчики генераторов. Разработчики компилятора в свою очередь готовы предложить решение для многих из них в новой версии SDK. В докладе Андрей расскажет о том, что нового появилось за год как в API генераторе, так и в тулинге для них, и какие проблемы потребителей и разработчиков генераторов решают эти изменения. Вы узнаете, что такое инкрементальные генераторы, как они влияют на производительность IDE, зачем понадобилось вводить новый интерфейс, как мигрировать свой старый генератор и нужно ли вам это делать.
Видео
Слайды
9 декабря 2021 г.
Встреча SpbDotNet №78
Photo
Александр Шелёмин
Concurrency в базах данных
Поговорим о том, как работает concurrency в базах данных, об уровнях изоляции и возможных аномалиях, а также о том, на что стоит обратить внимание при написании многопользовательских систем.
Видео
Слайды
25 ноября 2021 г.
Встреча SpbDotNet №77
Photo
Станислав Сидристый
ThreadPool для сервиса, адаптирующегося под внешнюю нагрузку
Встроенный ThreadPool хорош во всём. Будучи реализованным через алгоритм hill climbing, он умеет грамотно утилизировать ресурсы. Однако история с сервисами, работающими через протокол SMB, продолжается. Как итог — хочется иметь такое решение по скачиванию файлов с удалённого сервера, которое бы с одной стороны максимально утилизировало CPU и сеть, а с другой — не мешало бы остальной системе, гибко сокращая утилизируемые ресурсы при возрастании нагрузки на более высокоприоритетных сервисах.
Видео
Слайды
Демо
17 ноября 2021 г.
Встреча SpbDotNet №76
Photo
Евгений Пешков
Клиентский HTTP в .NET: От WebRequest до SocketsHttpHandler
На первый взгляд кажется, что отправить HTTP запрос — это очень просто. Тем не менее, даже HTTP/1.1 достаточно нетривиален: RFC на него содержит более 150 страниц, кроме того, браузеры уже поддерживают HTTP/2 и HTTP/3. Это не оставляет никакого выбора: стандартный клиент в платформе должен быть реализован на высоком уровне. На пути от .NET Framework 1.0 к .NET 5 клиентские API для работы с HTTP и их реализации претерпели множество изменений. В некоторых версиях они были удачными, в некоторых же — провальными и явно временными. В докладе Евгений расскажет об истории развития клиентского HTTP API в .NET, его особенностях, о миграции приложений с Framework на Core с их учётом. Спикер также разберет некоторые хаки, полезные при работе с HTTP API. Мы заглянем в NuGet и рассмотрим представленные в нём обёртки над HTTP API с точки зрения эффективности и кроссплатформенности. В итоге зрители: - узнают о неявных особенностях протокола HTTP; - научатся писать эффективный код с использованием HTTP API в .NET; - напишут библиотеки с использованием HTTP API, универсальные для различных реализаций .NET; - будут готовы к возможным проблемам с производительностью при написании клиентского кода; - подготовятся к миграции приложений с .NET Framework и старых версий .NET Core на .NET 5; - получат актуальную информацию о поддержке HTTP/2 в .NET, с тестами производительности.
Видео
Слайды
11 ноября 2021 г.
Встреча SpbDotNet №75
Photo
Роман Неволин
Рефакторим сложный проект в прямом эфире
Все мы сталкивались с ситуациями, когда при первом взгляде на проект хочется немедленно похоронить его, напиться и пойти писать заявление по собственному желанию. Это неизбежно, все мы сталкиваемся с устаревшим или попросту плохим кодом. А как с ним всё-таки работать? Как довести некачественный код до приемлемого состояния, не разломав всё вокруг? Как сделать это быстро, качественно и надёжно? А давайте вместо теоретических советов мы возьмём большой и запущенный проект, вместе ужаснёмся и пойдём исправлять его, совместно обсуждая возникающие проблемы и их решения.
Видео
Слайды
12 августа 2021 г.
Встреча SpbDotNet №74
Photo
Даниил Доронкин
Message based подход в распределённых системах
Поговорим о пользе message broker'а в организации взаимодействия между компонентами системы. О том, какие задачи мы стараемся решить и на какие моменты стоит обратить внимание при проектировании/развитии архитектуры вашей системы.
Видео
Слайды
Демо
5 августа 2021 г.
Встреча MskDotNet №50
Photo
Елизавета Голенок
Photo
Кирилл Маурин
Круглый стол. Будущее.NET разработки
Круглый стол, посвященный будущему .NET разработки. Участники: Андрей Парамонов, Виктор Святоха, Дмитрий Афонин, Елизавета Голенок и Кирилл Маурин
Видео
5 августа 2021 г.
Встреча MskDotNet №50
Photo
Глеб Лесников
Зачем мы пишем сотни гигабайтов логов в сутки и как в них что-то найти
При взрывном росте системы, сервисов и сотрудников закономерно растет и количество логов и их чтение. Возникает компромисс между скоростью и удобством разработки и постоянной слежкой за количеством и качеством логов, приходится масштабировать хранилища, онбордить людей. Докладчик расскажет об опыте и пути компании Dodo в борьбе за качество и читаемость логов, инфраструктуру и нюансы логирования из 50+ .NET сервисов.
Видео
Слайды
21 июля 2021 г.
Встреча SpbDotNet №73
Photo
Роман Носов
Исключения среди Исключений в .NET
Мы все так или иначе используем исключения. А также мы все их перехватываем. Но точно ли мы знаем как работает этот механизм и насколько он безотказен? Давайте разберёмся, как работают исключения в .NET — все ли они ведут себя одинаково? И самые главные вопросы: - любое ли исключение будет перехвачено в catch? - всегда ли исполняется finally?
Видео
Слайды
30 июня 2021 г.
Встреча SpbDotNet №72
Photo
Сергей Ткачук
SQL Server: советы разработчика
В докладе мы поговорим про интересные для разработчиков особенности SQL Server'а и рассмотрим следующие темы: - пользовательские функции SQL Server — почему не стоит их использовать - сравнение временных таблиц и табличных переменных — обсуждение сценариев, когда есть смысл использовать те и другие - тип данных Float — чем потенциально опасен - оконные функции SQL Server — воможности, чем могут быть полезны
Видео
Слайды
17 июня 2021 г.
Встреча SpbDotNet №71
Photo
Станислав Флусов
Миграция приложения с MS SQL Server на PostgreSQL
В своём докладе автор расскажет историю миграции большого энтерпрайз-приложения с MS SQL на PostgreSQL, которое не останавливалось ни на минуту в ходе этого процесса. Естественно на этом непростом пути возникали подводные камни, которые были преодолены, о чём автор с удовольствием расскажет. Будут затронуты следующие аспекты: - Стоимость владения - когда софт дороже железа - Инструменты для работы с PostgreSQL - Инструменты мониторинга - Миграция схемы данных и подводные камни - Разница в синтаксисе - Миграция схемы и данных средствами EF Core - Результаты нагрузочного тестирования - Синхронизация и проверка целостности данных
Видео
Слайды
27 мая 2021 г.
Встреча SpbDotNet №70
Photo
Дмитрий Человьян
Как Unity захватывает Enterprise рынок сегодня?
В рамках доклада мы рассмотрим какой путь прошёл Unity от движка для инди-игр до полноценной среды разработки Enterprise решений. Сделаем обзор экосистемы Unity и основных видов продуктов, которые на ней разрабатываются. А также выясним почему Unity должен быть интересен сегодня всем C# программистам, если они хотят развиваться.
Видео
Слайды
13 мая 2021 г.
Встреча SpbDotNet №69
Photo
Павел Воронов
Осознанная разработка продукта на базе DataOps или от DevOps к DataOps
Послушайте рассказ участника событий о продолжении увлекательного и историчного путешествия из прошлого конфигурации нашего мрачного энтерпрайза в будущее, сквозь вызовы текущего момента. В докладе будет рассказано о попытке осознать при помощи DataOps происходящее внутри нашего Azure DevOps окружения для разработки, поддержки и поставки программного продукта. Обратим наш взгляд на применение Azure DevOps API и других функций облачного окружения Microsoft, вместе с PowerBI и другими технологиями, для создания наглядной и доступной отчётности по поставляемому облачному решению на базе Docker. В заключении доклада будет продемонстрирован полезный инструмент, реализованный при помощи PowerBI, с минимальным использованием кода.
Видео
Слайды
14 апреля 2021 г.
Встреча SpbDotNet №68
Photo
Сергей Баранов
Воркшоп Event Storming
Проведём совместный Event Storming для процесса подготовки митапов. Воркшоп будет проходить в Miro.
Видео
Слайды
8 апреля 2021 г.
Встреча SpbDotNet №67
Photo
Сергей Баранов
Event Storming: избавляемся от предположений в коде
«В прод идут не знания экспертов в предметной области, а предположения разработчиков». Эта фраза принадлежит Альберто Брандолини, автору техники Event Storming. Эта техника по сути — воркшоп с простой и четкой структурой, который позволяет собрать вместе экспертов в предметной области и разработчиков для совместного исследования той самой сложной предметной области бизнеса. В какой-то мере — это вход в построение модели предметной области на стероидах. По мере исследования мы раскрываем всё больше неопределенности, вместе проверяя предположения на соответствие реальной модели и тем самым снижая влияние предположений на качество продукта. Доклад будет состоять из двух частей: краткое введение в Event Storming с реальным примером и структура простейшего воркшопа для того, чтобы участники могли сразу попробовать технику у себя.
Видео
Слайды
25 февраля 2021 г.
Встреча SpbDotNet №66
Photo
Андрей Дятлов
Source Generators в действии
C# 9 принёс нам давно ожидаемую возможность кодогенерации, интегрированную с компилятором. Если вы мечтаете избавиться от тысяч строк шаблонного кода или всегда хотели попробовать метапрограммирование, то теперь это стало проще, чем когда-либо! В докладе вы узнаете не только о том, что скрывается за термином «Source Generators» и как его использовать, но и о том, как предоставить пользователю вашего генератора необходимую гибкость конфигурации и понятные сообщения о возникающих проблемах. Генерация кода по праву считается областью, в которой трудно понять что пошло не так, покрыть программу тестами или взглянуть на полученный код под отладчиком. Это удерживает многих программистов от её использования и в докладе Андрей расскажет о том, как с этим справляются генераторы. Тех, кто уже давно пользуется существующими технологиями метапрограммирования на практике, заинтересует, какие сценарии остались не поддержанными в C# 9 и сравнение новых возможностей с существующими технологиями (Fody, PostSharp, T4 и пр.). Остались ли у них уникальные ниши и преимущества или же будущее за генераторами?
Видео
Слайды
Демо
11 февраля 2021 г.
Встреча SpbDotNet №65
Photo
Станислав Сидристый
Делаем zero-allocation код на примере оптимизации крупной библиотеки
Иногда возникают ситуации, когда код написан хорошо и стабильно. И кода этого очень много: переписывать будет крайне тяжело. Еще в этом коде есть проблема: он выделяет очень много памяти. Память выделяется и освобождается ввиду возросшей нагрузки и как результат — GC молотит на полную катушку. На примере библиотеки SMBLibrary мы попробуем свести выделения памяти к минимуму, используя ряд выработанных техник, и увидим, насколько тяжелыми могут быть самые простейшие операции.
Видео
Слайды
30 января 2021 г.
Встреча SarDotNet №7
Photo
Валентин Кононов
Photo
Павел Агуров
Photo
Артём Акуляков
Photo
Сергей Буянов
Photo
Никита Данилов
Круглый стол «Технический долг»
Многие разработчики интуитивно понимают, что такое технический долг и чем он грозит проекту. Если задуматься, то можно придумать и интересные метафоры про его природу, и как должен закрываться. Вероятно, вы даже вспомните те фрагменты кода, которые давно хотите переписать. Но как всем договориться о самом определении, что есть технический долг? Как организовать работу с техническим долгом? Как не навредить работе с основным бэклогом продукта? Если эти вопросы неоднократно у вас возникали, приглашаем к нам на встречу, где наши гости поделятся своим многолетним разнообразным опытом борьбы (или дружбы?) с техническим долгом на проектах.
Видео
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Роман Щербаков
C# 9.0 Source Generators
Добро пожаловать на Курс молодого бойца по кодогенарции и метапрограммированию!
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Иван Черкасов
Blazor intro
Глубоко субъективное мнение по поводу Blazor WebAssembly на основе опыта использования в реальном проекте. Будет полезно тем кто присматривается к Blazor WebAssembly.
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Илья Шипунов
C# 9 Records
В докладе рассматривается новый ссылочный тип - Records, в том числе его новые возможности и подводные камни. Доклад ориентирован именно на практическое применение — на что нужно обращать внимание чтобы не наступать на грабли, какие типичные проблемы могут возникнуть и как их можно решать, как лучше использовать новые возможности и т.п. Рассматривается достаточно широкий круг вопросов, после чего вы сможете самостоятельно решать, в каких случаях нужно использовать Records и, главное, почему.
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Роман Неволин
Обзор перфомансных изменений в .NET 5
Рассказывая о новом дотнете только ленивый не упоминал, насколько быстрее всё стало работать. Кстати, а что именно ускорилось? А почему? А что при этом произошло под капотом? Самое время посмотреть на эти изменения чуть поближе и разобраться, что изменилось.
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Юрий Лободанов
C# 9.0 становится лучше
Данный доклад расскажет о новых полезных фичах языка, которые помогут сделать ваш ежедневный код лучше.
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Женя Рыжикова
Performance improvements of .NET 5 GC
.NET часто ругают за производительность, а иногда даже говорят, что управляемая память — главное зло. Ребята из Microsoft проделали большую работу, чтобы пользователи и разработчики могли меньше беспокоиться о перфомансе сборки мусора. Женя расскажет, какие изменения были внесены в GC в пятом дотнете, и как это повлияет на нашу с вами жизнь.
Видео
Слайды
28 января 2021 г.
Встреча SpbDotNet №64
Photo
Кирилл Лихтарович
.NET 5 Assembly trimming
На докладе мы, на основе двух практически идентичных приложений, написанных для .NET 5 и .NET Core 3.1 посмотрим, как новый .NET умеет сжимать self-contained приложения и насколько (в цифрах) это лучше получается чем у его предшественника. В качестве примера будем развёртывать приложения через .deb пакеты и в Docker контейнерах, а также поговорим о разнице между Framework-dependent и Self-contained деплое.
Видео
Слайды
Clone this wiki locally