Alexey's profileLife vs. ProgrammingPhotosBlogListsMore ![]() | Help |
|
November 29 Генератор данных для разработчиковИногда, когда мы пробуем или тестируем что-то, бывает необходимо создать некоторый набор данных, на которых мы и эксперимертируем.
Кому интересно - взять можно тут. Там же показано, как расширять генератор своими данными и т.д. November 25 Microsoft идет в телеком.November 24 VirtualPathProvider в ASP.NET 2.0Ковыряясь в ASP.NET обнаружил вот какую штуку: оказывается, нельзя поместить MasterPage в каталог темы (App_Themes\MyTheme, например). Наковырял следующее: в ASP.NET есть специальный провайдер для вычисления виртуальных путей. Забегая вперед скажу, что совсем избавиться от каталога App_Themes не удастся, придется создать его и какую-нибудь пустую папку-тему-заглушку в нем (я назвал ее Virtual). Класть туда ничего не нужно, но нужно прописать эту тему как тему по умолчанию в конфигурационном файле: < pages validateRequest="false" theme="Virtual">Так, делаю провайдер, наследуюсь от VirtualPathProvider. В этом провайдере переопределяю методы GetDIrectory и GetFile. Соответственно, делаю своих потомков VirtualDirectory и VirtualFile. Идея в том, чтобы VirtualDirectory представлялся системе как каталог "App_Themes/Virtual", но возвращал список файлов из другого, нужного нам каталога.
Реализация классов ThemedVirtualFile и ThemedVirtualDirectory достаточно тривиальна.
Здесь одна только особенность: при создании каталога ему в конструктор передается "изначальный" виртуальный путь, то есть, тот, который с "App_Themes". Потому, что ASP.NET за этим следит и если попытаться вернуть другое имя, то грязно выругается. А вот "внутри" себя он работает с нужным нам каталогом. Его подкаталоги и файлы и возвращает. А вот при создании файла ему в качестве виртуального пути передается его "реальный" путь. То есть, путь после замены "App_Themes\Virtual" на нужный нам каталог с темой. Для того, чтобы ASP.NET, вставляя, скажем, стиль в качестве ресурса страницы, ссылался все же на существующий файл. Реализацию наследника виртуального файла я уже не привожу, должно быть все понятно. Единственное, что там нужно сделать - так это определить метод Open, который вернет поток с контентом файла.. Да, теперь как это вызывать. HostingEnvironment.RegisterVirtualPathProvider(new ThemedVirtualPathProvider()); Сделать это можно либо в публичном статическом методе AppInitialize() любого из классов в App_Code, либо в Global.asax в методе Application_Start, как удобнее. И в дальнейшем все вызовы будут проходить через этот провайдер. А в базовом классе страницы в методе OnPreInit я написал следующее: string themedMasterFile = HttpPath.Concat("~/Skins", SiteSettings.Instance.Theme, "Layout.master"); То есть, тут я указываю шаблон для страницы в соответствии с темой (свойство SiteSettings.Instance.Theme возвращает имя выбранной темы), а сама тема будет подключена уже с помощью провайдера... P.S. Поискав подобное решение в интернете я нашел лишь убогую реализацию в каком-то mojoFramework. Убогую потому, что они не предполагают, что контент в разных темах может быть разным. Потому, видимо, и не работают со списком файлов вообще. Таким образом их фреймворк позволяет в теме иметь только те, скажем, .skin-файлы, которые заданы в теме-пустышке. Только они будут "перенаправлены", об остальных система даже не узнает. Моя реализация лишена подобного недостатка ;) Так что, надеюсь, это поможет. November 22 PayPal действуетПоскольку проблема с местом на жестком диске периодически возникает, придумал купить внешний SATA-винчестер. SATA потому, что USB2 все же тормозно. Странное дело, кстати. В магазинах, где есть сами диски, нет контроллеров, а там, где еть контроллеры - нет дисков.. Чудеса. Словом, покупая этот самый контроллер, столкнулся с тем, что деньги принимаются только через PayPal. Действительно работает. Никаких тебе проблем, транзакция прошла мгновенно и совершенно прозрачно. Фактически я просто дал PayPal'у команду "вот с этой моей карточки отправь деньги воон тому чуваку". Никаких лишних телодвижений. В этом, наверное, отличие PayPal от всякого убожества вроде WebMoney, где я должен сначала пойти найти где-то какую-то карту (либо искать каких-то посредников и показывать свою карточку им, если это возможно), скачать какую-то программу, чего-то где-то сохранить, чтобы никто не нашел, положить деньги на один из немереного количества кошельков в этой программе и только после этого платить. Словом, в таком виде платежная система мне понравилась. Буду пользоваться, а то вместо этого делать банковский перевод тоже долго... November 17 Еще один тул для отладки AJAXРелизнулся сегодня. Скриншоты, описание и т.д. - на новом оффициальном сайте инструмента тут: http://www.getfirebug.com/ Что же касается IE7, то теперь стала доступна и русская его версия. Я не пробовал. Не люблю русский интерфейс - теряюсь. November 14 Кто хотел консоли?Вышел релиз того, что когда-то называлось Monad, а ныне зовется Windows PowerShell. PowerShell - это такая консоль для управления системой, но с очень широкими возможностями. Например, из нее можно напрямую "общаться" с WMI и COM (если прав хватит). Ну и много чего еще там. Примеры и некоторые фичи можно посмотреть здесь. Там же есть ссылка на видео, в котором все это продемонстрировано. Technorati tags: PowerShell WebDeveloperHelper Utility: в помощь ASP.NET разработчикуNikhil Kothari, архитектор команды ASP.NET и разработчик Script# - компилятора из C# в JavaScript, обновил WebDeveloperHelper - утилиту, которая будет (и является) чрезвычайно полезной для ASP.NET разработчиков. Программа позволяет очень удобно "отслеживать" что же именно и как "ходит" от сервера к клиенту и наоборот, что откуда берется и так далее. Небольшой скриншот программы: Подробнее об утилите и нововведениях можно почитать в блоге у автора. Там же есть ссылка на полный список фич и документацию. Кстати, отступление об MS Ajax Framework. Поскольку у меня сейчас нет "реальной" работы c ASP.NET, то и интересуюсь я этой темой постольку поскольку, просто чтобы быть в курсе. November 10 PhotoSynth: вот и мы можем посмотретьhttp://labs.live.com/photosynth - такой вот своеобразный способ попутешествовать. Например, сейчас можно "побывать" в Венеции. November 08 Правильный постинг.Вот, натолкнулся: http://davydov.blogspot.com/2006/11/blog-post_08.html Что-то да, в последнее время слишком часто приходится сталкиваться с такими вот "крайностными" точками зрения. Думал, что один я удивляюсь. Обострение, чтоли, у людей.. :) .NET Framework 3.0 - РелизНу только ленивый еще не неписал о том, что вышел релиз. Видимо я - ленивый :) На самом деле он вышел еще позавчера. Просто я из двух новостей (про релиз и про онлайн-курсы) увидел вторую (про курсы), бросил читать новости и пошел их проходить. Уже прошел все три. Образовательно, советую для ознакомления. А что касается 3-го фреймворка, то смотреть и качать вот тут. Лично я уже скачал и поставил :) [Added] А, вот, еще что. Вот тут можно скачать Windows SDK примеры для .NET 3.0. Technorati tags: .NET Framework 3.0, WinFX November 06 Вызвать к автономному игроку курса?О чем это я? А ведь я ставил Offline Player вовсе не для того, чтобы XXX просматривать, для этого другие ресурсы существуют.. Но на этом веселуха не закончилась.
Да, к слову именно о глоссариях. После окончания установки в браузере открывается страничка с маленьким текстиком, в котором сказано, что до первой загрузки курса взывать будет бесполезно, более того, Offline Course Player даже не появится на рабочем столе и в меню Начало. У них тоже выделено. .NET Framework 3.0 из первых рукМайкрософт предлагает бесплатное онлайн-обучение по теме "Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio® 2005". Обещается 3 двухчасовых обучающих сессии по новшествам .NET Framework 3.0. Расчитано на опытных разработчиков и архитекторов, которые заинтересованы в изучении следующего поколения .NET (а кто сейчас не заинтересован? тому завтра денег платить не будут :)) Темы, как не трудно догадаться:
Для успешного понимания требуется пара лет опыта работы с .NET (во всяком случае так считают разработчики курса). Подписаться на курс можно здесь. Technorati tags: eLearning, .NET Framework 3.0 November 05 Винный фестиваль.Я был на винном фестивале уже - на Кипре.
Супруга испробовала кучу вин, а я, как человек не переваривающий вкуса этилового спирта - кучу сыров и несколько видов мяса. Да, и еще! Я, наконец-то, попробовал устриц. Тех самых, которых едят сырыми, поливая лимонным соком.
Да, снова о винах. Купили пару бутылок австраллийского, мельбурнского :) Все остальные из продегустированных (не мною) оказались хуже.. November 01 Windows Live Messenger 8.1 betaСнова что-то делают. А я продолжаю надеяться. В остальном - то же самое. Надеялся зря - хистори по-прежнему в наипозорнейшем состоянии. Словом, ставить пока никакого смысла нет... Technorati tags: Windows Live Messenger Windows Media Player 11Вышел. Так же очень понравилась навигация по Media Library (может быть в 10 была такая же, я даже не смотрел в связи с его тормозами). Для установки достаточно посетить www.microsoft.com, там висит огромный баннер с предложением его установить :) Technorati tags: Windows Media Player |
|
|