Badanie usability by TechSmith

Jak powszechnie wiadomo, samo posiadanie strony www w biznesie za dużo nie pomoże, jeżeli strona nie będzie „przyjazna” dla użytkownika. Pisząc „przyjazna” mam tu na myśli kilka jej elementów: wygląd, szybkość odnajdywania poszukiwanych informacji, łatwość wykonania rozmaitych operacji, ogólnie: jak bardzo intuicyjne jest poruszanie się po stronie. czytaj dalej

Projekt magister – done! :)

Długo mnie tu nie było, ale nie próżnowałem.

Był już inżynier, to i magistra trzeba było dołożyć :) Udało się tego dokonać wczoraj w godzinach popołudniowych i ostatecznie zakończyć zabawę w studenta na PWr.

Temat pracy dyplomowej był ciekawy – dotyczył hurtowni danych Microsoft oraz Sybase. Chodziło głównie o zbadanie różnic w hurtowniach przechowujących dane wierszami (MS SQL) oraz kolumnowo (Sybase). Ogólnie – to drugie podejście oferuje szybsze wykonywanie zapytań.  Niedługo postaram się coś więcej na ten temat napisać.

Temat ten na tyle zainteresował mnie i promotora, że postanowiliśmy kontynuować projekt dążąc do wydania książki :) Jest nawet szansa, że nam się uda!

Lista propozycji tematów do napisania posta liczy sobie ok. 50 pozycji, więc teraz daję sobie parę dni na powrót do normalności i zaczynam produkować kolejne wpisy na blogu.

Aha – zapraszam również na codingtv(); – tam posty ruszyły trochę wcześniej!

PGS Workshop

Dla programisty jednym z głównych elementów pracy, poza “produkowaniem kodu”, jest zdobywanie wiedzy. Zarówno w kwestii poznawania nowych technologii, jak i “sztuki programowania” – czyli jak pisać, żeby było dobrze, a nie źle :)

Sposobów na poszerzanie wiedzy jest wiele: studiowanie MSDNa, czytanie blogów, książek, uczestnictwo w szkoleniach i konferencjach, udział w grupach społecznościowych, itp.

czytaj dalej

Certyfikaty – MCPD 4 (Web/Windows)

Tak się ostatnio złożyło, że zaistniała u mnie potrzeba zdobycia certyfikatu MCPD. Najpierw udało mi się zdać MCPD Web 4; wczoraj dołożyłem MCPD Windows 4 kończąc chwilowo swoją przygodę z certyfikacjami.

Pomijając kwestię sensu zdobywania certyfikatów (wiem, że jest to temat budzący skrajne uczucia), chciałbym co nieco opisać o moich przygotowaniach. Kilka osób pytało mnie o to w mailach, więc mam nadzieję, że Wam to się przyda.

Kolejność egzaminów taka, w jakiej je zdawałem:

70-516 (MCTS ADO.NET 4.0)

Egzamin ten był moim pierwszym egzaminem Microsoftowym, w związku z czym podchodziłem do niego z dużym stresem spowodowanym niewiedzą o tym, o co mnie czeka :) Egzamin raczej nie był trudny. Tematem nr jeden był Entity Framework.

Materiały, z jakich korzystałem:

70-513 (MCTS WCF 4.0)

Podobnie jak wcześniejszy, egzamin ten był stosunkowo łatwy. Osoba wykorzystująca praktycznie WCFa w swoich projektach nie powinna mieć większych problemów z jego zaliczeniem. Główną trudnością są odpowiedzi często zawierające długie XML-e. Trudność polega na niewygodnym czytaniu/analizowaniu odpowiedzi. Do zaliczenia egzaminu w zupełności wystarczy wiedza o tym, co siedzi w WCF 3.5.

Materiały:

70-515 (MCTS ASP.NET 4.0)

ASP.NET i ASP.NET MVC stanowią centrum moich zainteresowań programistycznych, więc egzamin ten był ciekawym doświadczeniem :) Zdarzają się pytania z wykorzystania biblioteki jQuery.

Materiały:

70-519 (MCPD Web 4.0)

Po egzaminie można mieć wrażenie, że po zdaniu 3 poprzednich ten się nam po prostu należał :) Stanowił on podsumowanie wiedzy potrzebnej do zdania poprzednich egzaminów, ale bardziej pod kątem sprawdzenia, czy wiemy jak i kiedy stosować odpowiednie technologie.

Egzamin ten wyglądał jednak trochę inaczej niż poprzednie. Pytania były w formie testu, ale podzielonego na 3 części. Jedna, podobnie jak w poprzednich egzaminach, była ogólna, dwie dotyczyły case studies przedstawiających wymagania wobec systemu. W odpowiedziach należało wybrać najlepszą opcję biorąc pod uwagę przedstawione w case studies wymagania.

Materiałów brak.

70-511 (MCTS Windows 4.0)

Jako, że tworzę głównie aplikacje www, tutaj było już trochę trudniej. Mam pewne doświadczenie w tworzeniu aplikacji WinForms oraz WPF, ale znacznie mniejsze niż ASP.NET. Ogólnie egzamin oceniam jako średnio trudny – jednak dla osoby, która dużo pisze w WPFie powinien być łatwy. Było mało pytań z WinForms.

Materiały:

  • Programming WPF (Chris Sells)
  • Kurs CBT Nuggets – nie polecam
  • Różne artykuły/posty znalezione na sieci
  • Traning Kit 70-511 – pojawił się dość późno, więc za dużo z niego nie skorzystałem

70-518 (MCPD Windows 4.0)

Po doświadczeniach z MCPD Web 4.0 podchodziłem do tego egzaminu na luzie. I to był błąd. Egzamin okazał się dla mnie najtrudniejszym ze wszystkich egzaminów – z wielką niepewnością i drżeniem rąk klikałem “End egzam”. Na szczęście wynik okazał się pozytywny :)

Materiałów brak.

————————————————

Wspólnym źródłem dla wszystkich egzaminów jest MSDN – jako lektura obowiązkowa!

Egzaminy odbywają się w formie testów zawierających 40-50 pytań (w 70-516 miałem ich 77, ale poinformowano mnie wcześniej, że pojawią się również pytania testowe – niepunktowane). Czas egzaminów jest różny, przeważnie ok. 3h – i jest to czas w zupełności wystarczający.

Mam nadzieję, że ta krótka notka komuś się przyda – jeśli mogę jakoś jeszcze pomóc to piszcie :)

Powodzenia w Waszych bojach!

codingtv(); – poszło :)

W zeszłym tygodniu razem z kolegą Andrzejem uruchomiliśmy nowy projekt – codingtv();.

Jest to inicjatywa, w ramach której chcemy pokazać nasze podejście do tworzenia aplikacji, jednocześnie licząc na Wasz aktywny udział poprzez liczne komentarze.

Dzisiaj dla codingtv(); nastał wielki dzień – opublikowaliśmy pierwszy odcinek! Omówiliśmy w nim założenia codingtv();, narzędzia, z których będziemy korzystali oraz przeprowadziliśmy planowanie funkcjonalności, które będziemy implementowali w kolejnych odcinkach.

Gorąco zapraszam na http://codingtv.pl oraz na http://facebook.com/codingtv.

HTTP Error 400 Bad Request na Firefoxie

Po opublikowaniu dzisiejszego posta kolega Paweł zgłosił mi, że mój blog nie działa – ładowanie strony kończyło się wyjątkiem: “HTTP Error 400. The request is badly formed”. Zdziwiłem się, ponieważ u mnie działał bez zarzutu (“Works on my machine” :)). Bloga sprawdziłem na trzech różnych komputerach i wszędzie było dobrze.

U Pawła problem występował tylko na Firefoxie, przy czym po przełączeniu w tryb private blog się załadował. Znaczyło to, że problemem musiały być jakieś pliki cookies. Trochę poczytałem, poklikałem i zauważyłem, że problem występuje po wejściu na bloga z kanału RSS :( czytaj dalej

wroc.net i moja prezentacja o optymalizacji

Mam nadzieję, że już wszyscy wiedzą, ale na wszelki wypadek i ja o tym wspomnę –  we Wrocławiu reaktywuje się grupa .NETowa – wroc.net :)

Grupa wroc.net jest społecznością skupiającą przede wszystkim pasjonatów technologii .NET, jednak każdy jest mile widziany. W ramach swojej działalności Grupa organizuje bezpłatne spotkania. Aktualnie we Wrocławiu odbywają się one co miesiąc w trzeci wtorek miesiąca. Na spotkaniu każdy(!) może zaproponować temat i poprowadzić sesję. Jest to wspaniała okazja do doskonalenia i nauki prowadzenia prezentacji.

Uczestnictwo w Grupie jest doskonałą okazją do zawarcia ciekawych znajomości oraz wymiany wiedzy i doświadczeń.

Na najbliższym spotkaniu, 16 marca, będę miał okazję poprowadzić prezentację o optymalizacji aplikacji .NETowych z wykorzystaniem pakietu .NET Bundle firmy RedGate.

Więcej informacji o spotkaniu oraz formularz do rejestracji znajduje się na stronie grupy.

Jeżeli nie mieszkasz we Wrocławiu i nie masz możliwości uczestniczyć w jej spotkaniach, a podoba Ci się ta idea, to sprawdź na stronie ms groups czy w Twoim mieście/okolicy taka grupa istnieje.

Attach to Process… (ASP.NET) – szybciej

Pracując nad jakąś aplikacją czasami musimy ją zdebugować. Sposobów na to jest wiele – np. podpinając się pod odpowiedni proces. U mnie standardowo wygląda to tak: menu Debug->Attach to Process…->w3wp.exe.

Wykonuję tę operację dość często.

Jak wiele czynności w pracy z komputerem można tę operację zautomatyzować, tworząc np. makro.

W Visual Studio wybieramy: Tools->Macros->Macros IDE

attache_to_process_1

Dodajemy nowy moduł, nadajemy mu nazwę, np. RecordingModule:

attache_to_process_2

i wpisujemy makro:

[sourcecode language=”vbnet”]
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module RecordingModule
Sub AttachToAspNET()
Try
Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
Dim compName As String = Environ$("computername")
Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, compName).Item("WebDev.WebServer.EXE")
proc2.Attach2()
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub

End Module
[/sourcecode]

Oczywiście w ten sposób możemy podpinać się pod dowolny proces. W przypadku ASP.NET, w zależności od tego, z jakiego serwera korzystamy będzie to:

  • WebDev.WebServer.exe – środowisko uruchamiane przez VS
  • w3wp.exe – IIS 6.0
  • aspnet_wp.exe – IIS 5.0, IIS 5.1

Aby uruchamiać makro, najprościej jest podpiąć je pod skrót klawiaturowy.

Z menu wybieramy: Tools->Options->Environment->Keyboard i wybieramy nasze makro:

attache_to_process_3

Po przypisaniu skrótu (u mnie ALT+CRTL+K) klikamy Assign, zamykamy okno opcji  i cieszymy się nowym makrem :)