DotNext 2015 Piter

5 июня 2015
Санкт-Петербург, Россия
Третья независимая конференция для .NET-программистов
Смотреть
В избранное

Dino Esposito

CTO в JetBrains

Дмитрий Иванов

Team Lead в JetBrains

Ромуальд Здебский

Руководитель направления по технологической стратегии в Microsoft

Денис Цветцих

Разработчик в АстроСофт

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

Lead .NET Developer в Энтерра

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

Что это?
  • это независимая .NET-конференция .NEXT 2015 Piter;
  • ведущие разработчики компании JetBrains;
  • и кроме того, лучшие авторы .NET-блогов на хабрахабре;
  • Темы: от внутренностей CLR до новейших инструментов для .NET-разработки:
  • C# 6.0, ReSharper, CLR, FitNesse, WinRT, F#, WinPhone, Security, Roslyn, JIT, async/await, Mono, DLR, PostSharp, AutoFixture, Concurrency.

Для кого

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

Расписание

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

Dino Esposito

CTO в JetBrains

Кейноут The Courage of Knowing Things (and not being a geek)

When a software product is no longer updated is it old? Or is it just right? Is the number of Github commits enough to measure the business relevance of a software product? In the real world, old-fashioned technologies run line-of-business applications and move the money—literally as so many banking apps are still RPG/AS400. My grandma used to say "learn a trade and all of its tricks". Similarly today I'd say "learn a way to do things you need to do and do it". Whether it's WebForms, MVC, Silverlight or even VB6, I suggest we all look for alternatives only when we're in trouble. Possibly not deadly lost in trouble, but not even at first itch. Feeling a geek gives only positive sensations; behaving like a geek, instead, only leads to troubles that only the next version can fix once the first RC of the next CTP is released to a restricted group of selected fanboys. (And yes, we'll talk ASP.NET5 and .NET Core as well...)

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

Дмитрий Иванов

Team Lead в JetBrains

Сказки о преждевременной оптимизации

Правилом «premature optimization is the root of all evil» руководствуется множество программистов по всему миру. Верно ли оно для всех задач в IT-индустрии или нет? Какие оптимизации в .NET лучше делать сразу, а какие отложить на потом? Как развить в себе способность писать эффективный код?

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

Ромуальд Здебский

Руководитель направления по технологической стратегии в Microsoft

По следам BUILD 2015 — платформа .NET сегодня и завтра

В этом докладе мы поговорим о настоящем и будущем платформы .NET во всех её реинкарнациях с учетом анонсов BUILD 2015. Узнаем как они друг с другом соотносятся, какие планы и реалии развития каждого направления, на что и в каких сценариях делать ставку сейчас в разработке, чтобы максимально охватить рынок различных платформ, устройств и облачных сервисов.

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

Денис Цветцих

Разработчик в АстроСофт

Roslyn API: SyntaxTree vs. CodeDom, SemanticTree vs. Reflection

Одну и ту же задачу генерации кода клиента для SOAP сервиса под Windows Phone 8.1 мы решили используя:

  • Reflection для анализа кода и CodeDom для кодогенерации
  • SemanticTree для анализа и SyntaxTree для кодогенерации

В докладе будет дано сравнение удобства решения задачи кодогенерации при помощи SyntaxTree и CodeDom и анализа кода при помощи SemanticTree и Reflection.

Ссылка на github: https://github.com/denis-tsv/SoapClient.

Доклад призван подвести слушателей к двум выводам:

  • API для работы с SyntaxTree и SemanticTree ещё сыровато
  • несмотря на это, с его помощью вполне можно решать задачи анализа и генерации кода.

А с «многословностью» API вполне можно бороться при помощи extension методов. И, да, если у вас до сих пор не было возможности (желания) познакомиться с Roslyn API, то я сделаю краткое введение, чтобы нить доклада не терялась ни для кого.

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

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

Lead .NET Developer в Энтерра

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

Доклад для Middle и Senior .NET-программистов о микроптимизациях приложения, из которого Вы узнаете:

  • О том, как важно понимать IL и ASM код, соответствующий вашей C#-программе;
  • О различных уровнях микрооптимизаций начиная от C# и JIT компиляторов, заканчивая CPU;
  • Об особенностях оптимизаций под различные процессорные архитектуры;
  • Об отличиях разных версиях JIT-компиляторов, включая RyuJIT;
  • О том, как правильно замерять время выполнения приложений и оценивать эффективность оптимизаций.

Доклад будет полезен всем разработчикам, которые хотят хотят сделать свои и без того быстрые программы ещё на 5-10% быстрее.

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

Юлия Фаст

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

Разбор некоторых технических моментов нового .NET

Этот доклад – краткий обзор новостей и разбор некоторых технических моментов нового .NET.

  • Мы попробуем новые возможности Visual Studio 2015 для поиска утечек памяти и улучшения производительности
  • Присмотримся к улучшениям Garbage Collector и увидим, чем ещё нас порадует .NET Framework 4.6
  • Взглянем на принципиально новый EntityFramework 7, и поймём, почему не стоит забывать EntityFramework 6

Доклад содержит много мелких и не очень «плюшек» нового мира .NET и рассчитан на тех, кто хочет, но не успевает следить за всеми новостями.

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

Павел Авсенин

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

Roslyn: использование в крупном проекте на примере CodeRush

  • мы переезжаем на Roslyn, хотим выиграть в памяти, перфомансе, резолвинге, поддержке новых версий языка
  • общие архитектурные моменты и тонкости Roslyn
  • как мы пишем рефакторинги (с применением реврайтеров и аннотаций), провайдеры, диагностики
  • что использовали в контексте, в стринг провайдерах, в тестраннере, в клинапе, в спелчекере и др.
  • где пригодились специфические вещи: ControlFlow, DataFlow, Recommender, Simplificator, Emit
  • как используем метаданные в декомпилере
  • сравнительные характеристики: память, перфоманс

Из доклада слушатели узнают:

  • Обзор того что Roslyn может нам дать и чего не может
  • Много примеров использования в самых разных фичах
  • Как написан новый CodeRush.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

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

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

Кодогенерация: что, как, зачем

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

В этом докладе слушатели узнают про то как кодогенерация используется в современном мире, и про типовые задачи (на микро и макро уровнях), которые решает кодогенерация. Слушатели узнают как и для чего создаются генераторы кода, какие подходы к этой задаче существуют, и насколько глубоко идет кроличья нора в плане «вложенных реальностей» кодогенерации. Также, слушатели увидят примеры программ и утилит, которые реализуют различные подходы, начиная от простой текстовой генерации и заканчивая структурным анализом, использованием DSLей и другими трюками.

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

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

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

Универсальные приложения для Windows 10

Windows 10 обещает разработчикам новую улучшенную универсальную платформу для всех устройств: Desktop, Tablet, Phone, Xbox One, Hololense и IoT. В докладе мы рассмотрим, так ли это и действительно ли C# программист может единым кодом покрыть все платформы Windows 10. Мы рассмотрим на практических примерах обещание One Microsoft: One package, One binary, One API surface, One Platform.

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

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

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

Исключительно простая практика AppSec .NET

В докладе рассматривается практическая составляющая предметной области Application Security для .NET-разработчиков. Будут рассмотрены многочисленные примеры уязвимого кода, демонстрирующие недостатки (weaknesses), позволяющие атакующему нарушить защищенность системы с помощью различных типов атак: XSS, CSRF, Session Fixation, атак на уязвимости бизнес-логики и т.п. Как не допустить появление в коде таких недостатков и устранить существующие, почему Entity Framework не спасает от атак SQL Injection, валидация запросов – от XSS, а XmlReader от XML-specific атак? Ответы на эти и многие другие вопросы будут даны в ходе данного доклада.

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

Dino Esposito

CTO в JetBrains

Common Scalability Practices that Just Work

A site that responds slowly may take customers off to a competitor; but a site that collapses on high volume of traffic stops business, sets a bad reputation and in some cases may even make the company liable for something. In software, scalability refers to the system’s ability to handle a growing number of requests without incurring in significant performance loss and failures. Whatever way you look at scalability, achieving scalability relates in some way to performance. Yet scalability and performance are different concerns that should be addressed independently. This talk is about concrete ways to «improve» the scalability of an application; it’s not about techniques to write an «absolutely scalable» app. It looks at common practices employed by successful sites rather than marketed products or technologies. At any rate, no recipe will ever work without some deep knowledge of the data and processes of the business domain.

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

Дмитрий Гаравский

Ведущий разработчик подразделения Desktop разработки (WinForms/XPF) в DevExpress

Разработка корпоративных приложений c использованием MVVM-подхода. Эффективность + Кроссплатформенность

Доклад для Middle .NET-программистов о практике применения паттерна MVVM при разработке Line-Of-Business приложений.

Мы обсудим известные проблемы подхода, сильно понижающие эффективность программиста, и рассмотрим общие концепции, которые эти проблемы устраняют. Рассмотрим практические аспекты использования подхода в условиях кроссплатформенной разработки (WPF/Silverlight/WinRT/WinForms/MonoХХХ)

Доклад еще раз напомнит вам, что «правильный MVVM – это чертовски удобно и эффективно» и заставит задать провокационные вопросы «Так ли стар WinForms чтобы начинать на нем новый проект?» и «А готов ли Mono к Enterprise?».

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

  • как убрать весь «лишний» код из ViewModel-ей и оставить только код, решающий бизнес-задачи, используя концепцию POCO-ViewModel-ей.
  • как максимально просто и гибко организовать навигацию в приложении и не зависеть от смены View, используя концепцию сервисов.
  • как сделать модули полностью независимыми, но при этом обмениваться данными и командами, использую концепцию Messenger-а.

На практике вы увидите:

  • как использовать привязки свойств и команд к UI-контролам, а также расширять возможности UI-контролов поведениями даже если целевая платформа это не поддерживает.
  • как настраивать или менять поведение приложения применяя существующие или добавляя новые сервисы.
  • как избавиться от рутины написания CRUD-кода для ViewModel-ей и максимально абстрагировать от Data Layer.
  • в качестве бонуса будет продемонстрировано, насколько сильно упрощается жизнь разработчика в том случае, когда производитель инструментов и средств разработки уже все сделал за вас.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

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

Разработчик в Сбербанк

Работа с большими объемами данных в .NET

Как в три действия засунуть слона в холодильник? Эту задачу мне часто приходится решать на работе. Причём в немного усложненном варианте – не в три приема, а в один. В современном мире объем поступающей информации становится всё больше и больше, её нужно как-то обрабатывать и анализировать. Причем, пользователи хотят работать с ней онлайн, в Web-браузере и у них нет времени ждать пока выполнится длительный запрос к базе. Им нужно здесь и сейчас, чем быстрее, тем лучше. Часто бывает ситуация, когда очень качественный и хорошо спроектированный программный продукт начинает работать медленно и нестабильно по причине увеличения объема информации, которое ему приходится обрабатывать. И эту проблему обычно решают с помощью увеличения производительности железа или ограничивая функционал для пользователя. Я считаю что это крайняя мера, и хочу рассказать, как существенно увеличить производительность программных продуктов, без крупных финансовых затрат и драконовских методов. Что будет в докладе:

  • Построение и использование OLAP-кубов с помощью Microsoft Analysis Services. Как их использовать в Web приложениях, настраивать и администрировать
  • Micro ORM Dapper, как способ повышения производительности. Достоинства и недостатки
  • Формирование отчетов с данными в эксель файлах, минуя Web-форму. Плюсы и минусы данного подхода (OpenXML SDK, DevExp library for Excel, EpPlus).
  • Проблема долгих запросов к базе данных, как с этим работать. Взаимодействие клиента с сервером и сервера с клиентом (SignalR, HTTPHandler)
  • Типовые решения для работы с большими объемами информации – предварительная фильтрация, постраничный вывод.

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

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

Кирилл Скрыган

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

ReSharper vs. Roslyn

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

Приходите на доклад, если вы хотите прояснить для себя, в чём концептуальное отличие между Roslyn и Resharper.

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

Никита Цуканов

CTO в Promarket

Написание масштабируемых и временами распределённых систем с Akka.NET

Можно ли писать конкурентный код без боли? Есть ли жизнь без блокировок? Как сделать распределённую систему и не сойти с ума в процессе? Узнайте ответы на эти вопросы с Akka.NET. В программе доклада: что такое акторы, с чем их едят, и почему с ними проще жить, что такое прозрачность местоположения и как она помогает работать в кластере, а на закуску будет немного про использование подходов CQRS и Event Sourcing.

Доклад рассчитан на неподготовленного слушателя, ранее не имевшего дело с акторами, и лучше всего подействует на backend-разработчиков, тимлидов и людей, уставших от применения для каждой задачи связки ASP.NET/MS SQL Server.

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

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

Технический евангелист в JetBrains
и ещё 4
докладчика

Круглый стол, Нужна ли Петербургу .NET User Group?

Темы для обсуждения:

  • Цели сообщества (популяризация технологий, освещение новинок, обмен опытом и т.д.)
  • Формат встреч (регулярность, длительность, тренинги)
  • Требования к докладам и докладчикам (сбор пожеланий по темам, приглашенные спикеры)
  • Целевая аудитория (технологии, уровни и потребности)
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Сергей Шкредов

Руководитель .NET направления в JetBrains

7 habits of highly effective programmers или как перестать дебажить и начать приносить пользу

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

Вот некоторые из тем, которые я раскрою:

  • Проактивный подход к написанию кода
    • Многосторонний взгляд на код
    • Логирование, проверка инвариантов, визуализация исполнения, статический анализ, динамические анализаторы
    • Monkey testing. Создание неблагоприятных условий для исполнения кода
  • Множество примеров из разных времен:
    • Огромные неподъемные иерархии классов
    • API который можно только скопировать
    • Порядок исполнения (ну или беспорядок)
    • Синхронизация и многопоточность
    • Данные, реактивность и MVVM
    • Контроль утечек памяти
    • Создание микрофрэймворков

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

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

Виталий Баум

Разработчик в Bright Box

Разработка под .NET для Web. Без мыши. Без UI. Без Windows.

Большинство разработчиков .NET привыкло жить в Windows + Visual Studio условиях. В последний год Microsoft много делает для того, чтобы .NET начал работать не только на Windows. Я предлагаю посмотреть, как можно жить без Windows + Visual Studio уже сегодня. Как при этом не потерять в эффективности разработки, а где-то даже и выиграть. В докладе я продемонстрирую, как в TDD-стиле можно реализовать REST API под .NET, не используя Windows и Visual Studio, но используя shell, vim, Mono, NUnit и jasmine.

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

Алексей Федоров

Лидер сообщества в JUG.ru
и ещё 4
докладчика

Круглый стол .NET performance

Темы для обсуждения:

  • dotTrace/dotMemory
  • проблемы с производительностью после перехода с оригинального .NET Framework на CoreCLR
  • Какой код нужно писать: «красивый» или высокопроизводительный?
  • Стоит ли переписывать критические по перформанcу куски кода на C++?
  • Надо ли изобретать велосипеды или пользоваться готовыми алгоритмами и структурами данных?
  • Какой процесс улучшения производительности лучше: «замеряй-правь» или «оптимизируем сразу»?
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Роман Белов

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

Юнит-тестирование памяти

Часто перед релизом не остается времени проверить, не появились ли в приложении утечки памяти, не стало ли оно потреблять больше памяти, чем заявлено в системных требованиях, нет ли проблемы с избыточным memory traffic. Все эти вещи приходится делать вручную. Я расскажу как автоматизировать этот процесс и написать юнит-тесты, покрывающие эти проблемы.

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

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

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

Магия F# для обработки данных: монады, провайдеры типов, и немного машинного обучения

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

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

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

Lead .NET Developer в Энтерра
и ещё 3
докладчика

Круглый стол .NET cross-platform development

Темы для обсуждения:

  • Кроссплатформенный GUI
  • Насколько реально сегодня разрабатывать сложные кроссплатформенные приложения
  • С какими основными проблемами можно столкнуться при портировании оригинального Windows .NET-приложения на Linux/MacOS
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

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

Организатор

JUG.ru
https://jugru.org

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

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

17 марта 2018
Докладов 17
Просмотра 2
go, google, opentracing, автоматизация, криптовалюта, по, программирование, разработка, софт, тестирование, фаззинг
8-9 декабря 2017
Доклада 23
Просмотр 1
qa, баг, дебаггинг, кейс, ошибка, по, программирование, разработка, софт, тестирование
3 декабря 2017
Докладов 17
Просмотр 1
данные, код, кэширование данных, по, программирование, разработка, софт, тестирование
ещё