DetailedTalks 2019 - DotNetRu/BrandBook GitHub Wiki
Когда и где | Докладчик | Доклад | Ссылки |
---|---|---|---|
14 декабря 2019 г. MskDotNet Субботник 2019 |
Александр Чертов |
gRPC для .NET разработчика Последние годы, казалось, что RPC решения в экосистеме .Net стремительно уходят в небытие. Но не так давно вышел ASP.NET Core 3.0, где одной из главных фич стал gRPC- современный RPC фреймворк разработанный компанией Google и активно поддерживаемый Cloud Native Computing Foundation. В рамках доклада мы рассмотрим как внедрить gRPC в свой проект, что нам это даст(и даст ли?) и с какими проблемами мы можем столкнуться. |
Видео Слайды |
14 декабря 2019 г. MskDotNet Субботник 2019 |
Юрий Солдаткин |
Контроль зависимостей между элементами структуры приложения Проектирование архитектуры приложения в стиле «большого комка грязи» может привести к печальным последствиям. К сожалению, в долгосрочной перспективе все приложения начинают превращаться в этот самый «комок». Размытие границ между слоями и контекстами усложняет внесение изменений в код и его развитие. И задумываться об этом стоит не только для новых проектов, но и для существующего legacy. В докладе будут рассмотрены варианты организации структуры приложения с помощью сборок и пространств имён и как средства статического анализа кода помогают не только найти нарушения в существующей архитектуре, но и автоматизировать контроль соблюдения принятых правил в момент разработки и отложено. |
Видео Слайды |
14 декабря 2019 г. MskDotNet Субботник 2019 |
Марк Ткаченко |
Virtual actors: что, как и зачем. Поговорим о модели виртуальных акторов в контексте первой их реализации — Microsoft Orleans — что привело к созданию, какие проблемы классической модели решались, какие инструменты имеются на сегодня. |
Видео Слайды |
14 декабря 2019 г. MskDotNet Субботник 2019 |
Евгений Макаров Никита Цуканов Кирилл Маурин Виталий Илюхин |
Круглый стол "Поговорим о TDD" В формате круглого стола обсудим наболевшие вопросы, связанные с TDD, поделимся своим опытом и наблюдениями и подискутируем обо всём этом |
|
14 декабря 2019 г. MskDotNet Субботник 2019 |
Виталий Илюхин Евгений Макаров |
TDD. Обзорный курс для новичков и профи Вспомним что такое TDD, что лежит в основе этой техники, поговорим о достоинствах и недостатках, а также попробуем разобраться, где границы её применимости. |
Видео Слайды |
12 декабря 2019 г. Встреча SpbDotNet №55 |
Евгений Пешков |
.NET: Лечение зависимостей Каждый .NET-разработчик рано или поздно сталкивается с тем, что его приложение перестаёт работать из-за проблем с подключаемыми библиотеками: не компилируется, падает с FileNotFoundException в рантайме или, на первый взгляд, просто загадочно ничего не делает. Это может происходить как из-за реальных проблем с обратной совместимостью, так и из-за строгих правил версионирования сборок. В докладе Евгений расскажет о случаях, когда подобные ошибки возникают на .NET Framework и .NET Core, о некоторых общих подходах к решению проблем. Также мы рассмотрим особенности разработки приложений, которые загружают исполняемый код с зависимостями (плагины) в рантайме. |
Видео Слайды |
12 декабря 2019 г. Встреча SpbDotNet №55 |
Андрей Дятлов |
Nullable reference types — advanced guide В докладе Андрей расскажет о том, как начать использовать C# 8 nullable reference types, с какими проблемами и особенностями их работы можно столкнуться и как их решить. В докладе будет показано: - как постепенно переводить большой проект на работу с nullable reference types; - как при помощи аннотаций помочь компилятору понять сложные контракты методов; - как использовать nullable reference types в обобщенном коде и какие проблемы при этом могут возникнуть; - какие подводные камни могут ожидать пользователей этой фичи языка, когда она может сработать неожиданно или неправильно, и что делать в этом случае. Доклад будет интересен всем, кто планирует использовать nullable reference types, т.к. раскрывает подробности их работы. Наиболее полезен он будет тем, кто планирует использовать их в больших проектах, которые невозможно перевести на использование NRT и проаннотировать целиком за короткое время; проектах, в которых используются собственные решения для ассертов или исключений, либо методы со сложными контрактами, связывающими наличие null во входных и выходных значениях, т.к. эти методы придется аннотировать для корректной работы компилятора с ними. |
Видео Слайды |
5 декабря 2019 г. Встреча PnzDotNet №2 |
Александр Мурзаев |
Путь в тысячу микросервисов начинается с одного Многие разработчики не раз слышали о микросервисах. Кто-то уже использует микросервисы в своих проектах от маленьких до больших. У каждой технологии есть свои преимущества и недостатки. Разберём подход совмещения монолита и микросервисов на конкретном примере. |
Слайды |
5 декабря 2019 г. Встреча PnzDotNet №2 |
Александр Мурзаев |
Круглый стол «Микросервисы и инфраструктура» Неформальное обсуждение инфраструктуры, необходимой для функционирования микросервисов в новых или уже действующих решениях. Будем делиться опытом эксплуатации, идеями, обсуждать разные подходы и use-cases. |
|
28 ноября 2019 г. Встреча EkbDotNet №1 |
Евгений Фирстов |
PostgreSQL: Under Pressure Евгений расскажет, как правильно спроектировать масштабируемое хранилище для нагруженной системы с использованием PostgreSQL и эффективно импортировать в него гигабайты данных. Он познакомит вас с тёмной стороной Entity Framework-а и покажет ультратехнологичные механизмы для работы с большим количеством данных в PostgreSQL. |
Видео Слайды |
28 ноября 2019 г. Встреча EkbDotNet №1 |
Сергей Марьин |
Как совершенно случайно выстрелить себе в ногу из стандартной библиотеки Несколько историй о внезапных ошибках, возникающих при использовании стандартных библиотек (как BCL, так и просто популярных). Несмотря на годы развития и миллионы пользователей платформы .NET, никто не застрахован от выстрела в ногу при использовании стандартного класса совершенно стандартным образом. Разберём примеры и поговорим, почему так происходит и почему важно проектировать API таким образом, чтобы оно было «воронкой успеха», а не «воронкой неудач». |
Видео Слайды |
27 ноября 2019 г. Встреча SpbDotNet №54 |
Александр Баранов |
Облачные сервисы: что, где и зачем? 8 октября 2019 Сатья Наделла заявил, что Windows более не является самым главным приоритетом для Microsoft. Теперь фокус Microsoft - облачные сервисы (https://habr.com/ru/news/t/470495/). Поговорим о том, что такое облака и почему они являются самым быстрорастущим сегментом Software. Рассмотрим, какой код является cloud native, а какой таковым не является. И ответим на главный вопрос - нужно ли оно Вам? |
Видео Слайды |
27 ноября 2019 г. Встреча SpbDotNet №54 |
Владимир Рогожин |
Реактивное программирование и его применение в frontend разработке (WPF) Реактивное программирование приобрело большую популярность за последние годы, так как позволяет упростить реализацию приложений основанных на событиях, а также выполнение асинхронного кода. Владимир расскажет нам о реактивном программировании, познакомит нас с манифестом реактивных систем, расскажет чем отличаются “горячие” и “холодные” последовательности. На примере WPF-приложения покажет, чем может быть полезно реактивное программирование при разработке frontend’а, а также, чем может помочь библиотека ReactiveUI. |
Видео Слайды |
5 ноября 2019 г. Встреча MskDotNet №41 |
Егор Богатов |
Как добавить свою оптимизацию в JIT для C# В этом докладе Егор на примере нескольких своих оптимизаций внутри RyuJIT расскажет, каким образом это работает и как можно попробовать свои силы и реализовать свою собственную оптимизацию для C#. |
Видео Слайды |
5 ноября 2019 г. Встреча MskDotNet №41 |
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. |
Видео Слайды |
17 октября 2019 г. Встреча SpbDotNet №53 |
Дмитрий Нестерук |
Пролетая над уровнем абстракции Любой язык программирования дизайнеры стараются делать наиболее гибким и покрывающим все текущие потребности. Но если бы у нас был «one language to rule them all», другие языки были бы не нужны. В этом докладе Дмитрий пройдётся по спектру подходов, который позволяет залатать «дыры» в стандартной инфраструктуре .NET, включая кодогенерацию, метапрограммирование, REPL-ability, взаимодействие с unmanaged кодом, и другие подходы. |
Видео Слайды |
17 октября 2019 г. Встреча SpbDotNet №53 |
Дмитрий Нестерук |
Разработка ПО для архитектуры и дизайна Ни для кого не будет сюрпризом, что большинство ПО для дизайна зданий (как внутри так и снаружи) идет по принципу полного ручного контроля: ты должен вручную создать каждый элемент, и ни о каком «искусственном интелекте» не может быть и речи. В результате, процесс дизайна трудоемок и достаточно дорог. В этом докладе мы посмотрим на то, какие аспекты разработки зданий (интерьера и экстерьера) можно частично или полностью автоматизировать, и какие уникальные возможности даёт «самописный» подход к архитектурному проектированию. |
Видео Слайды |
17 октября 2019 г. Октябрьский OmsFullStack Meetup |
Сергей Огородников Алия Латыпова |
Этот замечательный GraphQL В докладе рассмотрим успешный опыт запуска проекта, использующего GraphQL для связи фронта (React) с бэком (.NET Core). Покажем, что GraphQL — это не сложно и не страшно, сравним с подходом REST/Redux. На фронте apollo-client помог сократить количество кода и сделать его более элегантным. На бэке связка GraphQL + CQRS + DDD позволила написать понятный код, API бэка стал более гибким, однако при этом потребовалось учитывать некоторые подводные камни. |
Видео Слайды |
17 октября 2019 г. Октябрьский OmsFullStack Meetup |
Александр Лобашев |
Пуленепробиваемые интерфейсы Современные приложения в Вебе используют компонентный подход. В среднем одно приложение насчитывает боле 100 компонент, которые имеют большой уровень связанности и вложенности. Изменение небольшого компонента может повлечь изменение десятков страниц. Как мы можем управлять изменениями компонентов и увеличить стабильность приложений? Рассказ будет о том, как с помощью сервиса скриншотов мы управляем изменениями в коде, увеличиваем стабильность приложения и ускоряем код-ревью на 200% |
Видео |
17 октября 2019 г. Октябрьский OmsFullStack Meetup |
Владислав Шакиров |
Stateless: управляем состоянием объектов В докладе описана библиотека Stateless, которая управляет состоянием объекта на основе диаграммы конечного автомата. Рассмотрим практику динамического создания диаграммы состояний объекта из любого источника. А так же на примере из реального проекта мы увидим и какие бенефиты удалось получить. |
Видео Слайды |
17 октября 2019 г. Октябрьский OmsFullStack Meetup |
Павел Кульбида |
OmsDotNet Community Рассказ о сообществе .NET разработчиков в Омске. |
Видео Слайды |
17 октября 2019 г. Октябрьский OmsFullStack Meetup |
Николай Москаленко |
Как разработчику находить максимум багов за минимум времени Поговорим о том, почему разработчику следует тестировать свое приложение до того, как за дело возьмутся тестировщики. Разберём технику тестирования, адаптированную специально для разработчиков. Рассмотрим, как с помощью неё можно быстро проверить свой код и найти в нем дефекты. Определим, какие тесты следует писать в первую очередь, и как сэкономить время, не проверяя 100500 лишних комбинаций в тестовых сценариях. Также поговорим об инструментах и практиках, позволяющих повысить читаемость автотестов на JavaScript и упростить их поддержку в дальнейшем. |
Видео Слайды |
10 октября 2019 г. Встреча MskDotNet №40 |
Филипп Бочаров |
Наблюдаемость .NET приложений Одна из проблем микросервисной архитектуры – сложность отладки и диагностики системы. В МТС более 240 продуктов, большая часть которых имеют распределённую архитектуру. Спикер расскажет о том, как МТС борется со сложностью диагностики и отладки распределённых систем. Обсудим — что такое "наблюдаемость" и какие открытые стандарты наблюдаемости вы можете использовать в мире .NET. Рассмотрим как устроены системы распределённой трассировки (Jaeger, OpenZipkin) и как между ними выбрать. |
Видео Слайды |
10 октября 2019 г. Встреча MskDotNet №40 |
Илья Ефимов |
Обзор Xamarin Forms Как только речь заходит о Xamarin, все начинают спрашивать: "А не тормозит? А, наверное, много багов? А, наверное, можно реализовать не всё, что есть в нативных решениях?". Так что об этом поговорим в первую очередь. Дальше поговорим о самой разработке на Xamarin: конечно же про MVVM, code-behind, ReactiveUI, IoC DI, DependencyService — чтобы архитектура была слаженной. Отдельная тема — навигация, создание экземпляров страниц и передача в них параметров. В конце поговорим о CI, аналитике и баг-репортах на примере AppCenter. |
Видео Слайды |
3 октября 2019 г. Встреча KrdDotNet №1 |
Дмитрий Елисеев |
DDD. Почему это правильно, и почему не работает Поговорим о том, что такое DDD и с чем его едят. |
|
3 октября 2019 г. Встреча SpbDotNet №52 |
Алексей Мерсон |
Integration hell: путеводитель Жизнь энтерпрайз-разработчика - это бесконечные интеграции. Интеграции повсюду. Если не интегрируетесь вы, то интегрируются с вами. И почти всегда интеграции - это боль. Много боли. В своем докладе Алексей расскажет, как купировать боль и выжить. |
Видео Слайды |
3 октября 2019 г. Встреча SpbDotNet №52 |
Риваль Абдрахманов |
HttpClient: основные ошибки и способы как их избежать HttpClient является неотъемлимой частью большинаства современных приложений, поэтому правильность его использования напрямую влияет на производительность. В докладе рассмотрим самые роспространённые ошибки, связанные с HttpClient, способы эти ошибки избежать, а также инструменты, которые были добавлены в новые версии платформы, облегчающие жизнь разработчикам. |
Видео Слайды |
3 октября 2019 г. Встреча KrdDotNet №1 |
Александр Иванов |
ORM о котором вы (скорее всего) никогда не слышали Александр расскажет про один непопулярный ORM, который используется на текущем проекте, про его особенности, плюсы и минусы. |
|
29 сентября 2019 г. Встреча SarDotNet №6 |
Алексей Панкратьев |
Алгоритмы и структуры данных — фундамент производительности программы Приятно, когда для ускорения работы программы есть возможность просто взять железо помощнее. Еще приятнее добиться ускорения, переписав алгоритм более эффективным образом или задействовав более подходящие структуры данных. Сейчас есть огромное количество статей про вертикальное и горизонтальное масштабирование, про техники микрооптимизации, а такие вопросы как алгоритмы и структуры данных освещаются редко и в основном на синтетических примерах, имеющих мало отношения к практике. Может показаться, что современному разработчику эти знания не нужны — достаточно взять подходящую библиотеку или перейти на более мощный фреймворк. В докладе на конкретных примерах показано, как с помощью более оптимальных структур данных ускорялась работа библиотеки с открытым исходным кодом, используемой тысячами разработчиков по всему миру для работы с файлами Excel. Обсуждается оценка сложности алгоритмов, а также то, зачем разработчику стоит участвовать в open-source проектах. |
Видео Слайды |
29 сентября 2019 г. Встреча SarDotNet №6 |
Рустам Шехмаметьев |
Функциональные паттерны программирования на примере F# Переход на функциональный язык бывает тяжёл не только из-за сложности смены парадигмы, но и из-за отсутствия привычных нам паттернов проектирования. Но в функциональном программировании паттерны тоже есть и, если вы знакомы с ними, всё становится проще, а код яснее. В докладе разбираются основные приёмы из арсенала функциональных разработчиков для построения типового CRUD. Также показывается, что большинство из вас применяли эти приёмчики в некоторой степени в своём собственном коде, пусть и не в полную силу. |
Видео Слайды |
19 сентября 2019 г. Встреча SpbDotNet №51 |
Михаил Галушко |
Управление командой: взгляд со стороны разработчика В этом докладе мы рассмотрим разные стили управления командой. От тотального контроля у начинающих тимлилов до набирающего популярность Servant Lead. Узнаем как методологии управления влияют на круг задач над которыми работает разработчик. И как все эти знания могут помочь изменить работу в команде к лучшему. |
Видео Слайды |
19 сентября 2019 г. Встреча SpbDotNet №51 |
Николай Молчанов Дмитрий Елисеев |
Битва SQL vs DocumentDB Для чего вам не стоит использовать DocumentDB? Для чего вам не стоит использовать Relation SQL DB? Разберём в докладе сравнение подходов в хранении и эффективном доступе до информации при разных вариантах хранения на примере MongoDB и SQL Server. Сравним данные по цифрам и по использованию стандартных инструментов из .NET. Разберём слабые и сильные стороны, разберём моделирование хранения и то, что вы делаете неверно при проектировании. |
Видео Слайды Демо |
12 сентября 2019 г. Встреча MskDotNet №39 |
Марк Шевченко |
Фильтрация треков GPS на F# Марку нравится функциональное программирование и он хотел бы активнее применять его в программистской практике. Его основные проекты написаны на C#, но он пытается писать их на F#, когда это возможно. Функциональное программирование нравится Марку настолько, что он пытается его популяризировать. Для популяризации естественно нужны учебные материалы, понятные классическим программистам. К сожалению, подобных хороших материалов не очень много. В качестве примеров мы видим вычисление факториалов или чисел Фибоначчи, которые вы вряд ли встретите в реальной практике. В рамках доклада Марк продемонстрирует приёмы функциональной разработки на задаче фильтрации треков. Она действительно практическая — с одной стороны, а с другой — достаточно сложная. Эта задача способна продемонстрировать мощность функциональных средств. Мы поговорим о сферической геометрии, о модульном тестировании, о фильтре Калмана и о том, как подключить код F# к обычному проекту на C#. Библиотека, о которой спикер будет рассказывать, сейчас работает в Azure и в мобильном приложении, написанном на Xamarin. Никаких высоких материй, только практика, только хардкор. |
Видео Слайды Демо |
12 сентября 2019 г. Встреча MskDotNet №39 |
Максим Ширяев |
Учётные системы: проблемы и решения Доклад посвящён истории моделирования и реализации учётных систем. Будут рассмотрены основополагающие принципы построения учётных систем и современные паттерны. Поговорим о таких категориях, как: типовые модели учётных операций, декларативные роли, регистры учёта и диаграммы состояний. |
Видео Слайды |
10 сентября 2019 г. Встреча SpbDotNet №50 |
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. |
Видео Слайды |
10 сентября 2019 г. Встреча SpbDotNet №50 |
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. |
Видео Слайды |
28 августа 2019 г. Встреча PnzDotNet №1 |
Илья Зимин |
Аккуратно трогаем BitMap индексы Сделаем общий обзор индексов. Познакомимся поближе с BitMap индексами. Посмотрим на их структуру и поиск в них. Также остановимся на их плюсах и минусах. Область их применения. На практике реализуем свой Bitmap индекс, поэкспериментируем с различными подходами, в том числе на основе SIMD операций. Побенчмаркаем решения. Посмотрим на готовые библиотеки для .NET. |
|
28 августа 2019 г. Встреча PnzDotNet №1 |
Михаил Щербаков |
Уязвимости в процессе десериализации: прошлое, настоящее и будущее Уязвимости в процессе десериализации недоверенных данных известны более 10 лет, включены в OWASP Top 10 и за последние несколько лет наделали много шума в индустрии. Начнем с обзора исследований этого типа атак, посмотрим, где мы находимся сейчас и насколько хорошо проработана эта тема, в чем сложность поиска такого рода уязвимостей и какие новые подходы нам ждать в ближайшем будущем. Разберем, какие .NET-сериализаторы (и в каких конфигурациях) уязвимы, какие инструменты мы можем использовать на практике для поиска уязвимостей, какие payload’ы известны для .NET-приложений. В том числе посмотрим на созданные Михаилом инструменты статического анализа для поиска потенциальных недостатков в коде приложений. Использование инструментов будет проиллюстрировано на примерах уязвимостей, найденных Михаилом в продуктах Microsoft за время его участия в bug bounty. Разбереём best practices в разработке для избежания ошибок использования сериализаторов и подходы снижения рисков эксплуатации таких уязвимостей. |
Видео Слайды |
28 августа 2019 г. Встреча SamDotNet №1 |
Алексей Капустяненко |
Почему же мой запрос на Entity Framework 6 так тормозит? Часть 9000 Алексей расскажет о хитростях кеширования в Entity Framework 6 и о том, как простые на первый взгляд LINQ-выражения могут замедлить ваши запросы на несколько порядков. |
Видео Слайды |
28 августа 2019 г. Встреча SamDotNet №1 |
Алексей Чиркин |
Доверяй, но проверяй! 5 анализаторов кода на каждый день В докладе Алексей поделится своим опытом расширения статической валидации кода с помощью Roslyn API, а также расскажет о том, когда и зачем это может пригодиться. |
Видео Слайды |
15 августа 2019 г. Встреча MskDotNet №38 |
Роман Неволин |
Почему ваша архитектура функциональная и как с этим жить Если ваш проект — не дремучее легаси, то, скорее всего, он имеет в основе какую-нибудь модную архитектурную концепцию. CQRS, например. Или DDD. А может, Actor Model? Впрочем, без разницы — все они так или иначе связаны с миром функционального программирования. И даже если на вашей футболке написано «OOP only and forever», вы, вероятно, каждый день пишете функциональный код. Как так вышло, в чем это выражается, как с этим жить и чем понимание принципов функциональной архитектуры может помочь улучшить ваш код? Обо всем этом мы с вами и поговорим. |
Видео Слайды |
15 августа 2019 г. Встреча MskDotNet №38 |
Никита Цуканов |
Кросс-платформенное объектно-ориентированное взаимодействие C# и C++ При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще). С движением.NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать. В докладе будет представлено решение, которое: - позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++; - обеспечивает контроль использования памяти на основе подсчёта ссылок; - не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы; - на текущий момент успешно используется в проекте Avalonia для взаимодействия C#/C++/Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac. |
Видео Слайды |
15 августа 2019 г. Встреча SpbDotNet №49 |
Никита Козлов |
Монолит, немного исходников, 2 разработчика: ещё одна история миграции приложения в облако На примере реального проекта рассмотрим процесс миграции ASP.NET-приложения в Azure Cloud. Звучит скучно? Тогда добавим вводных: - килобайты исходников; - часть приложения в бинарниках; - рост команды разработки до 30+ человек; - 3 новых продукта. Стало интереснее? На закуску — уменьшение стоимости облачного решения и модернизация приложения. |
Видео Слайды Демо |
15 августа 2019 г. Встреча SpbDotNet №49 |
Дмитрий Нестерук |
Брокеры событий как связующий элемент архитектуры Что будет если мы совместим паттерны Command, Observer и Mediator? У нас получится сущность именуемая "брокер событий" (также известна как "шина событий" — event bus). Эта конструкция представляет собой центральный шлюз, через который все компоненты системы общаются друг с другом. В этом докладе мы посмотрим на типовые реализации брокера событий и обсудим как такие брокеры применяются в контекте таких подходов как CQRS и Event Sourcing. |
Видео Слайды |
27 июля 2019 г. Встреча SpbDotNet №48 |
Александр Кугушев Александр Бармин |
.NET и Java: на сторонах ли разных силы мы? Не одно десятилетие идёт битва между .NET и Java. Как джедаи и ситхи, обе стороны Силы непримиримы и каждый считает себа последователем самой чистой стороны силы. Но в этот раз мы собираемся, чтобы понять, а на самом ли деле мы разные? Можно ли перейти на светлую или тёмную сторону силы? Чему можно научиться друг у друга? А вдруг все мы на одной стороне Силы? |
|
27 июля 2019 г. Встреча SpbDotNet №48 |
Алексей Мерсон Иван Патудин Николай Молчанов |
Круглый стол: Практика применения чистой архитектуры Круглый стол, посвящённый практикам применения чистой анхитектуры. |
|
27 июля 2019 г. Встреча SpbDotNet №48 |
Александр Фатин Александр Кугушев Максим Шошин Анатолий Кулаков |
Круглый стол: Правда и вымысел IT подкастов Вместе с именитымы экспертами обсудим сложности создания технических подкастов, как делать их интересными, организовать процесс, найти свою аудиторию, правильный формат, способы распространения и много другое. |
|
27 июля 2019 г. Встреча SpbDotNet №48 |
Николай Молчанов Андрей Ганин |
Качество кода Обсудим вопросы качества ПО. Из каких составляющих складывается понятие качества продукта. Кто ответственнен за качество, и с помощью чего разработчики могут достигнуть желаемых высот. Доклад будет полезен разработчикам на любой платформе и любого уровня компетенции. |
|
18 июля 2019 г. Встреча SpbDotNet №47 |
Станислав Сидристый |
Работа над производительностью, вооружившись знаниями о GC В докладе мы рассмотрим ряд техник, которые помогут избежать проблем со срабатыванием GC в самые неподходящие моменты, научившись заранее предсказывать его запуск. |
Видео Слайды |
18 июля 2019 г. Встреча SpbDotNet №47 |
Георгий Плотников |
Just In Time hooking Вы когда-нибудь пытались писать код, который будет оптимизирован? Всегда ли код работает настолько быстро, насколько вы ожидали? Не ломай голову - сломай CLR и пусть он сам тебе расскажет всё, что думает о твоем коде. Как это сделать - в этом докладе. |
Видео Слайды Демо |
16 июля 2019 г. Встреча MskDotNet №37 |
Кирилл Маурин |
Чем значимые типы отличаются от ссылочных? Этот вопрос давно считается дурным тоном на собеседованиях. Вроде бы правильный ответ на него знают все. У докладчика есть задача, для решения которой его достаточно. Только ни один из кандидатов не смог ее решить. В докладе будет показано, как можно использовать особенности значимых типов для повышения эффективности вашего кода без потери читаемости и выразительности. |
Слайды |
16 июля 2019 г. Встреча MskDotNet №37 |
Яков Повар |
Event sourcing в .NET Event sourcing является достаточно мощным архитектурным подходом, способным раскрыть глубину предметной области приложения. Вместе с тем, неправильное его использование может привести к запутанной системе, которую будет трудно развивать. В этом докладе мы разберем: - что такое Event sourcing и чем он отличается от других архитектурных стилей; - как Event sourcing может помочь решить функциональные и нефункциональные требования, которые часто предъявляются к приложениям; - что есть в экосистеме .NET для реализации такого подхода; - как связать Event sourcing и распределенные системы, отдельно разберем как в этом случае находить и разрешать конфликты изменения данных. |
Слайды |
27 июня 2019 г. Встреча SpbDotNet №46 |
Даниил Доронкин |
Разворачиваем ASP.NET Core приложение в Kubernetes Kubernetes - это популярная платформа для развертывания и управления контейнеризованными сервисами. К сожалению, мы не всегда можем внедрить данное решение для рабочих проектов, а изучать что-то новое всегда интересно! В докладе мы попрактикуемся с ASP.NET Core и k8s, рассмотрим объекты k8s, а конце опубликуем production-ready приложение в облачном кластере. |
Видео Слайды Демо |
27 июня 2019 г. Встреча SpbDotNet №46 |
Иван Патудин |
Clean Architectures Небольшой рассказ о том как сделать свое приложение более масштабируемым, долгоиграющим и устойчивым к внешним изменениям. Даже если о них заранее не известно. |
Видео Слайды Демо |
27 июня 2019 г. Встреча OmsDotNet №4 |
Роман Просин |
REST of the best Вспомним основные концепции архитектурного стиля REST, рассмотрим лучшие практики применения на примерах ASP.NET Web API-сервисов. |
Видео Слайды |
27 июня 2019 г. Встреча OmsDotNet №4 |
Олег Пересада |
CLRMD как написать свой инструментарий отладки Исследование аварийных дампов - весьма сложный процесс. Привычный арсенал - использование WinDBG и SOS.dll, но они весьма сложны для понимания начинающими разработчиками. В докладе мы рассмотрим, как делать все то же самое с помощью CLRMD. |
Видео Слайды |
25 июня 2019 г. Встреча MskDotNet №36 |
Юрий Орлов Андрей Зайцев |
Круглый стол о найме разработчиков Поговорим о найме разработчиков: - собеседования сегодня; - тенденции в индустрии; - ключевые навыки современного соискателя; - и многое другое. |
Видео |
25 июня 2019 г. Встреча MskDotNet №36 |
Юрий Орлов |
Практика принятия и применения Coding сonventions в разработке Задача данного доклада – объяснить, для чего же все-таки нужны на первый взгляд нудные соглашения и стандарты, принимаемые в командах. На конкретных примерах будет показано, что нужно упоминать в соглашениях, а что – нет. Можно ли их заменить различными современными утилитами? Какие выгоды и социальные последствия стоят за процессами принятия и применения? Все это можно будет узнать из данного доклада |
Видео Слайды |
25 июня 2019 г. Встреча MskDotNet №36 |
Андрей Зайцев |
Проведение технических интервью Tips and trics для начинающего интервьюера. |
Видео Слайды |
11 июня 2019 г. Встреча UfaDotNet №1 |
Александр Павлов |
GC — жесть, о которой мы не заботимся Александр расскажет об основных источниках проблем и о том, как с ними боролись — на котятах и примерах из жизни. |
Слайды |
11 июня 2019 г. Встреча UfaDotNet №1 |
Рустам Сафин |
Фишечки Visual Studio и ReSharper Доклад Рустама будет посвящен тому, как программировать быстро и эффективно, используя всю мощь современных IDE и плагинов. |
|
30 мая 2019 г. Встреча OmsDotNet №3 |
Евгений Тюменцев |
Как студенты и филолог писали технически сложный проект: акторная модель, методы обнаружения разладки и natural language processing Рассказ об опыте реализации сайта бесплатных объявлений с помощью акторной модели на .NET, как удалось сократить парк серверов в 5 раз, а количество таблиц БД с 200 до 10. |
Видео Слайды |
30 мая 2019 г. Встреча OmsDotNet №3 |
Владимир Зарубин |
От сервера клиенту или как это работает в другую сторону Сервер и много клиентов. Как нотифицировать клиента о каком либо событии в системе. В докладе будут рассмотрены технологии как этого можно достичь, и с какими проблемами придется столкнуться. |
Видео Слайды |
22 мая 2019 г. Встреча NnvDotNet №1 |
Олег Блохин Матвей Григорьев |
Как организовать сбор количественных данных о работе .NET приложения, если некому это сделать за вас Большинство разработчиков стремится писать хороший код. Но достаточно ли этого для того чтобы сделать хорошее приложение, которое ведёт себя на продакшене стабильно, предсказуемо и держит необходимую нагрузку? Олег и Матвей считают, что не достаточно. И одним из важных элеменов любого приложения являются механизмы мониторинга, позволяющие понять как оно на самом деле ведет себя в боевых условиях. Они расскажут необходимый минимум из теории мониторинга и проведут лайвкодинг сессию, где покажут, как можно собирать телеметрию в .NET приложении при помощи Prometheus и как поднять всю необходимую для этого инфраструктуру. |
Слайды |
22 мая 2019 г. Встреча NnvDotNet №1 |
Роман Неволин |
Почему ваша архитектура функциональная и как с этим жить Если ваш проект — не дремучее легаси, то, скорее всего, он имеет в основе какую-нибудь модную архитектурную концепцию. CQRS, например. Или DDD. А может, Actor Model? Впрочем, без разницы — все они так или иначе связаны с миром функционального программирования. И даже если на вашей футболке написано «OOP only and forever», вы, вероятно, каждый день пишете функциональный код. Как так вышло, в чем это выражается, как с этим жить и чем понимание принципов функциональной архитектуры может помочь улучшить ваш код? Обо всем этом мы с вами и поговорим. |
Слайды |
14 мая 2019 г. Встреча SpbDotNet №45 |
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 |
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 |
Мария Щекочихина |
Граница между бизнес-логикой в СУБД и сервером приложений Все приложения работают с данными. Пока объем данных не слишком большой и приложение простое, не принципиально, где размещать бизнес-логику: в СУБД или на сервере приложений. С ростом объема данных и усложнением приложений появляется вопрос, где граница между логикой в СУБД и на сервере приложений. Когда C#-разработчику нужно звать на помощь SQL-разработчика? Всегда ли можно обойтись своими силами? |
Видео Слайды |
19 апреля 2019 г. Встреча MskDotNet №35 |
Андрей Дятлов |
Кросс-процедурные анализы на примере локальных функций в ReSharper В докладе, с практическими примерами, будет рассказано о том, как писать кросс-процедурные анализы кода и почему это теперь необходимо для самых разнообразных анализаторов C#-кода, неважно, написаны они на базе ReSharper, Roslyn или собственных моделей кода. В качестве примера в общих чертах будет описано, как работает dataflow анализ в ReSharper и как на него повлияли локальные функции, появившиеся в C# 7. Будет итеративно рассмотрен алгоритм сбора данных для кросс-процедурных анализов без привязки к конкретным API Roslyn/ReSharper и дана оценка сложности построения модели по памяти/времени на каждом шаге. Андрей также приведет несколько примеров использования полученной модели вне рамок исходного примера. |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Андрей Карпов |
Поддержка C# 8 Async Streams в ReSharper 2019.1 В докладе кратко рассмотрим нововведения в C# 8 для поддержки асинхронного программирования, а также покажем как ReSharper помогает использовать новые языковые возможности. |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Дмитрий Павлов |
Visual Studio Extensibility: основные возможности Дмитрий расскажет: - какие основные возможности для расширения студии имеются; - как студия понимает, что в нее добавлено; - кратко как деплоить (раньше и сейчас); - как войти в тему. |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Роман Булдыгин |
Filtered Solutions Взглянем на фичу, которая может улучшить жизнь командам, работающим с большими решениями. |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Кирилл Полетаев |
Pattern Matching в C# 8 Pattern Matching и с чем его едят. Пройдёмся по истории этого механизма и как его можно применить на практике. |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Александр Кугушев |
Самые вкусные возможности Visual Studio 2019 Visual Studio 2019 вышла только в этом месяце, и не все готовы переходить со стабильно работающей 2017 версии. В данном докладе мы пробежимся по самым вкусным возможностями "чистой" студии и попытаемся решить, стоит ли сломя голову обновляться, или же "подождём первого Service Pack". |
Видео Слайды |
18 апреля 2019 г. Встреча SpbDotNet №44 |
Александр Шевченко |
C# 8: Indices and Ranges В докладе рассматриваются новые фичи языка, такие как Indices (Индексы) и Ranges (Интервалы). Как их использовать, во что они компилируются и на что нужно обратить внимание. |
Видео Слайды |
18 апреля 2019 г. Встреча OmsDotNet №2 |
Иван Киричук |
Background processes frameworks in ASP.NET Обзор фреймворков для запуска фоновых операций в ASP.NET через призму практического опыта. Рассмотрим какие требования стоит предъявлять к выбору инструментов, проведём анализ возможностей применения фреймворков. |
Видео Слайды |
18 апреля 2019 г. Встреча OmsDotNet №2 |
Сергей Огородников |
A proper way to develop a REST service В докладе будет рассмотрена история возникновения Swagger, его предназначение, использование в .NET, опыт работы с ним в компании OneInc, а также альтернативные способы написания клиентов для сервисов. |
Видео Слайды |
28 марта 2019 г. Встреча MskDotNet №34 |
Максим Ширяев |
GraphQL: просто, чётко, оптимально. В рамках доклада будут рассмотрены история GraphQL и язык запросов, роль и место данной технологии. Будут разобраны основные библиотеки и паттерны. Будут продемонстрированы на примере преимущества GraphQL в продакшене. Будет дан ответ на вопрос: какие проблемы и перспективы связаны с данной технологией. И многое, многое другое. |
Видео Слайды |
28 марта 2019 г. Встреча MskDotNet №34 |
Илья Черторыльский |
Blazor глазами фронтенд-разработчика В рамках доклада рассмотрим Blazor, как один из не многих или, возможно, единственный WebAssembly фреймворк для создания SPA приложения на одном из популярных языков программирования С#. |
Видео |
23 марта 2019 г. Встреча SarDotNet №5 |
Алексей Матвеев |
Xamarin vs Unity — Собираем грабли мобильной разработки под Android - Xamarin — это ведь тот же WPF только под мобилы… Да? - Нет! - Unity — это ведь только для игр… Да? - Нет! Xamarin и Unity (Unity3D) это не только ценный TECH, но и 3-4 тонны разномастных граблей. Некоторые грабли — общие для обеих технологий. Другие грабли — особые для конкретной платформы. В докладе пойдет речь и о тех, и о других. Будут затронуты вопросы работы с инерциальными датчиками, звуком, вопросы работы в фоне и сложности отладки на мобильных устройствах. |
Видео Слайды |