• Смотреть запись
    Доклад

    Оптимизации внутри .NET Core

    Доклад состоит из интересных микрооптимизаций, примененных в самом .NET Core разработчиками и участниками сообщества, а также уделяет большое внимание новоиспеченному API к SIMD-инструкциям процессора, таким как SSE и AVX.

  • Смотреть запись
    Доклад

    Быстрорастворимое проектирование

    Максим расскажет о критериях хорошего кода и плохого кода, как и чем мерить. Сделает обзор типовых задач и подходов, разберет плюсы и минусы. В конце даст рекомендации и best practices по проектированию web-приложений.

  • Смотреть запись
    Доклад

    Архитектура производительности Dodo IS

    Производительность и стабильность распределенной системы неразрывно связаны. Рассмотрим, как одно влияет на другое и как добиться хороших характеристик в основном за счет архитектуры, а не за счет рантайм-характеристик отдельных компонентов.

  • Смотреть запись
    Доклад

    Extend the new WinDbg to build your own dream debugging tool

    You'll explore the various extension points provided by the new WinDbg and learn how to use them to improve the user experience by turning the app into a fully featured multi-window debugger with live C#/ClrMD scripting support.

  • Смотреть запись
    Доклад

    Pragmatic unit testing

    Unit testing is a vast topic. The industry has accumulated a huge amount of information about it during the past two decades. However, not all unit testing practices yield equal results. It is important for you as a developer to know which practices provide the best return on your efforts.

  • Смотреть запись
    Доклад

    ValueTask: что, зачем и почему

    Недавно, в свежих версиях языка, появились ValueTask, task-like типы и IValueTaskSource. Многие даже не знают о том, что эти типы существуют, а большинство из тех, кто знает об их существовании, не понимает, зачем они. Егор расскажет, что это за новые средства, для чего они и когда их использование обосновано, а когда нет.

  • Смотреть запись
    Доклад

    Жизнь акторов в кластере: зачем, когда и как

    Вагиф расскажет о системе, разработанной на основе модели акторов, со встроенными средствами масштабирования: Akka позволяет распределять нагрузку на систему между узлами кластера, а сами акторы обладают прозрачностью местоположения.

  • Смотреть запись
    Доклад

    Building your own debugging toolbox with ClrMD

    You have to investigate problems live or post-mortem on tens of GB of application memory by browsing complex structures, such as the threadpool or the timer queue and… you start to spend your life typing tons of SOS commands in WinDbg… and you abandon it. Here comes ClrMD to the rescue!

    Join us to learn how to write your own tools and WinDbg extensions in C# to automate your future investigations.

  • Смотреть запись
    Доклад

    Building responsive and scalable applications

    Jeff will demonstrate the importance of performing asynchronous I/O to build responsive and highly-scalable applications that efficiently use system and application resources.

  • Смотреть запись
    Доклад

    Ctrl-Alt-Del: learning to love legacy code

    We'll talk about how to bring legacy code under control using continuous integration and managed deployments, explore creative ways to use common technologies like DNS to create more productive development environments, and talk about why good old Ctrl-Alt-Del might be the secret to unlocking the potential of your legacy codebase.

  • Смотреть запись
    Доклад

    Создание окружения для интеграционных тестов на основе Docker-контейнеров

    Алексей предлагает подход к написанию интеграционных тестов с применением технологии контейнеризации, позволяющей воссоздать тестовое окружение практически любой сложности. Опираясь на реальные примеры, он расскажет о том, как такие интеграционные тесты могут стать частью процесса разработки и серьезно улучшить качество проекта.

  • Смотреть запись
    Доклад

    Generics

    Jeff focuses on .NET Generics, on how the CLR creates type objects of generic types and memory and performance issues when using generics with reference types versus value types, and on constraints and the odd behaviors they exhibit.

  • Смотреть запись
    Доклад

    Make your custom .NET GC — "whys" and "hows"

    Learn how you can customize or even completely rewrite the GC in .NET, as well as, why you may ever want to do it.

  • Смотреть запись
    Доклад

    Boosting memory management in interoperability scenarios

    We will dig into the new APIs, language features and runtime implementations in IoT and communication scenarios. The goal is showing how these tools give us the opportunity to manage memory efficiently with low complexity in code to improve performance, code maintenance and safety.

  • Смотреть запись
    Доклад

    Windows 10 internals for .NET developers

    Windows 10 is here and is progressing at a much faster cadence than in the past. This session is about Windows 10 internals features and how they impact and/or can be used by .NET developers.

  • Смотреть запись
    Доклад

    FAKE + Paket — PowerTools for .NET developers

    This talk will show you how to set up basic build scripts with FAKE and give you an overview about dependency management with Paket.

  • Смотреть запись
    Доклад

    От монолита к микросервисам: история и практика

    Константин расскажет об опыте перевода проекта с монолитной архитектуры на микросервисную, даст практические советы и опишет ситуации, в которых эти приёмы помогли достичь поставленного результата.

  • Смотреть запись
    Доклад

    So you want to create your own .NET runtime?

    Running C#/.NET code is something we do all the time. But how does the .exe/.dll file produced by the compiler actually get executed? We'll explore some of what's going on inside the dotnet[core]/Mono runtime, giving some insight into the inner workings of .NET.

  • Смотреть запись
    Доклад

    Как выжить под нагрузкой: отказоустойчивый сервер, умный клиент

    Вы узнаете, как создавать устойчивые к нагрузке микросервисы и проводить нагрузочное тестирование, чтобы убедиться, что они выдерживают нагрузку.

  • Смотреть запись
    Доклад

    Реализация своих поставщиков запросов

    В докладе будет рассмотрены следующие вопросы:

    • что такое поставщики запросов в .NET;
    • использование поставщиков запросов для расширения IQueryable;
    • реализация собственной ORM на основе IQueryProvider;
    • построение фасада с помощью поставщиков запросов.
  • Смотреть запись
    Доклад

    Системные метрики: собираем подводные камни

    Евгений расскажет, чем отличаются различные системные метрики, какие ошибки при сборе метрик не позволяют заметить проблемы с производительностью, какие проблемы с производительностью есть у классов Process и PerformanceCounter, как устроены PerformanceCounters внутри и как работать с ними правильно и эффективно.w

  • Смотреть запись
    Доклад

    Yield и async-await: как оно все устроено внутри и как этим воспользоваться

    Методы с yield return и async-методы превращаются компилятором в автомат. Рассмотрим, во что конкретно они превращаются, некоторые нюансы и особенности, а также примеры задач, где эти автоматы можно использовать.

  • Смотреть запись
    Доклад

    Использование Tarantool в .NET-проектах

    Анатолий расскажет о применении СУБД Tarantool и написании коннектора для него. Также он коснется оптимизации коннектора и практик написания быстрого кода с использованием Span< T> и не только.

  • Смотреть запись
    Доклад

    Modern web development with SAFE-Stack

    You will learn about the full power of SAFE-Stack, a stack which includes powerful F# to JavaScript compiler, library that brings the popular "Elm architecture" to F#, and ASP.NET Core technologies.

  • Смотреть запись
    Доклад

    Помочь всем человекам: зачем мы написали свой движок чат-бота

    Мы написали свой движок для создания чат-ботов с полностью кастомизируемой системой сценариев. В докладе расскажем, почему мы решили писать собственный движок; какие вызовы стоят перед чат-ботом, который оказывает поддержку для крупного телеком-оператора; какие алгоритмы лежали в основе первых прототипов NLU и как он работает сейчас; какие приёмы и технологии мы используем в разработке.