Archive for October, 2010

Skróty klawiaturowe Visual Studio

To do czego wszyscy dążymy w naszej do wygody. Na wygodę składa się też szybkość tworzenia kodu – która jest głównym celem biznesu – im szybciej możesz kodować(*), tym szybciej skończysz projekt i tym szybciej zaczniesz kolejny.
(*) przy tym samym poziomie jakości kodu

W tym celu niezbędne wręcz jest zapoznanie się przynajmniej z podstawowymi skrótami dostępnymi w Visual Studio. Na MTS 2010 podczas sesji Chrisa Grangera na temat Visual Studio 2010 IDE Tips & Tricks można było usłyszeć, że najnowszy produkt posiada ponad 4000 komend (w tym skrótów klawiaturowych). Oczywiście nie jest możliwe poznanie wszystkich, jednakże te podstawowe warto sobie zapamiętać.

Dla zwolenników zapamiętywania wzrokowego Microsoft przygotował zestawienie takich skrótów w formie PDF – gotowych do wydrukowania. Polecam te dla Visual Studio 2010 i dla Visual Studio 2008

Moje top shostcuts to:

Shift + Ctrl + B Build
F5 Debug
Ctrl + . Zamiast Shift + Ctrl + F10 – “auto using”
F7 Kod C#
Shift + F7 Designer
Ctrl + D, I Immediate Window
Ctrl + W, S Solution Explorer
Ctrl + K, C Komentuj
Ctrl + K, U Odkomentuj
F12 Definicja medoty/klasy…

i wiele innych, które konsekwentnie poznaję :)


Windows Phone 7 darmowy e-book

Podążając za newsem opublikowanym na codeguru.pl i codeproject.com zachęcam do lektury książki poświęconej programowaniu Windows Phone 7. Na blogu Microsoft Press znajduje się informacja na temat książki Charles’a Petzold’a oraz linki do darmowej wersji w formie e-booka i kodów źródłowych wykorzystywanych w książce. Po przeczytaniu początku mogę stwierdzić, że zapowiada się ciekawie :)

Windows Phone 7


Code Definition Window – Szybki przegląd kodu

W życiu programisty bywają takie sytuacje (nawet dość często), że trzeba zapoznać się z czyimś kodem, czy też zwyczajnie przypomnieć sobie swój własny, napisany jakiś czas temu. Zdarza się tak, że podczas przekopywania się przez sterty plików w Visual Studio co chwilę korzystamy z opcji “Go to definition” z menu kontekstowego lub wybierając F12.

GoToDefinition

Takie działanie pozwala nam przeanalizować kod nawet gdy nazwy metod nie do końca odzwierciedlają jego działanie (są sytuacje, w których faktycznie może się “nie dać” i utrzymać nazwy metod rozsądnej długości :). Pomocne przy takiej analizie może być narzędzie “Code definition window”, które mozna otworzyć przez Menu -> View -> Code Definition Window lub przez wciśnięcie Ctrl + D, Ctrl + W

OpenCodeDecinitionWindow

Okno to pozwala nam na szybki podgląd definicji metod, klas, właściwości itp, na których aktualnie ustawiamy nasz kursor.

Code definition Window - Class

Code definition window - contructor

code definition window - method

Jednakże jeżeli najedziemy na metodę, która jest deklarowana w interfejsie wówczas Code Definition Window nie jest w stanie odszukać właściwej implementacji w przeciwieństwie do ReSharpera, który “rozumie” działanie interfejsów i szuka klas, które je implementują i poszczególnych interesujących nas metod.

Code definition window - interface

Niemniej jednak jest to narzędzie przydatne i przede wszystkim dostępne w Visual Studio bez dodatkowych opłat. Mała rzecz, a cieszy :)


2nd Silesian Code Camp – zapraszam na moją sesję!

Już 09.04.2011 odbędzie się druga edycja Silesian Code Camp. Z przyjemnością mogę zaprosić na moją sesję, która wejdzie w skład ścieżki DEV. O czym będzie moja prezentacja? Zapewne na temat WCF, natomiast dokładniejszy temat będzie ustalony wkrótce – wstępnie na temat nowości WCF4. Wszelkie propozycje związane z tym o czym byście chcieli usłyszeć piszcie tutaj – postaram się dopasować prezentację do waszych potrzeb :)

W gronie prelegentów są również Damian Widera, Tomasz Wiśniewski, Paweł Potasiński, Łukasz Grala i Tobiasz Koprowski!

Zapraszam!

2nd Silesian Code Camp


Mój artykuł na codeguru.pl – WCF w praktyce. Część 3 – Klient

Dziś rano na codeguru.pl został opublikowany mój kolejny artykuł z serii “WCF w praktyce” pod tytułem “WCF w praktyce. Część 3 – Klient – korzystamy z usługi”. Część trzecia opisuje sposów tworzenia klienta usługi oraz najważniejsze rzeczy, które trzeba brać pod uwagę. Trzy pierwsze artykuły tworzą pewną zamkniętą część, zatem tym razem jest również dołączony kod solucji, z której pochodzą przykłady.

W przygotowaniu artykuł poświęcony aplikacji ułatwiającej testowanie serwisów jaką jest WcfTestClient.


ReSharper i WCF RIA Services na TGD.NET

Serdecznie zapraszam na kolejne spotkanie Toruńskiej Grupy Deweloperów .NET. To już 22 spotkanie. Tym razem po raz pierwszy odbędą się dwie prezentacje:

1. Piotr Benetkiewicz (AIS.PL) opowie na temat ReSharper’a
2. Rafał Szefler wprowadzi nas w tematykę Silverlight 4 i WCF RIA Services w C#.

Jeżeli forma się sprawdzi, wówczas będziemy starali się ją kontynułować. Spotkanie odbędzie sie we wtorek 19.10.2010 o godzinie 17:00 na Wydziale Matematyki i Informatyki UMK.
Szczegóły na stronie spotkania.

Wstęp bezpłatny! Rejestracja obowiązkowa!


WCF service error HTTP could not register URL

Na dobry początek pracy pod nową domeną postanowiłem napisać na temat błędu przy uruchamianiu serwisu WCF jakim jest “HTTP could not register URL …“. O rozwiązaniu tego problemu często się zapomina, a jest ono stosunkowo proste. Zacznijmy od początku, czyli od opisu przypadku.

Przypadek:
Tworzymy usługę WCF, która jest udostępniana poprzez aplikację konsolową i korzysta z wiązań z rodziny *HttpBinding. Podczas uruchamiania hosta otrzymujemy błąd:
“HTTP could not register URL http://+:8733/Design_Time_Addresses/SampleServiceLibrary/SampleService/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).”
Dla jasności – jeżeli udostępniamy metadane dotyczące serwisu przy pomocy MEX, to również otrzymamy taki błąd.

Oczywiście podany przeze mnie adres może być inny, gdyż zakres http://+:8733/Design_Time_Addresses jest wykorzystywany przez WcfServiceHost.exe, który automatycznie uruchamia się dla bibliotek WCF.

Rozwiązanie:
W przypadku gdy korzystamy z *HttpBinding konieczne będzie umożliwienie naszemu procesowi nasłuchiwania żądań przychodzących po http. Podążając zatem za wskazanym w błędzie adresem dowiadujemy się, że należy dodać nam prawa do takiego nasłychu. W tym celu korzystamy z polecenia NETSH w konsoli cmd:
netsh http add urlacl url=http://+:8733/Design_Time_Addresses/SampleServiceLibrary/SampleService/ user=maciek

W pole URL należy oczywiście wpisać adres, na którym chcemy działać. Po wykonaniu tego polecenia nasz serwis uruchomi się poprawnie. Jeżeli okaże się, że nie jest nam już potrzebne przechwytywanie tego adresu, wówczas możemy go usunąć wpisując następujące polecenie:

netsh http delete urlacl url=http://+:8733/Design_Time_Addresses/SampleServiceLibrary/SampleService/


Jesienna migracja

Od jakiegoś czasu planowałem przemigrowanie bloga z live.spaces.com na własny hosting. Z wielu powodów: problemy z dostosowaniem przestrzeni do własnych potrzeb, wrzucaniem skryptów i obiektów Silverlight. Późnej okazało się, że wyłączono statystyki, które przecież są niezbędne, żeby widzieć w którym kierunku podążać… Pewnego dnia pojawiła się wiadomość, że Microsoft za pół roku wyłączy spaces i proponuje migrację na WordPress.com http://techcrunch.com/2010/09/27/windows-live-blogging/.

Wcześniej już przetestowałem na lokalnej maszynie przenoszenie treści z livespaces na wordpressa oraz ogólnie możliwości tego silnika, zatem wybór był prosty. Pozostało wybrać hosting. Od samego początku skłaniałem się ku Webio, do czego dodatkowo przekonał mnie Tomek Wiśniewski. Dobra oferta i szybki kontakt finalnie przekonały do wyboru :) Zatem stało się – blog zmigrował na http://maciejgrabek.com.

1 Comment more...

Artykuł na CodeGuru.pl – WCF w praktyce. Część 2 – Host

Na portalu codeguru pojawił się mój drugi artykuł na temat WCF, co zapowiadałem wcześniej. Zapraszam do lektury.

Bezpośredni link do artykułu


Speaker Idol 2010 – finały – zapraszam na moją sesję na kolejnym MTS!

Wczoraj nie miałem sił, żeby cokolwiek napisać, dlatego mały poślizg, ale czas to nadrobić. Połfinały były dla wszystkich uczestników Speaker Idola trudnym zadaniem. Wydaje się, że stanąć na podwyższeniu wśród masy zielonych baloników i powiedzieć w ciągu trzech minut coś składnego to naprawdę nie jest prosta sprawa i każdy z nas to zapewne odczuł. Tym bardziej, że w międzyczasie trwała przerwa obiadowa i gdy wszyscy sobie zajadali my wylewaliśmy siódme poty na scenie :) Dla mnie osobiście sukcesem było samo wzięcie udziału w tym konkursie. Tym większym sukcesem okazała się wygrana w półfinałach. Wieczorem przyszedł czas na uwzględnienie uwag komisji, rozszerzenie prezentacji i odpoczynek przed dniem kolejnym. Tak na marginesie dodam, że moja prezentacja okazała się jedyną z zagadnień deweloperskich :)

Dzień drugi konferencji i finały. Podczas losowania kolejności okazało się, że znowu wystąpię jako trzeci, natomiast cała kolejność została w sposób losowy i przypadkowy odwrócona :) Na szczęście dziś było nieco łatwiej, gdyż pierwsza trema związana z nowym otoczeniem została przełamana. Nawet komisja zauważyła “więcej luzu” podczas prezentacji. Po wyrównanym poziomie prezentacji przyszedł czas na werdykt jury. Sesje podobnie jak w półfinale były oceniane punktami. Każdy z sędziów miał 100 punktów, co w sumie dawało maksymalny wynik 400 punktów.

Miejsce trzecie: Jakub Pluszczok

Miejsce drugie: Joanna Subik

Miejsce pierwsze…. Tu werble… TAK! Maciej Grabek z wynikiem 366 punktów (średnio 91,5/100 od każdego z sędziów)- wygrałem konkurs Speaker Idol 2010 i poprowadzę sesję na kolejnej konferencji MTS! Już dziś serdecznie zapraszam!


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: