ViewModel Tool

image

Для тех, кто постоянно реализует во ViewModel интерфейс INotifyPropertyChanged. Clarius Consulting Labs выпустила утилиту ViewModel Tool, которая сгенерирует имплементацию интерфейса самостоятельно.


Chunk Cloud Computing by Jimmy Nilsson

Джимми Нильсон подытожил в своём блоге новый подход к архитектуре приложений, интерес к которому значительно вырос в последнее время: http://jimmynilsson.com/blog/posts/CCC.pdf


Пример TDD с использованием IoC-контейнера и Mock-фреймврка

Jarod Ferguson выступал с этим докладом на 2009 Boise Code Camp и выложил слайды и примеры кода. Советую ознакомиться.

Чуть подробнее читать здесь:

http://elegantcode.com/2009/03/29/boise-code-camp-test-driven-development-with-ioc-and-mocks/


Звучит заманчиво: Django на IronPython

def Introduce():

Дорогие мальчики и девочки, меня (как позже оказалось не только меня) интересует веб-индустрия и всё, что с ней связано, соответственно хочется вкусить разнообразных технологий, одной из них является известный фреймворк DjangoimageИм и хочется заняться. Думаю, не стоит говорить, о том, что я .NET-разработчик, в связи с чем Python в чистом виде использовать не очень хочется, но хочется попробовать IronPython в деле. Тогда вполне очевидно, что Django на .NET должен являться ASP.NET приложением.

def WSGI():

Здесь нам нужно знать, что такое WSGI:

WSGI (англ. Web Server Gateway Interface, произносится виски) — стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, обычно из каталога cgi-bin, и самим веб-сервером, например, Apache.

Дополнительная информация: PEP 333

И нам безусловно повезло, т.к. есть готовая имплементация WSGI для ASP.NET: NWSGI – выполнена как ASP.NET 2.0 HttpHandler на IronPython.

Что примечательно, мало того, что NWSGI интегрируется с IIS и позволяет работать с сессиями, кешем и управлением пользователями, он интегрируется даже с графической средой управления IIS 7!

Это ещё не всё, NWGSI умеет также работать с Cassini (веб-сервер Visual Studio).

Думаю Вам, ровно как и мне, не терпится поработать с этим.

def PrepareIIS():

Итак, что нам необходимо:

  • IronPython 2.0
  • NWSGI 1.0
  • Огромное желание сделать что-нибудь особенное на этом.

Для установки из пакета NWSGI копируем пример HelloWorld в папку C:\inetpub\wwwroot\HelloWorld (либо другой путь для ваших IIS приложений). Из этого же пакета копируем NWSGI.dll в папочку HelloWorld\bin (если пользовались инсталлятором, то в этом нет необходимости, т.к. она уже в GAC’е).

Далее из пакета IronPython 2.0 копируем в каталог HelloWorld\bin следующие сборки:

  • IronPython.dll
  • IronPython.Modules.dll
  • Microsoft.Scripting.Core.dll
  • Microsoft.Scripting.dll

Наша папочка HelloWorld должна выглядеть следующим образом:

HelloWorld\

  • bin\
    • NWSGI.dll (optional)
    • IronPython.dll
    • IronPYthon.Modules.dll
    • Microsoft.Scripting.Core.dll
    • Microsoft.Scripting.dll
  • hello.wsgi
  • Web.Classic.config
  • Web.Integrated.config

Далее, если у нас ISS 7.0, то тогда копируем Web.Integrated.config в Web.config, иначе Web.Classic.config в Web.config.

Далее добавляем приложение на IIS, это можно сделать, как через графическое меню, так и воспользоваться консолью:

%systemroot%\system32\inetsrv\appcmd add app /site.name:"Default Web Site" /path:/hello /physicalPath:C:\inetpub\wwwroot\HelloWorld

Если же у вас IIS 6, то путь один – через графическое меню, а так же необходимо будет ассоциировать *.wsgi с ASP.NET ISAPI фильтром (по аналогии с *.aspx)

Теперь идём по адресу http://localhost/hello/hello.wsgi. И видим грациозное: "Hello, World!", yeah!

def InstallDjango():

Установить Django можно с помощью команды:

ipy setup.py install

Далее можно добавить проект и сгенерировать приложения:

ipy manage.py startapp AppName

ipy manage.py startproject ProjName

К сожалению, мне не хватило навыков для того, чтобы запустить django-приложение под NWSGI.

def SqlServer():

Подключить Django к Microsft SQL Server 2005 и выше можно с помощью следующей библиотеки:

http://code.google.com/p/django-mssql/

Так же можно почитать о подключении здесь: http://blogs.msdn.com/dinoviehland/archive/2008/03/17/ironpython-ms-sql-and-pep-249.aspx

def GetGratitude():

Огромную благодарность за выполненную работу хочу выразить Jeff Hardy и советую ознакомиться с его работами:


Какое отношение лягушки имеют к дизайну?

Как связаны между собой Apple Macintosh, Microsoft Windows XP, Yahoo! Messenger for Windows Vista и многие другие дизайнерские решения?

Эта история уходит своими корнями к 1969 году, когда Hartmut Esslinger основал frog design. imagehttp://www.frogdesign.com/

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


Шаблоны сохраняемости

Отличная статья в MSDN Mag April 2009, посвященная шаблонам сохраняемости:

http://msdn.microsoft.com/ru-ru/magazine/dd569757(en-us).aspx

Обзору подверглись следующие шаблоны:

Active Record
Data Mapper
Using a Repository
Identity Map
Lazy And Eager Loading
Virtual Proxy Pattern

Так же о шаблонах сохраняемости можно прочесть в блоге у Александра Кондуфорова:

http://merle-amber.blogspot.com/2009/02/orm.html


XAML Power Toys

XAML Power Toys – аддин для Visual Studio 2008 SP1 для разработчиков под Silverlight, WPF, облегчающий разработку генерацией XAML’а представений (View), а так же модели представления (ViewModel), со всем необходимыми бизнес-действиями и контролами.

imageПодробнее узнать можно здесь:

http://karlshifflett.wordpress.com/xaml-power-toys/


Третья встреча Петербургской группы ALT.NET

Третья встреча Петербургской группы ALT.NET, посвященная разработке под ASP.NET MVC, пройдет в четверг, 2го Апреля в 19:00.
Встречи группы проходят по адресу Биржевая Линия дом 14, офис 409 (4й этаж) (карта).

Программа

  • 19:00 – 21:00 — ASP.NET MVC, Александр Попов (c 2006 года Microsoft MVP)

ASP.NET MVC

  1. Краткое Введение в ASP.NET MVC
  2. DDD в ASP.NET MVC
  3. SharpArchitecture
  4. Spark
  5. Patterns

Регистрация на сайте. Ждем вас!


Введение в проблемно-ориентированное проектирование (Domain-Driven Design) (DDD)

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

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

Если вам понравятся представленные здесь идеи, я настоятельно рекомендую расширить свои познания, прочитав книгу Domain-Driven Design: Tackling Complexity in the Heart of Software (на английском языке), написанную Эриком Эвансом (Eric Evans). Это не просто первое и основное введение в DDD, это сокровищница информации, открытая для нас одним из лучших разработчиков программного обеспечения. Схемы и основные принципы DDD, о которых я буду говорить в этой статье, ведут свое происхождение от концепций, описанных в этой книге.

Статья сильная и заслуживает внимания, продолжение читать здесь:

http://msdn.microsoft.com/ru-ru/magazine/dd419654.aspx


ALT.NET, Питер, Четверг, 19 марта, 19-00, Компьютерная академия SoftJoys

Не трудно догадаться, что многие разработчики стремятся к совершенствованию в своём любимом деле (разве нет?). Многие из вас постоянно слышат о новых для себя технологиях и методологиях разработки программного обеспечения, однако, не все находят время и стимул для того, чтобы ознакомиться с ними (примером тому являются методологии TDD, BDD, DDD, ORM, DSL, AOP, Design Patterns и т.д., а так же сопутствующие им инструменты).

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

spbalt.net[1] Петербургская группа ALT.NET создана с целью проведения в Санкт-Петербурге семинаров и технических встреч, связанных с разработкой в среде .NET. Наша цель – помочь друг другу узнать больше о том, как работать в среде .NET, как эффективно использовать различные технологии, методологии и практики в нашей работе. Найти нас можно по адресу: http://spbalt.net/

Ближайшая встреча нашей группы пройдет в четверг, 19го Марта в 19:00 по адресу Биржевая Линия дом 14, офис 409 (4й этаж) (карта).

На ней мы планируем обсудить тему Аспектно-Ориентированного Программирования с использованием библиотеки PostSharp. Более детальная информация о наших встречах, а также форма регистрации, находятся на нашем сайте.

Заходите!