DetailedTalks 2018 - DotNetRu/BrandBook GitHub Wiki

Когда и где Докладчик Доклад Ссылки
15 декабря 2018 г.
MskDotNet Субботник 2018
Photo
Андрей Кирпичёв
Unity3d + Flyweight – Оптимизация сеточной 2d карты
Поговорим о разработке игр на C# и возможностях Unity3D. Решим проблему оптимизации сеточной 2D карты, вспомним шаблон проектирования Flyweight и напишем тесты.
Видео
Слайды
15 декабря 2018 г.
MskDotNet Субботник 2018
Photo
Евгений Макаров
Утечки памяти в WPF приложениях
Находим утечки памяти в WPF приложении до его запуска в production и получения жалоб от пользователей. Какие распространённые (и не очень) проблемы встречаются, а также как их находить и устранять – поговорим в рамках доклада.
Видео
Слайды
15 декабря 2018 г.
MskDotNet Субботник 2018
Photo
Павел Притчин
Мониторинг для разработчиков
Мониторинг — это множество возможностей, но надо уметь с ним обращаться в сложной распределенной системе. Докладчик покажет, как это делается в нашем .NET. Из доклада слушатели вынесут: какие бывают аспекты мониторинга системы, зачем он нужен с разных сторон, на конкретных примерах узнают, как использовать технологии мониторинга. Как дополнение, узнают несколько примеров наших(додовских) сбоев. Доклад рассчитан на разработчиков, которые хотят сами следить за своей системой в боевых условиях и понимать ее работу.
Видео
Слайды
15 декабря 2018 г.
MskDotNet Субботник 2018
Photo
Илья Фофанов
Структуры данных
Каждый разработчик ежедневно работает с коллекциями, структурами данных и алгоритмами в том или ином виде. Часто складывается ситуация, даже в самом обыкновенном энтерпрайзе, когда необходимо обработать тем или иным образом большие массивы данных. Чтобы не продолбать в перформансе, необходимо понимать какие структуры данных и коллекции использовать в том или ином случае. Соответственно, необходимо точно понимать какие структуры данных лежат под различными коллекциями. Любой API это кроличья нора и некоторые норы довольно глубоки. В любом случае, желательно понимать инфраструктуру хотя бы на один уровень глубже самого поверхностного.
Видео
Слайды
15 декабря 2018 г.
MskDotNet Субботник 2018
Photo
Юрий Кербицков
Железный код
В рамках доклада поговорим о том, с какими задачами может столкнуться .NET разработчик при взаимодействии с различного рода оборудованием: какие протоколы используются; какие типовые проблемы могут возникнуть и на что стоит обращать внимание. Также поговорим об автоматизации технологических процессов и особенностях взаимодействия с промышленным оборудованием.
Слайды
11 декабря 2018 г.
Встреча MskDotNet №30
Photo
Игорь Чакрыгин
Использование OpenTracing в .NET
Некоторое время назад в OZON.ru начали активно распиливать существующие монолитные системы на микросервисы и постепенно переносить их в Kubernetes. Вместе с этим возникла потребность понимать пути выполнения запросов и находить в них узкие места, поэтому появилась необходимость в системе распределённой трассировки. В качестве такой системы было решено использовать OpenTracing и Jaeger. В данном докладе Игорь расскажет, что это такое, и как их можно использовать в .NET приложениях.
Видео
Слайды
11 декабря 2018 г.
Встреча MskDotNet №30
Photo
Владимир Куликов
Миграция приложений с SQL Server на PostgreSQL
Что может быть проще, чем переход с одной СУБД на другую со стороны кода приложения? ADO.NET предоставляет базовые интерфейсы по работе с данными, и разница сводится лишь к диалекту SQL и замене используемых классов одного провайдера на другие… Но это всё лишь на первый взгляд. В данном докладе Вы узнаете про разницу между устройством SQL Server и PostgreSQL, их клиентов, а также про способы, которые помогут улучшить производительность приложений.
Видео
Слайды
6 декабря 2018 г.
Встреча SpbDotNet №38
Photo
Даниил Доронкин
Практики CI/CD и их место в современной IT культуре
В условиях развития сервис-ориентированной архитектуры и контейнеризации CI/CD становится незаменимой вещью для создания, поддержки и внедрения продукта. Но далеко не все преимущества данного подхода можно прочувствовать на себе. В своем докладе Даниил поделится опытом внедрения CI/CD, а также покажет, как построить эффективный конвейер на open source решениях.
Видео
Слайды
6 декабря 2018 г.
Встреча SpbDotNet №38
Photo
Вячеслав Котрачев
Data Science в Life Sciences
В настоящее время life sciences (науки о жизни) - одна из самых бурно развивающихся прикладных научных областей. Data science (наука о данных) с начала 2010-х годов тоже стала очень популярной - во многом благодаря росту вычислительной мощности машин, с одной стороны, и росту количества данных в цифровом виде, с другой. Вячеслав расскажет как наука о данных помогает наукам о жизни делать мир лучше: - что такое life sciences и что они изучают; - что такое data science и чем она занимается; - как data science работает в life sciences — а если не работает, то почему; - какие проблемы life sciences решают в Аркадии при помощи data science.
Видео
Слайды
21 ноября 2018 г.
Встреча MskDotNet №29
Photo
Raffaele Rialdi
Migrating server apps from the .NET Framework to .NET Core
After just few years. NET Core is now mature for going in production with several advantages over the .NET Framework, such as cross platform support. But what does it mean porting a server application to .NET Core? What are the steps to make the transition as smooth as possible? Most of the libraries are basically identical but the ASP.NET Core and Entity Framework Core have been totally rewritten, making the transition not often so trivial. Also, while netstandard support is great for library developer, how can you leverage the same technology to write libraries that need to behave differently depending on the operating system or the underlying framework implementation? In this session, after analyzing the migration roadmap labyrinth, we will deep dive into the practical details that makes a lot of difference in real code scenarios.
Видео
Слайды
21 ноября 2018 г.
Встреча MskDotNet №29
Photo
Вагиф Абилов
Три года с F# в продакшн: можно ли это назвать успехом?
Около трех лет назад было начато большое переписывание: устав от мутирующих структур данных и синхронизации потоков, команда выбрала F# и модель акторов (Akka.NET) для нового поколения сервисов дистрибуции медиафайлов, разрабатываемых в норвежском гостелерадио (NRK). Каждый час эти сервисы пропускают через себя сотни гигабайт данных, предъявляя высокие требования к масштабированию и коррекции ошибок. Тот факт, что проект запущен и непрерывно используется, относит его к категории успешных, но какова роль языка F# в этом успехе? Достигла бы команда той же скорости разработки и стабильности системы, выбрав ООП (и C# на платформе .NET)? Команда считает, что F# настраивает разработчиков на стиль программирования, дающий существенные преимущества в проектах с короткими сроками и непрерывным запуском результатов в продакшн. Об этих преимуществах и пойдет речь в данном докладе.
Видео
Слайды
20 ноября 2018 г.
Встреча SpbDotNet №37
Photo
Jeffrey Richter
Q&A session
Q&A session with Jeffrey Richter
Видео
20 ноября 2018 г.
Встреча SpbDotNet №37
Photo
Jeffrey Richter
Efficient Buffer Manipulation using C# 7.2's Span
C# is a great language for developer productivity. However, a lot of this productivity comes at the cost of memory allocations which requires more frequent garbage collections. C# 7.2 introduces a new Span class that improves productivity while decreasing memory allocations and garbage collections. Come and learn how this new Span type can improve the performance of your .NET applications.
Видео
Слайды
8 ноября 2018 г.
Встреча NskDotNet №2
Photo
Иван Мигалёв
На стыке управляемого и неуправляемого миров
.NET считается «управляемой» платформой — это означает, что код выполняется в виртуальной машине, которая должна следить за соблюдением некоторых правил (корректность адресов объектов, к которым обращается программа, отсутствие выхода за пределы массивов). На такой платформе программисту живётся очень удобно — ровно до тех пор, пока ему не приходится начать интеропиться с кодом, написанным вне платформы. Сейчас, с распространением .NET (Core) на новые платформы, это становится ещё более важным — потому для новых платформ ещё не написано такого большого количества managed-библиотек, и поэтому частенько приходится делать свои обёртки для нативного кода. К счастью, .NET обладает богатым инструментарием, который позволяет практически прозрачно общаться с нативным кодом. Этот доклад познакомит вас с основными техниками вызова нативных функций из .NET-приложений, особенностями размещения в памяти структур, которыми может обмениваться управляемый и неуправляемый код, а также некоторыми подводными камнями, которые обязательно оказываются на пути у тех, кто начинает работу с нативным кодом из .NET. В докладе Иван будет говорить обо всех современных реализациях .NET: о .NET Framework, Mono и .NET Core.
Видео
Слайды
8 ноября 2018 г.
Встреча NskDotNet №2
Photo
Сергей Андрюшкевич
Реализация CQRS+ES на динамических моделях в реальном проекте
Архитектурный подход CQRS+ES известен относительно широко, однако его применение в коммерческих проектах сопряжено с отсутствием готовых инструментов, отсутствием опыта команд и, как следствие, высоким риском выхода проекта из графика с непредсказуемым результатом. В докладе представлен опыт реализации CQRS+ES с метамоделью на примере задачи формирования энергетического паспорта предприятия, которая перемолола три различные системы за 8 лет. Рассмотрена микросервисная архитектура системы, способы повышения производительности, решение проблем согласования изменений ES и проекций, а так же выводы применения CQRS на практике.
Видео
Слайды
3 ноября 2018 г.
Встреча SarDotNet №4
Photo
Рустам Шехмаметьев
Основы F#
Слышали что-то об F# и хотели бы узнать, что это за язык и чем он отличается от C#? На этом докладе мы познакомимся с языком F# и посмотрим, чем функциональное программирование отличается от объектно-ориентированного. В ходе доклада будут представлены примеры одинакового кода, написанного на F# и C#, чтобы можно было наглядно увидеть разницу между ними.
Видео
Слайды
3 ноября 2018 г.
Встреча SarDotNet №4
Photo
Александр Кузнецов
Введение в SignalR
SignalR – это технология, которая позволяет обмениваться мгновенными сообщениями между клиентом и сервером. Мы поговорим о том, для чего нужна эта технология, как она изменилась с выходом .NET Core и как её можно применять на практике.
Видео
Слайды
Демо
3 ноября 2018 г.
Встреча SarDotNet №4
Photo
Юрий Орлов
Магия Dapper + Oracle
В докладе будут рассмотрены примеры использования ORM Dapper и некоторых фич современных СУБД для создания приложений с быстрой обработкой большого количества данных и сложной бизнес-логикой. Какие конструкции и шаблоны упрощают жизнь в подобных проектах.
Видео
Слайды
25 октября 2018 г.
Встреча SpbDotNet №36
Photo
Андрей Ганин
Автоматизация, ожидания и реальность
Многие сталкивались с автоматизацией тестирования, кто-то этим занимался, кого-то это обошло, но у всех возникают вопросы: что и зачем нужно автоматизировать и кто же должен заниматься разработкой автотестов? В своём докладе Андрей расскажет зачем стоит внедрять BDD, при чём тут овощи и с чего можно начать процесс автотестирования.
Видео
Слайды
25 октября 2018 г.
Встреча SpbDotNet №36
Photo
Дмитрий Левченко
Диагностика производительности .NET приложений в Production
Анализ качества работы и вопросы производительности приложений обычно решаются при разработке и тестировании, но что можно сделать если приложение уже развернуто в рабочем окружении и обнаружились проблемы? Оказывается, не так уж и мало. Доклад посвящен тому, какие возможности доступны, как можно искать узкие места в производительности .NET приложений в Production, с чего начинать анализ и чем можно воспользоваться. Поговорим об некоторых техниках и утилите PerfView.
Видео
Слайды
18 октября 2018 г.
Встреча MskDotNet №28
Photo
Виталий Езепчук
Документируй меня полностью. Markdown и системы документирования
Каждый разработчик сталкивается с проблемами документирования приложений для конечных пользователей или других программистов: выбор среды для документирования, выбор формата хранения документации, быстрое получение нужных выходных форматов, поддержка контроля версий для командной разработки, возможность перевода на другие языки. В докладе будет рассказано про существующие системы документирования, рассмотрены их плюсы и минусы, сделан обзор форматов хранения документации, предложен формат Markdown, как наиболее удобный для написания и хранения документации. Доклад будет интересен программистам, которые хотят писать ХОРОШУЮ документацию, полезную, как для конечных пользователей, так и для программистов и технических писателей.
Видео
Слайды
18 октября 2018 г.
Встреча MskDotNet №28
Photo
Кирилл Маурин
Масштабирование паттерна Disposable в рамках проекта
Паттерн старый, заслуженный, его обязательно спрашивают на собеседованиях, но очень мало кто любит и умеет его правильно готовить. Расскажу, как без проблем реализовать паттерн в ваших бизнес-объектах и как смасштабировать его на ваш сколь угодно большой проект.
Видео
Слайды
25 сентября 2018 г.
Встреча SpbDotNet №35
Photo
Павел Федотовский
Git во имя добра
Git становится де-факто стандартом как система контроля версий – все, кому не лень, переходят на Git. Даже код нашего любимого .NET Framework теперь на GitHub, не говоря уже о всех остальных продуктах Microsoft. Но вместе с тем, git слишком сложен и часто ставит в неловкие ситуации – приходится гуглить и выполнять непонятные команды в консоли. Давайте вместе разберёмся, чем же git так хорош и как научиться его готовить – после доклада вы сможете уверенно выйти сухим из воды из практически любой деликатной ситуации.
Видео
Слайды
25 сентября 2018 г.
Встреча SpbDotNet №35
Photo
Кирилл Луценко
Знакомство с Docker
Сегодня все большую популярность набирает микросервисная архитектура, а вместе с ней и Docker, как основное средство контейнеризации. Возможно и вас совсем скоро попросят разнести старый legacy-монолит на микросервисы и поэтому очень важно иметь представление об этой технологии и уметь применять ее в своих проектах. Цель доклада: познакомить слушателей с основными концепциями Docker, научить контейнеризировать ASP.NET Core приложения и настраивать их взаимодействие с другими контейнерами. Используемые технологии: ASP.NET Core 2.1, Docker.
Видео
Слайды
Демо
18 сентября 2018 г.
Встреча MskDotNet №27
Photo
Анна Рысина
Photo
Антон Сысоев
Photo
Кирилл Маурин
Photo
Денис Куликов
Photo
Елизавета Голенок
Photo
Кирилл Литвеев
Поговорим о Performance. Круглый стол.
Наши эксперты могут ответить на ваши вопросы, и мы все вместе сможем обсудить проблемы и особенности производительности приложений на платформе .NET.
Видео
18 сентября 2018 г.
Встреча MskDotNet №27
Photo
Дмитрий Дорогой
Сложные задачи на языке C#
Будет разобрано 10-15 сложных задач на языке C#
Видео
Слайды
4 сентября 2018 г.
Встреча MskDotNet №26
Photo
Константин Густов
DDD в унаследованном коде - способы борьбы со сложностью ПО
Почти все разработчики сталкивались с системами, которые было сложно развивать и поддерживать. Для таких систем есть всем известное название – legacy. Legacy всех раздражает, а причина этого обычно – сложная, запутанная логика приложения, в которой так сложно что-то понять. В данном докладе будет рассказано о том, что представляет из себя подход DDD. Будет показано на примере, как он помогает упрощать логику и делать приложение структурированным и понятным.
Видео
Слайды
4 сентября 2018 г.
Встреча MskDotNet №26
Photo
Никита Цуканов
C# в браузере — миф или реальность?
С каждым годом мир всё больше и больше двигается от полноценных устанавливаемых приложений в сторону выполняемых в браузере клиентов к веб-сервисам. Вместе с этим переходом требования к сложности таковых продолжают расти, что ведёт к необходимости использования языков со строгой типизацией и богатыми синтаксическими возможностями. Успешно заняв ниши серверной, десктопной и мобильной разработки, C# теперь двигается и в браузер. В докладе будут рассмотрены средства компиляции C# в JavaScript, обеспечивающие бесшовную интеграцию с имеющейся веб-экосистемой, а также возможности по запуску программ в полноценной .NET-среде средствами WebAssembly.
Видео
Слайды
29 августа 2018 г.
Встреча KznDotNet №4
Photo
Михаил Щербаков
Photo
Александр Семёнов
Круглый стол про безопасность, производительность и архитектуру
Круглый стол, на котором мы будем говорить про безопасность, а также затронем темы производительности и архитектуры.
29 августа 2018 г.
Встреча KznDotNet №4
Photo
Михаил Щербаков
Разрушители легенд: web-безопасность
Такого выпуска не хватало на Discovery, так сделаем его вместе! Поговорим про интересные атаки и уязвимости в web-приложениях. Обсуждать будем НЕ банальные: «Linux безопаснее Windows», «Антивирус защищает от всех угроз» и т.д., а вполне конкретные технологии и атаки на них: HTTPS, XSS, XML Injection, использование криптографии с использованием примеров.NET приложений. ​Михаил покажет несколько демо развенчивающие мифы ИБ, которые он не раз слышал от web-программистов. Материал будет интересен в первую очередь разработчикам, пишущим защищенные web-приложения. Если у вас тоже есть чем поделиться, приносите ноутбук с демонстрацией «своего» мифа, разберём вместе.
16 августа 2018 г.
Встреча NskDotNet №1
Photo
Загир Акназаров
Запускаем в K8S микросервисы на .NET Core - наш опыт
Команды разработчиков стараются придерживаться простого правила: не более одной новой технологии в проекте. Нужно остаться в рамках сроков, бюджета, качества. Вы решили создать кроссплатформенное приложение на .NET Core, а потом развернуть его в K8S. Можно ли это считать простым изменением? Мы получим гибкость микросервисной архитектуры, возможность управления быстрым развертыванием окружений для разработки, тестирования и продуктовой среды, отказоустойчивость за счёт избыточности. Но будут и изменения, которые затронут всех. Не только в процессе разработки, но и во взаимодействии с инфраструктурными инженерами, с ИТ поддержкой клиента. В целом, проект изменит многое: от проектирования до поставки в продуктовую среду. Загир и Георгий расскажут о том, сколько стоил вход в эти технологии, какие барьеры им пришлось преодолеть. Можно ли делать это на практике с минимальными рисками для результатов проекта. Будут подробности про архитектуру, инфраструктуру, конвейер CI/CD.
Видео
Слайды
16 августа 2018 г.
Встреча NskDotNet №1
Photo
Дмитрий Семёнов
F# и предсказуемый код
Нужен ли вам F#? Cтоит ли прилагать усилия к изучению нового языка? Ответы обычно такие: - Зачем, если есть C#? - F# имеет свои преимущества, но они не такие уж существенные и и оно того не стоит. - Изучение F# дает полезные навыки разработчикам. Я не использую его проффессионально, но эти знания позволили мне программировать лучше! Давайте разберемся, что из этого правда, а что нет. И решим для себя, нужно ли нам учить F#.
Видео
Слайды
15 августа 2018 г.
Встреча MskDotNet №25
Photo
Андрей Тарицын
WebMarkupMin — HTML-минификатор для платформы .NET
Сначала разговор пойдет о том, зачем нужна HTML-минификация, о ее почти 20-летней истории и эволюции программных средств, автоматизирующих данный процесс. Затем о WebMarkupMin и его модулях. Будут рассмотрены примеры его использования в ASP.NET Core и ASP.NET 4.X. Будет измерена эффективность минификации с помощью WebMarkupMin. Будут перечислены известные программные продукты и веб-сайты, которые его используют. А также ознакомимся с альтернативными решениями для .NET и ASP.NET.
Видео
Слайды
15 августа 2018 г.
Встреча MskDotNet №25
Photo
Айрат Худайгулов
История функционального программирования и щепотка монад
Функциональный стиль всё глубже проникает в привычные императивные языки. И всё равно для многих это диковинка, которую тыкают палкой издалека. Многие апологеты сразу начинают тыкать функторами и монадами в лицо, рассказывая какие же они клёвые. Разберем все с самого начала. А откуда ж взялись "лямбды"? Что за теория категорий, о которой все говорят, и как она связана с кодом? Как можно "доказать" программу? Ну и, наконец, все вокруг говорят о монадах, а все ни сном, ни духом! Всё это и ещё немного философских размышлений ждут на докладе!
Видео
Слайды
28 июля 2018 г.
Встреча SpbDotNet №34
Photo
Анатолий Кулаков
Платформа .NET: вчера, сегодня, завтра
Почему-то некоторые IT-специалисты не следят за развитием самого лучшего языка на свете. Этот доклад будет полезен именно им. Мы вспомним как создавался и развивался C#, посмотрим чего он достиг в совмеменном мире, и выясним куда стремится платформа .NET в будущем. Рассмотрим из каких языков черпает вдохновление C#, а также какие технологии сам подарил миру и какие языки вдохновил. И конечно же оценим самые последнии новости, слухи и тенденции.
28 июля 2018 г.
Встреча SpbDotNet №34
Photo
Анатолий Кулаков
Photo
Станислав Сидристый
Photo
Александр Кугушев
Photo
Валерий Петров
Photo
Павел Федотовский
Photo
Егор Гришечко
Круглый стол «Будущее платформы .NET»
Платформа .NET сейчас переживает второе рождение. Кроссплатформенность, .NET Core, бесконечные новые фичи C#, Docker, Avalonia — столько нового, что глаза разбегаются, мозг взрывается, и хочется сбежать в уютный мир старого доброго .NET Framework, где всё было просто и понятно. Если вам знакомо это чувство, а тем более если оно для вас пройденный этап и все эти вещи давно у вас в продакшене — приходите на наш круглый стол, посвященный развитию платформы. Обсудим тренды в мире .NET, поделимся проблемами и их решениями, послушаем истории от наших экспертов.
28 июля 2018 г.
Встреча SpbDotNet №34
Photo
Анатолий Кулаков
Photo
Алексей Мерсон
Photo
Александр Кугушев
Photo
Александр Целуйко
Круглый стол «Платформа .NET для архитектора»
Статей и книг на тему архитектуры бесчисленное множество. Но каждый проект уникален по-своему. И какой бы подход вы не выбрали, вопросов всегда будет больше, чем готовых ответов. Что же делать? Форумы, StackOverflow? Лучше! За нашим круглым столом мы собрали экспертов, задайте вопросы им! Поговорим про большие проекты, тонкости Domain Driven Design и подводные камни микросервисов.
24 июля 2018 г.
Встреча MskDotNet №24
Photo
Владислав Чистяков
Nitra - современные методы реализации языков
Nemerle был интересен тем, что поддерживал несколько парадигм программирования: ООП, ФП и МП. Этот язык еще в 2006-м году имел больше возможностей, чем имеет C# сегодня. А поддержка метапрограммирования открывали воистину невероятные возможности. Этот язык поддерживал расширения, так что в него было возможно добавить собственные DSL или нужные возможности. Однако, качество его реализации было далеко от идеала, а многие возможности были не продуманы. Когда команда Nemerle задумалась о том, как не имея ресурсов Майкрософт создать качественную и бескомпромиссную реализацию Nemerle, и родилась идея создания средства разработки ЯП - Nitra. Nitra исходно была спроектирована как универсальный инструмент позволяющий радикально упростить как разработку таких сложных расширяемых языков, как Nemerle, так и простых DSL.
Видео
24 июля 2018 г.
Встреча MskDotNet №24
Photo
Алексей Петряшев
Как создать и автоматизировать OpenSource проект
Многие хотят сделать что-то полезное для Community, но не знают как. Тут же возникает множество вопросов: как создать проект на GitHub, какую структуру проекта выбрать, какую лицензию выбрать, как автоматизировать сборку, как версионировать пакет, как собирать и выкладывать nuget пакеты? А еще есть куча других вещей: CI-сервера, MyGet, ведение документации, Support.
Видео
28 июня 2018 г.
Встреча MskDotNet №23
Photo
Ксения Томак
Маленькие данные начинают расти
Ксения расскажет о том, что делать, когда СУБД перестает справляться с растущими нагрузками и объемами данных, предложит решение этой проблемы посредством тюнинга SQL Server, а также рассмотрит кардинальный способ: замену движка БД.
Видео
Слайды
28 июня 2018 г.
Встреча MskDotNet №23
Photo
Анатолий Попов
Использование Tarantool в .NET-проектах
.NET - это не только Windows, но ещё и Linux, и OS X. Нет, не Mono. Использование Tarantool в .NET Core: плюсы, минусы, проблемы и способы их решения. Производительность progaudi.tarantool. Возможно ли выжать 2М RPS с одного сервера на .NET Core?
Видео
Слайды
23 июня 2018 г.
Встреча SarDotNet №3
Photo
Дмитрий Верескун
SpecFlow: Начало
Автоматизированное тестирование — мистическая область, где стирается грань между тестировщиком и разработчиком. Познакомимся с популярным фреймворком автоматизации BDD-тестирования: SpecFlow — реализация широко известного Cucumber на платформе .NET.
Слайды
23 июня 2018 г.
Встреча SarDotNet №3
Photo
Валентин Кононов
CQRS и Event Sourcing для Backend-систем
CQRS является достаточно известным подходом, но из-за некоторой сложности, на первый взгляд, мало кто его применял в реальных проектах. Мы поговорим о теоретической составляющей данного подхода и примерах из жизни, где его применение оправдано. Зачастую данных подход хорошо сочетается с другим принципом — Event Sourcing, который мы тоже затронем. Доклад будет посвящен описанию подходов и сфере применения. Специфических знаний конкретного языка программирования или фреймворков для посещения данного доклада не требуется. Знания применимы независимо от платформы. Выступление и презентация вдохновлены известным .NET тренером и автором многих книг — Дино Эспозито, воркшоп которого Валентин посетил в Минске.
Слайды
21 июня 2018 г.
Встреча SpbDotNet №33
Photo
Станислав Сидристый
Исключительные ситуации: не так всё унифицировано как хотелось бы
В докладе пойдет речь о различных исключительных ситуациях, их группах, попытках их унификации, обработке и особенностях перехвата. Через весь доклад мы будем так или иначе видеть вопрос: всё ли так хорошо в этом казалось бы отлаженном механизме?
Видео
Слайды
21 июня 2018 г.
Встреча SpbDotNet №33
Photo
Алексей Мерсон
ASP.NET Boilerplate: фреймворк по заветам Domain Driven Design
Суть Domain Driven Design лежит вне технической плоскости, а применять его можно в любом проекте, независимо от стека и масштаба. Однако если проект большой, сложно обойтись без применения тактических паттернов DDD, таких как репозиторий, сервис, спецификация и др. Что же делать, если готовых наработок нет, а дедлайн не за горами? На помощь приходит ASP.NET Boilerplate, фреймворк для разработки приложений, в котором уже реализованы лучшие практики применения DDD. Поговорим не только о фреймворке в целом, но и об успешном опыте его использования в реальном проекте.
Видео
Слайды
7 июня 2018 г.
Встреча MskDotNet №22
Photo
Андрей Курош
Reflection.Emit: практика использования
Reflection.Emit позволяет сгенерировать и запустить произвольный код во время работы вашей программы. Будут предприняты попытки решить несколько задач с его помощью, а также будут рассмотрены низкоуровневый язык CIL, ограничения и способы их обхода.
Видео
Слайды
7 июня 2018 г.
Встреча MskDotNet №22
Photo
Дмитрий Вознесенский
PaaS с .NET Core и Mesos Marathon
Рассказ про собственный PaaS в Альфа-Банке и как мы подружили его с .NET Core. Из доклада можно узнать, с какими проблемами сталкиваются корпоративные компании при создании гетерогенных микросервисных приложений, как они решаются и какое место в этом занимает .NET.
Видео
5 июня 2018 г.
Встреча KznDotNet №3
Photo
Андрей Шиллинг
Практические аспекты перехода на микросервисы
Хайп вокруг микросервисов не утихает уже который год и сегодня они стали мейнстримом. К чему нужно быть готовым сразу, а что отложить на потом, ступая на этот путь? Мы поговорим про практические и философские аспекты миграции на микросервисы в enterprise-разработках и о том, о чём не всегда пишут в интернете.
Видео
Слайды
5 июня 2018 г.
Встреча KznDotNet №3
Photo
Дмитрий Поломошнов
Разработка готовых к production web приложений на ASP.NET Core
ASP.NET Core с каждой новой версией становится удобнее для разработки качественных веб приложений. Помимо реализации основных бизнес фич, также стоит уделить немало внимания будущей поддержке приложения после публикации в продакшн-среде. В докладе показано как, используя возможности последней версии ASP.NET Core, можно быстро закрыть такие потребности современного облачного приложения, как версионирование API, мониторинг, надежность, документация, регрессионное тестирование и другое.
Видео
Слайды
5 июня 2018 г.
Встреча KznDotNet №3
Photo
Александр Семёнов
Аутентификация OAuth/OpenID Connect в Enterprise и среда Open API
Казалось бы, такая избитая тема как аутентификация и авторизация уже не может быть интересной, однако, стремительное развитие ИТ с каждым свои витком постоянно поднимает ее на новый уровень. В докладе автор познакомит с современными требованиями enterprise-решений и такими новыми темами в индустрии ИТ, как Open API, аутентификация и авторизация, OAuth 2.0 и Open ID Connect 1.0.
Видео
Слайды
4 июня 2018 г.
MskDotNet QnA with Giorgio Sardo
Photo
Giorgio Sardo
MskDotNet QnA with Giorgio Sardo
В рамках Insider Dev Tour проведём закрытую встречу с Giorgio Sardo в формате QnA. Будет возможность обсудить WPF, Windows Form и UWP apps, а также другие интересующие вопросы.
25 мая 2018 г.
Встреча SpbDotNet №32
Photo
Jan Pospisil
Master class: Docker on Azure as fully managed service
Come to see and try how to have Docker image store on Azure and use it to instantiate into various services like WebApp for Linux, Docker instance etc. Please have your own computer no matter if Linux, Mac or Windows with Azure CLI and Docker client installed. Ideally having Azure subscription as well.
Демо
24 мая 2018 г.
Встреча SpbDotNet №31
Photo
Даниил Доронкин
Версионирование API
В докладе будут расмотрины все тонкости версионирования програмного обеспечения. В частности семантическое версионирование, секрет его популярности и области применения. Конечно затроним версионирование Web API и практические сценарии его использования. Разберём поддержку в библиотеке Microsoft ASP.NET API Versioning и её интеграцию с пакетом Swagger.
Видео
Слайды
24 мая 2018 г.
Встреча SpbDotNet №31
Photo
Александр Шевнин
Akka.NET: обзорная экскурсия
Akka.NET — это фреймворк для создания распределенных, высококонкуретных и отказоустойчивых систем. Разговор пойдёт про модель акторов, её реализацию в Akka.NET, а ещё про Event Sourcing и кластеры.
Видео
Слайды
22 мая 2018 г.
Встреча MskDotNet №20
Photo
Кирилл Маурин
Вдумчиво и подробно поговорим о практике, теории и инструментах поддержки модульности в .NET
Доклад будет о проблемах, с которыми Серафим и его коллеги сталкивались при работе с кэшами, способах борьбы с ними и о том, как в результате, они строят архитектуру вокруг подсистемы кэширования.
Видео
22 мая 2018 г.
Встреча MskDotNet №20
Photo
Елизавета Голенок
Используем AOT-компиляцию правильно
Ahead-of-time компиляция - главная тема разговора. Поговорим о преимуществах и недостатках AOT, чем AOT отличается от JIT, AOT и Ngen, AOT для Mono и CoreRT, а также о том, как и когда необходимо применять AOT.
Видео
17 мая 2018 г.
Встреча KznDotNet №2
Photo
Максим Аршинов
Деревья выражений в enterprise-разработке
Для большинства разработчиков использование expression tree ограничивается лямбда-выражениями в LINQ. Зачастую мы вообще не придаем значения тому, как технология работает «под капотом». Цель доклада — продемонстрировать продвинутые техники работы с деревьями выражений: устранение дублирования кода в LINQ; метапрограмирование; кодогенерация; транспиляция; автоматизация тестирования. ​После доклада вы будете знать, как пользоваться expression tree напрямую, какие подводные камни приготовила технология и как их обойти.
Слайды
17 мая 2018 г.
Встреча KznDotNet №2
Photo
Тимур Замалеев
Инструментарий ASP.NET Core
Одной из проблем с которой сталкиваются разработчики при попытке смены наработанного стека технологий — утрата отточенного годами набора сопутствующих инструментов. Но, к счастью, для новых технологий появляются и новые инструменты, которые являются альтернативой для хорошо зарекомендовавших себя в прошлом. В докладе рассмотрим имеющиеся на сегодняшний день актуальные библиотеки и инструменты для ASP.NET Core, такие как: IoC контейнеры, ORM, библиотеки и стандарты авторизации, библиотеки логгирования, профилировщики API, системы автогенерации документации.
Слайды
20 апреля 2018 г.
Встреча SpbDotNet №30
Photo
Алексей Кирпичников
Восток — правильная телеметрия для микросервисов на .NET
Компания Контур выкладывает в open source инструменты, которые использует для эксплуатации .NET-микросервисов. В докладе поговорим о телеметрии: централизованном сборе метрик, логов и распределенной трассировке. Алексей поделится идеями и кодом, который позволяет безболезненно эксплуатировать тысячи микросервисов, написанные сотнями разработчиков в десятках продуктовых команд Контура. Доклад будет полезен разработчикам приложений с микросервисной архитектурой на платформе .NET, которые понимают, насколько важен мониторинг приложений в продакшне через централизованный сбор метрик, агрегацию логов и распределённых трассировок сетевых вызовов.
Видео
Слайды
Демо
20 апреля 2018 г.
Встреча SpbDotNet №30
Photo
Игорь Мамай
Анализаторы кода и их польза для прикладной разработки
Мы ежедневно используем анализаторы кода — например, запускаем компилятор Roslyn, который выдаёт ошибки и предупреждения, или настраиваем правила для линтеров, которые фиксируют командные практики и договоренности. Однако есть много других способов извлечь пользу из анализаторов кода в повседневной работе. Игорь сравнит анализаторы с программным API (Roslyn и ReSharper) и расскажет, для решения каких задач они используются в его команде (60 человек в 3 городах). Доклад будет полезен разработчикам, которые хотят провести большой рутинный рефакторинг, мигрировать с одной технологии на другую или научить IDE новым трюкам для комфортного следования общему стилю написания кода в команде.
Видео
Слайды
12 апреля 2018 г.
Встреча MskDotNet №19
Photo
Артём Горчаков
Reactive MVVM in .NET: 2018 edition
При разработке мобильных и настольных приложений с помощью платформы .NET, особенно больших и сложных, возникает необходимость писать переносимый, понятный, тестируемый и поддерживаемый код. Доклад будет о том, как в этом помогут шаблон проектирования MVVM, реактивные расширения и кодогенерация, будут рассмотрены возможности кроссплатформенной разработки с помощью .NET Standard и популярных XAML фреймворков. Будет написано простое приложение, демонстрирующее возможности валидации пользовательского ввода с использованием библиотек ReactiveUI и Fody, а также фреймворков Xamarin Forms, Avalonia, UWP и WPF, запустим его на Android и Windows.
Видео
12 апреля 2018 г.
Встреча MskDotNet №19
Photo
Серафим Прозоров
Кэширование данных на контентном сайте
Доклад будет о проблемах, с которыми Серафим и его коллеги сталкивались при работе с кэшами, способах борьбы с ними и о том, как в результате, они строят архитектуру вокруг подсистемы кэширования.
31 марта 2018 г.
Встреча SarDotNet №2
Photo
Никита Данилов
Имитация сложности
Программисты много говорят про сложность решений. Мы можем часами размышлять о правильных шаблонах, красивых абстракциях и цепочках зависимостей. Но давайте поговорим открыто, всегда ли сложность обусловлена решаемой проблемой? Не оказываемся ли мы в плену наших стереотипов и убеждений?
Видео
Слайды
31 марта 2018 г.
Встреча SarDotNet №2
Photo
Илья Щетинин
Параноидальное программирование
Вместе обсудим проблемы с которыми мы сталкиваемся повседневно, а именно, как перестать бояться null-reference исключений, должно ли приложение падать и кто отвественнен за ошибки в коде. Самое главное, как перестать быть жертвой багов, победить паранойю и начать улучшать код прямо сейчас.
Видео
Слайды
20 марта 2018 г.
Встреча SpbDotNet №29
Photo
Денис Кретов
SignalR, Xamarin и Azure – проверка на прочность. Как мы объединили тысячи болельщиков в режиме реального времени
У многих разработчиков при ознакомлении с Xamarin возникают вопросы: смогут ли приложения стабильно и быстро работать при больших нагрузках и большом количестве пользователей. На этот вопрос Денис развернуто ответит. Перед командой Дениса стояла интересная инженерная задача — объединить всех болельщиков на стадионе с помощью мобильного приложения. Каждое устройство, работающее на iOS или Android, синхронно с тысячими других устройств чередовало цвета российского триколора в такт музыке на стадионе. В ходе данного проекта команда успешно решила две основные задачи: 1. Синхронность. Тысячи устройств на стадионе одновременно отображали разную цветовую схему. 2. Надёжность. Приложение обеспечило стабильную работу при большой нагрузке. Для решения были использованы следующие технологии: - Azure – здесь был развёрнут серверный backend с небольшим web интерфейсом администратора, написанном на ReactJS - SignalR обеспечил синхронность данных, используя для обмена WebSocket-ы - Xamarin позволил создать приложение для Mobile с единым кодом для Android и iOS Далее в докладе поговорим о каждой технологии подробнее и вместе сделаем приложение в связке Azure + SignalR + Xamarin.
Видео
Слайды
Демо
20 марта 2018 г.
Встреча SpbDotNet №29
Photo
Ромуальд Здебский
Что интересного есть у Microsoft для мобильной разработки в 2018 году
В докладе мы познакомимся с такими технологиями как: - Visual Studio AppCenter – поговорим о мобильном DevOps. - Xamarin – проведем небольшой сравнительный анализ с другими технологиями кроссплатформенной разработки и обсудим как можно аргументировать использование Xamarin в вашем проекте заказчику или руководству. - Azure – рассмотрим зачем нужен облачный backend для мобильных приложений.
Видео
Слайды
17 марта 2018 г.
Встреча SpbDotNet №28
Photo
Семён Григорьев
Теория формальных языков — это не только написание парсеров
Поговорим о том, какое отношение теория формальных языков и алгоритмы синтаксического анализа имеют к графовым базам данных и задачам статического анализа кода. Посмотрим на то, что ещё можно написать на F#, если FParsec и FsYacc уже написаны, а написать свой генератор парсеров или библиотеку парсер комбинаторов всё же хочется. Заодно попробуем увидеть ещё одно применение GPGPU для прикладных задач.
Слайды
17 марта 2018 г.
Встреча SpbDotNet №28
Photo
Кирилл Полетаев
LXC/LXD или как мы переводили легаси проект на контейнеры
Что делать когда использовать контейнеры очень хочется, а вы завязаны на системных сервисах и Docker не подходит, а виртуалка слишком тяжело? Тогда LXC идёт к вам! Только если вы его победите.
Слайды
17 марта 2018 г.
Встреча SpbDotNet №28
Photo
Тулеген Кобдиков
Dictionary First – альтернативный подход доступа к данным
Для доступа к данным обычно прибегают к помощи EF (Entity Framework), который создает и инициализирует новые сущности с помощью рефлексии, что в конечном итоге приводит к существенному (десятикратному по сравнению с кодированием на ADO.NET) снижению скорости. Сериализация объектов модели для передачи в выходной поток WEB API или 3-х звенных приложений приводит к дальнейшему ухудшению производительности. Для решения проблем с производительностью EF, а точнее, для того чтобы не использовать его вовсе, была разработана библиотека DynaLib, главная роль в которой принадлежит классу DynaObject, который умеет читать параметры из входного потока, вызывать хранимые процедуры на стороне БД, непосредственно работать с выбранной реализацией IDataReader, записывая данные из него в выходной поток в binary, json или xml форматах. При этом не приходится непосредственно писать в коде какие поля или параметры читать, какие будут записаны в поток. Скорость работы библиотеки — как если написать вручную код на основе выбранной реализации IDataReader. Описание подхода Dictionary First – способа записи словарей метаданных в таблицы БД, возможности генерации на основе этих словарей хранимых процедур. Как настройки словаря колонок полей запросов влияют на чтение параметров из входного потока и запись полей из результатов запросов в выходной поток.
Слайды
17 марта 2018 г.
Встреча SpbDotNet №28
Photo
Роман Неволин
Многоликий Machine Learning
Мы живём в чудное время, когда машинное обучение смотрит на нас из каждой кофеварки, а телефоны вот-вот станут умнее человека. И .NET в этом плане всегда оставался на обочине — где-то в сторонке все обучают нейросети и хвастаются скоростью распознавания изображений, а мы лишь завистливо на это смотрим. Но доколе? Пришло время рассказать и показать, что может .NET в плане машинного обучения, объяснить, как добавить немного магии в ваш код и сделать-таки приложения немного умнее.
Слайды
15 марта 2018 г.
Встреча KznDotNet №1
Photo
Юрий Кербицков
Свобода от блокировок или lock-free многопоточность
Во время разработки многопоточного кода практически всегда встаёт проблема параллельного доступа к ресурсам. Благо у нас есть необходимый инструментарий для решения этой проблемы. Самым простым способом решения проблемы параллельного доступа к ресурсам являются блокировки. В большинстве разрабатываемых приложений этого достаточно. Но когда на первый план выходит производительность и быстрый отклик, то блокировки могут послужить одним из узких мест. Чтобы повысить производительность и избежать накладных расходов блокировок существуют различные подходы и алгоритмы. Самыми идеальными являются wait-free алгоритмы, но, к сожалению, на практике, ситуации в которых мы можем их использовать, встречаются довольно редко. В этом докладе рассмотрим основные алгоритмы lock-free многопоточности, поговорим о некоторых оптимизациях компилятора, а также сравним производительность lock-free и не lock-free многопоточного кода.
Видео
Слайды
15 марта 2018 г.
Встреча KznDotNet №1
Photo
Станислав Ладохин
Razor Pages: New page-based framework in ASP.NET Core
Razor Pages — это новый компонент платформы ASP.NET Core, который делает процесс создания веб-приложений проще, быстрее и эффективнее. Рассмотрим с чего начиналось создание Razor Pages. Какие цели ставили перед собой его создатели. Разработаем небольшое веб-приложение, демонстрирующее основные возможности фреймворка. Разберемся с тем, когда лучше его использовать. Заглянем в будущее — посмотрим что будет в новой версии.
Видео
Слайды
28 февраля 2018 г.
Встреча MskDotNet №18
Photo
Анна Рысина
Особенности настройки и маршрутизации в NGINX
Доклад будет о том, как в IIS уживаются ASP Classic, ASP.NET MVC и React.NET. Как маршрутизировать запросы пользователя на основе правил в web.config. Будут рассмотрены таблицы маршрутов в MVC-приложении и правилах NGINX. На что обратить внимание при первой настройке NGINX, какие способы перенаправления http-запросов поддерживаются, каковы особенности работы с ними, и как удостовериться, что пользователь попал туда, куда нужно. Будет рассказано, как осуществлять мониторинг доступных серверов, и как в случае возникновения проблем быстро выводить из дела «больные» сервера.
Видео
Слайды
28 февраля 2018 г.
Встреча MskDotNet №18
Photo
Юрий Орлов
Сервер для многопользовательской игры на .NET Core под Linux
В докладе будет рассмотрен пример использования .NET Core для создания многопользовательской игры с тонким клиентом. Поговорим о том, почему была выбрана именно эта платформа, и для каких типов игр её можно использовать. Рассмотрим проблемы, с которыми можно столкнуться: на что стоит обратить внимание при разработке клиент-серверных игр, как правильно балансировать нагрузку и обрабатывать входящий трафик.
Видео
Слайды
28 февраля 2018 г.
Встреча SpbDotNet №27
Photo
Егор Гришечко
У вас найдётся минутка, чтобы поговорить о блокчейне?
Блокчейн, криптовалюта, ICO. Как много скрыто в этих словах. В рамках доклада Егор, с помощью простых примеров на C#, расскажет вам как это работает. А также поделится своим опытом и океаном боли, связанным с разработкой под Ethereum.
Видео
Слайды
28 февраля 2018 г.
Встреча SpbDotNet №27
Photo
Станислав Флусов
Sharing общих сборок между процессами и доменами в IIS
В микросервисном мире становится еще более актуальным вопрос максимально эффективного использования окружения, поскольку стоимость добавления новой единицы (сервиса) значительно дороже, чем расширение монолитного приложения. Заказчик стремится к размещению максимального числа сервисов на одной машине с целью снизить издержки. В данном докладе пойдет речь о механизмах позволяющих значительно снизить потребление оперативной памяти и улучшить производительность. В некоторых ситуациях речь пойдет о разах. Дополнительно слушатель узнает о различных типах памяти и случаях при которых они используются.
Видео
Слайды
18 февраля 2018 г.
Встреча KryDotNet №2
Photo
Константин Васильев
Fody против рутины
В программировании часто приходится сталкиваться с рутинными задачами, в которых довольно просто допустить ошибки. Константин расскажет, как Fody помогает с ними бороться, а также как она приносит с собой несколько дополнительных фишек.
Видео
Слайды
31 января 2018 г.
Встреча SpbDotNet №26
Photo
Павел Федотовский
Как мы разрабатывали приложение для DotNetRu на Xamarin.Forms
Про Xamarin.Forms наверное уже слышал каждый — после покупки Xamarin Microsoft’ом платформа довольно активно развивается. В этом докладе будет анонс приложения для сообществ DotNetRu написанного на Xamarin.Forms. Поговорим про то, как мы его разрабатывали, с какими сложностями столкнулись и как их решали. Мы рассмотрим весь цикл создания, от настройки окружения до публикации в магазины. Обязательно затронем такие темы как: - какие есть возможности отладки приложения; - как сделать общий код для разных платформ; - локализация; - мониторинг. Приложение отрытое и разрабатывается добровольцами. После доклада у каждого из вас будет достаточно информации, чтобы присоединиться к миру Open Source и вместе с сообществом создавать DotNetRu App.
Видео
Слайды
31 января 2018 г.
Встреча SpbDotNet №26
Photo
Слава Бобик
NancyFx для самых маленьких
Про ASP.NET Core информации много, даже слишком много, и на фоне всего этого затерялся не менее хороший фреймворк NancyFx. Если вы ещё не слышали о нём, то этот доклад даст вам отличное погружение в данную платформу.
Видео
Слайды
18 января 2018 г.
Встреча MskDotNet №17
Photo
Татьяна Ёлкина
ElasticSearch для .NET
При разработке высоконагруженных сайтов и систем возникает необходимость в хранении, обработке и визуализации большого количества данных в режиме реального времени. В докладе будет разобран вариант использования для этих целей стек ELK. Будет рассмотрено использование ElasticSearch в .NET на примере NEST. Также будут рассмотрены варианты использования фильтров, анализаторов. Основная цель доклада – продемонстрировать различные варианты использования ElasticSearch в .NET.
Видео
Слайды
⚠️ **GitHub.com Fallback** ⚠️