Возвращению домой, я таки заметил, что на самом деле звук электрички был: тыдыды-тыдыды, тыдыды-тыдыды, TDD-TDD ;)
Доклады на конференции шли в два потока, так что, к сожалению, посмотреть все и сразу у меня не вышло. Расскажу о том, что я видел собственными глазами:
Enterprise architecture in gaming environment
Камрад Owe Laestadius, который работает «Team Lead at Betsson» (хотя, позиция эта туманная, и чем он там на самом деле занимается я не знаю, берите поправку на Agile ;) кратко, но очень емко рассказывал об архитектуре и о том, почему архитектура не должна быть статичной, т.е. сделанной один раз на 100 лет, а гибкой, модульной и готовой к изменениям.Owe говорил, что хорошие решения и реализации получаются обычно с третьего раза. Пример был такой:
- В Системе был реализован только один метод электронных платежей через кредитные карточки Visa.
- Появилась необходимость добавить поддержку PayPal. Создали новый модуль + добавили специализированный код для поддержки PayPal.
- Появилась необходимость поддержки еще одной системы онлайн платежей. На этот раз, общий код для поддержки электронных платежей был перенесен в отдельный модуль, а лишний код удален. Система стала модульной и была способна поддерживать добавление новых платежных систем без лишних трудностей и лишнего кода.
Continuous Integration: What? Why? & How?
Валерий Пелехов (Betsson) очень легко и просто рассказал о применении Continuous Integration в Betsson. Я специально не хочу пересказывать презентацию, хоть и заметок у меня получилось достаточно много, потому что всю эту информацию можно найти и в сети. Валерий показал на примере реального проекта, как у них используется CI и уверенно доказал что это действительно очень удобно и что команда в любой момент времени может сказать что их код либо работает, либо не работает. Варианта «ну как бы работает, наверное» – там нет. Вот именно это сложно передать текстом, и лучше один раз услышать и увидеть.Из технических деталей я узнал, что на Betsson используется CI система TeamCity, а тесты на xUnit.
(Integration + Deployment) * Continues = (Continuous Production)
Александр Белецкий рассказывал о том, как он сократил время недоступности своего проекта во время разворачивания новой версии на продакшн сервер для пользователей с 30 минут до 1-й секунды. Его конфигурация, используют CI систему Jenkins, исходники проекта хранятся на Github, для юнит тестов – NUnit + вспомогательные сборки, UppercuT и RoundhousE – которые позволяют билдить и разворачивать новый бил + апгрейдить базу данных в один клик.Более детально вы можете узнать обо всем из Блога Александра.
Хотите драйва? Вам в TDD!
Сергей Калинец сделал замечательный доклад о TDD и о драйве. Рассказал, почему TDD – это драйв, об ошибках и проблемах внедрения TDD. Я называю такие доклады «мотивирующими»: доклад, который лучше один раз увидеть, чем сто раз прочитать. Рекомендую почитать материалы его блога TDD 4 .Net, где можно почерпнуть достаточное количество качественной информации по теме TDD. Презентация доклада тут: Хотите драйва? Вам в TDD!Approaches to sharing files between .NET
Александр Винниченко провел исследование о передачи файлов по сети средствами .NET, используя общую папку на сети, и WCF (HTTP binding). Как оказалось, WCF оказался не намного худшим способом для передачи файлов, и для файлов небольшого размера ненамного отставал по скорости, сравнительно с расшареной папкой на сети.Test Driven Development in ASP.NET MVC 3
Антон Видищев рассказывал о сложностях внедрения TDD в ASP.NET MVC 3. Показал, как лучше писать тесты и как использовать Fakes, Mocks, Stubs и Dummies. По началу, внедрять TDD в проект было реально сложно, но в данный момент, команда разработчиков добилась той же скорости и продуктивности что и до TDD и команда может уверенно ответить в любой момент: код работает правильно или нет.Как опубликовать свое приложение в Windows Phone 7
Александр Краковецкий (http://msug.vn.ua/Members/Details/2100) – это действительно профессиональный докладчик, который следит за всеми новинками Microsoft, и кроме того, проводит исследование и пишет качественные статьи на Хабре, msug.vn.ua и множестве других источников.В своем докладе, он рассказал о публикации собственных приложений на WP7 Marketplace. Продемонстрировал, что используя обходные пути, все это достижимо для украинского разработчика. Меня удивил тот факт, что процесс валидации приложения на стороне Microsoft занимает не больше 3-х дней, это действительно очень короткий срок.
Но, лично я не принимаю факт закрытости и жесткого контроля Microsoft над процессом разработки для программистов WP7. Да, возможно правила Microsoft не жестче чем у Apple, но и преимуществ эти ограничения платформе не добавляют.
iOS и Android уже прочно заняли свои места на рынке. Apple как всегда делают свои продукты для небедных людей, которые готовы платить за бренд. Android – собственно, платформа людей с самыми разными финансовыми возможностями, моделей телефонов их производителей сейчас множество. А для разработчика платформа Android – открыта и лишена множества искусственных ограничений.
Но, не мне судить, как покажет себя WP7. Поживем – увидим.
А, доклад Александра был действительно очень качественным, и я уверен, полезным тем, кто планирует начать разработку для WP7.
Огромное Спасибо компании Ciklum за организацию встречи и за активную работу по проведению подобных мероприятий. Спасибо за пиво, пиццу и приют.