Denis Gladkikh
Russian   |  English
Страница  1  2  3  4  5  6  7  8  9  10  11  ...  

Никогда не делайте классы и пространства имен с одним и тем же именем

Был у нас team leader (дальше просто лид). Тогда нас всех еще набирали на работу в компанию, где я сейчас работаю. Тогда намечалось создание нового продукта. Тогда нас брали, чтобы мы реализовали этот продукт. Перед тем как нас брали лид сделал правильную вещь, он остановился на модульной архитектуре, выбрал Prism, создал несколько модулей на клиенте, а на сервере под них сервисы. Раздал каждому разработчику по модулю (они практически были все независимы) и ждал результата. Очень все было верно, разработчики знали друг друга плохо, мы писали потихоньку код и знакомились.



Code Contracts. Еще небольшой пример использования и общие впечатления

Прошло уже более месяца с того момента, как я начал использовать Code Contracts в проекте нашей компании, и как я написал статью о них Небольшой пример использования Code Contract. Хочу порекомендовать документацию с сайта Microsoft Research, если еще не читали.

Вообще, как мне и сказали в комментариях к предыдущей статье – во-первых, с ними немного сложно: в целом все настроить, и чтобы все отлично работало. Во-вторых, увеличивается время билда из-за перезаписи. Я пока настроил контракты только для серверной части нашего проекта, пока не вводил их для клиентской части. Серверных библиотек у нас раза в 3 меньше, чем библиотек на Silverlight. На сервере контракты пока что оправдывают себя неплохо.



Silverlight. Основы. Валидация. Часть 2. IDataErrorInfo & INotifyDataErrorInfo

Буквально вчера написал первую часть статьи про валидацию введённых данных в Silverlight, сегодня хочу продолжить эту тему, чтобы не откладывать в дальний ящик. В этой части я попробую дополнить первую часть, скажу еще, что не сказал про DataAnnotations, а так же опишу интерфейсы IDataErrorInfo и INotifyDataErrorInfo. Рекомендую прочесть первую часть статьи перед прочтением этой, потому как я буду использовать все тот же пример.



Silverlight. Основы. Валидация. Часть 1. DataAnnotations & ValidatesOnExceptions

В Silverlight 4 есть несколько способов для валидации введённых данных, точнее несколько подходов для реализации валидации. Первый вариант, реализация валидации на DataAnnotation. Вариант, когда правила валидации описываются при помощи атрибутов. Два других подхода – это реализация одного из интерфейсов IDataErrorInfo или INotifyDataErrorInfo. Я хотел бы остановиться на каждом из подходов, поговорить о преимуществах и недостатках каждого из них. Цель данной статьи выявить лучшие практики для валидации для себя и для вас. Так получилось, что статья оказалась большой, потому реализую ее в два или три подхода. Эта часть только про DataAnnotation.



Рецензии двух новых книг от O'Reilly о HTML и JavaScript

Мне на руки попались две интересные книжки о Html 5 и JavaScript (ECMAScript 5):

  • Mark Pilgrim - Html 5: Up and Running
  • Shelley Powers – JavaScript Cookbook

Обе книги от издательства O’Reilly, первая так же под знаком Google Press. Обе книги на английском языке, и вряд ли в ближайшем будущем будут русские переведенные варианты. Если вас это не пугает, то попробую описать поподробнее о каждой книге.



Подарю оплаченную поездку с проживанием на Платформу 2011

Так получилось, что еще в прошлом году я выиграл поездку на Платформу 2010 по программе itbonus.itcommunity.ru. Тогда я этой поездкой не воспользовался просто потому, что никто и не предлагал, тогда я поехал в зону ATE “поработать”. Сейчас мне вспомнили ту выигранную поездку и предложили участие с оплаченным проездом. Но так неприятно получилось для меня и так посчастливилось вам, что я на эти дни запланировал уже давно отпуск, и потому не смогу поехат. Собственно, ее нужно кому-нибудь подарить. Скажу сразу, что я не несу ответственности, что приз вам 100% перейдет, и вы точно поедете на конференцию, я только сделаю все что в моих силах, чтобы передать эту выигранную поездку вам, а все остальное лежит на плечах Microsoft (потому побеспокойтесь, чтобы если что у вас было где остаться в Москве, а то мало ли конференцию оплатят, а проживание нет – всякое бывает). Я узнавал – дарить поездку можно, это все что я знаю.

Для того, чтобы участвовать в розыгрыше – пишите комментарий к этому посту “Я хочу поехать на платформу 2011, потому что …”, и вот вместо троеточия что-то умное. Не просто “хочу”, а типа “моя компания жадная и не оплачивает поездку, а я хочу узнать все про Azure и разработать потом супер-мега приложение и открыть свою жадную компанию”. В общем, я отбираю только реальные “потому что”, затем устраиваем random и находим победителя. Комментарии принимаются до 9 октября включительно. 10 ноября я провожу random, потом нахожу автора и перенаправляю победителя к ответственному за поездку.

P.S. Это сообщение живет только в рамках этого сайта. Так сказать, только для активных читателей моего блога, в ваших же интересах не писать об этом сообщении в твиттере и не распространять друзьям ;)



Немного о системах хранения исходников

У меня уже достаточно давно стоит дома репозиторий для хранения исходного кода и документов. Поставил я его, наверное, еще года 4 назад, как начал работать удаленно дома. Он использовался сначала для проектов, над которыми работал (удаленного репозитория в тот момент в той конторе не было – странно, но не было), затем начал хранить свои мелкие проекты, наработки, потом подумал о том, что и диплом, который я писал в то время в LaTeX, тоже очень хорошо хранить в репозитории. Потом и OneNote, презентации, документы и т.д. Самое удивительное, что за эти 4 года репозиторий у меня вырос всего на 200 мегабайт. Использовал я тогда обычный SVN. Поставил TortoiseSVN, сделал репозиторий в папке и начал использовать. Со временем появилась необходимость расшаривать этот репозиторий между несколькими компьютерами, тогда я познакомился с Visual SVN Server, который так удачно оказался бесплатным.



Application Developers Days 2010–как это было…

Если вкратце – это было незабываемо! Конференция проходила в два дня в Ярославле 23-24 сентября (четверг и пятницу) – может быть, эти даты служат причиной, почему многие кто “хотел” не попали на конференцию, все-таки два рабочих дня. По мне так, ну и хорошо, нам больше пирожков досталось.

Давайте о главном, о докладах. Столько ненужной и неполезной мне на данный момент информации я не получал никогда, но в то же время столько интересной информации я тоже не получил никогда (кто знает, может, пригодятся мне когда-нибудь эти знания). Именно так можно охарактеризовать конференцию. Темы докладов были настолько разрозненные, что иногда просто было сложно переключаться. Люди уже просто терялись, было два доклада с одинаковым набором слов “Статический анализатор кода”, один в первый день, другой во второй день. И тот народ, который был на первом докладе, во второй день мне явно говорил – “неее, туда мы не пойдем, нас там, в прошлый раз загрузили этим анализатором”, и благо я объяснил сомневающемуся народу, что доклад будет совсем не про то, что тема-то совершенно другая. 

Главное, что я получил с этой конференции – это новые знакомства. Столько новых лиц, интересных личностей. Я наконец-то увидел кто это - Алёна C++. Кстати, ее доклад, раскрывающий простые принципы разработки AI в компьютерных играх – неописуемо интересный. Про каждый доклад, на котором я был, мне писать не хочется, каждый был в той или иной мере интересным и познавательным, посмотрите просто в твиттере тред с #ADD2010 и вы все поймете, ну и само собой про каждый доклад можно было бы немного понудить, вроде: это очевидно, а тут можно было остановиться и т.п.. После мероприятий в оба дня были небольшие afterparty, на которых очень хорошо пообщались с докладчиками и организаторами конференции. Знаете, так и хочется перечислить все доклады, на которых я был, поблагодарить каждого, не обойти стороной одного очень эксцентричного человека (думаю тут ясно про кого я), но я все-таки не буду вас нагружать этим. Попробуйте приехать на следующую такую конференцию, пока правда не понятно где она будет и когда именно. Я чуть-чуть застал это обсуждение, но в то afterparty, понятное дело, точного решения пока выявлено не было.

Теперь собственно про мой доклад. Мне предстояло биться за аудиторию с Мишей Черномордиковым, немного опасался, что ко мне может вообще никто не прийти на доклад с темой “Silverlight/WPF: возврат от паттерна MVVM to MVP”, опасения не оправдались – народ был, наверняка не столько, как было у Миши, но мне хватило аудитории. После доклада подарил подписку MSDN Ultimate одному из слушателей, ну и вопросов было предостаточно, что очень порадовало – это все-таки самая весомая оценка для меня. И простит меня Стас Фомин, который написал чудо программку, которая записывала все доклады, и который объяснял мне как этой программкой пользоваться, я тупо забыл включить запись. Саму презентацию я выложил Add2010 - Silverlight/WPF: MVP&MVVM, но больше у меня было, конечно же, слов, чем слайдов. Запись выступления будет, но вот последние 10 минут, где я знакомлю с примером – не знаю в каком качестве будут. Если есть желающие – могу безвозмездно рассчитаться с вами в виде LiveMeeting с прочтением полностью моего доклада.



Идея для стартапа

Не так давно, после прослушивания одного из подкастов группы Alt.Net, где они обсуждали систему ITBonus от Microsoft, у меня возникла идея небольшого стартапа. Попробую ниже описать основную мысль. Вообще, я уже выражал по этому поводу свои мысли и они были восприняты по-разному, кто-то сказал, что идея интересная, кто-то наоборот не увидел в ней ни капельки жизни. Чтобы проникнуться идеей, вам хоть немного нужно быть знакомыми с модными ресурсами, вроде http://habrahabr.ru и http://progg.ru, так же просто для того, чтобы было – http://itbonus.itcommunity.ru. Вот я попробую объединить все эти три ресурса в один правильный. Мне интересно ваше мнение.



Небольшой пример использования Code Contract

Признаюсь честно, что с темой Code Contract в .Net 4 я знаком давно, но вот реально ее использовать мне что-то не очень-то хотелось. Привык я к простым и обычным проверкам, вроде

if (argument == null) 
    throw new ArgumentNullException(“argument”)

А вот большого плюса от контрактов я не увидел. И вот недавно переставлял себе Windows из-за счастливого приобретения Intel® X25-M, и так получилось что случайно выбрал в фиче R# или Visual Studio 2010 при щелчке на классе левой кнопкой мышки при удержании Ctrl переход на метаданные, а не как обычно Object Explorer. И вот как-то перейдя на один из классов System.xxx попался мне исходный код (метаданные) одного из базовых классов .Net, там я заметил, что контракты распространенно используются в базовых классах фреймворка. Кстати, кто-нибудь знает как сделать так, чтобы при щелчке на классе с зажатым Ctrl все-таки переходить в Object Explorer?



Страница  1  2  3  4  5  6  7  8  9  10  11  ...