в

Беларусь

Belarusian .NET User Group

.NET в Беларуси

  • MOSS 2007 Q&A

    За последнее время поучаствовал в нескольких мероприятиях, посвященных SharePoint 2007, в том числе ATE на TehcEd’e и Платформе 2009. Обещал выложить список наиболее интересных и частовстречающихся вопросов, которые задавались. Надеюсь, этот список будет пополняться в дальнейшем.

    • Для отключения функциональности My Sites не нужно удалять соотвествующий контрол из default.master :-) Уже в двух проектах сталкивался с тем, что просто дизайнер брал и удалял контрол, отображающий это меню. Для этого есть опция в разделе “Personalization Services” на сайте администрировашия Shared Service Provider. Там можно указать, в том числе, кому можно создавать персонализированные сайты. По умолчанию это разрешено всем авторизированным пользователям.
    • Site Variations (на русский труднопереводимо) – работают только для Publishing сайтов. Идея в том, что если у вас есть несколько версий (variation labels) и вы добавили новый паблишинг контент – он автоматически распространяется на все языковые версии в статусе “draft”, таким образом ожидая перевода на конкретный язык. Для библиотек документов и списков это не работает; попросту говоря, по умолчанию, SharePoint не предоставляет возможности для работы с многоязычными версиями, например Team Sites.
    • Root variation label не может быть изменен в дальнейшем. Т.е. если вы поставили источником контента английскую версию, потом передумать уже будет очень дорого :-) Особенно, если система пошла в продакшн.
    • Следующая версия MOSS будет только x64 (Во всяком случае такая информация у меня есть после общения с Paul Andrew, Senior Technical Program Manager в команде SharePoint). Хотя в настоящий момент Visual Studio Extensions for SharePoint работают только на 32-х битных машинах. Запустить на x64 можно, предварительно отредактировав msi, ключевая функциональность (например, развертывание прямо из VS) работать не будет.
    • Не все знают про “40 magic WSS templates” – бесплатных шаблонов, в которых реализованы различные рабочие процессы, например автоматизация отдела поддержки. Естественно, для автоматизации работы реального отдела требуется большая дороботка, но если вы не очень хорошо знакомы с WSS – рекомендую взглянуть на эти шаблоны.
    • Если кажется, что в некоторых сценариях MOSS API либо веб-сервисы ведут себя нелогично (типовые сценарии, когда жизненный цикл контролов/вепартов/и т.п. в шарепоинте отличается от жизненного цикла ASP .NET – того, который ожидает ASP .NET программист, разрабатывающий под MOSS) – пишите свою обертку. Очень сложно порой бОльшй контроль там, где это не предусмотрено. Да, вот такой совет :-) В 40% случаев рекомедую его вспомнить.
    • При разработке решений, которые будут работать под большой нагрузкой(много одновременных пользователей), очень рекомендую изучить тему очистки таких объектов как SPSite и SPWeb. Т.к. это, по сути, обертки на COM-объектом, если не заботиться об их очистке – быстро закончится память, т.к. объекты очень тяжелые. Более подробно см. статью MSDN Best Practices: Using Disposable Windows SharePoint Services Objects
    •  

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      Отображение отладочной информация при ошибках в SharePoint. (Обычные сообщения, типа “An unknown error occurred. Please contact your system administrator.” не очень информативны, особенно когда происходит исключение в кастом коде, и в EvenViewer ничего не пишется при этом.)  Недавно столкнулся со случаем, когда на продакшн ферме не был установлен .NET FW 3.5 SP1 и после деплоймента custom кода, там, где он должен был работать, появлялась ошибка “File Not Found”. Ушло 3 дня что бы понять что происходит. Что бы избежать подобных казусов, для отоборажения полной информации об ошибке

      нужно сделать 2 простых модификации web.config. Найти строку

     

    <system.web> 
      ... 
     <customErrors mode="On" />
      ...
    </system.web>

     

    и выставить значение в Off.

    Для отображения стека найти строку

    <SharePoint> 
      ... 
     <SafeMode MaxControls="50" CallStack="false" /> 
             ...
    </SharePoint>
     и установить значение CallStack в true.

    Надеюсь, эта информация поможет не наступить те же грабли, на которые уже многие наступили.

  • BizPark

    BizSpark это инновационная программа, предоставляющая начинающим компаниям-разработчикам ПО в течение 3 лет набор следующих преимуществ:

    Доступ к технологиям, в том числе:

    · Средства для дизайна, разработки и тестирования. Предоставляются лицензии на  Expression Studio (1 лицензия), Visual Studio Team System c MSDN Premium и Team Foundation Server (стандартный выпуск) на всю команду разработки

    · Лицензии на промышленное использование для размещения в сети Интернет решений типа SaaS и интернет-сервисов, созданных на базе программного обеспечения.  Предоставляются лицензии на  Windows Server, SQL Server, SharePoint Portal Server, Systems Center, BizTalk Server без ограничения количества.

    Поддержка

    · Профессиональная поддержка от Microsoft: 2 инцидента технической поддержки на компанию

    · Доступ к MSDN Premium

    · Поддержка Партнеров по сообществу BizSpark : консультации, инвестиции, хостинг, и пр.

    Продвижение

    · Возможность заявить о себе, создав свой профиль в интерактивном каталоге BizsparkDB на сайте Microsoft Startup Zone

    · Возможность быть отобранной в BizSparkDB как «Компания недели» BizSpark на сайте Microsoft Startup Zone

    Условия предоставления преимущества BizSpark:

    1. Компания должна разрабатывать программный продукт или размещаемый интернет-сервис, основанный на программном обеспечении, который будет являться ключевой компонентой собственного бизнеса компании. Если компания развивает одновременно несколько видов бизнеса, то лицензии, полученные в рамках BizSpark могут использоваться в рамках разработки тиражируемых продуктов и сервисов, но не могут – для оказания услуг конечным заказчикам , таких как хостинг, дизайн веб-сайтов, системная интеграция, аутсорсинговая разработка ПО.

    2. Компания должна быть частной, находиться в бизнесе не более 3 лет и иметь годовой доход не более 500 тыс. долл. США (цифра дохода приведена для России). Предприниматели, которые только находятся в процессе регистрации юр. лица, также могут участвовать в программе.

    Регистрация в программе бесплатна. По окончании членства в программе, начинающая компания должна оплатить Microsoft  взнос за участие в программе в размере 100 долл. США.

    Подробное описание программы может быть найдено здесь: http://ms-start.ru/Programs/BizSpark.aspx

     

    У нас в Беларуси программа пока не запущена – на сколько мне сейчас известно это произойдет в начале следующего года. Если у Вас есть вопросы относительно перспектив этой программы в Беларуси – пишите мне на e-mail.

  • О Кризисе

    Стараюсь технические темы смешивать с житейскими, тем более такими насущными…

    Наверное мало кто знает, но с января 2009 в Майкрософт Россия новый руководитель. Выдержка из новостных лент

    Исполнительный вице-президент АО "Вымпелком" (торговая марка "Билайн"), отвечавший за развитие международного бизнеса компании, с 1 января 2009 года возглавит российское подразделение корпорации Microsoft, говорится в сообщении "Вымпелкома".

    Прянишников сменит на этом посту Биргера Стена, который работает в российском Microsoft с 2004 года - сначала в должности гендиректора ООО "Майкрософт Рус", а затем - главы российских операций компании. До лета 2009 года Стен останется в России и будет помогать Прянишникову.

    Очень понравилось их совместное выступление с Биргером на закрытии Платформы. Говорили в том числе и о кризисе. Ключевое в том, что бизнесу нужно экономить с помощью IT, а не на IT.

    За последние 2 месяца так получилось что я мало был в Минске, но знаю, что проблемы возникли практически у всех наших IT-компаний, особенно крупных. Биргер классно сказал на эту тему, что кризис очистит бизнес от слабых игроков. Это как в российском сериале про “ментов”:

    - Волки позорные!

    - Мы не волки, а санитары леса.

    Бизнес модели будут в любом случае очень серьезно проверены на прочность. У нас то в менталитете как? Проблем нет никогда. Зато посмотрите, а воооот как у них на Западе. На самом деле все одинаково (ну или почти). Единственное, что как известно, декларация проблемы – 50% решения.

    Проблемы бизнеса, естественно становятся проблемами сотрудников, интересно, кого-нибудь из участников нашей UG это коснулось?

    Или может быть кто-то обратил кризис себе в помощника? (у китайцев, кстати, второе значение иероглифа “кризис” – возможность)

    Пишите в комментариях свой опыт.

  • Русская версия VS 2008 и MSDN

    Позавчера на MVP Open Days нам была озвучена дата 16 декабря 2008 – именно в этот день выйдет русская версия Visual Studio 2008 и библиотеки MSDN. Пока эта дата публично не аннонсирована, но меня обещали не бить за то, что аннонсирую ее здесь smile_embaressed

    Впрочем, MSDN уже доступна http://msdn.microsoft.com/ru-ru/default.aspx

    Интересно, что на круглом столе, посвященном этому событию, мнения на тему, нужна ли нам русская студия, среди MVP разделились где-то 70/30 в пользу не нужна.  Напомнило отношение программистов на ассемблере ко всем остальным, которое было лет 10 назад :-) Интересно, как вам перспективы переучивания сантехников, не знающих английский, в программистов?

  • Visual Studio 2010 – Ваш feedback

     

    Если вы уже работаете с VS 2010, тогда информация ниже должна быть интересна

    Developer Division recently released the Visual Studio 2010 and .NET framework 4.0 CTP publically at https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=9790. The goal of the Community Technology Preview is to obtain feedback from our MVPs and customers on the new scenarios we have enabled. MVPs are encouraged to set up the CTP and engage directly in a conversation regarding each  walkthrough with the team working on that scenario in a forum thread: http://social.msdn.microsoft.com/Forums/en-US/category/vs2010ctp

    Так что если есть замечания/баги/предложения – у каждого (это касается не только MVP) есть возможность высказать их продуктовой группе.

     

    Либо, если по какой то причине нет возможности писать в MSDN, можно оставить комментарии к этому посто – я перешлю самые конструктивные продуктовой группе VS в Редмонд.

  • Топология развертывания SharePoint’a – Часть 1. Доступность.

    Одной из ключевых возможностей Microsoft Office SharePoint Server 2007 является то, что он поддерживает установку в масштабируемых кластерных системах. Это позволяет обеспечить высокую отказоустойчивость и доступность системы.

    Почему доступность важна? Как сказал один товарищ из Microsoft Consulting Services, если сервер лежит, то о производительности уже можно не беспокоится :-)

    Говоря о доступности, обычно опериют понятием downtime, т.е. сколько времени ваше приложение может быть недоступен, или, как говорят иногда “лежит”. Приведу таблицу, что бы приблизительно понять

     

    % доступности Время недоступности в день Время недоступности в месяц Время недоступности в год
    95 72.00 минуты 36 часов 18.26 дней
    99 14.40 минуты 7 часов 3.65 дней
    99.9 86.40 секунды 43 минуты 8.77 часов
    99.99 8.64 секунды 4 минуты 52.60 минуты
    99.999 0.86 секунды 26 секунд 5.26 минут

    Разработчику ингда полезно задуматься над этими цифрами, не только при разработке SharePoint проектов.

    Если рассмотреть топологию вида Database Server – Application server – Web Front-End server, то очевидно, что должна быть должным образом обеспечена доступность каждого компонента в системе.

    Обычно БД очень критична, и в простейших случаях начинают с кластера на базе SQL Server, а все остальные сервисы SharePoint’a оставляют на App Server’ e и WFE сервере. Получается топология из 4 физических серверов.

     

    clip_image001

    Это минимальная физическая топология, которая рекомендуется для продакшн развертывания. Логические роли-сервисы SharePoint’a в этом случае запущены на App и WFE серверах, что не есть идеально, но good enough.

    В следующий раз изложу свои размышления насчет как раз логического размещения сервисов.

    Вопросы относительно этой серии постов задавайте в этой теме форума.

  • Spec# и контракты

    Я уже писал о том, что в .NET 4.0 появится библиотека для поддержки контрактов. Этот проект вырос из проекта Microsoft Research – Spec#.

    По понятным причинам в мейнстрим весь Spec# не пойдет, тем не менее интересно взглянуть, что же там такого, что позволит нам писать более надежные программы.

     

     

    Одна полезных фич, в том, что Spec# умеет выводить контракты из стандартной библиотеки дотнета. 

    image

    Обратите внимание на tooltip.

    image

     

    Переменная home на первом скриншоте может быть null, что не учтено при вызове метода на втором скриншоте.

    Исправим положение, продекларировав, что мы ожидаем переменную окружения HOME.

    в синтаксисе Spec# это будет выглядеть так

    string! home = Environment.GetEnvironmentVariable("HOME");

    В этом случае мы получаем предупреждение в том месте, где оно и должно быть

    image

    Обработав такое предупреждение (простой проверкой на null), мы можем быть уверены в том, что дальше переменная окружения HOME реально существует.

     

     

     

    Вот такой вот мощный инструмент можно применять для повышения качества кода. К сожалению, в .NET 4.0 не будет расширений языка, а все вызовы библиотеки придется делать вручную, в том числе и контракты декларировать.

    Вот такая вот эволюция research – mainstream :-(

  • Зима [offtop]

    В Голландии наступила зима (да, 3-й пост в блоге за день – явный тому признак). Причем конкретно так снег валит. В пятницу вечером был в Амстердаме, и как раз снег пошел. Произошел такой диалог между парнем по имени Dave и мной.

    (Dave) - It seems like in Russia.

    (я) – No, I would say it is still Holland.

    В любом случае, не Барселона. Невероятно, но факт, что многие здесь все еще верят в наши зимы с морозом –30. Хотя и не все, нужно признать. Вот один голландец сказал в разговоре о зимах в России/Беларуси.

    - I know that in 42 [имеется ввиду 1942]  it was something about –30. However it’s better to ask Germans about this.

    Было смешно, учитывая что у нас в проекте немец-консультант :-)

    …Хотя вот девушка в парикмахерской вообще не знала что за страна такая, Россия (не говорю уже про Беларусь). Причем, когда я сказал, что это самая большая страна в мире по территории и находится между Европой и Китаем, она даже в лице не изменилась…

  • Tech Ed Developers – День 5

    Сегодня последний день Текеда, центральным был доклад Мэдса Торгерсена (Mads Torgersen) о будущем C#. Ключевые моменты:

    P1010023 P1010017 P1010018 P1010019 P1010020 P1010021

    Потом еще около часа беседовали о разных нюансах, много об интеграции с DLR, концепции Compiler as a Service, Мэдтс показал текущий прототип, было очень забавно увидеть C# в качестве скриптового языка.

    На ближайшей встрече UG (это будет где-то конце Ноября – начале Декабря) мы обязательно подробно поговорим о C#.

  • Tech Ed Developers – День 4

     

    Сходил на доклад Дэвида Платтта (David Platt); зажигательно рассказал про свою систему, которая позволяет логировать действия пользователя в вашем приложении.

    А так же немного о концепции в целом, раскритиковав при этом Microsoft Customer Experience Improvement Program – оказывает, Майкрософт это уже давно делаетsmile_regular

    Для тех, кто разрабатывает коробочные продукты, очень рекомендую взглянуть на бесплатную версию его фрэймворка http://KnowThyUser.com

    Реализация, на мой взгляд спорная, но идея очень интересная.

  • Tech Ed Developers – День 3

     

     

    Общались сегодня с Mads Torgersen, из С# Design Team. В будущем релизе C# появится поддержка контрактов. Идея будет очень похожа на Spec#, проекта Microsoft Research в Кембридже. Интересно, но это особо не аннонсировалось, даже под NDA. Правда это будет не фича языка, а библиотека.

    Вообще, по словам представителей различных продуктовых групп, связаных с языками, намечается сдвиг именно в сторону библиотек, что на мой взгляд разумно. Это позволяет использовать одни и те же вещи, одновременно, скажем и в C# и в F#. Если вдруг что-то становится жутко популярным – лишь тогда это будут делать встроенным в язык.

    Есть так же очень осторожное движение в сторону поддержки мета-программирования, об этом говорил раньше Андерс Хейлсберг, сегодня же это подтвердил и Мэдс.

  • TechEd Developers – День 2

    Вчера Jason Zander аннонсировал VS2010, где ее скачать вы уже знаете из моего предыдущего поста; из ключевых особенностей

    - встроенная поддержка разработки под SharePoint

    - естественно .NET 4.0

    - поддержка ASP .NET MVC и jQuery

    - много удобных средств для мониторинга и отладки многопоточных приложений

    Подробно вы можете посмотреть на блоге у Джейсона; а узнать и посмотреть – 20-го на Днях Разработчика в Минске.

    Остальной весь день посвятил весь шарепоинту, пообщался с ребятами из SharePoint Product Group, об этом напишу позже, т.к. много интересного.  Сегодня одна из самых интересных сессий, на мой взгляд – посвященная WF 4, Dublin и Oslo. Тем более, когда спикер – David Chappel.

    P1010148 

    P1010147

    P1010153

     

    Одна из лучших технических презентаций, которые я видел в живую. Лучше, наверное, может быть только Дон Боксsmile_regular.

  • VS 2010 CTP Доступна

    http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&displaylang=en

    Если у кого нет возможности скачать большой объем, напишите мне, по приезде в Минск смогу записать DVD.

  • TechEd Developers – День 1

     

    Наверняка многие знают, на этой неделе проходит конференция TechEd в Барселоне, я расскажу о своем пребывании здесь, наиболее интересных событиях, людях.

    Прилетел вчера, сразу почуствовал что-то родное в испанцах. До этого 2 недели был в Германии и Голландии; Барселона – первый город за 2 недели, где люди переходят дорогу на красный свет. Знакомо?

    Вечером нужно было зарегистрироваться, в итоге до места проведения конференции везли 3 таксиста, потому как первые 2 привезли совершенно ни туда, но при этом на чистом испанском доказывали что это именно то место, что мне нужно.

    Зарегистрировался, получилось вот так. Это мой коллега Питак, младший expert, заюзал беджик.

    pitak

    Был сильно удивлен, когда в расписание меня поставили в секцию (точней в будку “Ask The Experts”, как это тут называется) SharePoint 2007, хотя основная экспертиза у меня C#, хоть и занимаюсь Шарепоинтом последний год. Должен провести 3 дня по 4 часа отвечая на вопросы, пришла идея по результатам выложить наиболее интересные тут (много вообще у нас в сообществе занимаются шарепоинтом?).

    Сегодня в 14-00 keynote,  Jason Zander, General Manager Visual Studio Team, Developer Division, Microsoft Corporation; будет рассказывать о новой VS 2010. Мне удалось не так давно посмотреть на VS2010 – чувствуется немалый effort, поддержка новых возможностей C# 4.0, динамических языков, сильверлайта, средств для работы с многопоточными приложениями…

    У нас в Миснке 20-го числа про студию будет рассказывать Сергей Байдачный http://belarusdotnet.org/blogs/gigabit/archive/2008/11/03/170.aspx

    Вообщем то пока все, продолжение следует.

  • Дни разработчика 2008 в Минске

    Коллеги,

    20 ноября в Минске пройдут Дни Разработчика Microsoft. Будет подробно рассказано о ключевых будущих продуктах Microsoft, которые только на прошлой неделе были аннонсированы на PDC. На мой взгляд предстоящее мероприятие – самое интересное из проводимых в Минске DevDays. Windows 7 и Visual Studio 2010 – оно того стоит.

    Участие бесплатное, нужно лишь зарегистрироваться здесь.

    Если есть вопросы – пишите мне в комментариях или Сергею Байдачному на e-mail.

Далее « Предыдущая страница - Следующая страница »

Сейчас на сайте

Community Server (Commercial Edition)