DotNext 2015 Moscow

11 декабря 2015
Москва, Россия
Смотреть
В избранное

Dino Esposito

CTO в JetBrains

Андрей Акиньшин

Разработчик в JetBrains

Дмитрий Нестерук

Технический евангелист в JetBrains

Михаил Самарин

Разработчик в Futurice

Александр Иванов

.NET разработчик в EPAM Systems

О мероприятии

Конференция DotNext 2015 Moscow — это:

  • Единственная .NET-конференция в России;
  • Только технические доклады, только хардкор!
  • 26 докладов о настоящем и будущем платформы .NET;
  • Более 500 участников (Middle и Senior-разработчики).

Для кого

  • Техническим директорам
  • Тимлидам
  • Разработчикам
  • Программистам
  • QA
Поделиться

Расписание

Развернуть все
пятница, 11 декабря
День 1
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Dino Esposito

CTO в JetBrains

DDD: Where’s the Value and What’s in It for Me?

An aura of mystery sometimes surrounds DDD and makes it kind of an exoteric thing. While experts insist that everyone should be doing DDD, people in the trenches find it hard and sometimes don't even see the point of making their life harder because of the DDD guidelines. This brings up a bunch of existential questions that sometimes sound too much basic and even a bit silly to ask. One in particular: where’s the value of DDD and what’s in it for me? There’s a missing link between what DDD is and how it is perceived by most people. DDD is not exactly the thing that it seems to be after you read the Evans’s blue book from cover to cover for the first time. While DDD teaches a set of practices to build a software system, it has little to do with the actual implementation details of such a system. DDD expresses its full potential in the analysis of the system and helps immensely in the discovery of the top-level architecture. After this stage, though, everything you may know already fits nicely in a new picture neither bigger nor larger: just flipped!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Андрей Акиньшин

Разработчик в JetBrains

Продолжаем говорить о микрооптимизациях .NET-приложений

Этот доклад продолжает тему моего выступления с прошлого DotNext про сложную науку о микрооптимизациях. Вас ждут новые увлекательные истории о том, что же происходит под капотом .NET-программ. Будем обсуждать различия разных C# и JIT компиляторов (Roslyn и RyuJIT в том числе), медитировать на IL и ASM листинги, а также разбираться с особенностями современных CPU.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Дмитрий Нестерук

Технический евангелист в JetBrains

Основы ботоводства

Современный интернет, будь то форумы, банк-клиенты или сайты заказа авиабилетов - все созданы с помощью корявых веб-интерфейсов, ненадежны, не обладают внутренней консистентностью и вообще отвратительны. С другой стороны, электронные торговые системы (биржи и т.п.) обладают хоть каким-то API, хоть и не всегда с идеальным качеством.

Для того чтобы работать и там и там, нужны боты. Бот может найти вам дешевые авиабилеты, подловить ваш банк на банальном обдиралове или сделать вам миллион-другой на бирже. Этот доклад про то, как эти боты пишутся.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Михаил Самарин

Разработчик в Futurice

Новые аппаратные API и платформы, доступные для UWP

Windows 10 в руках у пользователей уже несколько месяцев, Windows 10 IoT Core доступна даже на ARM платформах, Windows 10 Mobile хоть и в микроскопическом количестве, но все-таки уже присутствует. Universal Windows Platform (соркащенно — UWP) — это сегодняшняя и будущая реальность.

В своей презентации я хочу сделать краткий, но очень иллюстративный обзор новых аппаратных интерфейсов и платформ, доступных для UWP-разработчиков. Вот основной список тем, которые будут продемонстрированы:

  • Встроенная в платформу возможность отслеживания лиц с живого видео потока;
  • Новая версия Imaging SDK для применения фильтров обработки изображений с аппаратным Direct2D ускорением;
  • Принципиально новый API Audio Graph для исключительно low-latency аудио потоков, а также новый системный MIDI интерфейс для создателей музыкальных приложений;
  • Доступ ко всем сенсорам нового Microsoft Band 2 с помощью Band SDK;
  • И наконец UWP приложения на IoT платформе с Raspberry Pi 2.;
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Александр Иванов

.NET разработчик в EPAM Systems

Лёгкий и кросс-платформенный Web-сервер на базе .NET Framework

В докладе я хотел бы рассказать о том, в какую сторону развивается платформа разработки Web-приложений в .NET Framework. Я расскажу о спецификации OWIN, реализация которой даёт достаточной простой и гибкий способ для создания Web-серверов.


Далее я хотел бы рассказать о новом runtime для исполнения .NET приложений – .NET Core. Этот новый runtime является переработанной версией прежнего .NET Framework и он позволяет создавать кросс-платформенные приложения. В его основе лежит модульные подход, который позволит переиспользовать компоненты на разных платформах.


Для разработки Web-приложений на .NET всё выше сказанное открывает совершенно новые возможности. Весь стек технологий .NET теперь будет подталкивать к созданию модульного приложения, в котором будут присутствовать только те компоненты, которые необходимы. В результате уменьшается сложность создания Web-приложений и одновременно увеличивается их гибкость. Всё это очень вдохновляет!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Dino Esposito

CTO в JetBrains

Hands-on Experience: What It Means to Design a Domain Model

The expression “Domain Model” is one of the most abused expressions of the recent history of software. Everyone talks about it; everyone thinks everyone else is doing it and therefore everyone claims they are doing it. Yes, but how? Entity Framework and Code-First have a role in this. Built with the database persistence in mind, Entity Framework has never been sold for what it actually is—a plain simple O/RM. It makes a point of letting you use classes to express the domain and then persist it. This approach makes for intriguing demos at conferences but may not work as smoothly in the real world. And has little to do with domain-driven design and domain modelling. The point is not in how you write classes and partition logic around database tables. The point is how you organize the business rules and how you save, alter and read back the state of the system. Through a comprehensive and quite interactive example, the session will try to make two key points. A single model doesn’t fit all sizes of applications and the domain model is a quite a different thing that the persistence model that Entity Framework Code First is all about.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Sasha Goldshtein

CTO в Sela Group

The Vector in Your CPU: Exploiting SIMD for Superscalar Performance

For more than ten years modern processors have been equipped with vector registers and instructions that can make certain algorithms four to eight times faster. In the past, it took special language intrinsics or intimate knowledge of assembly language to use them. In this talk you will learn how to take advantage of vector instructions in .NET applications using the newly released System.Numerics.Vectors library and the RyuJIT compiler that's part of .NET 4.6. We will explore a variety of algorithms that can benefit from vectorization, ranging from simple 4-8x-wins like matrix multiplication and dot product, all the way to algorithms that must be refactored to benefit from vectorization because they contain inter-iteration dependencies or complex control flow.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Кирилл Левченко

Software Developer в ABBYY

Entity Framework 7.0 новые возможности для хранения данных

Данные – одна из самых важных составляющих ваших приложений. За последнее время расширился как диапазон устройств, на которых могут запускаться приложения с вашими данными(Mac, Linux, мобильные платформы), так и увеличился набор мест, где можно сохранять данные: теперь используются не только реляционные хранилища, но также набирают популярность NoSQL – решения. Возникает вопрос – как унифицировать доступ к различным источникам и на различных платформах.

Этот вопрос поможет решить новая версия флагманской ORM для .NET Entity Framework 7. В докладе будут подняты не только темы хранения данных в других источниках и на других платформах, но и новшества в работе с Microsoft SQL Server

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Никита Наместников

Программист в DevExpress

Xamarin.Forms: Достоинства и недостатки

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Роман Белов

Программист в JetBrains
и ещё 1
докладчик

Современные тенденции в языках программирования. Экосистемы .NET и Java

Мода меняется! Даже когда речь идет о программировании. В отличие от .NET в JVM-мире появилось много современных языков программирования, в которых есть много языковых конструкций и синтаксического сахара, которого нет не только в Java, но и в C#. Мы расскажем о том, какие новые веяния могут задеть C# программистов, а также какие концепции никогда не появятся в .NET, но доступны на других платформах и языках.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Андрей Карпов

Технический директор в Системы программной верификации

Статический анализ, как гигиена кода

Гигиеническими процедурами можно пренебрегать или даже не знать о них. Результат – масса ненужных болезней, которых можно было избежать. Аналогично и с программным кодом. Использование инструментов статического анализа позволяет быстро выявить и устранить многие ошибки на самом раннем этапе.


Я расскажу, что такое методология статического анализа кода. Расскажу о правильном и неправильном использовании инструментов анализа кода. Покажу примеры ошибок, которые могут быть выявлены с помощью таких инструментов, как ReSharper, PVS-Studio, Visual Studio SCA. Объясню, почему применение анализаторов всё более важная часть процесса разработки программ.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Владимир Кочетков

Тимлид в Positive Technologies

Подводные камни System.Security.Cryptography

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Игорь Яковлев

‎Software Developer в Positive Technologies

Использование и устройство DLR

В C# 4 было введено новое ключевое слово dynamic для поддержки подсистемы DLR предназначенное для использования динамической типизации в языках со статической типизацией. В докладе рассмотрены как внутреннее устройство DLR (от ключевого слова dynamic в C# и до генерации кода, реализующего динамические операции) так и практическая ценность этой подсистемы (фреймворки, которые ее используют). Данный материал позволит понять каким образом реализованы такие классы как DynamicObject и ExpandoObject и как ими можно воспользоваться в своем коде.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Карлен Симонян

Программист в Luxoft

Атомарные операции и примитивы в .NET

Существует множество реализаций CLI, которые работают на разных ОС, архитектурах процессоров. Одним из главных слоев абстракции для обеспечения совместимости (и не только) является спецификация Memory Model.

Если в однопоточных приложениях редко вспоминают про модель памяти, то в многопоточных (а еще важнее в lock-free участках кода) этот вопрос стоит остро.

Написание многопоточного кода, правильно использующего кеш процессора, а также эффективно борющегося с оптимизациями на уровне CPU-инструкций – нетривиально.

Из доклада Вы узнаете:

  • как уменьшенить различия моделей памяти между .NET и Mono на x86, Itanium, ARM архитектурах;
  • откуда есть пошли атомарные операции и их предназначение;
  • как реализовать неблокирующую синхронизацию и уменьшить количество boilerplate-кода для атомарных операций;
  • примеры эффективного использования возможностей современных процессоров в .NET'e;
  • и, наконец, элегантное решение вопросов выше благодаря библиотеки atomics.net.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Hadi Hariri

Developer в JetBrains

HTTP/2 – What do I need to know?

HTTP 1.1, which is the backbone of pretty much everything we’ve been using on the Internet, has been around for over 15 years. Recently the HTTP/2 specification has been completed and gradually application servers will start supporting it. It does make one wonder though, why change if something has been working for so long. In this talk we’ll examine the shortcomings of HTTP 1.1 and how 2 intends to address these. We’ll see what we need to know and how it’s going to affect our existing applications, and future ones.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Анатолий Кулаков

Разработчик в Paladyne Systems

Structured logging

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


Доклад рассказывает о том, как концептуально изменить эту ситуацию. Как превратить кучку ненужного текстового мусора в полноценную Event Source систему. А каждому разработчику дать почувствовать себя всемогущим аналитиком. Всё это возможно благодаря структурному логированию (Structured logging), которое привносит в ваши логи семантическую составляющую. Так же будут рассмотрены основные проблемы стека ELK (Elasticsearch, Logstash, Kibana). Мы попробуем решить эти концептуальные проблемы с помощью структурного логирования.


Мы так же рассмотрим как работать со структурными логами в .NET с помощью библиотеки Serilog. Решим несколько практических задач с помощью подручных средств, которые без семантики журнала были бы не подъёмны. Разберёмся со специализированным сервером Seq. И конечно же найдём пути быстрой и безболезненной миграции существующих приложений на этот чудо-стек.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Владимир Озеров

Архитектор в GridGain

Нативный код: Управление неуправляемым

В повседневной практике мы периодически сталкиваемся с необходимостью взаимодействия с нативным кодом. .NET предоставляет широкий набор инструментов для решения подобных задач – PInvoke и reverse PInvoke, указатели, GCHandle, stackalloc, и многое другое.

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

В качестве примера будут рассмотрены решения, примененные при переносe Apache Ignite (распределенного кэша, написанного на Java и C++) на платформу .NET.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Андрей Акиньшин

Разработчик в JetBrains

.NET 2015: Будущее рядом

В последнее время экосистема .NET развивается очень динамично: постоянно появляются новые технологии и инструменты, а старые обзаводятся новыми возможностями. Уследить за всем очень сложно, поэтому в этом докладе мы постараемся обзорно взглянуть на текущее состояние платформы .NET, а также на то, что нас ждёт в ближайшем будущем. Будем говорить про грядущий C#7, про кроссплатформенность и нативную компиляцию, про новый .NET Core 5 и ASP.NET 5, про новые инструменты для разработчиков и последние анонсы от Microsoft.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Александр Никитин

Software Engineer в Adform

.NET Generics under the hood and a JITter bug for dessert

Generics – старая и хорошо известная парадигма программирования. Все мы знаем, как их использовать и какие преимущества они нам дают. Но знаете ли вы как они работают изнутри? Думаете, что тут замешена магия? Есть внутренне чувство, что все на костылях? Интересно, почему один и тот же метод может работать в 3-5 раз медленнее?

Попробуем вместе в этом разобраться. Доклад про то, как это все работает изнутри. Вспомним про .NET Memory Layout, позапускаем WinDbg, посмотрим как .NET generics устроены изнутри, какие оптимизации CLR предпринимает, чтобы они были быстрыми, и, что самое интересное, чаще всего такими же быстрыми, как и обычные методы.

Будет десерт – баг в Джиттере! Только хардкор! Еще больше хардкора в обсуждениях. Приходите те, кто интересуется внутренностями .NET, будет интересно


Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Sasha Goldshtein

CTO в Sela Group

Automating Problem Analysis and Triage

What do you do when your application crashes or hangs in production? Even if you have good monitoring, nothing can compete with a debugger or a full process dump captured on a production system. But you can't always afford the time to analyze hundreds of crash dumps. In this talk you will learn how to perform completely automatic dump analysis and triage using Microsoft's ClrMD, a .NET library that can explore threads, call stacks, and exceptions; visualize threads and locks to form wait chains and detect deadlocks; and walk heap memory to inspect important objects for your application. With automated analysis tools you can take back full control over what happens in your staging and production environments.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Александр Шведов

Разработчик в JetBrains

Дизайн и эволюция C# на примере свойств

Язык программирования – средство выражения проблем предметной области и от уровня понимания этого средства программистом напрямую зависит простота, декларативность, краткость и лаконичность решений. Работая в области IDE-инструментов, простота и лаконичность пользовательского кода и представляют собой предметную область, что обязывает разработчика инструментария постоянно помнить все тонкости и проблемы языка, уметь формализовать общепринятые практики и помочь пользователю IDE обойти проблемные стороны языка.


Идея этого доклада возникла из повседневной задач разработчика IDE – поддержки языка C# версии 6.0, вошедшего в состав Visual Studio 2015. Усовершенствования языка, касающиеся распространенного языкового средства – деклараций свойств – оказались внезапно сложными в поддержке и крайне влияющими на имеющиеся автоматические рефакторинги кода, что потребовалось глубоко разобраться в большинстве особенностей свойств C#. Предлагаю вам поразмышлять над этим "повседневным" языковым средством, в деталях проследить развитие свойств начиная с версии 1.0 языка C#, задуматься над проблемами дизайна C# и взглянуть на свойства глазами разработчика IDE.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Михаил Щербаков

Руководитель проекто в Cezusrity

WinDbg в руках .NET разработчика

Отладка остается одним из сложно поддающихся планированию процессов в разработке. Новый полезный инструмент в умелых руках может помочь найти причину ошибки в сотни раз быстрее. И в докладе мы поговорим о таком инструменте – наверное самом мощном отладчике для Windows, излюбленном инструменте писателей драйверов и в тоже время не популярном среди .NET программистов – это WinDbg. Можно (и нужно) ли использовать WinDbg для отладки .NET кода? Как настроить этот тул, чтобы его ежедневное использование перестало приносить боль и действительно экономило время? Посмотрим на основные операции и сценарии отладки .NET и смешанного кода, демонстрирующие всю мощь этого инструмента. И разберем чем он может оказаться полезен для web-разработчика, какие прикладные задачи позволит решить.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Дмитрий Сошников

Технологический евангелист в Microsoft

Функциональное программирование на F# в обработке больших данных и машинном обучении

В докладе мы рассмотрим один из аспектов применения функционального языка F#: обработка данных. Начиная от простых примеров мы перейдём к решению классической задачи машинного обучения - распознаванию рукописных цифр, затем рассмотрим использование F# для реализации вычислений на облачных кластерах с помощью платформы MBrace.

Доклад будет интересен как разработчикам, не имевшим опыта работы с F#, так и более опытным функциональным программистам, которые хотят использовать мощь F# для распределённых облачных вычислений.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Дмитрий Нестерук

Технический евангелист в JetBrains

Что нового в ReSharper 10?

Недавно состоялся очередной релиз ReSharper, и я рад в очередной раз рассказать про то, какие новые фичи и возможности появились в 10 версии. В докладе я расскажу про нашу собственную билд-систему, поддержку новых языков разметки (к пр. Protocol Buffers) и много всяких других вещей.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Михаил Филиппов

Руководитель отдела разработки в Sky@Net

Как переехать на ASP.NET MVC 6

Расскажу о том, как мигрировать существующее приложение на MVC 5 на новую платформу. Какие преимущества даст новая платформа для разработки.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Hadi Hariri

Developer в JetBrains

The Silver Bullet Syndrome

We love our silver bullets don’t we? Constantly chasing the dream that the next big thing will solve all our past problems. It doesn’t matter if it’s a language, framework, platform or library, we’re out there chasing it. Why? Well because it’s going to solve our needs, it’s going to solve the business needs. Well supposedly it will. And how much is it going to cost? Not that much, especially if we’re not the ones paying the bills. It’s about time we look at the hard facts and ask those difficult questions. Are we really looking for a silver bullet? Why are we constantly riding the technology bandwagon? Where is the churn going to take us? And at what cost?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

JUG.ru
https://jugru.org

Организационный комитет: JUG.ru, info@jugru.org, 78126802918

Похожие мероприятия

8-9 декабря 2017
Докладов 23
Просмотров 0
qa, баг, дебаггинг, кейс, ошибка, по, программирование, разработка, софт, тестирование
4 июня 2017
Докладов 17
Просмотров 5
qa, кейс, по, программирование, разработка, софт, тестирование
7-8 апреля 2017
Докладов 31
Просмотров 8
java, javascript, qa, по, программирование, разработка, софт, тестирование
показать ещё