Главная

Главная


Entity Framework Сегодня Сергей Байдачный начал выкладывать видео докладов с Дней разработчиков 2008 в Украине.

В том числе и мой - Введение в ADO.NET Entity Framework (я писал о нем в одном из предыдущих сообщений "Мой доклад на Developer Days 2008").

Жалко, что в ролики не вошли вопросы и ответы - обычно это самая живая часть докладов. А еще, пересматривая видео, я понял, почему доклад прошел минут за 40, хотя дома, когда я рассказывал его своей стенке, на это уходил положенный час. Если бы мой темп немного замедлить - получилось бы и спокойнее и понятнее. Но тем не менее, если выставить громкость на полную - смотеть его вполне можно :)

Приятного! [читать дальше]

"А что тут сложного?" удивитесь вы. А потом, подумав "вряд ли он ответит 'ничего' и этим закончит статью", спросите - "а в чем подвох?".

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

страница 404

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

Разработчики сайтов конечно понимают, что так поступать нельзя. Если это не ваш постоянный посетитель - после такого ответа вы его потеряли. Поэтому на сайте создается специальная страница, которая выводится, когда никто не знает что делать с этом странным адресом. Она имеет такой же внешний вид как и остальные страницы сайта и должна сказать посетителю "Все замечательно и под контролем! Да, вот этой информации у нас нет, но вы можете поискать здесь, или перейти вот сюда".

Вот так это, например, выглядит на сайте "сами знаете кого":

страница 404

А теперь, посмотрим чуть дальше. Да, с пользователем мы разобрались. А вот что будет с поисковыми серверами? [читать дальше]

 
 
Microsoft Chart Есть несколько типов элементов управления, которые очень часто используются в интерфейсе веб-приложений, но не входят в Visual Studio. Кто из вас не искал "симпатичный, но простенький календарик"? Или текстовое поле с минимальными возможностями форматирования (bold, italic, alignment)? Да, в сети полно таких компонент, многие бесплатны, многие являются OpenSource проектами, но их нужно искать ... выбирать ... проверять. Среди таких компонент попадаются отличные варианты, но за решениями от Microsoft стоят сотни и тысячи часов усилий по реализации и поддержке. А это значит - функциональность, все преимущества VS и IntelliSense и надежность (да-да, что бы там не говорили, у Microsoft очень жесткая политика разработки и тестирования; если вы пользовались сторонними компонентами Sheridan, Components Arts или Stingray то можете сравнить bug-листы и скорость их исправления).

Вот поэтому я всегда радуюсь, когда узнаю, что в составе VS появилось что-то новенькое. Хороший пример - библиотека jQuery. Она будет поставляться с 10-й версией Visual Studio и уже входит в инсталляцию ASP.NET MVC Beta. А недавно, семейство элементов управления от VS пополнилось еще одним очень полезным компонентом - Microsoft Chart Control. [читать дальше]

Microsoft Это событие произошло еще в сентябре. Но в то время блог пребывал во временно-вечном состоянии "не пишу, потому что еще чуть-чуть - и будет новая версия, а новой версии нет - потому что нужно пусть и чуть-чуть, но времени" :) А похва рассказать очень хочется ...

Дело в том, что мне предложили прочитать один из докладов на Киевском Developer Days 2008, которые периодически устраивает Microsoft. Можно было даже выбрать одну из тем, всего их было 4:
  • Internet Explorer 8: нові можливості для розробників
  • Розробка застосувань за допомогою Windows Presentation Foundation 3.5 SP1 (из двух частей)
  • SilverLight 2: архітектура застосувань, створення елементів керування
  • .NET Framework 3.5 SP1: ADO.NET Entity Framework

Ближе всего мне была последняя - Entity Framework. Дело в том, что до недавнего времени все мои проекты были по сути интернет порталами. А значит новинки IE 8.0 там использовать пока бесмысленно - очень важно, чтобы приложение одинаково хорошо работало под всеми браузерами (а в случае IE - с целой линейкой, начиная с 6-й версии) Кстати, подружить 6-ю и 7-ю версии на одном компьютере мне так и не удалось, так что о существовании 6-й я вспоминаю только когда слышу фразу "да у вас весь дизайн поехал" :(. WPF к веб-приложениям прикручивать вроде некуда, а SilverLight не прикрутишь именно к порталам - поисковые сервера до сих пор не могут найти, что же там можно проиндексировать :)

А вот Entity Framework вполне можно использовать для создания объектной модели. Так что я запустил Power Point и набрал на первой странице "ADO.NET Entity Framework".

[читать дальше]

Надеюсь, это сообщение закроет тему об электрнных картах, которая поднималась в постах "Электронные карты или в поисках фитнес-центра " и "И снова о картах". Надеюсь - потому что всегда хочется верить, что наконец-то ты нашел сервис, работать с которым будет удобно и п... [читать дальше]

Yandex map api Надеюсь, это сообщение закроет тему об электрнных картах, которая поднималась в постах "Электронные карты или в поисках фитнес-центра " и "И снова о картах". Надеюсь - потому что всегда хочется верить, что наконец-то ты нашел сервис, работать с которым будет удобно и приятно. И выбрал ты его не как наимение глючный и кривой, а по любви с первого взгляда :)

Итак, 13 ноября Yandex.ru запустил новый сервис API Яндекс.Карт. Он позволяет размещать Yandex карты у себя на сайте, осуществлять поиск, отображать свои объекты, создавать пользовательские карты ... [читать дальше]

История одной заглушки Давным давно, в XIII веке, в Праге начиналось строительство одной из теперешних святынь Чехии - Собора Святого Вита. Его сооружение растянулось на столетия. Времена тогда были другие, про agile-разработку никто и не слыхивал, так что к делу приступили серьезно и основательно. Первое время все шло как по маслу, но потом заказчик начал проявлять некоторое нетерпение и интересоваться результатами. По правде признаться, это было уже второе поколение заказчиков - Карл IV к тому времени благополучно скончался и контрольный пакет чешского королевства попал к его сыну Вацлаву.

Посетовав на несовершенство тогдашних методологий и затянутость первой итерации (более сорока лет) Вацлав деликатно намекнул, что пора мол и релиз какой-нибудь выставить. Чем раньше выставим версию - тем раньше начнем получать прибыль.

Но оказалось, что проект еще сыроват: хор недостроен, капелл готово только пять, южная башня не закончена и вобще, литургические элементы видны нечетко а про репрезентативные и говорит нечего.

Метр Парлеж, занимавший тогда должность главного архитектора проекта, срочно проводит кризис-митинг, в результате которого была выбрана важнейшая с точки зрения бизнеса user-story: "пользователи могут прийти и помолиться".

Вот тогда-то кто-то и предложил: "а давайте пока по быстрому сделаем заглушечку". И был построен провизориум - стена, закрывавшая хор поперек сроящегося собора. Это дало возможность а) освятить храм, значительно повысив его карму и б) дать простым пользователям место, где бы они могли спокойно помолиться, без необходимости пробираться в каске по стройплощадке.
Времена тогда все еще были другие, делали все обстоятельно ... так что и заглушка благополучно простояла более полутысячи лет.

К чему это я все? [читать дальше]

По инету катится очередная волна - "5 игр, в которые я играл больше всего". C подачи Сергея принимаю от него эстафету.

В последнее время играю я достаточно редко. Тот небольшой кусочек времени, который условно можно назвать "свободным", интереснее посвящать инету - своеобразной игре, в которой, после успешных квестов и переходов на следующие уровни, теоретически можно получать вполне материальные, а не виртуальные баллы :)

Prince of Persia Но, огляемся назад, итак, игра номер раз - "Принц Персии"



Prince of Persia Ой, нет,оглядываться нужно намного дальше ...

Вот теперь это она - игрушка, времен моего детства, которую я проходил еще на первом "Поиске". Тогда я был безрассудно романтичен и смыслом жизни на пару недель стало спасение прекрасной принцессы от жестокого ... хм, а бог его знает, обычно в сказках это главный визирь и по совместительству - главный отрицательный герой. На спасение принцессы отводился всего час, и чтобы успеть за это время, нужно было не совершить ни одной ошибки на всех 14 уровнях игры. Эти недели слились для меня в один бесконечный "День сурка". [читать дальше]

Lutz Roeder's .NET Reflector Lutz Roeder's .NET Reflector возглавяет мой личный хит-парад утилит, которые я использую для работы. Недавно, я наткнулся в инете на один небольшой plug-in, которого не хватало Reflector-у для полного совершенства.

Reflector.FileDisassembler - plug-in, который позволяет для выбранной сборки воссоздать исходный проект для Visual Studio. Это позволит вам воспользоваться полноценным поиском по исходникам, легко перевести проект с одного языка на другой или, когда анализ текста не смог вам помочь, создать по библиотеке проект, подключить его к вашему приложению и пройтись по нему отладчиком в run-time. [читать дальше]

script sharp Эта статья - продолжение поста "Script# - мощь C# и поддержка Visual Studio для клиентского Java Script".

Когда я прочитал общее описание Script#, все казалось простым и понятным, как форма поиска Google. Пишешь код на C#, компилируешь свое приложение - и получаешь нужные java scripts, которые замечательно работают под всеми браузерами. И уже не нужно вспоминать DOM модель браузеров, и тем более их различия - все можно делать на C#, который ты так хорошо знаешь (кто спросил, что быстрее, упаковка или распаковка? нуу ... видете ли ... по сравнению с другими операциями в ASP.NET, такими как обращение к базе или передача html-а браузеру, такими мелочами можно пренебречь, да? :( ).

Но, когда я создал новое web-приложение, подключил к нему необходимые библиотеки и попробовал написать код на C#, то вместо ожидаемых скриптов на выходе получил ошибку компилятора

Тип 'System.Byte' существует как в 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\mywebsite3\7bbce1b3\88786863\assembly\dl3\5c35aa86\00f49d47_1443c801\sscorlib.DLL', так и в 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll'

И вот тут-то пришлось вздохнуть, и начинать разбираться дальше. Итак ... [читать дальше]