31 жовтня 2010 р.

Microsoft Razor. Как настроить UI для хелперов

Всем привет,

 

Готовясь к Винницкому PDC я начал более активно копать новый View Engine Razor.

Итак View Engine Razor это основной синтаксис для создания сайтов с помощью Web Matrix, так же мы можем использовать его для создания View в ASP.Net MVC 3.0.

Хорошая новость - мы можем его использовать.

Плохая новость - подсветки и IntelliSense для него нету ( я говорю про MVC 3.0 ). 

Как я уже говорил в Razor для нас создали огромное количество хелперов, присутсвуют такие хелперы как :

 

  • Twitter
  • Bing
  • ReCaptcha
  • Google Analytics
  • And much more...

 

30 жовтня 2010 р.

Зустріч #7. Враження, враження, враження...

Ось і пройшла 7-ма зустріч .NET юзер групи.

Цього разу вона проходила в офісі GlobalLogic, де нас гостинно приймали, правда, і не без лишніх секюріті заходів - всі були внесені в список, а також у них треба двічі проводити карткою, щоб вийти: спочатку біля турнікету, а потім ще біля самих дверей. Мабуть вони розробляють надзвичайно секретні програми або є інші причини, незрозумілі для нашої логіки.

На зустріч зареєструвалось досить багато людей, близько 80-ти, що стало рекордною кількістю. Нажаль наша кімната вміщала не більше 50-ти осіб і розміститись нам було важко, тому багатьом відвідувачам не вистачало місця. Всі хто не попав, будь-ласка, не розчаровуйтесь, та приходьте наступного разу, GlobalLogic обіцяли, що відремонтують великий зал, спецільно для наших зустрічей :) Ми обов’язково виправимось, та постраємось оперативно реагувати на таку кількість зареєстрованих людей і шукати більше приміщення.


Доповідь 1. Getting Scrum

Ігор Рациборинський розказував нам про Scrum на живому прикладі. Він розбив учасників на декілька команд, кожна із яких заповнила беклог питань, на які Ігор відповідав під-час спрінта-виступу. Було дуже весело та цікаво.

Доповідь 2. Domain-Driven Design

Андрій Будай розказував, вже в котре, про те, що таке спосіб розробки програмного забезпечення відштовхуючись від предментної області. Презентація нижче:


View more presentations from Andriy Buday.

Подарунки

Доповідачі і ще майже 50-тий зареєстрований отримали чудові сумки із написом VS2010, футболки із IE9, а також цікаві книги від GlobalLogic. Зауважте, подарунків стає все більше і більше, тому очікуєм,  що саме ви будете наступним доповідачем.

After-Party

Як і завжди афтерпаті вдалось. Люди сперечалися про Erlang, Smalltalk, езотеричні мови програмування, розмірковували про .net фреймворк, майбутнє Java і С++... і все це із пивом та приравлене легкими закусками :)

Ваші відгуки

Оскільки мені пощастило бути учасником цієї зустрічі, то, як на мене, вона вдалася! Люди виглядали задоволеними. Дорогі саучаснєгі, нам дуже важлива ваша думка, пишіть листи з побажаннями, коментарі, та шліть апельсини бочками :)

Update:
Фотографії - http://picasaweb.google.com/eolexe/20101029Lvivdotnet7#
Відео - coming soon

26 жовтня 2010 р.

"Патерн Вівторка" #12: Стан (State)

Уявімо, що ми маємо розробити програму для відправки Замовлень (Orders). Замовлення можуть бути в одному із декількох станів: Новий (New Order), Зареєстрований (Registered), Погоджений (Granted), Відправлений (Shipped), Оплачений (Invoiced), Відмінений (Cancelled).
Також є певні правила, по яких Замовлення може перейти в інший стан. Для прикладу не можна відправити не зареєстроване замовлення.
Крім правил переходу є ще й інші правила, що визначають поведінку вашого замовлення. Наприклад, не можна додати Продукт до Замовлення коли воно є у відміненому стані.

Як можна гарно й чітко реалізувати таку систему поведінки Замовлення?


СТАН

Можливі стани

Щоб поведінка Замовлення і його станів була зрозуміліла, глянемо на наступну діаграму станів (state-chart):

Ми можемо інкапсулювати поведінку що пов'язана із станом об'єкту в класах різних станів, що наслідуються від якогось базового класу. Кожена із конкретних реалізацій буде відповідальна за надання можливості переходу із одного стану в інший.

20 жовтня 2010 р.

Local PDC2010

Всем привет,

Как многие наверное знают, в мире проводится конференция PDC. Крупная в США, и локальные в многих городах. В Украине два города в которых все будет происходить Харьков и Винница. Так что если хотите поучавствовать, вот линки:

Винница

Харьков

Немного слов о конференции:

Конференция Microsoft PDC - это, пожалуй, самая легендарная конференция, проводимая Microsoft. На PDC 1995 был представлен Windows 95, на PDC 2001 был представлен .NET, на PDC 2003 был представлен Windows Longhorn, Avalon (WPF), Indigo (WCF), WinFS (проект закрыт в 2006-ом году) Visual Studio Whidbey, SQL Server Yukon, на PDC 2005 была представлена Windows Vista с .NET Framework 3.0. Сейчас приближается новый виток развития нашей платформы и мы рады пригласить вас на конференцию к нам в гости!

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

Вас ждут интересные доклады, подарки и приятные знакомства. Присоединяйтесь!


С уважением,
-Дима

19 жовтня 2010 р.

"Патерн Вівторка" #11: Прототип (Prototype)

Чи ви коли небуть процювали із Outlook або ж якимось іншим календарем, що дозволяє копіювати календарні зустрічі із одного дня на інший?

Для прикладу уявімо собі, що ваш друг назначив маленьку вечірку із пивом на п'ятницю, 22 жовтня, також він виділив час під вечірку із 7-мої вечора до 3-тьої ночі, поставив високий приорітет, а ще він зазначив, що вечірка в п'ятницю має бути всім до душі, оскільки то останній робочий день. Оскільки ви були запрошені, вечірка пройшна надзвичайно добре. Під кінець вечірки ваш друг вирішив вислати таке ж запрошення на наступну п'ятницю, але оскільки він уже добряче випив, для нього заповнити календарну форму видалося занадто важко. Яку можливість можна добавити в клалендар, щоб вона була використана другом? Швидше за все "copy-paste" функціональність.


ПРОТОТИП

15 жовтня 2010 р.

Lviv .Net User Group #7: "На новом месте..."

Всем привет,

Вот и прошло две недели с последней встречи! И вот новая! Встреча номер 7 пройдет в новом месте, а именно в офисе компании GlobalLogic!

Встреча пройдет 29 октября, по адресу: ул. Шептицьких 26, в 19:30.



Агенда:

1. Игорь Рациборинский: "Getting Scrum". Наш гость из Киева, ПМ с многолетним стажем.
2. Андрей Будай:"DDD". Один из самых активных участников нашего сообщества, ведущий рубрику "Паттерн Вторника".
Ну и конечно же подарки и афтерпати!

Так же, вы можете внести дату проведения ивента в свой гугл кадендарь. Надо только присмотреться к правой стороне нашего блога:)

Госопода, имена и фамилии будут поданы охране GlobalLogic, чтобы они знали кого пропускать, потому регистрация обязательна!

Регистрация ТУТ!

С уважением,
- Дима.

12 жовтня 2010 р.

"Патерн Вівторка" #10: Ітератор (Iterator)

Уявіть, що ви розробник статегічної воєнної гри. Армія має складну структуру: вона складається із героя і трьох груп. Коли Король видає указ і ресурси щоб полікувати всіх воїнів (Герой також є воїном) Ви хочете проітерувати по всіх солдатах і викликати метод treat() на кожному інстансі. Як це можна зробити легко і без вникання в структуру Арімії?

ITERATOR

Ітератор це патерн який дозволяє доступатися почергово до елементів будь-якої колекції без вникання в суть її імплементації.

Таким чином в застосуванні до нашої проблеми:

Ми не хочемо перейматися структурою Армії - ми хочемо щоб SoldiersIterator пробігся по всіх солдатах.




5 жовтня 2010 р.

"Патерн Вівторка" #9: Відвідувач (Visitor)

Уявімо собі, що ви нарешті спромоглися створити свою власну компанію, і оскільки вона пристойного розміру, ви вирішили орендувати для неї цілу будівлю. Оскільки у нас держава дуже хороша і дбає про підприємства, щоб у них усе відповідало вимогам, постійно висилаються всякі перевірки. Причому правила, по яких перевіряють ваше підприємство, постійно міняються. Найближчим часом вам слід буде прийнятати багато відвідувачів (visitors), таких як електрик (electrician), сантехнік (plumber), податківець і так далі... Усі вони будуть перевіряти вашу будівлю вздовж і в поперек, проходячи від поверха до поверха від кімнати до кімнати. Я так здогадуюся, що якась схема класів у вас уже появилася у голові. Якщо так, то у мене є наступне питання: де має жити логіка певної перевірки будівлі? Чи має будівля знати як перевіряти електричні щитки, чи це має знати електрик, або чи має знати кімната як перевірити включателі, чи це так само робота електрика? Звичайно, що електрик , який і є відвідувачем, інкапсулює логіку перевірки певних елементів (elements) вашої будівлі.

4 жовтня 2010 р.

Lviv .Net User Group #6. IE9 Launch in Lviv. Впечатления

Всем привет, немного запоздалое впечатление о последней встрече.

Ну что, было достаточно людей, даже не сработал закон: "Количество зарегистрированных / 2".

IE9 запустили, посмотрели и обсудили. Было достаточно тяжело, потому как продукт - бета. И это не гугловские беты, которые беты всегда. Майкрософт движется в очень правильном направлении: как на встречу корпоративным клиентам, так и обычному пользователю - а это радует.

Юра Опрышко читал достаточно тяжелую тему, и было видно, что народ очень даже заинтересовался. Тема Юры породила много обсуждений, которые мягко переползли в афтерпати. В общем, тема интересная, тем более что Юра рассказал про нее с математической точки зрения. Так держать!

Футболки понравились всем! Особенно порадовала компания, которая одела их сразу и красовалась перед камерой (фоты будут позже).

Что ещё порадовало - так это то, что все больше людей принимают участие в обсуждениях, афтерпати, и вообще строится костяк, который будет стержнем комьюнити!

Ну и напоследок - такого афтерпати ещё не было! Если вы ещё не с нами - присоединяйтесь, у нас весело :)

З.Ы: мальчика в инвалидной коляске небыло.

С уважением,
- Дима.