Материалы конференций

Первая встреча, Челябинск, 28 сентября 2010:

Вторая встреча, Челябинск, 25 марта 2011:

Третья встреча, Челябинск, 25 сентября 2011:

Big switch: Жизнь после Microsoft

Докладчик: Алексей Захаров, директор, Witcraft

В свое докладе Алексей раскроет приемущества перехода со стэка .NET + Windows на Linux + Rails и расскажет о причинах побудивших его команду на столь рискованный шаг.

Смотреть видео и слайды →

Автоматизация тестирования интерфейса в web-приложениях

Докладчик: Вадим Кадученко

  • Что такое интеграционные тесты и чем они отличаются от традиционных юнит-тестов
  • Роль интеграционных тестов в проекте
  • Готовые инструменты для написания автоматизированных тестов UI
  • Как интеграционные тесты вписываются в общую схему разработки продукта?
  • Главное преимущество, которое дают интеграционные тесты
  • Возможные проблемы при написании таких тестов

Смотреть видео и слайды →

Организация работы команды в Agile: разработка + тестирование

Докладчик: Александр Бындю, руководитель проектов, IndyCode, http://www.indycode.ru

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

Смотреть видео и слайды →

Анонс OpenSource библиотеки для создания и изменения документов в формате OpenXml через Fluent-интерфейс

Докладчик: Тимур Рахматиллаев

Библиотека предназначена для генерации документов по шаблону и внесение изменений в существующие документы. С помощью библиотеки вы сможете отказаться от редактирования OpenXML-дерева через OpenXML SDK и перейти к механизму построения структуры документа из метаэлементов в декларативном виде. Будут приведены примеры использования в классе решаемых задач: создание параграфов, создание и заполнение тегов, списков, таблиц и т.п. Тимур затронет вопросы о лицензировании библиотеки. Проект будет выложен на Google Code по адресу http://code.google.com/p/fluent-openxml.

Смотреть видео и слайды →

Приемочные тесты на огурце

Докладчик: Алёна Попова

Каким образом лучше организовать процесс интеграционного тестирования? Для проектов, где количество тестовых сценариев превышает несколько сотен, возникают проблемы:

  • с пониманием кода;
  • с точным представлением, что именно протестировано, а что нет;
  • какие случаи учтены в тестовых сценариях, а какие нет.

Использование SpecFlow для нашего проекта помогло решить все эти проблемы. Мы наладили процесс тестирования и оптимизировали написание тестовых сценариев.

Как настроить SpecFlow, организовать тестовые сценарии более логично и иметь список тестов на русском языке, который можно показать даже заказчику? Об этом будет подробно рассказано в докладе.

Смотреть видео и слайды →

ASP.NET MVC - как построить по-настоящему гибкое веб-приложение

Докладчик: Александр Зайцев, архитектор, IndyCode, http://www.indycode.ru

В докладе рассматривается использование популярных фреймворков в разработке ASP.NET MVC приложения, как сделать его наиболее гибким. Будет затронута тема минимизации дублирования и повторное использование кода, применение методов метапрограммирования отображений; уменьшение логики в контроллерах; применение принципов SOLID и GRASP для разработки доменной модели приложения.

Смотреть видео и слайды →

Карьера в IT

Докладчик: Александр Бындю, руководитель проектов, IndyCode, http://www.indycode.ru

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

Смотреть видео и слайды →

Ката программиста

Докладчик: Дмитрий Салахов

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

Смотреть видео и слайды →

Метапрограммирование интерфейсов в ASP.NET MVC

Докладчик: Алексей Волков

Нередко разработчики сталкиваются с необходимостью создания программ, которые выполняют похожие действия с данными. Для типовых операций обработки данных есть generic-и. Для похожих действий есть метапрограммирование. В .NET есть инструменты метапрограммирования для похожих интерфейсов, но generic-подход для типовых интерфейсов не используется. Чего не хватает для создания generic интерфейсов пользователя? Как можно это сделать с использованием ASP.NET MVC? Что это дает?

Смотреть видео и слайды →

BizSpark и DreamSpark - программы поддержки российских разработчиков ПО, студентов и ВУЗов

Докладчик: Павел Шарангович, Microsoft

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

Смотреть видео и слайды →

Построение процесса тестирования

Докладчик: Руслан Сафин

Гибкие методологии разработки набирают всё большую популярность среди команд разработчиков. Одним их основных инструментов достижения результата при этом является TDD - программисты стараются покрыть юнит-тестами как можно больше своего кода. Зачем тогда нужны тестировщики в гибких командах? Если все же нужны, то сколько? И как они должны тестировать? А как тестировать нетестируемое? В докладе разбираются данные вопросы на примере трех разных проектов.

Смотреть видео и слайды →

Прагматичный подход к разработке гибких программных систем

Докладчик: Степан Родионов

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

Смотреть видео и слайды →

Пробуем Kanban!

Докладчик: Дмитрий Лобасев

Канбан — современный подход к разработке ПО, принадлежащий семейству гибких методов наряду со Scrum и экстремальным программированием.

Хотите узнать, что такое канбан и как его применять в вашем проекте по разработке ПО? Приходите на наш семинар. Вы поучаствуете в игровом проекте-симуляции и поймете, как сделать канбан-доску, что такое каденция, Work In Progress и Cycle Time и как их использовать.

Смотреть видео и слайды →

TDD или как не выстрелить себе в ногу

Докладчик: Дмитрий Хрюкин

Как работать меньше и качественнее, как быть уверенным в своем коде? В чем преимущество написания тестов до функциональности? От чего TDD не спасет и как начать использовать этот подход? Этим вопросам будет посвящен мой доклад. Также из него Вы узнаете: какая связь между TDD и сноубордингом, почему Чак Норрис не пишет тесты, чем похожи страховка автомобиля и покрытие кода тестами.

Смотреть видео и слайды →

Getting Tested: методология интеграционного тестирования

Докладчик: Алена Рендак

Как организовать процесс интеграционного тестирования?
На что обратить особое внимание?
Как сделать процесс интеграционного тестирования максимально эффективным?
Чем занять тестировщиков?
Делимся бесценным опытом работы отдела тестирования компании IndyCode.

Смотреть видео и слайды →

Клиентская оптимизация – повышение производительности сайта под нагрузкой

Докладчик: Арсен Фазылзянов

Время загрузки сайта зависит от 2х составляющих: серверной и клиентской. В среднем страница может содержать до 50 объектов, причем только порядка 10-15% от общего времени загрузки приходится на серверную часть. Все остальное составляет именно клиентская архитектура.

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

Смотреть видео и слайды →

Highload. Создание специализированных высокопроизводительных индексов

Докладчик: Павел Егоров

При разработке высоконагруженных веб-приложений рано или поздно приходится создавать узкоспециализированные индексы, для эффективной обработки наиболее массовых запросов к данным, с которыми перестают справляться хранилища общего назначения. В докладе будет показано как можно создавать эффективные типовые индексы на основе key-value базы данных (например, Berkeley DB), как можно организовать данные и какие алгоритмы применять, чтобы обрабатывать несколько тысяч сложных (но однообразных) запросов в секунду. Для восприятия материала желательно иметь минимальный алгоритмический бэкграунд.

Смотреть видео и слайды →

Практическое применение пакетного менеджера NuGet для команды веб-разработчиков

Докладчик: Владимир Юнев

В докладе рассматривается применение пакетного менеджера NuGet для разработки современных веб-приложений. В докладе уделяется внимание применеию новых средств, которые предлагает NuGet и Visual Studio 2010 для команды разработчиков.

Смотреть видео и слайды →

Что сделать, чтобы у Вас были проблемы с персоналом. Вредные советы

Докладчик: Юлия Герасимович

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

Смотреть видео и слайды →

Некоторые элементы функциональных языков программирования

Докладчик: Александр Карпич

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

Смотреть видео и слайды →

Обработка ошибок в приложениях: роскошь или необходимость

Докладчик: Сергей Звездин

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

Смотреть видео и слайды →

IronRuby: внутренности и примеры использования

Докладчик: Тимур Рахматиллаев

Ruby – мультипарадигменный динамический язык программирования, ставший известным, благодаря растущей популярности веб-фреймворка Ruby-on-Rails. IronRuby – это реализация данного языка на платформе .NET средствами библиотеки Dynamic Language Runtime. В данном докладе мы прольем свет на способы и механизмы взаимодействия программного кода на языке IronRuby с MSIL кодом сборок через виртуальную машину DLR. Будут также показаны элементы внутреннего устройства самой машины, приведены примеры обращения к коду на IronRuby с использованием C# в разрезе практического применения языка Ruby как средства для создания DSL с целью описания логики сложных бизнес-процессов. Кратко будут очерчены возможности применения IronRuby в вебе, как backend-языка для ASP.NET MVC и Silverlight-приложений. Доклад также коснется и проекта Gestalt, позволяющего заменить браузерный JavaScript в его роли на любой DLR-язык, и будут приведены примеры подобного использования IronRuby.

Смотреть видео и слайды →

Расширение функциональности с использованием метаданных и аспектно-ориентированного программирования

Докладчик: Александр Межов

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

Смотреть видео и слайды →

Практика работы с крупными проектами: от Scrum с XP к Kanban

Докладчик: Александр Бындю

Scrum, XP и Kanban — это всего лишь инструменты и мы можем затачивать их под себя в зависимости от реалий проекта. Я буду вычеркивать и комбинировать практики из разных методологий в зависимости от типа проектов и стадии работы.

Смотреть видео и слайды →

Аспектно-ориентированный подход на службе веб-приложений

Докладчик: Павел Цытович

Как разработать ASP.NET MVC приложение с очень тонким контроллером, но богатой логикой. Как быть если, в зависимости от прав пользователя нам нужна разная логика и мы не хотим "загружать этим" контроллер. Это и многое другое в моем докладе.

Смотреть видео и слайды →

Metadata + JavaScript = ♥ Применение метаданных ViewModel для конфигурирования комплексных JavaScript-контролов через Fluent-интерфейс

Докладчик: Тимур Рахматиллаев

В докладе будут показаны возможности применения библиотеки MvcExtensions для гибкого построения метаданных ViewModel в целях конфигурирования сложных интерфейсных компонентов, написанных на языке JavaScript. Будет дано описание способов расширения метаданных за счет классов пользовательских настроек, а также будет произведен краткий экскурс в механизмы определения валидационных правил для произвольных JavaScript-контролов. Доклад включает в себя примеры клиентского и серверного кода, реализующего подобное конфигурирование, в разрезе применения его вместе с как и готовыми библиотеками (jQuery UI), так и с самописными решениями.

Смотреть видео и слайды →

Анонс библиотеки работы с данными Fuse8.DomainFramework

Докладчик: Арсен Фазылзянов

В докладе будет рассказано о библиотеке для работы с данными Fuse8.DomainFramework. Будет показан практический опыт работы с данной библиотекой, чем она так хороша по сравнению с существующими решениями и как она помогает делать проекты правильно с точки зрения архитектуры.

Смотреть видео и слайды →