Обновить
79.48

.NET *

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

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

Слежение за объектом по его цвету с использованием Aforge.NET

Время на прочтение4 мин
Количество просмотров22K
Здравствуйте. Частая фраза: «мой первый пост» :). В нем хочу вам рассказать о своем небольшом проекте по отслеживанию объекта по его цвету. Сейчас это имеет довольно широкую область применения, например те же джойстики от Wii и Playstation 3. Основой для работы послужила разработка Андрея Кириллова Aforge.NET – довольно мощная штука для самопальной обработки изображений.
Код не претендует на «истину в последней инстанции», многое было упрощено (в одном месте, в некотором смысле даже допущено дублирование – для быстрого доступа к пикселам я создал свой класс, хотя аналогичные наработки были и в Aforge). Но тем не менее, код работает, отслеживает объект, выдает информацию о местоположении, позволяет динамически вычислять оттенок объекта (на случай изменения освещения).

Для заинтересовавшихся — прошу под кат.
Читать дальше →

Распределенные вычисления на платформе .NET

Время на прочтение18 мин
Количество просмотров22K
Широкое распространение параллельных архитектур вычислительных систем вызывает повышение интереса к средствам разработки программного обеспечения, способного максимально полно использовать аппаратные ресурсы данного типа.

Однако к текущему моменту имеется определенный разрыв между имеющимися на потребительском рынке технологиями аппаратной реализации параллелизма и программными средствами их поддержки. Так, если многоядерные компьютеры общего назначения стали нормой в середине текущего десятилетия, то появление OpenMP — популярного стандарта разработки программ для подобных систем — отмечено почти десятью годами ранее [1]. Практически в то же время возник и стандарт MPI, описывающий способы передачи сообщений между процессами в распределенной среде [2].

Развитие обоих данных стандартов, выражающееся только в расширении функциональности без адаптации парадигм к объектно-ориентированному подходу, приводит к тому, что они оказываются несовместимы с современными платформами программирования, такими как Microsoft .NET Framework. Поэтому разработчикам этих платформ приходится прилагать дополнительные усилия по внедрению средств параллелизма в свои продукты.

В [3] автором была рассмотрена одна из таких технологий, Microsoft Parallel Extensions, позволяющая достаточно простым способом внедрять параллелизм в изначально последовательный управляемый код для компьютеров с общей памятью. Там же была показана возможность и целесообразность использования платформы .NET Framework для проведения научных расчетов. Тем не менее, остается открытым вопрос о применимости данной платформы для разработки программ, используемых для проведения сложных расчетов на системах с распределенной памятью, например, вычислительных кластеров. Данные системы базируются на совокупности соединенных между собой вычислительных узлов, каждый из которых является полноценным компьютером со своим процессором, памятью, подсистемой ввода/вывода, операционной системой, причем каждый узел работает в собственном адресном пространстве.
Читать дальше →

Брокеры событий, часть 1

Время на прочтение7 мин
Количество просмотров7.8K


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

Если интересно...

Time for Coded UI Tests

Время на прочтение6 мин
Количество просмотров53K
В данной статье я постараюсь детально рассказать о работе с Coded UI Test, одним из множества нововведений Visual Studio 2010, а так же упомянуть о проблемах, с которыми я столкнулся.

Не будем зря терять время и сразу приступим к тестированию.
Читать дальше →

Знакомимся с DynamicObject

Время на прочтение7 мин
Количество просмотров15K
Каждый раз, когда у вас появляется новая интересная фича в языке, всегда появляются люди которые начинают выжимать из фичи максимум. DynamicObject – это как раз такая фича, которая кажется простой и понятной, но в шаловливых ручках становится более опасной затеей.
Читать дальше →

Тесты методов передачи списковых переменных в хранимую процедуру MS SQL 2008

Время на прочтение4 мин
Количество просмотров24K
По следам этого поста. Надеюсь, автор не будет иметь ничего против того, чтобы я расширил его умозаключения.

Внутри описание (плюсы\минусы) методов передачи, таблица и график сравнения. Рассматриваются следующие методы передачи параметра:
  • Xml (Openxml)
  • Xml (Xquery)
  • Строка
  • Блоб
  • Промежуточная таблица
  • Табличный тип

Что же круче?

Книга MEF

Время на прочтение7 мин
Количество просмотров37K
imageЭтой статьей я начинаю цикл, цель которого – создание наиболее полного руководства по Managed Extensibility Framework (MEF) на русском языке. Результатом цикла, в моих планах, станет создание бесплатной электронной книги о MEF. Если у вас есть соображения или предложения по этому поводу – дайте мне знать в комментариях. Я надеюсь, что совместными усилиями мы можем создать отличное руководство.

Эта статья составлена по материалам моих докладов про MEF на разных встречах, в том числе на конференции DevConf.

Я ищу соавторов, критиков, просто людей, которые хотят помочь, в том числе с версткой документа.

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

Кириллица в .NET-приложениях под Mono

Время на прочтение2 мин
Количество просмотров3.5K
.Net-приложения, использующие WinForms, вполне могут работать под Mono, но в некоторых дистрибутивах Linux вместо русских шрифтов пользователи видят стройные ряды квадратов и разъехавшийся интерфейс.


Изучение проблемы показало, что в разных Linux-дистрибутивах на одной и той же версии mono (в частности, 2.4.2.3) программа была как с нормальным интерфейсом, так и с квадратами. Поиски решения в интернете привели к описанию проблемы с драйвером для видеокарт Intel в Ubuntu xserver-xorg-video-intel. Десятки разных тем на англоязычных форумах, описывающих это решение с использованием последней версии драйвера. Например, здесь и здесь. При этом на практике обновление драйверов проблему не решало.
Второй по популярности совет – установить пакет шрифтов msttcorefonts тоже не помог. Однако копнув чуть в сторону, мы обнаружили, что если в программе явно использовать простые шрифты, вроде Arial, то проблема квадратов исчезает. Оказалось, что «виноват» в этом шрифт Ms Sans Serif, используемый по умолчанию для всех форм на WinForms. Судя по всему, шрифт, заменяющий его в Ubuntu 9.04, содержит кириллицу, но начиная с 9.10 этот шрифт уже без кириллицы.
Читать дальше →

ReSharper: поиск кода по паттерну, второй подход

Время на прочтение1 мин
Количество просмотров769
Некоторое время назад я писал о новой фиче «Поиск и замена кода по паттерну», которая появилась в ReSharper 5.0.

Вчера на сайте JetBrains появился набор из 17 наиболее полезных паттернов. Вы можете свободно скачать эти паттерны. Для установки их в R# надо выполнить следующие действия:

1. Открыть меню «ReSharper | Tools | Pattern Catalog.»
2. Выбрать «Import», затем указать на XML-файл извлеченный из скаченного архива.

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

Блог Эрика Липперта на русском языке

Время на прочтение1 мин
Количество просмотров8.8K
Эрик Липперт (Eric Lippert) — личность достаточно известная, он является ведущим разработчиком комплиятора C#, и автор одного из самых интересных блогов в этой области «Fabulous Adventures In Coding». Кроме того, Эрик является активным участинком сайта stackoverflow, откуда он периодически черпает вдохновение для своих постов.

Я уже писал о том, что я подключился к переводу этого замечательного блога на русский язык, который в русском варианте называется «Невероятные приключения в коде» и внимание к которому я и хочу немного привлечь.

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

ASP.NET, HTTP 404 и SEO

Время на прочтение2 мин
Количество просмотров10K
Недавно, мой SEO оптимизатор сказал мне, что недоволен тем как ASP.NET возвращает HTTP ответ в случае ситуации 404, то есть страница не найдена. Я начал ковыряться и обнаружил пару интересных моментов, которые возможно кому-то пригодятся.
Читать дальше →

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

Data acquisition, часть 4

Время на прочтение6 мин
Количество просмотров1.6K
В предыдущих частях я описал в общих чертах процесс сбора данных из веб-источников. В этом посте я покажу как сделать общий сервис (generic host) для процессирования различных сайтов с использованием WatiN. Также, я затрону проблему многопоточности в использовании WatiN. Исходники, как всегда, тут.
Читать дальше →

Рисуем карту в WPF-приложении

Время на прочтение4 мин
Количество просмотров27K
Недавно возникла производственная необходимость – отобразить на форме карту России, с детализацией до регионов. При этом нужно:
  • в зависимости от различных условий менять внешний вид областей карты;
  • карта должна “воспринимать” пользовательский ввод и реагировать на него;
  • нужно иметь хорошее качество “картинки-карты” вне зависимости от разрешения монитора.

Один из вариантов решения

Data acquisition, часть 3

Время на прочтение6 мин
Количество просмотров1.5K
В предыдущих моих постах (часть 1, часть 2) я описал то, как получить данные из интернета как HTML, как настроить простой сервис для регулярной загрузки данных, как скорректировать HTML и загрузить его в CLR-объект. В этом посте мы обсудим то, как хранить и обновлять данные в базе. Также я приведу полное описание процесса скрейпинга.

Если интересно...

Получение снимков с экрана (screens) в формате, удобном для WPF

Время на прочтение27 мин
Количество просмотров6.4K
Некоторое время назад мне понадобился инструмент, с помощью которого я смог бы программно создавать снимки с целого экрана монитора или с некоторой его области. При этом необходима возможность указания области не только программно, но и вручную пользователем с помощью мыши. Полученный результат должен быть сразу же упакован в экземпляр одного из классов, которые мне было бы удобно использовать для отображения полученного скрина в GUI (графическом интерфейсе пользователя):
  • System.Drawing.Bitmap
  • System.Windows.Media.Imaging.BitmapImage
  • System.IO.MemoryStream

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

Отображение иерархической структуры данных в WPF с помощью привязки и шаблонов

Время на прочтение17 мин
Количество просмотров25K
Введение

Представление набора данных в виде иерархической структуры (любого уровня вложенности) в WPF осуществляется очень просто. Как правило, для этого используется класс System.Windows.Controls.TreeView и выглядит результат как-то так:


Я продемонстрирую два случая построения такого дерева, отличающихся друг от друга источником данных:
  • База данных, размещённая на MS SQL Server 2008
  • XML-файл.

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

Как вы видите .NET / C# 5.0?

Время на прочтение5 мин
Количество просмотров5.4K
Совсем недавно мы получили релиз .NET / C# 4.0. Мы много говорили (и еще будем говорить) о новых возможностях и нововведениях новой платформы и языка. Но уже можно сделать какие-то выводы и подумать, что же мы хотим увидеть в новой версии .NET / C# 5.0?
Читать дальше →

Data acquisition, часть 2

Время на прочтение7 мин
Количество просмотров2.3K
В первой части моего рассказа про data acquisition, я написал про то, какой инструментарий используется для получения HTML из интернета. В этом посте я более детально расскажу про то, как из этого HTML получать нужные данные, и как эти данные трансформировать в нужный нам формат.
Если интересно...

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