?

Log in

No account? Create an account
outcoldman
05 September 2011 @ 10:37 am

Я достаточно часто слышал вопрос о том, можно ли в Silverlight работать с сертификатами. Основную задачу, которую хотели решить при помощи этого – это подпись данных или документов на стороне клиента. Я обычно с такими задачами сталкивался в проектах, которые отчасти или полностью были государственными. Требуется это в них потому, что не хотят в России доверять людям, а так же не верят, что любую защиту можно взломать (хотя бы методом паяльника или утюга). Я когда-то давно писал статью о "Использование сертификатов: Подпись данных на стороне клиента." (это была, кстати, первая моя статья, вообще), тогда это все делалось в виде CAPICOM + Javascript. Собственно, вопрос: с выходом Silverlight 5 что-нибудь изменится?

Читать дальше... (redirect to http://outcoldman.ru)

 
 
outcoldman
05 September 2011 @ 10:37 am

SQL Compact Edition – это действительно отличное решение для разработчиков использующих .NET платформу. SQL CE можно использовать и как хранилище для небольших веб проектов (как мой сайт http://outcoldman.ru), так и для Windows приложений (WinForms, WPF). А особенно с ORM от Microsoft, Entity Framework 4.1, приложения можно разрабатывать очень легко и быстро. Правда, у этого решения есть небольшие проблемы с набором инструментов, поставляемых с ним. Так, например, непонятно как профилировать SQL запросы.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
 
outcoldman
05 September 2011 @ 10:37 am

IDN (Internationalized domain name) – это имена доменов, которые могут быть представлены в виде имени, содержащем не только латинские буквы, но и буквы других национальных алфавитов, вроде русского, арабского, китайского и т.п. (на данный момент поддерживается не так много). Представлены – это ключевое слово, так как на самом деле хранятся и передаются они в виде Punycode строк. Например, у нашей любимой почты России есть сайт http://почтароссии.рф, а Punycode представление этого сайта http://xn--80aqavbdjjaf8c.xn--p1ai/. Это важно понимать, если вы будете в запросах своего приложения (используя WebRequest, например) писать хост как IDN представление, то это имя хоста не будет распознано (если у вас не какой-нибудь специальный DNS сервер), нужно заранее переводить его в Punycode строку.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
outcoldman
05 September 2011 @ 10:36 am

Debugger Canvas – это достаточно интересный способ отладки приложений (и не только). Этот плагин для Visual Studio Ultimate дает немного, пока для меня, необычный способ пошаговой отладки в Visual Studio. После установки этого расширения в Visual Studio ничего настраивать не нужно, а увидеть его работу можно сразу же после запуска приложения под отладчиком и установки точки останова. Debugger Canvas автоматически откроет в Visual Studio отдельный таб со своей функциональностью. Идея этого расширения в том, что оно открывает каждый отлаживаемый метод в отдельной области, позволяя на одном экране проследить цепочку вызовов методов (call stack) и более того иметь возможность просматривать значения локальных переменных в предыдущих методах по цепочке, если вы проходили их под отладчиком.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
 
outcoldman
05 September 2011 @ 10:36 am

Любому приложению нужно что-то сообщать пользователю, например, об удачном или неудачном окончании операции, о неожидаемой ошибке в приложении. Реализовать такие информативные области можно по-разному. Есть старый, проверенный, способ с MessageBox. Эти диалоговые окошки с нами уже очень давно, они переходят из технологии в технологию, и в Silverlight есть такой класс MessageBox.

Есть и другой способ отображать сообщения, который я считаю немного дороже по реализации, но который в несколько раз более приятный для глаз пользователя – это отображение этого сообщения не как модального окна, а как некоторой области прикрепленной сверху или снизу. Один из примеров: нотификация в браузерах о том, что страница пытается получить информацию о вашем местоположении. Правильная комбинация обоих способов, конечно же, дает самый лучший и приятный вариант для пользователя, ведь иногда нам все-таки нужно остановить пользователя, чтобы спросить его о чем-то, и тут приходит на помощь первый вариант. Сегодня я хотел бы более подробно обсудить первый вариант на примере Silverlight, так как именно там стандартный MessageBox уж очень скудный.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
 
outcoldman
31 May 2011 @ 07:37 pm

На прошлой неделе побывал на конференции DevCon, устроенной компанией Microsoft. На эту конференцию я поехал как эксперт (стоял в зоне “Спроси эксперта”). Эксперты на конференции, в основном MVP, – это люди, которые гарантируют вам, что они являются заинтересованными в последних тенденциях технологии, по которой они считают себя экспертами, а так же они заинтересованы в решении чужих проблем, но они не могут вам дать ответ на все ваши вопросы. В общем, если вы на будущих конференциях увидите такую стойку, то не считайте их какими-то заносчивыми экспертами, а просто подойдите и поболтайте с ними, на любую тему. И учитывайте, что они не являются официальным голосом Microsoft, это сторонние разработчики, и они могут без проблем согласиться с вами в том, что какая-то технология хуже, чем что-то. На этот раз, я считаю, что зона экспертов удалась более чем, потому что: (а) мы были за стойкой, к которой свободно можно было подойти, в отличие от зоны эксперты на платформе, где все эксперты стоят за круглыми столами, к которым просто не реально протиснуться; (б) мне было тяжело вырваться на доклады, так как общаться приходилось много с кем.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
 
outcoldman
24 May 2011 @ 11:49 pm

Как часто у меня бывает такое, что в одной руке у меня кружка чая или пряник, а другой рукой я печатаю и вожу мышкой. И вот не могу я одной рукой сразу же нажать Ctrl+C или Ctrl+V (могу конечно, но не удобно, не привычно). Во всех программах, на всех сайтах, у меня есть возможность выделить мышкой текст и скопировать его, а дальше вставить в другое место, а вот TextBox по умолчанию в Silverlight не предоставляет мне такой возможности, и это очень плохо. В особенности для бизнес-приложений. Люди привыкают к стандартным функциям, нельзя их лишать этого. Я говорю об этом меню:

sample

В Silverlight 4 появилась возможность обрабатывать нажатие правой кнопки мыши, и так же с ним появился контрол ContextMenu (в Silverlight Toolkit). Следовательно, мы теперь можем обогатить наш интерфейс.

Первое, с чего можно начать, это погуглить и найти что-то вроде такой статьи Silverlight 4 textbox right click context menu with cut, copy and paste behavior, которая приведет нас к более доработанному варианту TextBoxCutCopyPasteBehavior. Его, как показала практика, мне тоже пришлось немного доработать.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
outcoldman
23 May 2011 @ 11:21 pm

Сегодняшний день начался с очень приятной новости:

Untitled

Команда из ЯрГУ прошла в финал международного конкурса Imagine Cup, а следовательно едет в Нью-Йорк за счет нашего представительства Microsoft в России (Microsoft Rus).

Вообще, это интересно. Я мучился около 3х лет, чтобы найти и собрать хоть какую-нибудь команду для участия в Imagine Cup, старался, делал что-то. А потом пришли два студента: Алексей и Александр, которые сами, без какой-нибудь помощи сделали игру, и представили ее на международный конкурс Imagine Cup. Хоть я и зарегистрирован в команде как ментор, но все мое менторство – это только небольшие напутствия в самом начале разработки, и несколько раз помог с поиском девайсов для тестирования, ну, может быть, еще на пару вопросов ответил. Все остальное ребята сделали сами, за время существования команды к ним присоединился еще третий участник – девушка-дизайнер, с которой я, пока еще, не знаком. И вот, кажется, вот оно счастье: студенты прошли в международный финал, а значит и я, как ментор, могу сгонять в Нью-Йорк на халяву, за счет Microsoft, для поддержки команды, но скорее всего у меня не получится из-за грядущих изменений в моей жизни.

Надеюсь, что наша команда из ЯрГУ будет отличным примером для остальных студентов нашего вуза, а так же студентов других вузов. А я им завидую белой завистью, и только могу поругать себя за то, что ленился в студенческие годы. Я даже помню смутно, что как-то читал про какой-то там Imagine Cup, но для меня это представлялось каким-то заоблачным конкурсом.

Ребята молодцы! Я уверен в их победе, они ее заслуживают! И спасибо всем, кто помогал в тестировании их игры на реальных девайсах!

Читать дальше... (redirect to http://outcoldman.ru)

 
 
 
outcoldman
23 May 2011 @ 11:21 pm

По мотивам недавно прошедшей конференции в ЯрГУ 25 марта, на которую пришло уж очень не много народу, решил я написать небольшой мотивирующий пост для студентов и начинающих программистов/IT специалистов. Мою презентацию с доклада можно посмотреть на skydrive. Здесь же я постараюсь вкратце, на сколько это возможно, осветить этот доклад.

Это чисто мой полет мыслей, ни на какое откровение или новизну я не претендую. Начал я его писать сразу же после конференции (месяц назад), но все как-то не мог закончить. Радует безумно, что кроме меня со студентами и начинающими разработчиками хотят делиться все. Вот только в последние пару недель замечено два топика с похожими темами (и тоже стенограммы с конференций):

Ну и до нас не раз еще поднимали эту тему. Рекомендую читать и заряжаться всеми этими топиками.

Читать дальше... (redirect to http://outcoldman.ru)

 
 
outcoldman
23 May 2011 @ 11:21 pm

Наша команда настроила свою среду для тестирования Silverlight приложений еще год назад для Silverlight 3. Потом, со временем, просто обновляли библиотеки и приложения. Я бы хотел с вами поделиться теми удобными утилитами, которыми мы пользуемся для тестирования кода Silverlight приложений, как для запуска на локальном компьютере, так и для автоматизированного запуска на интеграционном сервере. Я буду говорить именно о Unit тестировании (блочном тестировании), а не о UI тестировании (тестирование интерфейсов). В нашей компании у нас есть команда QA, которая занимается UI тестированием, мы же просто пишем тесты для кода моделей представления и моделей. Для того, чтобы настроить среду для тестирования, мне понадобились: Silverlight Toolkit, Moq, R#, AgUnit, StatLight. А теперь обо всем по порядку.

Читать дальше... (redirect to http://outcoldman.ru)