Сайт msug.vn.ua: что внутри?

понедельник, 3 октября 2011, Александр Краковецкий

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

Общие данные:

  • ASP.NET MVC 3.0;
  • Microsoft SQL Server 2008
  • Entity Framework 4.0;
  • Mercurial;
  • Unobtrusive JavaScript validation (jQuery);
  • NuGet;
  • Яндекс карты;
  • TinyMCE в качестве HTML редактора (таке использовался Markdown WMD редактор).

Начиналось все с NerdDinner

"Движок" нашего сайта начал свою историю с проекта NerdDinner, который был продемонстрирован на одной из конференций MIX в качестве примера веб-сайта написанного на ASP.NET MVC. Кстати, недавно NerdDinner плучил большое обновление. Исходный код можно скачать по ссылке nerddinner.codeplex.com.

Сначала проект был портирован с MVC 2.0 на MVC 3.0, позже все файлы представления были переписаны с использованием Razor разметки. 

Используемые библиотеки

Вся работа с библиотеками организована с помощью NuGet.

ASP.NET MVC Scaffolding используется для генерации конроллеров и CRUD представлений. В последней версии EF Code First появилась возможность испольовать Code First подход для существующей базы данных, в планах использование этого подхода для доработки нового функционала.

ASP.NET MVC Mini Profiler используется для профилирования запросов к базе данных и времени выполнения отдельных частей веб-страницы. Профайлер позволяет эффективно выявлять дубликаты SQL запросов, решать N+1 Select проблемы как на уровне всего приложения, так и на уровне отдельных контроллеров или actions.

Ninject используется для dependency injection. Инициализируется с помощью WebActivator.

Elmah используется для протоколирования ошибок и исключений.

DotNetOpenAuth используется для авторизации с помощью сторонних сервисов.

Для экспериментов используются:

  • Data Extracting SDK собственного производства для извлечения данных из веб ресурсов и html парсинга;
  • QuickGraph для работы с графами;
  • Lucene.NET для поиска - пока используется Google провайдер;
  • GAPI - для работы с Google API;
  • ASP.NET MvcMailer - для рассылки сообщений (в процессе разработки).

Если будут какие-то вопросы по конкретным библиотекам - пишите вопросы в комментариях.

Компании из статьи


Яндекс Украина


Сайт:
http://yandex.ru/

Яндекс Украина У Яндекса в Украине три офиса — головной в Одессе, где сосредоточен управленческий аппарат и отдел продаж, и два офиса разработки — киевский, занимающийся разработкой и управлением украинскими проекта...

Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии