Обновить
100.41

.NET *

Хаб со знаниями про .NET

Сначала показывать
Порог рейтинга
Уровень сложности

Бесплатный доступ к курсу по ReSharper от PluralSight

Время на прочтение1 мин
Охват и читатели3.9K


Всем привет! Хочу поделиться хорошей новостью для тех, кто интересуется ReSharper’ом. Дело в том, что добрые люди с Pluralsight решили открыть на два дня свой курс по ReSharper. Начиная с 19.00 сегодня (15 марта) и в течении двух суток доступ к материалам курса сможет получить любой, причем совершенно бесплатно.

В своих скринкастах, автор курса Джеймс Ковакс (@jameskovacs) рассказывает про все основные аспекты Решарпера: про навигацию, анализ кода, рефакторинги, кодогенерацию, использование шаблонов, поддержку юнит-тестирования и локализации, а также про поддержку Решарпером различных технологий, таких как ASP.NET/ASP.NET MVC, XML, WPF, Silverlight, MSBuild и NAnt. В курсе также рассказано про поддержку JavaScript и CSS – фичи, которые будут доступны в ReSharper 6.

Курс находится тут: http://www.pluralsight-training.net/microsoft/courses/TableOfContents?courseName=resharperfundamentals

Enjoy!

TransactionScope — заманчивый, но коварный

Время на прочтение4 мин
Охват и читатели36K
Давным-давно вышел ADO.NET 2.0, а вместе с ним и сборка System.Transactions, содержащая класс TransactionScope — путеводитель в мир легкого и непринужденного использования транзакций. В сегодняшней статье я рассмотрю некоторые нюансы, возникающие при использовании этой дырявой, но такой симпатичной абстракции.

Читать дальше →

Команде разработчиков MVVM библиотеки Prism нужна ваша помощь

Время на прочтение2 мин
Охват и читатели2.3K
В одном из недавних твиттеро-постов я отметил, что работа над библиотекой Prism приостановлена после выхода 4-й версии. В ответ на это я получил сообщения от Ade Miller (бывший дев лид в комманде patterns & practices) и от Bob Brumfield (работает в patterns & practices на проектах Prism, Enterprise Library, и Windows Phone 7 guidance).
Читать дальше →

MongoDB и C# driver от 10gen, неочевидные моменты

Время на прочтение4 мин
Охват и читатели5.7K

Под катом частичная загрузка объектов, поиск объекта по элементу вложенного в него массива и немного идентификаторов. Вещи, которые так или иначе отняли у меня время на расследование как это работает, а иногда и на копание в исходных кодах драйвера при использовании MongoDB в реальном проекте.
Читать дальше →

Профессиональный курс по ASP.NET MVC 3 бесплатно до 18 марта!

Время на прочтение1 мин
Охват и читатели3.8K
image 

Компания Pluralsight, при поддержке Microsoft, делает прекрасное предложение для веб-разработчиков и предлагает бесплатный доступ к своему профессиональному видео-курсу обучения технологии ASP.NET MVC 3. Предложение ограничено по времени, курс будет свободно доступен только до 18 марта. Курс подготовлен на английском языке.

image

Курс состоит из следующих частей:
  • введение: новый проект, шаблон MVC, маршрутизация, контроллеры, представления, создание действия;
  • движок представлений Razor: преимущества Razor, создание простого представления, смешивание кода и разметки, модели и ViewData, HTML-хелперы, частичные представления, модель компоновки представления, код для автоматического запуска, конфигурация;
  • контроллеры: глобальные фильтры действий, кэширование результатов вложенных действий, ViewBag, новые результаты действий, валидация запросов;
  • модели: валидация в MVC3, аннотация данных, пользовательские атрибуты валидации, модели с поддержкой валидации, клиентская валидация, пользовательская клиентская валидация, удаленная валидация;
  • NuGet: средство управления пакетами, зависимости пакетов, использование PowerShell, пользовательские пакеты;
  • Dependency Injection: инъекции зависимостей, использование IDependencyResolver, инъекция в контроллерах, инъекция в представлениях, активаторы, расширяемость фильтров, расширяемость моделей.
Pluralsight делает весьма и весьма качественные видео-курсы, поэтому рекомендую всем не упустить возможность и ознакомиться с этим бесплатным предложением. Очень хороший шанс начать изучать ASP.NET MVC или узнать что нового было представлено в MVC3.

Спрайты изображений в ASP.NET легче легкого с помощью NuGet

Время на прочтение4 мин
Охват и читатели3.5K
Я подумал, раз сайт менеджера пакетов NuGet начал наполняться пакетами, то пора бы начать выбирать особо ценные пакеты. Такие пакеты, которые действительно делают полезные вещи, но могут быть пропущены разработчиками. Я собираюсь выискивать такие пакеты среди самых полезных проектов с открытым исходным кодом. Я собираюсь разбираться в том, как собраны эти пакеты, есть ли в них что-то особенно интересное в плане их применения на практике.

Sprite and Image Optimization Preview 3

Начнем с того, что фреймворк Sprite and Image Optimization был обновлен до версии Preview 3. Этот фреймворк – пример того, что Microsoft может планировать для ASP.NET в будущем и вместе с тем, того, что вы можете попробовать использовать уже сегодня. И этот фреймворк стал еще проще, поскольку появился в NuGet.

ScreenClip(3)

Читать дальше →

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

Время на прочтение5 мин
Охват и читатели32K
Недавно мне понадобилось выполнить следующий код (представлен в максимально упрощенном виде):

public void Start()
{
    using (var transactionScope = new TransactionScope())
    {
        ...
        GetOrCreateCompany(someValue);
        ...
        transactionScope.Complete();
    }
}

private Company GetOrCreateCompany(string companyName)
{
    var company = _companiesRepository.GetCompany(companyName); //простая выборка из таблицы по названию; если компания не найдена - возвращается null
    if (company == null)
        company = _companiesRepository.Add(companyName);
    return company;
}


Код этот выполнялся в многопоточной среде, где каждый поток на вход получал метод Start (а значит у каждого потока была своя транзакция).

У этого, казалось бы, простого кода есть несколько нюансов, о которых и пойдет речь под катом.

Читать дальше →

Выполнение javascript в программе на C#

Время на прочтение4 мин
Охват и читатели58K


На днях просматривал популярные библиотеки на codeplex и увидел там пару библиотек для работы с javascript. Сразу вспомнился случай, когда мне нужно было написать небольшую программку для взаимодействия с личным кабинетом на одном сайте. Поэтому без раздумий решил попробовать, как бы они справились с той задачей.

Под катом я расскажу о нерядовом взаимодействии с сайтом, каким образом я решил задачу на тот момент и смогли ли обе библиотеки справиться с той же задачей. Сразу скажу, что речь пойдёт о следующих библиотеках: jint и javascriptdotnet.
Читать дальше →

Работа со структурами в C#

Время на прочтение13 мин
Охват и читатели150K
По следам недавнего топика «Обработка больших объемов данных в памяти на C#» представляю перевод упоминавшейся там статьи о структурах.

Структуры являются фундаментальными типами данных в C# и большинстве других современных языках программирования. По своей сути структуры просты, но вы можете удивиться, насколько быстро работа с ними может стать сложной. Чаще всего проблемы возникают, если вы должны работать со структурами, созданными в других языках и сохраненными на диске или полученными в результате вызова функций из библиотек или COM-объектов. В этой статье я подразумеваю, что вы знакомы с понятием структуры, умеете определять их и владеете базовыми навыками работы со структурами. Предполагается, что вы имеете представление о том, как вызывать API функции с использованием p/Invoke, а также что такое маршалинг. В случае неуверенности в своих знаниях вы можете обратиться к документации.
Множество техник, описанных в данной статье, могут быть расширены и применены к любым типам данных.
Читать дальше →

Пример использование DSL (Domain Specific Languages) в реальном проекте

Время на прочтение3 мин
Охват и читатели24K
DSL (Domain Specific Languages) — языки, специфичные для решения задач какой-либо предметной области (в противовес языкам общего назначения типа Java или C#). Более подробное описание и примеры есть на википедии, я же хочу написать про то, как довольно легко встроить в приложение (C#) свой собственный DSL на базе языка Boo.
Читать дальше →

Среда разработки Sharpdevelop 4

Время на прочтение3 мин
Охват и читатели58K
SharpDevelop logo

Прочитав больше месяца назад на хабре о появлении SharpDevelop 4.0 я не придал этому значения, но чуть позже коллега напомнил мне об этом посте и сказал, что нужно обязательно попробовать (раньше мы эту IDE в глаза не видели). Забегаю вперед и говорю, что он её так и не запустил, а вот я, на днях всё же установил её и решил написать небольшое приложение на C#, которое будет взаимодействовать с базой MySQL. Весь интерес к данной IDE вызван тем, что я ничего кроме MS Visual Studio не использовал, начиная с 6-й версии, и плавно перешёл уже на 2010. Под катом я расскажу о впечатлениях, которые получил от использования Sharpdevelop, покажу основные окна (для тех, кому просто интересно, что она из себя представляет) и немного расскажу о разработке.

Читать дальше →

Ближайшие события

Автоматизация логирования входов в функции

Время на прочтение2 мин
Охват и читатели4.3K
У нас в компании с незапамятных времен существует гласно-негласное правило о логировании входа в каждую функцию. И ладно бы это ограничивалось простой строчкой Logger.LogEntering() в их начале (хотя, наверное, тоже надоело бы), так еще и наш «замечательный» доморощенный логгер получать названия функций из которых он вызван не умеет, и как следствие, эта единственная строчка разрасталась до эпического Logger.Log(«Classname.FunctionName — Entering») or something like that.

Неудивительно, что под воздействием недавних топиков о Mono.Cecil и родилась задача автоматизации процесса.

Читать дальше →

Обработка больших объемов данных в памяти на C#

Время на прочтение7 мин
Охват и читатели91K
Хочу поделиться недавно приобретенным в C# опытом по загрузке и обработке в памяти больших объемов данных. Все нижеуказанное касается Visual Studio 2008 и .Net Framework 3.5.1, на случай каких-либо отличий в других версиях языка или библиотек.

Итак, у нас возникли следующие задачи:
1. Расположить в памяти до 100 миллионов записей, состоящих из строки, длиной 16 символов (уникальный ключ) и двух целочисленных значений, длиной 4 байта каждый;
2. Быстро находить и редактировать запись по ключу.

Читать дальше →

iText: пишем в PDF по-русски

Время на прочтение5 мин
Охват и читатели25K
Задача: создавать PDF-документ с использованием библиотеки iText. При этом пользователь должен сам задавать используемые шрифты, из установленных в системе. Шрифты как TrueType так и Type1.
В iText есть статический класс предоставляющий доступ к системным шрифтам FontFactory. При получении шрифта нужно правильно указать его кодировку. Тут и возникли проблемы. Для ТТ и Т1 кодировки разные, и в .NET нет штатных средств позволяющих отличить ТТ-шрифт от Т1.
Решение проблемы

Индексирование и поиск с помощью Xapian в .NET

Время на прочтение3 мин
Охват и читатели4.5K
Если слово Xapian вам незнакомо, рекомендую ознакомиться с небольшой статьей.
Вкратце же, Xapian — представляет собой написанный на с++ набор инструментов для индексирования текстовой информации, с возможностью поиска по базе индексированной информации. Для работы не требует установленного сервера, достаточно наличия его библиотек. Может обрабатывать огромные массивы информации(проверено до 1.5Тб), измеряемой миллионами документов. Является конкурирующим продуктом Sphinx и Apache Lucene.
Мной он был выбран из этих трех продуктов за возможность использования из .Net.

Пробуем

tryfsharp.org — Microsoft выпустил бета версию сайта для онлайн изучения F#

Время на прочтение1 мин
Охват и читатели1.6K
На сайте есть написанный на Silverlight редактор кода c подсветкой синтаксиса и небольшой учебник по F#



Читать дальше →

St. Petersburg Alt.Net: 26я Встреча

Время на прочтение1 мин
Охват и читатели612

Обязательная регистрация

Место: Карта м. Петроградская, ул. Рентгена д.5, офис компании Exigen Services (http://www.exigenservices.ru/)

Дата: 24 февраля 2011 года, 19.00–21.00

Язык программирования Nemerle


Докладчик: Денис Рысцов

Доклад о том, что такого особенного есть в языке Nemerle и как его можно использовать для борьбы с акцидентальной сложностью. Сам по себе язык интересный и стоит того, чтобы про него знать хотя бы потому, что начиная с момента его создания 2006 про него говорят, что это следующая версия C#, притом это высказывание остается верным с выходом каждой новой версии C# (включая C#5 CTP) несмотря на то, что концептуально язык Nemerle не менялся с создания.

В докладе: я научу аудиторию читать код на Nemerle и покажу некоторые его особенности из-за которых его можно считать улучшенной версией C#; расскажу, что F# и Nemerle — сводные братья; затрону жемчужину языка — макросы, из-за которых Nemerle может заимствовать особенности из других языков (например, я реализовал поддержку Active Patterns из F# в Nemerle в виде макроса) и создавать библиотеки невозможные в других языках; в заключении расскажу о применении Nemerle в своем проекте uniquation.ru

Если вы хотите выступить с докладом, напишите у нас на стене: http://spbalt.net/home/wall

Moscow ALT.NET: 2ая встреча

Время на прочтение1 мин
Охват и читатели685

Что это?
Обязательная регистрация
Место: Карта м. Чистые пруды / м. Лубянка / м. Китай-Город, пер. Архангельский, д.1., конференц-зал CustIS (http://www.custis.ru/) Будут кофе, печенюшки и wi-fi
Дата: 24 февраля 2011 года

Доклады


18-30 Использование Ruby on Rails 3 для быстрой разработки сложных веб-приложений


Доклад состоит из нескольких частей:
1) Обзор Ruby on Rails 3.
2) Пример использования фреймворка и описание процесса разработки крупного проекта (среда разработки, система контроля версий Git, средства развертывания приложений и т.п.).
3) Использование хранилища Redis для увеличения производительности.
4) Сравнение Ruby on Rails с ASP .NET MVC.
Докладчик: Мигальников Андрей (Медиахолдинг «Эксперт»)

19-30 Software transactional memory


Software transactional memory — какие задачи пытаются решить исследователи, что у них на данный момент получается, а что — нет; вкратце расскажу, что представляет из себя STM как для разработчика, так и внутри; дам ссылки на интересные публикации.
Докладчик: Алексей Бахиркин (Старший разработчик «ВТБ Факторинг»)

*если вы хотите выступить с докладом, отпишитесь в нашей уютной гугло-группе groups.google.com/group/moscow-altnet

Вклад авторов