Релиз SharePoint Dispose Check 1.3.1 состоялся сегодня!
Опубликовано: 30 января, 2009 Filed under: .net, sharepoint | Tags: best practices, dispose, moss, sharepoint, wss Оставьте комментарийВведение
Наверное все помнят нашумевший dispose best practices article in the SDK, после которого подход к работе с объектами sharepoint немного изменился. Сегодня увидел свет инструмент, позволяющий проверить насколько правильно вы работаете с практиками утилизации объектов.
Описание
Использовать утилиту очень просто:
SPDisposeCheck <путь к сборкам> -debug –xml <файл отчёта>
Материалы
Скачать утилиту можно по адресу http://code.msdn.microsoft.com/SPDisposeCheck
IDE на прокачку (Pimp My IDE): Часть 1. Работаем с цветом
Опубликовано: 28 января, 2009 Filed under: Uncategorized Оставьте комментарийВведение
Наверное все прочли сегодня про ASP.NET MVC RC1 в блоге у ScottGu. Ну и наверное некоторым из вас приглянулась его цветовая схема Visual Studio. Так что думаю в этой статье я побуду немного XZibit’ом и под качёвый биток мы совершим действо над вашей немного потрепанной IDE.
«IDE на прокачку от butaji»: Идея поста придется по душе всем разработчикам, у которых желания фатально не совпадают с возможностями! Хозяин волшебного гаража (он же известный блогер butaji) подыскивает счастливчика, которому не повезло быть владельцем максимально «убитой» IDE и повезло встретиться рэпперу на пути. Любовь к музыке, наличие ржавой консервной банки на колесах и невозможность своими силами превратить ее во что-нибудь более достойное – это ваш отличный шанс попасть в программу «IDE на прокачку!» Счастливчик получает из ремонта самый настоящий красавец-IDE и из всеобщего посмешища превращается во всеобщий объект зависти, причем совершенно бесплатно. (С) MTV
Суть да дело
Итак, как мы решили, у нас есть IDE и желание преобразить её немного.
Займёмся же производственным процессом:
- Посмотрим, какими же цветовыми схемами пользуются коллеги http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx
- Так же посмотрим географическую привязку счастливых обладателей эффектных схем http://idehotornot.ning.com/
- Если ничего подходящего не нашлось, не стоит расстраиваться, подобрать нужные цвета и сгенерить из них схему можно здесь http://www.frickinsweet.com/tools/Theme.mvc.aspx
Мои предпочтения
Буду честным, на пост меня подвигло то, что у Скотта цветовая схема немного походит на ту, что использую я:
Называется моя цветовая схема Distant Shores 2008.
Она имеет темный бэкграунд, а это не напрягает глаза, следовательно они не сильно устают за долгое время.
Boo 0.9 уже здесь!
Опубликовано: 28 января, 2009 Filed under: .net, Boo, DLR, silverlight | Tags: Boo, Boo 0.9, Boo news, DLR, IronPython, silverlight, Tetris Оставьте комментарийВведение
Вчера Bamboo в своем блоге сообщил о релизе Boo 0.9. Стоит обратить внимание на то, что данный релиз заметно преображает язык, делая его более удобным.
Ключевые обновления
Основными “фишками” новой версии являются:
- Генератор макросов [BOO-1077], который больше не ограничивает макросы возвращением единственного значения, либо блока, а позволяет возвращать неограниченное количество веток с помощью yield:
macro printLines: for arg in printLines.Arguments: yield [| System.Console.WriteLine($arg) |] printLines "silly", "silly", "silly"
- Nestable-макросы [BOO-1120] – описания макросов теперь могут быть вложенными, и поддерживают зависимости от контекста:
macro given: macro when: yield [| print "given.when" |] yield macro alert: macro when: yield [| print "alert.when" |] yield given: when // given.when alert: when // alert.when
- Макросы – как члены типа [BOO-415] – макрос может быть использован в описании тела типа:
macro ThreadStatic: case [| ThreadStatic $name as $type |]: yield [| [System.ThreadStatic] static $name as $type |] class Environments: private ThreadStatic _current as Environment
- Шаблон соответствия [BOO-1106] – простой, но мощный шаблон соответствия объекта с макросами match/case/otherwise:
import Boo.Lang.PatternMatching def Eval(e as Expression) as int: match e: case Const(Value): return Value case InfixExpression(Operator: "+", Left, Right): return Eval(Left) + Eval(Right) case InfixExpression(Operator: "-", Left, Right): return Eval(Left) - Eval(Right)
- Поддержка универсальный расширений методов (generic extension methods знакомых нам по C#) [BOO-937] – подобные LINQ расширения:
import System.Linq.Enumerable from System.Core
[Extension] def MakeString[of T](source as T*): return join(source, ", ") evenDoubles = range(10).Where({ i as int | i % 2 == 0 }).Select({ i as int | i * 2 }) print evenDoubles.MakeString()
def Using[of T(System.IDisposable)](value as T, block as System.Action[of T]): try: block(value) ensure: value.Dispose() Using(System.IO.File.OpenText("TFM.TXT"), { reader | print reader.ReadLine() })
- Строгий режим [BOO-1115] – строгий режим меняет некоторые правила компилятора: по-умолчанию все типы становятся private, параметры метода и возвращаемые значения должны быть обязательно объявлены
- Ассиметричные свойства видимости доступа [BOO-1094]
class Song: Name as string: public get: return _name internal set: _name = value ...
- Форматирование со строковой интерполяцией (eg. "${val:x4}") [BOO-1006] — .net спецификация форматирования может использоваться на ряду с интерполяцией строк:
def ToHex(n as int): return "0x${n:x4}" print ToHex(42)
- Поддержка SilverLight [BOO-1117] – пример Владимира Лазунина с его Тетрисом, рабочий проект которого нуждается только в Boo.Lang.dll весит ~46 KB, а аналог, исполненный на IronPython подцепляет библиотеки DLR и весит в целом ~1.15 MB.
Материалы
Статья подготовленная по
http://blogs.codehaus.org/people/bamboo/archives/boo.html
SPVisualDev – инструмент Sharepoint разработчика
Опубликовано: 23 января, 2009 Filed under: codeplex, development, sharepoint, visual studio | Tags: codeplex, SpVisualDev, VSeWSS, wspbuilder Оставьте комментарийВведение
Я, как разработчик под платформу Sharepoint, постоянно сталкиваюсь с такими задачами, как создание большого количества однообразного XML-кода (к примеру для описания Feature, WePart, Content Type, List Template и т.д.) что не совсем удобно. Для облегчения выполнения этих задач есть несколько инструментов:
- один из них это Visual Studio Extensions for SharePoint (VSeWSS), я так и не смог привыкнуть к работе сним, в связи с непрозрачностью генерируемых на выходе решений, что значительно уменьшало гибкость разрабатываемых решений
- следующий инструмент STSDev – фактически это набор шаблонов для проектов в Visual Studio, является внешней утилитой, удобен в использовании, но полезен лишь на начальной стадии знакомства с платформой
- ну и последний, на котором хотелось бы заострить внимание, это SPVisualDev
Подробнее
Данный продукт представляет собой расширения для Visual Studio, из чего следует тип проектов и прочие удобства, о которых подробнее:
- Синхронизация в режиме реального времени локальной копии и папки 12
- Простой способ добавления новых фич в проект, а так же редактирование их свойств и элементов в графических формах (а не XML-файлах)
- Легкость в активации/деактивации фич из контекстного меню в проекте VS
- Автоматическая генерация и синхронизация обработчиков фич
- Набор стандартных проектов и элементов, включая веб-части, обработчики событий, шаблонные страницы и т.д.
- Отладка фич для страниц приложения с возможностью присоединения дебагера VS к просмотриваемой странице
- Интеграция с отличных инструментом для создания WSP-пакетов WSPBuilder
Так же приложение имеет исчерпывающее количество сопроводительной документации и даже Visual How-to.
Настоятельно рекомендую поставить и попробовать в деле и почувствовать насколько приятно работать с этим инструментом.
Однако это не панацея, а следовательно всё, что не предусмотрено инструментом, придется делать самостоятельно.
Codeplex: Scrum Dashboard
Опубликовано: 22 января, 2009 Filed under: agile, asp.net, codeplex, scrum, xp | Tags: agile, ajax, asp.net, codeplex, scrum, Team Foundation Server, tfs Оставьте комментарийВведение
Те кто практикует Scrum, ну или хотя бы читал литературу по Scrum, должны знать что такое Scrum Dashboard (“Доска задач”). Из моего опыта обычно для синхронизации того, что висит в её качестве у Вас на стенке, либо стоит рядом с ней, используют wiki-узлы.
Однако я не раз задумывался о том, как хорошо бы было если бы электронный вариант (написанный к примеру на Silverlight) был точной копией этой доски. Конечно я даю себе отчёт в том, что никакая электронная версия не заменит того, вокруг чего ведутся “живые” дискуссии, но всё таки, неплохо бы было иметь копию всегда перед глазами, если географически ты удален от доски.
Суть
Ну и конечно, всё, что можно придумать, можно так же попробовать найти на Codeplex.
Сайт проекта http://www.codeplex.com/scrumdashboard
Приложение выполнено на ASP.NET 3.5 SP1.
Используемые технологии:
- ASP.NET Ajax
- Ajax Toolkit
- Ajax web services
- Entity Framework
- SQL Server
Все данные хранятся в Team Foundation Server 2008, с установленными шаблонами “the Scrum for Team System version 2”, используя доступ по API TFS веб-сервисов, так же реализованна RSS-синдикация.
Материалы
- Скачать приложение можно здесь http://www.codeplex.com/scrumdashboard/Release/ProjectReleases.aspx?ReleaseId=16957
- Начать изучать Scrum & XP можно с этой книги https://butaji.wordpress.com/2008/12/02/scrum-и-xp-заметки-с-передовой/
Цикл статей о N-уровневой реализации Веб-приложений на основе ASP.NET 3.5
Опубликовано: 21 января, 2009 Filed under: architecture, asp.net, C# | Tags: asp.net, asp.net 3.5, многоуровневая архитектура, n-tier Оставьте комментарийВведение
Наверное большинство читателей, использующих ASP.NET создают многоуровневые приложения, кто же этого не делает, рекомендую начать, т.к. это, как минимум, облегчит Вам жизнь.
Содержание
Хотелось бы обратить внимание на цикл статей, написанных Imar Spaanjaars, подробно описывающих создание многоуровневых приложений на ASP.NET 3.5, а так же сопровожденных большим количеством практических примеров.
Previous Series
Building Layered Web Applications with Microsoft ASP.NET 2.0 — Part 1 (3)
Building Layered Web Applications with Microsoft ASP.NET 2.0 — Part 2 (4)
Building Layered Web Applications with Microsoft ASP.NET 2.0 — Part 3 (5)
Custom Sorting with N-Layer Design Classes and the GridView (6)
Current Series
N-Layered Web Applications with ASP.NET 3.5 Part 1: General Introduction (7)
N-Layered Web Applications with ASP.NET 3.5 Part 2: Introducing the Validation Framework (8)
N-Layered Web Applications with ASP.NET 3.5 Part 3: Advanced Validation Topics (9)
N-Layered Web Applications with ASP.NET 3.5 Part 4: Sorting, Paging and Filtering (10)
N-Layered Web Applications with ASP.NET 3.5 Part 5: Dealing with Concurrency
N-Layered Web Applications with ASP.NET 3.5 Part 6: Security
Codeplex: Очередной Add-In для Reflector’а
Опубликовано: 21 января, 2009 Filed under: Boo, DLR, Python | Tags: codeplex, IronPython, reflector Оставьте комментарийСегодня на Codeplex нашёл плагин, который позволяет рефлектору интерпритировать сборки в IronPython. Довольно таки интересно.
На рисунке интерпретирована сборка Boo в IronPython.
Ссылка на релиз http://www.codeplex.com/ipreflector.
Что такое ALT.NET?
Опубликовано: 21 января, 2009 Filed under: .net, agile, ALT.NET, architecture, asp.net, Boo, C#, coding, DLR, DSL, Microsoft, Microsoft.NET, Python, Ruby | Tags: ALT.NET 1 комментарийВведение
По многочисленным WTF от коллег, хотел бы вкратце прояснить, а что же это такое. А дальше решайте сами, интересно Вам это или нет.
Содержание
ALT.NET — Альтернативные инструменты и подходы к разработке на .NET.
Инструменты и подходы перечислены ниже в табличке HOTorNOT.
Hot | Not |
Castle, ActiveRecord, NHibernate |
DataSets, Dataset Designer, Entity Framework, MS Application Blocks |
MVC,NUnit,MonoRail | Web Forms, SCSF, VSTS, MSTest |
XP, TDD, Scrum | MSF Agile, MSF For CMMI |
Evolutionary Design and Development | Big Design Up Front |
Ruby + IronRuby, Python + IronPyton, DLR, Silverlight(?) | ? |
OR\M (NHibernate, LLBLGen etc..) | DLinq, Data Access Block, DataSets, Plain ADO. NET |
Open Source (Mono, SourceForge) | Application Blocks, CodePlex |
MVC and MVP (RoR, MonoRail..) | Web Forms, CAB, Smart Client Factory |
CVS, SVN | VSS, VSTS Source Control |
Build Automation and CI (CI Factory, NAnt, FinalBuilder, CruiseControl..) |
Team Build |
TDD and Unit Testing NUnit, MbUnit, RhinoMocks, NMock, TypeMock |
MSTest for unit testing, VSTS |
Subtext, DasBlog, WordPress, TypePad, Blogger, FeedBurner | Microsoft MSN Spaces, Community Server(?) |
Simplicity in Design | P&P |
Working at Google | Working at MS |
Google Gears | Smart Client, MS Ajax |
.NET 3.X (WF, WPF. Silverlight) | .NET 2.0 |
DI, IoC, Spring for .NET | Object Builder |
Conferences: OSCon, RubyCon, Code Camps, DevTeach.. |
VSLive, TechEd, DevConnections.. |
Считаю, что необходимо как минимум ознакомиться со всеми перечисленными понятиями как в правой, так и в левой колонках, следуя принципу анализ-синтез-best practices.
Материалы по теме
- Табличка любезно позаимствована здесь http://weblogs.asp.net/rosherove/archive/2007/06/04/alt-net-alternative-tools-and-approaches-to-mainstream-net.aspx
- Страница сообщества ALT.NET http://altdotnet.org/
- Статья в журнале MSDN “Что такое ALT .NET?” by Джереми Д. Миллер (Jeremy D. Miller) http://msdn.microsoft.com/ru-ru/magazine/cc337902.aspx
- Активно развивающаяся группа ALT.NET на Yahoo Groups http://tech.groups.yahoo.com/group/altdotnet/
Как закрыть доступ на просмотр системных страниц и страниц списков Sharepoint для анонимных пользователей?
Опубликовано: 21 января, 2009 Filed under: moss, sharepoint, web | Tags: Anonymous Access, Анонимный доступ, moss, Publishing Оставьте комментарийПолезный пост от Татьяны Сметаниной http://blogs.technet.com/tatianasv/archive/2009/01/20/3187270.aspx
Цитирую:
Несколько месяцев назад, рассматривая публичные сайты сделанные на MOSS 2007, меня удивляла одна вещь. Как на этих сайтах закрывают пользователю доступ к страницам просмотра списка, элементов списка, а так же к странице "Просмотр содержимого узла". Страницы эти как правило выбиваются из общего дизайна и для публичного сайта давать их на просмотр пользователям не очень хорошо.
Все оказалось очень просто. Есть стандартная фича ViewFormPagesLockdown которая и закрывает анонимным пользователям доступ на системные страницы и страницы работы со списками типа /_layouts/viewlsts.aspx">http://<адрес>/_layouts/viewlsts.aspx, /Lists/News/DispForm.aspx">http://<адрес>/Lists/News/DispForm.aspx ..
Фича активируется для коллекции узлов. Сделать это можно используя stsadm, или добавив в секцию SiteFeatures в файле onet.xml шаблона узла.
Удачного сайтостроения!