Обновить
102.38

.NET *

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

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

Микроредакторы

Время на прочтение14 мин
Количество просмотров1.1K
На свете существует много разных полезных редакторов, которые помогают авторам статей готовить контент к публикации на веб-ресурсах. Но к сожалению, очень часто бывает что лучшее – враг хорошего, и приходится пользоваться не очень удобными программами которые вместо того чтобы взять и заточить «свой» редактор под нужные цели. Мой подход к этому вопросу как раз заключается в написании своего редактора. В этом посте, я хочу рассказать про то, как и какие фичи я реализовал.

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

Разные Master pages для стационарных и мобильных браузеров

Время на прочтение4 мин
Количество просмотров1.3K
Возникла необходимость сделать ASP.Net сайт, который бы выглядел красиво и в обычных (стационарных) браузерах и в мобильных. Причем достичь этого не за счет ограничения функционала и красивости версии для стационарных браузеров, а с помощью стандартных ASP.Net-овских определений в App_Browsers. Этот способ работает и в ASP.Net MVC-приложениях.
Читать дальше →

Вы подготовились к приходу AutoMapper?

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

Введение

Данная статья предназначена к прочтению разработчикам и архитекторам распределенных систем на платформе .NET. В ней будет рассмотрен гибкий каркас для объектно-объектного преобразования (далее маппинга). Так же будут рассмотрены некоторые аспекты Domain-Driven Design’а.
Читать дальше →

Об F# для архитекторов

Время на прочтение13 мин
Количество просмотров8.8K
Данная статья выросла из доклада, сделанного Крисом Смитом, одним из разработчиков F# на конференции DevLink. В целом она носит обзорный характер, однако несмотря на это, и на то, что усилиями shwars, mezastel и отчасти вашего покорного слуги F# уже не раз мелькал на Хабре, думаю что этот язык программирования не стал еще настолько очевиден всем, чтобы эта статья полностью потеряла смысл. Более того, здесь Крис пытается ответить на главный вопрос, который, думаю, мучает всех, кто хоть раз слышал о F#. Где же все-таки его применять? Получилось у него или нет – вам судить. Надеюсь после прочтения у вас хоть что-то относительно всего этого прояснится. Если так, я буду считать свою миссию перевыполненной :)
P.S. Первый перевод, поэтому не обессудьте за некоторые возможные баги.
image
Читать дальше

Асинхронное программирование — цепочки вызовов

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

Когда в коде фигурирует пара вызовов BeginXxx()/EndXxx(), это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.



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

Windows 7 & DWN: знаете ли вы, что не все окна должны подчиняться Flip3D и Aero Peek

Время на прочтение4 мин
Количество просмотров3.8K
Вы, наверняка, знаете, что в Vista и Windows 7 существует функция Flip3D, а в Windows 7 еще и Aero Peek.

Aero Peek Flip3D

Но вы, наверняка, не знаете, что можно заставить ваше окно (приложение) не подчиняться правилам для всех окон в данных возможностях Windows. Для этого следует изучить Desktop Window Manager API.
Читать дальше →

Асинхронное программирование — тестирование событий

Время на прочтение6 мин
Количество просмотров3.4K
Иногда приходится писать тесты для событий, и делать это неудобно – очень быстро начинают плодиться дополнительные методы и поля. О том, как тестировать события в C# я и хочу рассказать.

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

WPF, Поле ввода с подсказкой

Время на прочтение8 мин
Количество просмотров28K
Иногда бывает полезно создать эффект для поля ввода, выводящий подсказку в тот момент, когда текст отсутствует.
Например, вот такой:
Пример поля ввода с подсказкой

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

Deep Zoom, асинхронная загрузка файлов в обновленном AJAX Control Toolkit

Время на прочтение1 мин
Количество просмотров1.8K
image

Обновился ASP.NET AJAX Control Toolit, который стал еще более мощным средством для создания AJAX веб-приложений.

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

Логирование с помощью Microsoft Enterprise Library 4.1

Время на прочтение5 мин
Количество просмотров8.8K
В данной статье рассказывается как работать с блоком логирования из библиотеки Microsoft Enterprise Library 4.1. Решил разобраться после посещения Patterns & Practices Roadmap Kiev.

Установка Enterprise Library


Загрузить Enterprise Library 4.1 можно отсюда. Помните, что кроме блока логирования устанавливается много других компонентов.

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

BizTalk Server Study Group

Время на прочтение1 мин
Количество просмотров1.4K
Есть такая идея (а пока это только идея) сделать study group посвященную BizTalk. Почему именно этой технологии? Вот несколько причин:
  • Компетенции в этой технологии мало у кого есть, поэтому знание (хотя бы поверхностное) – козырь в резюме
  • Есть шанс познакомиться с концепцией EDI
  • Можно поразбираться в протоколах и стандартах B2B
  • Можно изучить разные стороны дотнета, в частности Workflow Foundation, WCF, и т.д.
  • Заодно можно прихватить чуть-чуть доменной специфики, например из финансов.
Знаю что технология не самая популярная, но все же, заказы в этой области тоже бывают (хоть и редко). Формат я предлагаю такой – читаем какую-нть литературу (скажем Foundations of BizTalk), смотрим вебкасты и лабы, потом где-нть на выходных созваниваемся по Скайп, обмениваемся опытом, обсуждаем кто чего достиг, делимся самописными адаптерами, ну и все такое.

Если вас заинтересовало, отметьтесь ниже. Или пишите в личку.

Загружаем книги «Командная разработка с использованием Visual Studio TFS» и «Знакомство с Visual Studio Team System 2008»

Время на прочтение1 мин
Количество просмотров2.6K
Следующие электронные книги стали доступны для загрузки:

Алексей Федоров. Знакомство с Microsoft Visual Studio Team System 2008
Командная разработка с использованием Visual Studio Team Foundation Server

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

Знакомство с NDepend

Время на прочтение4 мин
Количество просмотров9.5K
Проблема связанности в архитектуре приложений в последнее время получила очень много огласки, и породила большое количество фреймворков DI-характера и приложений для статического разбора и «умного рефакторинга». Об одном таком приложении под названием NDepend я и хочу рассказать.

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

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

Использование Direct2D и DirectWrite в .Net-среде

Время на прочтение7 мин
Количество просмотров10K
Несмотря что «нагуглить» в интернете можно все, для новых технологий это далеко не так. В частности, когда я захотел использовать достаточно новые технологии Direct2D (не бойтесь, это никак не связано с DirectX 7) и DirectWrite в своем .Net-приложении, то столкнулся с проблемой что примеров взаимодействия этих библиотек и .Net нет. Поэтому пришлось самому покопаться.
Upd.: переношу в C++ т.к. дотнетчикам явно не интересно.

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

(Зло)употребление C# 4.0 Dynamic – Бестиповое Лямбда-Исчисление, Нумералы Чёрча, и все-все-все… (ч.1)

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

Введение


Воскресное утро, время для еще одного эпизода в серии Безумные Воскресения. Еще раз в одной категории с риском разрыва мозгов, но ведь это как раз то, что нам нравится, не так ли? На этот раз мы рассмотрим бестиповое лямбда-исчисление в C#. Но погодите, разве C# не типизированный язык? Действительно. Но значит ли это, что все, что вы делаете на C# должно быть статически типизировано? Не обязательно: типизация присутствует в языке как инструмент, который вы можете либо не трогать, либо применить. В этом топике мы рассмотрим как новое ключевое слово dynamic из C# 4.0 под несколько странным углом…
Читать дальше →

Прав ли R#: call to .ToString() is redundant?

Время на прочтение9 мин
Количество просмотров3.6K
Этот пост публикуется по просьбе хабраюзера mstyura, у которого не хватает кармы для публикации. Если вам понравилась статья, то благодарите автора и помогите ему с кармой.

Хочу поделиться с Хабросообществом результатом своего минииcследования на тему упаковки\распаковки значимых типов. На написание данного топика меня сподвигли две вещи: книга Рихтера «CLR via c#» и собственно R#. Последний на мой взгляд давал «нечестные» замечания моему коду.
Читать далее

Бесплатный AJAX CDN

Время на прочтение1 мин
Количество просмотров1.9K
Компания Microsoft запустила сервис AJAX CDN (content delivery network) для кэширования AJAX и jQuery-библиотек ASP.Net. По словам самих разработчиков, с помощью этого кэша можно значительно повысить производительность веб-приложений ASP.Net Web Forms и ASP.Net MVC.

Ajax CDN работает по стандартному принципу CDN, то есть контент дублируется на множестве серверов, географически удалённых друг от друга, а каждого юзера обслуживает наиболее близкий к нему сервер. Для запроса к CDN просто меняете адрес скрипта в коде веб-страницы:



Много стандартных скриптов уже лежат на CDN (список здесь), в будущем каталог обещают значительно пополнить.

Кроме ускорения загрузки на стороне юзера, с помощью этого сервиса можно банально экономить на трафике, поскольку Ajax CDN бесплатен как для частного, так и для коммерческого использования, и не требует регистрации.
Читать дальше →

DynamicObject, JSON и ближайшее будущее

Время на прочтение3 мин
Количество просмотров3.1K
В данной статье хочу ознакомить вас с небольшим приложением для работы с JSON данными, демонстрирующим возможности, доступные нам в .NET 4.0. Поверхностно будут рассмотрены вопросы JSON-формата, а так же работы с динамическими типами данных.
Читать дальше →

Qizmt – аналог MapReduce для Windows

Время на прочтение2 мин
Количество просмотров1.9K
Интересное вчерашнее объявление от Myspace.com 

Сегодня мы открываем в Open Source Qizmt, внутренний фреймворк для распределенных вычислений, созданный командой Data Mining в Myspace. Qizmt может быть использован для многочисленных операций, которые требуют процессинга больших объемов данных. Таких как фильтрация в системе рекомендаций и аналитика.


Некоторые источники уже отчитались по этому поводу и написали, что это фреймворк для системы рекомендаций. Это не так. Это полноценная имплементация MapReduce, написанная для Windows.

Не так часто любителей .NET сталкиваются с open source проектами такого уровня. Несмотря на то, что система заявленая как Alpha заявлено довольно много функциональности (что неудивительно, поскольку это вроде как работающий на myspace framework)

  • Быстрая разработка mapreduce jobs в C#
  • Легкий инсталлер
  • Встроенный IDE/Debugger (включая step through отладку jobs на кластере)
  • Из любой машины в кластере:
  • Cluster Assembly Cache (CAC) – кеш .NET assemblies для mapreduce jobs
  • 3 вида jobs:
    — Mapreduce – set логика для больших объемов данных
    — Remote – для тех задач, которые не подходят под шаблон mapreducer
    — Local – оркестрация связей между Mapreduce и Remote jobs
  • 3 способа обмена данных в mapreduce

    — Отсортированные – key/value пары равномерно отсортированы по кластеру
    — Сгруппированные – неотсортированные, но похожие пары key/value на одному reducer
    — Сортированные по хэшу – супер быстрый способ сортировки случайных данных


Выглядит все это довольно внушительно, хотя у думаю сейчас уже не особо важно на чем такие frameworks написаны. Используют их все равно платформо независимыми методами – легкими сервисами а-ля REST/REST2. Говорят тот же Bing использует Hadoop. Но в любом случае приятно что коллеги из Myspace поделились кодом.

Да, код на гуглокоде

В дженериках C# мог бы быть полезен “this type”

Время на прочтение2 мин
Количество просмотров3.7K
Разбирая наш код, нашел место, которое явно требовало бы некоторой подчистки. Но чтобы почистить, в языке нужна бы еще фича, которую и хочу обсудить. Я поднимал этот вопрос также и на StackOverflow. Был поддержан авторитетным камрадом.

Возьмем два класса, один наследуют от другого. Базовый класс – дженерик, в котором есть метод, который в производном закрытом типе должен возвращать экземпляр этого самаого закрытого типа.
Читать дальше →

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