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