Как стать автором
Обновить
0
0
odd man out @oddmanout

Пользователь

Отправить сообщение

Использование MEF (Managed Extensibility Framework) для разработки Asp.Net WebForms приложений

Время на прочтение11 мин
Количество просмотров4K
MEF является хорошим фреймворком для написания расширяемых приложений. Он позволяет легко отделять реализацию от абстракции, добавлять/изменять/удалять реализации во время работы приложения (рекомпозиция), работать с множественными реализациями абстракций, разделять монолитные приложения на независимые части и пр.

Большинство примеров работы MEF являются консольными или WPF приложениями. Почему? Потому что в этом случае легче всего контролировать время жизни составных элементов (composable parts) т.к. сам MEF заботится об этом, а разработчик концентрируется на задачах примера.

Ситуация в веб приложениях кардинально отличается. Разработчики не ответственны за создание страниц, контролов и пр., т.к. Asp.net Runtime берёт всё на себя.

Таким образом, что бы реализовать поддержку MEF для веб приложений следует скомбинировать алгоритмы обоих инструментов.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Прототипирование в Expression Blend + SketchFlow. Часть 1. Немного истории

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

Введение


Этой статьей я хочу начать цикл статей, посвященных созданию прототипов с помощью Expression Blend и SketchFlow. Мы постепенно пройдемся от базовых концепций и понимания, как работает SketchFlow, до отдельных нюансов вроде настройки и брендирования проигрывателя прототипов. Местами, я буду включать переводы статей других авторов.

В качестве введения в тему и для того, чтобы получить общее представление, предлагаю посмотреть вот это короткое видео (всего 90 секунд!) с обзором текущих возможностей SketchFlow:


А начнем мы со статьи Christian Schormann об истории SketchFlow.

SketchFlow: Немного истории


SketchFlow, инструмент динамичного прототипирования для Expression Blend, наконец официально вышел (от переводчика: статья писалась к выходу Expression Blend 3)! Вы можете скачать триальную версию здесь.

Так как мне всегда нравилось наблюдать за развитием людей, идей и продуктов, я подумал, что вам тоже будет интересно узнать немного о прошлом SketchFlow — сейчас, кажется, подходящий момент, чтобы взять школьные тетрадки со столика и рассказать немного о том, как рос SketchFlow. Если вы хотите узнать больше о сегодняшем состоянии SketchFlow, смотрите этот пост…
Читать дальше →
Всего голосов 64: ↑49 и ↓15+34
Комментарии26

Команда ASP.NET выпускает Sprite and Image Optimization Framework

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

Команда разработчиков ASP.NET готова представить новый набор инструментов с открытым исходным кодом под названием Sprite and Image Optimization Framework.

Sprite and Image Optimization Framework – это фреймворк, который содержит набор инструментов клиентской оптимизации для веб-сайтов, позволяющий сократить время доступа к страницам для пользователей. Для этого фреймворк предлагает использовать механизмы оптимизации загрузки изображений: посредством спрайтов и кодирования на основе data:uri.

Разработчикам ASP.NET предлагается использовать элемент управления для WebForms-проектов и специальный вспомогательный класс для ASP.NET MVC-проектов. Вместе с ними поставляется HTTP Module, который выполняет всю работу по оптимизации изображений и передачи их клиенту.

Загрузить Sprite and Image Optimization Framework можно по этой ссылке с сайта codeplex.com. Там можно найти исходные коды фреймворка, демонстрационные проекты, документацию.
Всего голосов 63: ↑46 и ↓17+29
Комментарии5

Из чего готовят Google Analytics Cookies

Время на прочтение3 мин
Количество просмотров23K
печеньки
Добрый день.
Недавно одни из наших заказчиков выразили желание получать дополнительную информацию о посетителях своего сайта, конкретнее — о людях, заполнивших контактную форму. Это крупная европейская компания и им хотелось бы «фильтровать» своих потенциальных клиентов. Поясню на примере — допустим, решают они организовать выставку своего оборудования в Венгрии и им нужно решить, кто из венгров, оставлявших им свои контакты, скорее всего стоящий клиент, а кто «мимо проходил».
Основными показателями «надежности» клиента для нас стали: число посещений сайта, время проведенное на сайте, количество просмотренных страниц. Всю эту информацию мы получили из Google Analytics Cookies.

Что же из себя представляют печеньки от Google?

Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии17

Moles — Isolation Framework от Microsoft Research или как сделать юнит-тестирование удобнее

Время на прочтение3 мин
Количество просмотров2K
Иногда случается, что стройную и продуманную систему юнит-тестов душит сильная связность компонентов — особенно этим грешит legacy код, изначально не предназначенный для тестирования. Рефакторинг, конечно, спасает — но не всегда можно рефакторить. Одной из проблем, возникающих при создании юнит-тестов может стать использование static методов или non-virtual методов, которые должны быть перегружены для успешного написания тестов. Поможет в этом проект от Microsoft Research — Moles.
Читать
Всего голосов 44: ↑30 и ↓14+16
Комментарии12

Visual Studio 2010: 4 полезнейших расширения

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

Буквально на днях для Visual Studio 2010 выпущено два набора официальных обновлений. Первый – Power Tools – нацелен на добавление множества мелких функциональных вещей увеличивающих продуктивность труда. Второй — Modeling Feature Pack добавляет к архитектурным инструментам Visual Studio массу полезных возможностей.

Кроме этих инструментов, в этой статье я расскажу еще о двух полезнейших расширений Visual Studio. Кстати, число расширений в онлайн-хранилище доступном из Extension Manager постоянно растет и уже приближается к 2000 штук.

Читать дальше →
Всего голосов 92: ↑74 и ↓18+56
Комментарии31

Google представил API для кроссбраузерного подключения шрифтов

Время на прочтение1 мин
Количество просмотров11K
Google Font API — API для подключеня нестандартных шрифтов.
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="_http://fonts.googleapis.com/css?family=Tangerine">
    <style>
      body {
        font-family: 'Tangerine', serif;
        font-size: 48px;
      }
    </style>
  </head>
  <body>
    <h1>Making the Web Beautiful!</h1>
  </body>
</html>
Читать дальше →
Всего голосов 151: ↑144 и ↓7+137
Комментарии100

Стилизация файл-инпутов

Время на прочтение5 мин
Количество просмотров38K
Результат стилизации файл-инпута
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.

Дело в том, что изменение внешнего вида инпутов, как правило, не вызывает трудностей, но этот вид инпутов отличается от остальных. В первую очередь это связано с безопасностью, во вторую с тем, что каждый браузер по своему отображает этот элемент, и на это почти нельзя повлиять.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии163

Притча о потерянном состоянии

Время на прочтение5 мин
Количество просмотров1.3K
— Здра…
— А-а-а!
— Ну ты чего?
— Я вас боюсь!
— Чего это?
— Вы вечно меня унижаете…
— Хех, ну ладно, больше не буду.
— Правда?
— Доо, хочешь конфетку с аяксом?
— Конечно!
— Тада давай, лети к нам в Питер. Вот список авиарейсов на которые есть билеты отсортированный по цене: rasp.yandex.ru/search?cityFrom=Санкт-Петербург&cityTo=Москва
— Эм… что-то вы наврали дяденька — там вообще все рейсы из Москвы в Питер, отсортированные по времени отправления.
— Гм… действительно, не хорошо получилось… а значешь почему?
— Нэ?
— Потому что состояние приложения не отражается на uri. Поэтому каждый раз заходя на эту страницу из закладок, тебе придётся заново устанавливать фильтрацию и сортировку.
— Блоо, как же быть?
а далее самые жёсткие порносцены
Всего голосов 172: ↑124 и ↓48+76
Комментарии44

Hiqus — HIerarhical QUery String

Время на прочтение10 мин
Количество просмотров2.8K
Это формат представления древовидных структур данных в виде одной строки в удобном для человека виде. Является обобщением формата «application/x-www-form-urlencoded» и как следствие — обратно совместим с ним. В основе Hiqus лежит всё тот же принцип представления данных в виде пар «ключ-значение» с той лишь разницей, что ключ может быть составным или пустым.

Данный формат уже используется такими монстрами как Яндекс (http://yandex.ru/yandsearch?date=within&text=hiqus&from_day=28&from_month=4&from_year=2009), Гугл (http://www.google.ru/search?as_q=hiqus&hl=ru&num=10&as_qdr=all) и многими другими, кому требуется передавать иерархические данные в строке запроса. Исключение составляют PHP-сайты, для которых традиционно используется свой, не слишком наглядный формат (пример, навскидку не нашёл, но выглядит он примерно так: ?user%5Bid%5D=123&user%5Bname%5D=Nick).
ох, ну и порево же дальше
Всего голосов 41: ↑27 и ↓14+13
Комментарии72

Удобный мониторинг ошибок в приложении ASP.NET

Время на прочтение2 мин
Количество просмотров13K
Здравствуйте, уважаемы читатели Хабра. В данном посте я хочу рассказать вам о модуле для мониторинга ошибок в ASP.NET — ELMAH (Error Logging Modules and Handlers).

Для чего это может быть полезным:


Представьте ситуацию, когда у вас есть работающий в Prod режиме сайт с большим количеством юзеров выполняющих разнообразные бизнес задачи. Время от времени некоторые пользователи сообщают о спонтанно возникающих ошибках, которые на Dev окружении воспроизвести не удается. При этом очень трудно бывает понять по описанию юзера что может быть причиной ошибки и при какой комбинации действий она произошла.
Читать дальше →
Всего голосов 45: ↑32 и ↓13+19
Комментарии16

Bundler: клиентская оптимизация Javascript в ASP.NET

Время на прочтение4 мин
Количество просмотров2.4K
imageСегодня, при разработке приложений в интернете, вопрос клиентской оптимизации встает все чаще. Если раньше, страница отправленная клиенту содержала только информацию, то сегодня очень часто такая страница содержит много JavaScript-кода. Для достижения наилучшей производительности и снижения нагрузки на сервер применяются правила клиентской оптимизации.

В этой статье речь пойдет про Bundler — удобное средство клиентской оптимизации JavaScript для .net-проектов.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии7

Якорная навигация на jQuery (graceful degradation)

Время на прочтение2 мин
Количество просмотров5.3K
Недавно я наткнулся на интересный плагин для jQuery: BBQ — Back Button & Query Library.

И решил на ее основе сделать свой плагин для навигации на основе якорей. Задачи, которые я себе ставил:
  1. нормальная работа ссылок в условиях выключенного javascript (читай — нормальная индексация страниц поисковиками)
  2. поддержка обычных anchor-ссылок безо всяких дополнительных запросов
  3. поддержка отображения подгруженного контента в разных областях страницы

Результат можно посмотреть здесь. А еще можно почитать чуть подробнее.

UPD: дамы и господа, некоторые жалуются на недоступность странички (403 Forbidden), однако, я ничего такого не вижу. В комментах привели ссылку на рабочий вариант, который можно попробовать, если моя ссылка у вас не заработала: http://vbolshov.org.ru.nyud.net/anchornav/.

как это использовать
Всего голосов 45: ↑41 и ↓4+37
Комментарии42

TDD для начинающих. Ответы на популярные вопросы

Время на прочтение8 мин
Количество просмотров51K
Исходники проекта написанного с помощью TDD. Visual Studio 2008/C#
Для написания тестов использована библиотека xUnit, для создания mock-объектов – Moq.




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

Мне задают много вопросов про TDD. Из этих вопрсов я выбрал ключевые и написал на них ответы. Сами вопросы вы можете найти в тексте, они выделены курсивом.
Читать дальше →
Всего голосов 48: ↑38 и ↓10+28
Комментарии65

Использование лямбд для построения CAML-запросов в SharePoint'е

Время на прочтение9 мин
Количество просмотров6.3K
Статья от коллег, SharePoint-разработчиков.
Это статья написана для тех разработчиков SharePoint-based продуктов, которые время от времени сталкиваются с необходимостью делать выборки из одного и/или нескольких списков SharePoint'а — что, в принципе, случается практически всегда :-). В этой статье я рассмотрю несколько способов реализаций таких выборок с их достоинствами и недостатками. В конце статьи, я дам пример использования недавно опубликованного проекта Camlex.NET (http://camlex.codeplex.com/), который кажется мне наиболее удобным для этого случая. Итак…
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии14

Comet для ASP.NET своими руками

Время на прочтение14 мин
Количество просмотров11K
Не так давно в рамках разработки крупного ASP.NET проекта возникла следующая подзадача: реализовать визуальное отображение табличных данных, обновляющихся в режиме real-time. Схема обновления довольно проста, а именно: на сервер посредством QueryString присылаются данные, которые должны как можно быстрее заменить собой устаревшие данные на странице, причем без необходимости страницу эту рефрешить. Первым решением, которое сразу же пришло мне в голову, было использовать ставшую уже общепринятой технику AJAX-запросов по таймеру, скажем, каждые 5 секунд. Однако сразу же выявились очевидные недостатки применения такого подхода: во-первых, довольно внушительное число потенциальных клиентов, дергающих сервер каждые 5 секунд с созданием каждый раз нового соединения, а во-вторых, это все-таки довольно грубая эмуляция real-time'а, ведь данные на сервер гипотетически могут приходить даже по несоколько раз в секунду (а могут не приходить и по несколько минут, и это уже больше относится к «во-первых»).

Идея решения пришла довольно неожиданно от коллеги по работе, поделившегося линком на статью на Хабре, описывающую реализацию технологии Comet на Perl в целях создания веб-чата. "Comet — это то что нужно!", — подумали мы, и я начал разбираться, как же эту штуку можно прикрутить к ASP.NET. О чем, собственно, и пойдет речь под катом.

Читать дальше →
Всего голосов 63: ↑50 и ↓13+37
Комментарии45

Визуальная интеграция Firefox в KDE 4

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

0. Intro.


Не секрет, что Firefox под KDE выглядит уж совсем коряво, даже со стилями qtcurve. Не знаю как кому, но мне лично хочется, что бы все приложения в моем DE выглядели одинаково. Поэтому, занявшись этим вопросом, я перепробовал кучу стилей для гнома (gtk styles таб в systemsettings) и плагинов для firefox.
Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии36

Склад бесплатных иконок

Время на прочтение1 мин
Количество просмотров164K
Прошелся по закладкам и образовалась такая толстенькая подборочка ресурсов с бесплатными и качественными иконками, с которой спешу поделиться с тобой %username%!

Iconfinder


image


Читать дальше →
Всего голосов 168: ↑151 и ↓17+134
Комментарии39

Вычисляем динамические выражения на C# 4.0 с помощью dynamic

Время на прочтение12 мин
Количество просмотров2.8K
Здравствуйте.
Вчера я опубликовал на Хабре перевод статьи об одной из новых возможностей четвертой версии C# 4.0 – ключевого слова dynamic. В комментариях развернулась бурная дискуссия, основными мотивами которой было две вещи: производительность динамиков и область их применения. В этой статье я не буду затрагивать первый вопрос, а попытаюсь привести пример того, как новая возможность позволяет решить вполне реальную задачу за пару часов с минимальными усилиями.
Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии7

А давайте подружимся с SSH

Время на прочтение7 мин
Количество просмотров2.1K
Многие мои знакомые так или иначе используют протокол SSH (заходя на свои роутеры, веб хостинги и непосредственно на собственные компьютеры дома и в офисе), при этом не все об этом знают.



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

В этой заметке вы узнаете:
  • как прописать псевдонимы для соединений
  • как настроить авторизацию без пароля
  • как передавать файлы по SSH
  • как запускать графические приложения по SSH
  • а так же получите общие советы по опциям SSHD


Читать дальше →
Всего голосов 205: ↑187 и ↓18+169
Комментарии96

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность