Vývojářský blog Jakuba Čermáka

  Poslední články
  Období

RSS Feed RSS Feed

.NET Tips   2D   3D   Aplikace   ASP.NET   C#   HTML+CSS   Internet   Javascript   Office   Silverlight   SQL   VB.NET   VB6   VbNet.cz   Vista   VS   Život, vesmír a vůbec   Všechny články

Přednáška o testování .NET aplikací

Rád bych vás pozval na mou přednášku o testování .NET aplikací (unit testy a další), která se bude konat v úterý 13.10.2009 od 17:20 v budově Matematicko-Fyzikální fakulty v Praze na Malostranském náměstí v učebně S3. Přednáška je určena spíše lidem, kteří toho o testování aplikací moc nevědí, tudíž nejsou kromě znalosti .NET frameworku a chuti se něco nového dozvědět potřeba žádné speciální znalosti. Nicméně může být přínosná i pro zkušenější programátory, třeba se můžete obohatit  o jiný pohled na věc nebo naopak svým názorem obohatit přednášku. Budeme probírat nejen to, jak se nejrůznější druhy testů tvoří, ale i věci, kterých byste se měli při psaní vyvarovat. Vše bude doplňováno praktickými příklady. Každopádně, pokud se rozhodnete přijít, tak vás rád uvidím.

Omlouvám se za pozdní ohlášení, nějak mě nenapadlo to sem napsat :)

UPDATE: Slajdy a demo udělané během přednášky je k nalezení a stažení na http://www.jcermak.cz/Prednasky.aspx

[Zobrazit článek]

Datum: 12. 10. 2009 19:07
Diskuse: 0
Hodnocení: Tento článek zatím nikdo nehodnotilTento článek zatím nikdo nehodnotilTento článek zatím nikdo nehodnotilTento článek zatím nikdo nehodnotilTento článek zatím nikdo nehodnotil     Zobrazeno: 580x

Kategorie: C#, Aplikace, .NET Tips        

VMWare Server 2 s desktop klientem

VMWare virtualizační platformu asi není třeba moc představovat, je to přeci jen jedna z nejstarších a nejvýznamnějších firem zabývajících se virtualizací. Možná znáte také jejich VMWare server, který je zdarma, přesto je to poměrně kvalitní produkt. Nechci a nebudu se zde pouštět do diskuze, zdali je lepší VMWare, Hyper-V (který je sice pěkný, ale pro mé účely nevhodný díky slabé podpoře Linuxu) či jiný.

VMWare Server 2 má ale (z mého pohledu dost zásadní) nevýhodu v tom, že v základu lze administrovat pouze pomocí webového rozhraní. Web rozhraní je fajn z toho důvodu, že umí skoro všechno a pokud nechceme používat remote konzoli, tak ani není třeba nic instalovat a vše funguje. Teoreticky to tedy vypadá krásně. V praxi je problém v tom, že ono webové rozhraní neběží, ale plazí se. Navíc se mi dost často stávalo, že se zaseklo na “Loading” hlášce a musel jsem to refreshnout, znovu se přilogovat a vyčkávat, zda-li se tentokrát už vše správně nahraje. Doma bohužel nemám tak rychlý internet jako na koleji, a tak problémy a čekání jsou řádově větší. Tedy jsem celkem logicky začal pátrat po něčem desktopovém. Na webu VMWare jsem bohužel nenašel žádné relevatní informace, což mě poněkud zarazilo, nicméně Google už byl sdílnější – našel jsem, že se na VW Server dá připojit přes VMWare Infrastructure client. Ten jsme už znal z jednoho pokusu s ESXi. Stáhl jsem ho tedy (aktuální verzi 4.0) a vyplnil jméno serveru a přihlašovací údaje. Překvapilo mě, že si nejdříve stáhl VIC verze 2.5 přímo z web interfacu, nainstaloval a až pak pomocí něj se připojil (je třeba manuálně nastavit port 8333), což mě dovedlo k myšlence, že ten VIC klient správné verze bych mohl mít celou dobu pod nosem – a taky že ano, celou tu dobu seděl ve složce C:\Program Files\VMware\VMware Server\hostd\docroot\client případně se dá stáhnout z https://váš_server:8333/client/VMware-viclient.exe.

Osobně nechápu VMWare, proč na svém webu nemá žádnou zmínku o tomto způsobu, protože administrace desktopovým klientem je výrazně rychlejší a přehlednější, navíc umožňuje provádět hromadné operace (např. spustit či suspendovat celou skupinu virtuálů), což mi ve web rozhraní dost chybělo. Ale asi za tím bude nějaké marketingové rozhodnutí.

imagePřihlašovací dialog pro jméno serveru (nezapomenout na port 8333) a jméno a heslo 

Podobným způsobem prý lze taky přidat Servery do vCenteru pro lepší správu, což jsem ale nezkoušel, neboť na 1 server je vCenter kapku antiproduktivní :)

[Zobrazit článek]

Datum: 30. 8. 2009 14:04
Diskuse: 4
Hodnocení: Hodnocení: 1/5Hodnocení: 1/5Hodnocení: 1/5Hodnocení: 1/5Hodnocení: 1/5     Zobrazeno: 887x

Kategorie: Internet, Aplikace        

Hrátky s WinAPI: “buď já nebo BSOD” aneb kritické procesy systému

Dneska jsem během náhodného procházení internetu narazil (z mého pohledu) zajímavou věc – jak udělat to, co umí např. proces CSRSS, tj. že když ho někdo nebo něco killne nebo umře přirozenou programovou smrtí, tak s sebou vezme i celý systém – Windows hodí BSOD (KeBugCheckEx) s tím, že mu (volně řečeno) umřel kritický proces a bez něj už nemá smysl dál existovat :)

Windows XP Professional-2009-06-28-16-22-57

Kód Bluescreenu se liší podle toho jestli hlídaný program skončil v pořádku (vrátil 0), pak je to CRITICAL_PROCESS_DIED (0xEF), nebo jestli skončil s chybou, pak se zjeví BSOD CRIITICAL_OBJECT_TERMINATION       (0xF4).

Jak se tedy takováhle věc nastavuje? V podstatě jsou 2 cesty, kdy první používá interně tu druhou. V obou dvou případech je třeba, aby proces měl seDebugPrivilege (v .NETu to lze zařídit pomocí fcí Process.EnterDebugMode a Process.LeaveDebugMode) a nejspíš jsou potřeba i admin práva (bez nich mi to nefungovalo). Nejjednodušší je asi použít nedokumentovanou API funkci RtlSetProcessIsCritical, které se (mj.) předá BOOL vyjadřující, jestli tento proces je pro systém kritický nebo není. Zásadní nevýhoda je, že se toto nedá použít pro nastavování jiných procesů. A protože jsem člověk zvědavý, tak jsem se podíval do referenčních zdrojáků NTOSKRNL (část Windowsího kernelu) a implementaci té funkce tam ke své spokojenosti našel – je to víceméně jen obálka nad dvojicí (zase nedokumentovaných) funkcí NtSetInformationProcess a NtQueryInformationProcess, sloužících pro nastavování či čtení nejrůznějších parametrů procesů.

Implementace

[Pokračování článku]

Datum: 28. 6. 2009 20:14
Diskuse: 1
Hodnocení: Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5     Zobrazeno: 1030x

Kategorie: C#, Aplikace, Život, vesmír a vůbec        

 Strana 1 z 1 (článků: 3) 1 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.