DetailedTalks 2019 - DotNetRu/BrandBook GitHub Wiki

Когда и где Докладчик Доклад Ссылки
14 декабря 2019 г.
MskDotNet Субботник 2019
Photo
Виталий Илюхин
Photo
Евгений Макаров
TDD. Обзорный курс для новичков и профи
Вспомним что такое TDD, что лежит в основе этой техники, поговорим о достоинствах и недостатках, а также попробуем разобраться, где границы её применимости.
Видео
Слайды
14 декабря 2019 г.
MskDotNet Субботник 2019
Photo
Юрий Солдаткин
Контроль зависимостей между элементами структуры приложения
Проектирование архитектуры приложения в стиле «большого комка грязи» может привести к печальным последствиям. К сожалению, в долгосрочной перспективе все приложения начинают превращаться в этот самый «комок». Размытие границ между слоями и контекстами усложняет внесение изменений в код и его развитие. И задумываться об этом стоит не только для новых проектов, но и для существующего legacy. В докладе будут рассмотрены варианты организации структуры приложения с помощью сборок и пространств имён и как средства статического анализа кода помогают не только найти нарушения в существующей архитектуре, но и автоматизировать контроль соблюдения принятых правил в момент разработки и отложено.
Видео
Слайды
14 декабря 2019 г.
MskDotNet Субботник 2019
Photo
Марк Ткаченко
Virtual actors: что, как и зачем.
Поговорим о модели виртуальных акторов в контексте первой их реализации — Microsoft Orleans — что привело к созданию, какие проблемы классической модели решались, какие инструменты имеются на сегодня.
Видео
Слайды
14 декабря 2019 г.
MskDotNet Субботник 2019
Photo
Евгений Макаров
Photo
Никита Цуканов
Photo
Кирилл Маурин
Photo
Виталий Илюхин
Круглый стол "Поговорим о TDD"
В формате круглого стола обсудим наболевшие вопросы, связанные с TDD, поделимся своим опытом и наблюдениями и подискутируем обо всём этом
14 декабря 2019 г.
MskDotNet Субботник 2019
Photo
Александр Чертов
gRPC для .NET разработчика
Последние годы, казалось, что RPC решения в экосистеме .Net стремительно уходят в небытие. Но не так давно вышел ASP.NET Core 3.0, где одной из главных фич стал gRPC- современный RPC фреймворк разработанный компанией Google и активно поддерживаемый Cloud Native Computing Foundation. В рамках доклада мы рассмотрим как внедрить gRPC в свой проект, что нам это даст(и даст ли?) и с какими проблемами мы можем столкнуться.
Видео
Слайды
12 декабря 2019 г.
Встреча SpbDotNet №55
Photo
Андрей Дятлов
Nullable reference types — advanced guide
В докладе Андрей расскажет о том, как начать использовать C# 8 nullable reference types, с какими проблемами и особенностями их работы можно столкнуться и как их решить. В докладе будет показано: - как постепенно переводить большой проект на работу с nullable reference types; - как при помощи аннотаций помочь компилятору понять сложные контракты методов; - как использовать nullable reference types в обобщенном коде и какие проблемы при этом могут возникнуть; - какие подводные камни могут ожидать пользователей этой фичи языка, когда она может сработать неожиданно или неправильно, и что делать в этом случае. Доклад будет интересен всем, кто планирует использовать nullable reference types, т.к. раскрывает подробности их работы. Наиболее полезен он будет тем, кто планирует использовать их в больших проектах, которые невозможно перевести на использование NRT и проаннотировать целиком за короткое время; проектах, в которых используются собственные решения для ассертов или исключений, либо методы со сложными контрактами, связывающими наличие null во входных и выходных значениях, т.к. эти методы придется аннотировать для корректной работы компилятора с ними.
Видео
Слайды
12 декабря 2019 г.
Встреча SpbDotNet №55
Photo
Евгений Пешков
.NET: Лечение зависимостей
Каждый .NET-разработчик рано или поздно сталкивается с тем, что его приложение перестаёт работать из-за проблем с подключаемыми библиотеками: не компилируется, падает с FileNotFoundException в рантайме или, на первый взгляд, просто загадочно ничего не делает. Это может происходить как из-за реальных проблем с обратной совместимостью, так и из-за строгих правил версионирования сборок. В докладе Евгений расскажет о случаях, когда подобные ошибки возникают на .NET Framework и .NET Core, о некоторых общих подходах к решению проблем. Также мы рассмотрим особенности разработки приложений, которые загружают исполняемый код с зависимостями (плагины) в рантайме.
Видео
Слайды
5 декабря 2019 г.
Встреча PnzDotNet №2
Photo
Александр Мурзаев
Путь в тысячу микросервисов начинается с одного
Многие разработчики не раз слышали о микросервисах. Кто-то уже использует микросервисы в своих проектах от маленьких до больших. У каждой технологии есть свои преимущества и недостатки. Разберём подход совмещения монолита и микросервисов на конкретном примере.
Слайды
5 декабря 2019 г.
Встреча PnzDotNet №2
Photo
Александр Мурзаев
Круглый стол «Микросервисы и инфраструктура»
Неформальное обсуждение инфраструктуры, необходимой для функционирования микросервисов в новых или уже действующих решениях. Будем делиться опытом эксплуатации, идеями, обсуждать разные подходы и use-cases.
28 ноября 2019 г.
Встреча EkbDotNet №1
Photo
Сергей Марьин
Как совершенно случайно выстрелить себе в ногу из стандартной библиотеки
Несколько историй о внезапных ошибках, возникающих при использовании стандартных библиотек (как BCL, так и просто популярных). Несмотря на годы развития и миллионы пользователей платформы .NET, никто не застрахован от выстрела в ногу при использовании стандартного класса совершенно стандартным образом. Разберём примеры и поговорим, почему так происходит и почему важно проектировать API таким образом, чтобы оно было «воронкой успеха», а не «воронкой неудач».
Видео
Слайды
28 ноября 2019 г.
Встреча EkbDotNet №1
Photo
Евгений Фирстов
PostgreSQL: Under Pressure
Евгений расскажет, как правильно спроектировать масштабируемое хранилище для нагруженной системы с использованием PostgreSQL и эффективно импортировать в него гигабайты данных. Он познакомит вас с тёмной стороной Entity Framework-а и покажет ультратехнологичные механизмы для работы с большим количеством данных в PostgreSQL.
Видео
Слайды
27 ноября 2019 г.
Встреча SpbDotNet №54
Photo
Владимир Рогожин
Реактивное программирование и его применение в frontend разработке (WPF)
Реактивное программирование приобрело большую популярность за последние годы, так как позволяет упростить реализацию приложений основанных на событиях, а также выполнение асинхронного кода. Владимир расскажет нам о реактивном программировании, познакомит нас с манифестом реактивных систем, расскажет чем отличаются “горячие” и “холодные” последовательности. На примере WPF-приложения покажет, чем может быть полезно реактивное программирование при разработке frontend’а, а также, чем может помочь библиотека ReactiveUI.
Видео
Слайды
27 ноября 2019 г.
Встреча SpbDotNet №54
Photo
Александр Баранов
Облачные сервисы: что, где и зачем?
8 октября 2019 Сатья Наделла заявил, что Windows более не является самым главным приоритетом для Microsoft. Теперь фокус Microsoft - облачные сервисы (https://habr.com/ru/news/t/470495/). Поговорим о том, что такое облака и почему они являются самым быстрорастущим сегментом Software. Рассмотрим, какой код является cloud native, а какой таковым не является. И ответим на главный вопрос - нужно ли оно Вам?
Видео
Слайды
5 ноября 2019 г.
Встреча MskDotNet №41
Photo
Raffaele Rialdi
Span, Memory and Pipelines, the APIs you always missed
The new Span and Memory are a new set of APIs offering the ability to dramatically lower memory copies obtaining native-like performance while still coding safely. An interesting bonus is the support for unsafe pointers and memory manipulation that voids the need of native languages in many scenarios. In addition to that, the Pipelines and Buffers APIs, created to boost the ASP.NET Core performances, provides a very powerful replacement of stream-based processing with the minimum possible overhead. During the session we will see all of those APIs in action, understanding how they works and when they should be adopted.
Видео
Слайды
5 ноября 2019 г.
Встреча MskDotNet №41
Photo
Егор Богатов
Как добавить свою оптимизацию в JIT для C#
В этом докладе Егор на примере нескольких своих оптимизаций внутри RyuJIT расскажет, каким образом это работает и как можно попробовать свои силы и реализовать свою собственную оптимизацию для C#.
Видео
Слайды
17 октября 2019 г.
Встреча SpbDotNet №53
Photo
Дмитрий Нестерук
Разработка ПО для архитектуры и дизайна
Ни для кого не будет сюрпризом, что большинство ПО для дизайна зданий (как внутри так и снаружи) идет по принципу полного ручного контроля: ты должен вручную создать каждый элемент, и ни о каком «искусственном интелекте» не может быть и речи. В результате, процесс дизайна трудоемок и достаточно дорог. В этом докладе мы посмотрим на то, какие аспекты разработки зданий (интерьера и экстерьера) можно частично или полностью автоматизировать, и какие уникальные возможности даёт «самописный» подход к архитектурному проектированию.
Видео
Слайды
17 октября 2019 г.
Встреча SpbDotNet №53
Photo
Дмитрий Нестерук
Пролетая над уровнем абстракции
Любой язык программирования дизайнеры стараются делать наиболее гибким и покрывающим все текущие потребности. Но если бы у нас был «one language to rule them all», другие языки были бы не нужны. В этом докладе Дмитрий пройдётся по спектру подходов, который позволяет залатать «дыры» в стандартной инфраструктуре .NET, включая кодогенерацию, метапрограммирование, REPL-ability, взаимодействие с unmanaged кодом, и другие подходы.
Видео
Слайды
17 октября 2019 г.
Октябрьский OmsFullStack Meetup
Photo
Александр Лобашев
Пуленепробиваемые интерфейсы
Современные приложения в Вебе используют компонентный подход. В среднем одно приложение насчитывает боле 100 компонент, которые имеют большой уровень связанности и вложенности. Изменение небольшого компонента может повлечь изменение десятков страниц. Как мы можем управлять изменениями компонентов и увеличить стабильность приложений? Рассказ будет о том, как с помощью сервиса скриншотов мы управляем изменениями в коде, увеличиваем стабильность приложения и ускоряем код-ревью на 200%
Видео
17 октября 2019 г.
Октябрьский OmsFullStack Meetup
Photo
Владислав Шакиров
Stateless: управляем состоянием объектов
В докладе описана библиотека Stateless, которая управляет состоянием объекта на основе диаграммы конечного автомата. Рассмотрим практику динамического создания диаграммы состояний объекта из любого источника. А так же на примере из реального проекта мы увидим и какие бенефиты удалось получить.
Видео
Слайды
17 октября 2019 г.
Октябрьский OmsFullStack Meetup
Photo
Николай Москаленко
Как разработчику находить максимум багов за минимум времени
Поговорим о том, почему разработчику следует тестировать свое приложение до того, как за дело возьмутся тестировщики. Разберём технику тестирования, адаптированную специально для разработчиков. Рассмотрим, как с помощью неё можно быстро проверить свой код и найти в нем дефекты. Определим, какие тесты следует писать в первую очередь, и как сэкономить время, не проверяя 100500 лишних комбинаций в тестовых сценариях. Также поговорим об инструментах и практиках, позволяющих повысить читаемость автотестов на JavaScript и упростить их поддержку в дальнейшем.
Видео
Слайды
17 октября 2019 г.
Октябрьский OmsFullStack Meetup
Photo
Сергей Огородников
Photo
Алия Латыпова
Этот замечательный GraphQL
В докладе рассмотрим успешный опыт запуска проекта, использующего GraphQL для связи фронта (React) с бэком (.NET Core). Покажем, что GraphQL — это не сложно и не страшно, сравним с подходом REST/Redux. На фронте apollo-client помог сократить количество кода и сделать его более элегантным. На бэке связка GraphQL + CQRS + DDD позволила написать понятный код, API бэка стал более гибким, однако при этом потребовалось учитывать некоторые подводные камни.
Видео
Слайды
17 октября 2019 г.
Октябрьский OmsFullStack Meetup
Photo
Павел Кульбида
OmsDotNet Community
Рассказ о сообществе .NET разработчиков в Омске.
Видео
Слайды
10 октября 2019 г.
Встреча MskDotNet №40
Photo
Илья Ефимов
Обзор Xamarin Forms
Как только речь заходит о Xamarin, все начинают спрашивать: "А не тормозит? А, наверное, много багов? А, наверное, можно реализовать не всё, что есть в нативных решениях?". Так что об этом поговорим в первую очередь. Дальше поговорим о самой разработке на Xamarin: конечно же про MVVM, code-behind, ReactiveUI, IoC DI, DependencyService — чтобы архитектура была слаженной. Отдельная тема — навигация, создание экземпляров страниц и передача в них параметров. В конце поговорим о CI, аналитике и баг-репортах на примере AppCenter.
Видео
Слайды
10 октября 2019 г.
Встреча MskDotNet №40
Photo
Филипп Бочаров
Наблюдаемость .NET приложений
Одна из проблем микросервисной архитектуры – сложность отладки и диагностики системы. В МТС более 240 продуктов, большая часть которых имеют распределённую архитектуру. Спикер расскажет о том, как МТС борется со сложностью диагностики и отладки распределённых систем. Обсудим — что такое "наблюдаемость" и какие открытые стандарты наблюдаемости вы можете использовать в мире .NET. Рассмотрим как устроены системы распределённой трассировки (Jaeger, OpenZipkin) и как между ними выбрать.
Видео
Слайды
3 октября 2019 г.
Встреча SpbDotNet №52
Photo
Риваль Абдрахманов
HttpClient: основные ошибки и способы как их избежать
HttpClient является неотъемлимой частью большинаства современных приложений, поэтому правильность его использования напрямую влияет на производительность. В докладе рассмотрим самые роспространённые ошибки, связанные с HttpClient, способы эти ошибки избежать, а также инструменты, которые были добавлены в новые версии платформы, облегчающие жизнь разработчикам.
Видео
Слайды
3 октября 2019 г.
Встреча SpbDotNet №52
Photo
Алексей Мерсон
Integration hell: путеводитель
Жизнь энтерпрайз-разработчика - это бесконечные интеграции. Интеграции повсюду. Если не интегрируетесь вы, то интегрируются с вами. И почти всегда интеграции - это боль. Много боли. В своем докладе Алексей расскажет, как купировать боль и выжить.
Видео
Слайды
3 октября 2019 г.
Встреча KrdDotNet №1
Photo
Александр Иванов
ORM о котором вы (скорее всего) никогда не слышали
Александр расскажет про один непопулярный ORM, который используется на текущем проекте, про его особенности, плюсы и минусы.
3 октября 2019 г.
Встреча KrdDotNet №1
Photo
Дмитрий Елисеев
DDD. Почему это правильно, и почему не работает
Поговорим о том, что такое DDD и с чем его едят.
29 сентября 2019 г.
Встреча SarDotNet №6
Photo
Рустам Шехмаметьев
Функциональные паттерны программирования на примере F#
Переход на функциональный язык бывает тяжёл не только из-за сложности смены парадигмы, но и из-за отсутствия привычных нам паттернов проектирования. Но в функциональном программировании паттерны тоже есть и, если вы знакомы с ними, всё становится проще, а код яснее. В докладе разбираются основные приёмы из арсенала функциональных разработчиков для построения типового CRUD. Также показывается, что большинство из вас применяли эти приёмчики в некоторой степени в своём собственном коде, пусть и не в полную силу.
Видео
Слайды
29 сентября 2019 г.
Встреча SarDotNet №6
Photo
Алексей Панкратьев
Алгоритмы и структуры данных — фундамент производительности программы
Приятно, когда для ускорения работы программы есть возможность просто взять железо помощнее. Еще приятнее добиться ускорения, переписав алгоритм более эффективным образом или задействовав более подходящие структуры данных. Сейчас есть огромное количество статей про вертикальное и горизонтальное масштабирование, про техники микрооптимизации, а такие вопросы как алгоритмы и структуры данных освещаются редко и в основном на синтетических примерах, имеющих мало отношения к практике. Может показаться, что современному разработчику эти знания не нужны — достаточно взять подходящую библиотеку или перейти на более мощный фреймворк. В докладе на конкретных примерах показано, как с помощью более оптимальных структур данных ускорялась работа библиотеки с открытым исходным кодом, используемой тысячами разработчиков по всему миру для работы с файлами Excel. Обсуждается оценка сложности алгоритмов, а также то, зачем разработчику стоит участвовать в open-source проектах.
Видео
Слайды
19 сентября 2019 г.
Встреча SpbDotNet №51
Photo
Михаил Галушко
Управление командой: взгляд со стороны разработчика
В этом докладе мы рассмотрим разные стили управления командой. От тотального контроля у начинающих тимлилов до набирающего популярность Servant Lead. Узнаем как методологии управления влияют на круг задач над которыми работает разработчик. И как все эти знания могут помочь изменить работу в команде к лучшему.
Видео
Слайды
19 сентября 2019 г.
Встреча SpbDotNet №51
Photo
Николай Молчанов
Photo
Дмитрий Елисеев
Битва SQL vs DocumentDB
Для чего вам не стоит использовать DocumentDB? Для чего вам не стоит использовать Relation SQL DB? Разберём в докладе сравнение подходов в хранении и эффективном доступе до информации при разных вариантах хранения на примере MongoDB и SQL Server. Сравним данные по цифрам и по использованию стандартных инструментов из .NET. Разберём слабые и сильные стороны, разберём моделирование хранения и то, что вы делаете неверно при проектировании.
Видео
Слайды
Демо
12 сентября 2019 г.
Встреча MskDotNet №39
Photo
Марк Шевченко
Фильтрация треков GPS на F#
Марку нравится функциональное программирование и он хотел бы активнее применять его в программистской практике. Его основные проекты написаны на C#, но он пытается писать их на F#, когда это возможно. Функциональное программирование нравится Марку настолько, что он пытается его популяризировать. Для популяризации естественно нужны учебные материалы, понятные классическим программистам. К сожалению, подобных хороших материалов не очень много. В качестве примеров мы видим вычисление факториалов или чисел Фибоначчи, которые вы вряд ли встретите в реальной практике. В рамках доклада Марк продемонстрирует приёмы функциональной разработки на задаче фильтрации треков. Она действительно практическая — с одной стороны, а с другой — достаточно сложная. Эта задача способна продемонстрировать мощность функциональных средств. Мы поговорим о сферической геометрии, о модульном тестировании, о фильтре Калмана и о том, как подключить код F# к обычному проекту на C#. Библиотека, о которой спикер будет рассказывать, сейчас работает в Azure и в мобильном приложении, написанном на Xamarin. Никаких высоких материй, только практика, только хардкор.
Видео
Слайды
Демо
12 сентября 2019 г.
Встреча MskDotNet №39
Photo
Максим Ширяев
Учётные системы: проблемы и решения
Доклад посвящён истории моделирования и реализации учётных систем. Будут рассмотрены основополагающие принципы построения учётных систем и современные паттерны. Поговорим о таких категориях, как: типовые модели учётных операций, декларативные роли, регистры учёта и диаграммы состояний.
Видео
Слайды
10 сентября 2019 г.
Встреча SpbDotNet №50
Photo
Chris Ryder
Near Silent Trading
Trading has evolved from a noisy chaotic environment to the near silent running of algorithms. In a fast paced environment where making money is the primary objective where does a developer fit? The presentation will start with a Trading 101 before diving into how a collaboration between traders and .NET developers that leverages each other’s domain knowledge and experience to deliver profit. The presentation will conclude with a closer look at the technologies, platforms and practices that Gazprom Marketing & Trading use to gain a competitive advantage.
Видео
Слайды
10 сентября 2019 г.
Встреча SpbDotNet №50
Photo
Stewart Ridgway
Reading the News programmatically – An Example
In an age of technology reading the news maybe have moved to our phones but there is always too much information to read on one day. We explore an example use case of one approach to reading news programmatically using .NET and Azure that Gazprom Germania has worked on. This starts off with the initial premise of the News reading area and then takes a high-level technical walkthrough of the technical phases and approach that was taken and lessons learnt through that journey.
Видео
Слайды
28 августа 2019 г.
Встреча PnzDotNet №1
Photo
Илья Зимин
Аккуратно трогаем BitMap индексы
Сделаем общий обзор индексов. Познакомимся поближе с BitMap индексами. Посмотрим на их структуру и поиск в них. Также остановимся на их плюсах и минусах. Область их применения. На практике реализуем свой Bitmap индекс, поэкспериментируем с различными подходами, в том числе на основе SIMD операций. Побенчмаркаем решения. Посмотрим на готовые библиотеки для .NET.
28 августа 2019 г.
Встреча PnzDotNet №1
Photo
Михаил Щербаков
Уязвимости в процессе десериализации: прошлое, настоящее и будущее
Уязвимости в процессе десериализации недоверенных данных известны более 10 лет, включены в OWASP Top 10 и за последние несколько лет наделали много шума в индустрии. Начнем с обзора исследований этого типа атак, посмотрим, где мы находимся сейчас и насколько хорошо проработана эта тема, в чем сложность поиска такого рода уязвимостей и какие новые подходы нам ждать в ближайшем будущем. Разберем, какие .NET-сериализаторы (и в каких конфигурациях) уязвимы, какие инструменты мы можем использовать на практике для поиска уязвимостей, какие payload’ы известны для .NET-приложений. В том числе посмотрим на созданные Михаилом инструменты статического анализа для поиска потенциальных недостатков в коде приложений. Использование инструментов будет проиллюстрировано на примерах уязвимостей, найденных Михаилом в продуктах Microsoft за время его участия в bug bounty. Разбереём best practices в разработке для избежания ошибок использования сериализаторов и подходы снижения рисков эксплуатации таких уязвимостей.
Видео
Слайды
28 августа 2019 г.
Встреча SamDotNet №1
Photo
Алексей Капустяненко
Почему же мой запрос на Entity Framework 6 так тормозит? Часть 9000
Алексей расскажет о хитростях кеширования в Entity Framework 6 и о том, как простые на первый взгляд LINQ-выражения могут замедлить ваши запросы на несколько порядков.
Видео
Слайды
28 августа 2019 г.
Встреча SamDotNet №1
Photo
Алексей Чиркин
Доверяй, но проверяй! 5 анализаторов кода на каждый день
В докладе Алексей поделится своим опытом расширения статической валидации кода с помощью Roslyn API, а также расскажет о том, когда и зачем это может пригодиться.
Видео
Слайды
15 августа 2019 г.
Встреча MskDotNet №38
Photo
Никита Цуканов
Кросс-платформенное объектно-ориентированное взаимодействие C# и C++
При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще). С движением.NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать. В докладе будет представлено решение, которое: - позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++; - обеспечивает контроль использования памяти на основе подсчёта ссылок; - не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы; - на текущий момент успешно используется в проекте Avalonia для взаимодействия C#/C++/Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac.
Видео
Слайды
15 августа 2019 г.
Встреча MskDotNet №38
Photo
Роман Неволин
Почему ваша архитектура функциональная и как с этим жить
Если ваш проект — не дремучее легаси, то, скорее всего, он имеет в основе какую-нибудь модную архитектурную концепцию. CQRS, например. Или DDD. А может, Actor Model? Впрочем, без разницы — все они так или иначе связаны с миром функционального программирования. И даже если на вашей футболке написано «OOP only and forever», вы, вероятно, каждый день пишете функциональный код. Как так вышло, в чем это выражается, как с этим жить и чем понимание принципов функциональной архитектуры может помочь улучшить ваш код? Обо всем этом мы с вами и поговорим.
Видео
Слайды
15 августа 2019 г.
Встреча SpbDotNet №49
Photo
Никита Козлов
Монолит, немного исходников, 2 разработчика: ещё одна история миграции приложения в облако
На примере реального проекта рассмотрим процесс миграции ASP.NET-приложения в Azure Cloud. Звучит скучно? Тогда добавим вводных: - килобайты исходников; - часть приложения в бинарниках; - рост команды разработки до 30+ человек; - 3 новых продукта. Стало интереснее? На закуску — уменьшение стоимости облачного решения и модернизация приложения.
Видео
Слайды
Демо
15 августа 2019 г.
Встреча SpbDotNet №49
Photo
Дмитрий Нестерук
Брокеры событий как связующий элемент архитектуры
Что будет если мы совместим паттерны Command, Observer и Mediator? У нас получится сущность именуемая "брокер событий" (также известна как "шина событий" — event bus). Эта конструкция представляет собой центральный шлюз, через который все компоненты системы общаются друг с другом. В этом докладе мы посмотрим на типовые реализации брокера событий и обсудим как такие брокеры применяются в контекте таких подходов как CQRS и Event Sourcing.
Видео
Слайды
27 июля 2019 г.
Встреча SpbDotNet №48
Photo
Александр Кугушев
Photo
Александр Бармин
.NET и Java: на сторонах ли разных силы мы?
Не одно десятилетие идёт битва между .NET и Java. Как джедаи и ситхи, обе стороны Силы непримиримы и каждый считает себа последователем самой чистой стороны силы. Но в этот раз мы собираемся, чтобы понять, а на самом ли деле мы разные? Можно ли перейти на светлую или тёмную сторону силы? Чему можно научиться друг у друга? А вдруг все мы на одной стороне Силы?
27 июля 2019 г.
Встреча SpbDotNet №48
Photo
Александр Фатин
Photo
Александр Кугушев
Photo
Максим Шошин
Photo
Анатолий Кулаков
Круглый стол: Правда и вымысел IT подкастов
Вместе с именитымы экспертами обсудим сложности создания технических подкастов, как делать их интересными, организовать процесс, найти свою аудиторию, правильный формат, способы распространения и много другое.
27 июля 2019 г.
Встреча SpbDotNet №48
Photo
Николай Молчанов
Photo
Андрей Ганин
Качество кода
Обсудим вопросы качества ПО. Из каких составляющих складывается понятие качества продукта. Кто ответственнен за качество, и с помощью чего разработчики могут достигнуть желаемых высот. Доклад будет полезен разработчикам на любой платформе и любого уровня компетенции.
27 июля 2019 г.
Встреча SpbDotNet №48
Photo
Алексей Мерсон
Photo
Иван Патудин
Photo
Николай Молчанов
Круглый стол: Практика применения чистой архитектуры
Круглый стол, посвящённый практикам применения чистой анхитектуры.
18 июля 2019 г.
Встреча SpbDotNet №47
Photo
Георгий Плотников
Just In Time hooking
Вы когда-нибудь пытались писать код, который будет оптимизирован? Всегда ли код работает настолько быстро, насколько вы ожидали? Не ломай голову - сломай CLR и пусть он сам тебе расскажет всё, что думает о твоем коде. Как это сделать - в этом докладе.
Видео
Слайды
Демо
18 июля 2019 г.
Встреча SpbDotNet №47
Photo
Станислав Сидристый
Работа над производительностью, вооружившись знаниями о GC
В докладе мы рассмотрим ряд техник, которые помогут избежать проблем со срабатыванием GC в самые неподходящие моменты, научившись заранее предсказывать его запуск.
Видео
Слайды
16 июля 2019 г.
Встреча MskDotNet №37
Photo
Кирилл Маурин
Чем значимые типы отличаются от ссылочных?
Этот вопрос давно считается дурным тоном на собеседованиях. Вроде бы правильный ответ на него знают все. У докладчика есть задача, для решения которой его достаточно. Только ни один из кандидатов не смог ее решить. В докладе будет показано, как можно использовать особенности значимых типов для повышения эффективности вашего кода без потери читаемости и выразительности.
Слайды
16 июля 2019 г.
Встреча MskDotNet №37
Photo
Яков Повар
Event sourcing в .NET
Event sourcing является достаточно мощным архитектурным подходом, способным раскрыть глубину предметной области приложения. Вместе с тем, неправильное его использование может привести к запутанной системе, которую будет трудно развивать. В этом докладе мы разберем: - что такое Event sourcing и чем он отличается от других архитектурных стилей; - как Event sourcing может помочь решить функциональные и нефункциональные требования, которые часто предъявляются к приложениям; - что есть в экосистеме .NET для реализации такого подхода; - как связать Event sourcing и распределенные системы, отдельно разберем как в этом случае находить и разрешать конфликты изменения данных.​
Слайды
27 июня 2019 г.
Встреча SpbDotNet №46
Photo
Даниил Доронкин
Разворачиваем ASP.NET Core приложение в Kubernetes
Kubernetes - это популярная платформа для развертывания и управления контейнеризованными сервисами. К сожалению, мы не всегда можем внедрить данное решение для рабочих проектов, а изучать что-то новое всегда интересно! В докладе мы попрактикуемся с ASP.NET Core и k8s, рассмотрим объекты k8s, а конце опубликуем production-ready приложение в облачном кластере.
Видео
Слайды
Демо
27 июня 2019 г.
Встреча SpbDotNet №46
Photo
Иван Патудин
Clean Architectures
Небольшой рассказ о том как сделать свое приложение более масштабируемым, долгоиграющим и устойчивым к внешним изменениям. Даже если о них заранее не известно.
Видео
Слайды
Демо
27 июня 2019 г.
Встреча OmsDotNet №4
Photo
Олег Пересада
CLRMD как написать свой инструментарий отладки
Исследование аварийных дампов - весьма сложный процесс. Привычный арсенал - использование WinDBG и SOS.dll, но они весьма сложны для понимания начинающими разработчиками. В докладе мы рассмотрим, как делать все то же самое с помощью CLRMD.
Видео
Слайды
27 июня 2019 г.
Встреча OmsDotNet №4
Photo
Роман Просин
REST of the best
Вспомним основные концепции архитектурного стиля REST, рассмотрим лучшие практики применения на примерах ASP.NET Web API-сервисов.
Видео
Слайды
25 июня 2019 г.
Встреча MskDotNet №36
Photo
Юрий Орлов
Photo
Андрей Зайцев
Круглый стол о найме разработчиков
Поговорим о найме разработчиков: - собеседования сегодня; - тенденции в индустрии; - ключевые навыки современного соискателя; - и многое другое.
Видео
25 июня 2019 г.
Встреча MskDotNet №36
Photo
Юрий Орлов
Практика принятия и применения Coding сonventions в разработке
Задача данного доклада – объяснить, для чего же все-таки нужны на первый взгляд нудные соглашения и стандарты, принимаемые в командах. На конкретных примерах будет показано, что нужно упоминать в соглашениях, а что – нет. Можно ли их заменить различными современными утилитами? Какие выгоды и социальные последствия стоят за процессами принятия и применения? Все это можно будет узнать из данного доклада​
Видео
Слайды
25 июня 2019 г.
Встреча MskDotNet №36
Photo
Андрей Зайцев
Проведение технических интервью
Tips and trics для начинающего интервьюера.
Видео
Слайды
11 июня 2019 г.
Встреча UfaDotNet №1
Photo
Александр Павлов
GC — жесть, о которой мы не заботимся
Александр расскажет об основных источниках проблем и о том, как с ними боролись — на котятах и примерах из жизни.
Слайды
11 июня 2019 г.
Встреча UfaDotNet №1
Photo
Рустам Сафин
Фишечки Visual Studio и ReSharper
Доклад Рустама будет посвящен тому, как программировать быстро и эффективно, используя всю мощь современных IDE и плагинов.
30 мая 2019 г.
Встреча OmsDotNet №3
Photo
Евгений Тюменцев
Как студенты и филолог писали технически сложный проект: акторная модель, методы обнаружения разладки и natural language processing
Рассказ об опыте реализации сайта бесплатных объявлений с помощью акторной модели на .NET, как удалось сократить парк серверов в 5 раз, а количество таблиц БД с 200 до 10.
Видео
Слайды
30 мая 2019 г.
Встреча OmsDotNet №3
Photo
Владимир Зарубин
От сервера клиенту или как это работает в другую сторону
Сервер и много клиентов. Как нотифицировать клиента о каком либо событии в системе. В докладе будут рассмотрены технологии как этого можно достичь, и с какими проблемами придется столкнуться.
Видео
Слайды
22 мая 2019 г.
Встреча NnvDotNet №1
Photo
Роман Неволин
Почему ваша архитектура функциональная и как с этим жить
Если ваш проект — не дремучее легаси, то, скорее всего, он имеет в основе какую-нибудь модную архитектурную концепцию. CQRS, например. Или DDD. А может, Actor Model? Впрочем, без разницы — все они так или иначе связаны с миром функционального программирования. И даже если на вашей футболке написано «OOP only and forever», вы, вероятно, каждый день пишете функциональный код. Как так вышло, в чем это выражается, как с этим жить и чем понимание принципов функциональной архитектуры может помочь улучшить ваш код? Обо всем этом мы с вами и поговорим.
Слайды
22 мая 2019 г.
Встреча NnvDotNet №1
Photo
Олег Блохин
Photo
Матвей Григорьев
Как организовать сбор количественных данных о работе .NET приложения, если некому это сделать за вас
Большинство разработчиков стремится писать хороший код. Но достаточно ли этого для того чтобы сделать хорошее приложение, которое ведёт себя на продакшене стабильно, предсказуемо и держит необходимую нагрузку? Олег и Матвей считают, что не достаточно. И одним из важных элеменов любого приложения являются механизмы мониторинга, позволяющие понять как оно на самом деле ведет себя в боевых условиях. Они расскажут необходимый минимум из теории мониторинга и проведут лайвкодинг сессию, где покажут, как можно собирать телеметрию в .NET приложении при помощи Prometheus и как поднять всю необходимую для этого инфраструктуру.
Слайды
14 мая 2019 г.
Встреча SpbDotNet №45
Photo
Raffaele Rialdi
Deep dive into the ASP.NET Core authorization framework
Every request journey in a secured web application starts with the authentication process providing the essential information for authorizing the requests. The authorization process has been totally rewritten in ASP.NET Core to support the modern concepts of claim-based authorization based on the concept of policies. During the session, after analyzing all the pieces that builds up the new authorization framework, we will see how to structure the resource-based authorization and analyze the different opportunities to filter database queries based on the effective permissions of the user.
Видео
Слайды
14 мая 2019 г.
Встреча SpbDotNet №45
Photo
Konrad Kokosa
Ref struct, ref readonly struct, ref returning, ref everything!
Managed pointers, in the form of ref variables, existed in .NET since the very beginning. But only recently they gained much bigger interest - there are such constructs like in parameters, local ref variables and readonly refs. Moreover, recently so-called ref structs were introduced and in the context of Span type one could hear of byref-like instance fields. We can hear about those "ref-something" things a lot, but should one really care? I believe so, as all those changes perfectly fit into the ongoing process of speeding up .NET and its performance possibilities. There is a lot of ways to optimize your code with the conscious use of those constructs, although some caveats exist that we should be aware of. Let me introduce you to such "ref-world"!
Видео
Слайды
19 апреля 2019 г.
Встреча MskDotNet №35
Photo
Мария Щекочихина
Граница между бизнес-логикой в СУБД и сервером приложений
Все приложения работают с данными. Пока объем данных не слишком большой и приложение простое, не принципиально, где размещать бизнес-логику: в СУБД или на сервере приложений. С ростом объема данных и усложнением приложений появляется вопрос, где граница между логикой в СУБД и на сервере приложений. Когда C#-разработчику нужно звать на помощь SQL-разработчика? Всегда ли можно обойтись своими силами?
Видео
Слайды
19 апреля 2019 г.
Встреча MskDotNet №35
Photo
Андрей Дятлов
Кросс-процедурные анализы на примере локальных функций в ReSharper
В докладе, с практическими примерами, будет рассказано о том, как писать кросс-процедурные анализы кода и почему это теперь необходимо для самых разнообразных анализаторов C#-кода, неважно, написаны они на базе ReSharper, Roslyn или собственных моделей кода. В качестве примера в общих чертах будет описано, как работает dataflow анализ в ReSharper и как на него повлияли локальные функции, появившиеся в C# 7. Будет итеративно рассмотрен алгоритм сбора данных для кросс-процедурных анализов без привязки к конкретным API Roslyn/ReSharper и дана оценка сложности построения модели по памяти/времени на каждом шаге. Андрей также приведет несколько примеров использования полученной модели вне рамок исходного примера.
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Андрей Карпов
Поддержка C# 8 Async Streams в ReSharper 2019.1
В докладе кратко рассмотрим нововведения в C# 8 для поддержки асинхронного программирования, а также покажем как ReSharper помогает использовать новые языковые возможности.
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Дмитрий Павлов
Visual Studio Extensibility: основные возможности
Дмитрий расскажет: - какие основные возможности для расширения студии имеются; - как студия понимает, что в нее добавлено; - кратко как деплоить (раньше и сейчас); - как войти в тему.
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Роман Булдыгин
Filtered Solutions
Взглянем на фичу, которая может улучшить жизнь командам, работающим с большими решениями.
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Кирилл Полетаев
Pattern Matching в C# 8
Pattern Matching и с чем его едят. Пройдёмся по истории этого механизма и как его можно применить на практике.
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Александр Кугушев
Самые вкусные возможности Visual Studio 2019
Visual Studio 2019 вышла только в этом месяце, и не все готовы переходить со стабильно работающей 2017 версии. В данном докладе мы пробежимся по самым вкусным возможностями "чистой" студии и попытаемся решить, стоит ли сломя голову обновляться, или же "подождём первого Service Pack".
Видео
Слайды
18 апреля 2019 г.
Встреча SpbDotNet №44
Photo
Александр Шевченко
C# 8: Indices and Ranges
В докладе рассматриваются новые фичи языка, такие как Indices (Индексы) и Ranges (Интервалы). Как их использовать, во что они компилируются и на что нужно обратить внимание.
Видео
Слайды
18 апреля 2019 г.
Встреча OmsDotNet №2
Photo
Иван Киричук
Background processes frameworks in ASP.NET
Обзор фреймворков для запуска фоновых операций в ASP.NET через призму практического опыта. Рассмотрим какие требования стоит предъявлять к выбору инструментов, проведём анализ возможностей применения фреймворков.
Видео
Слайды
18 апреля 2019 г.
Встреча OmsDotNet №2
Photo
Сергей Огородников
A proper way to develop a REST service
В докладе будет рассмотрена история возникновения Swagger, его предназначение, использование в .NET, опыт работы с ним в компании OneInc, а также альтернативные способы написания клиентов для сервисов.
Видео
Слайды
28 марта 2019 г.
Встреча MskDotNet №34
Photo
Илья Черторыльский
Blazor глазами фронтенд-разработчика
В рамках доклада рассмотрим Blazor, как один из не многих или, возможно, единственный WebAssembly фреймворк для создания SPA приложения на одном из популярных языков программирования С#.
Видео
28 марта 2019 г.
Встреча MskDotNet №34
Photo
Максим Ширяев
GraphQL: просто, чётко, оптимально.
В рамках доклада будут рассмотрены история GraphQL и язык запросов, роль и место данной технологии. Будут разобраны основные библиотеки и паттерны. Будут продемонстрированы на примере преимущества GraphQL в продакшене. Будет дан ответ на вопрос: какие проблемы и перспективы связаны с данной технологией. И многое, многое другое.
Видео
Слайды
23 марта 2019 г.
Встреча SarDotNet №5
Photo
Алексей Матвеев
Xamarin vs Unity — Собираем грабли мобильной разработки под Android
- Xamarin — это ведь тот же WPF только под мобилы… Да? - Нет! - Unity — это ведь только для игр… Да? - Нет! Xamarin и Unity (Unity3D) это не только ценный TECH, но и 3-4 тонны разномастных граблей. Некоторые грабли — общие для обеих технологий. Другие грабли — особые для конкретной платформы. В докладе пойдет речь и о тех, и о других. Будут затронуты вопросы работы с инерциальными датчиками, звуком, вопросы работы в фоне и сложности отладки на мобильных устройствах.
Видео
Слайды
⚠️ **GitHub.com Fallback** ⚠️