június, 2008 havi archívum

Ilyen cím után mi másról írhatnánk, mint a nagymellű szőke bombázókról, illetve a plázacica szilikon csodáról. Bár lehet, ha tényleg ezekről a témákról írnék, természetesen képek segítségével illusztrálva, akkor nagyobb látogatottságnak örvendene az oldal (na nem mintha most panaszkodnom kéne emiatt ).
Szal visszatérve a címhez, a mai blog-bejegyzésben három MCP-s dologra szeretném felhívni a figyelmeteket!
Az első ilyen nagyon fontos dolog, hogy ismét két új MCP Nyári iskolás időpont került meghirdetésre még pedig az alábbi két témakörben: 70-536 vizsgafelkészítő, illetve 70-528 vizsgafelkészítő. Mindkét tanfolyam az augusztus 18.-ával kezdődő héten lesz!
A dolog érdekessége az, hogy erre már nem online mód kell regisztrálni, hanem offline! (Lipi barátom fogalmazásával élve) Ez az jelenti, hogy személyesen kell majd feliratkozni a tanfolyamra. Mielőtt mindenki egy új böngésző ablakba elkezdené becsattogni, hogy utvonalterv.hu majd Graphicsoft park…, azelőtt elmondanám, hogy természetesen nem kell senkinek se a Microsoft Magyarországhoz beslattyognia emiatt. Ehelyett (és ez a második dolog, amiről írni akartam) egy a héten (csütörtökön) megrendezésre kerülő rendezvényen kell majd regisztrálni az adott tanfolyamra!
Ez a rendezvény különben pedig nem más, mint az MCP kampány záró-rendezvénye, melyre elsősorban azokat az emberekre várja a MS Magyarország, akik az elmúlt egy évben sikeresen tettek le valamilyen (főleg fejlesztői) MCP vizsgát. De természetesen minden végzőst, vagy közel végzőst vagy csak egyszerűen érdeklődő embert szeretettel várnak a szervezők!
Szerintem két szempontból is tök jó ez a rendezvény ugyanis, egyrészt lesz állófogadás, ami alapból jó dolog, másrészt pedig egy jó pár cég képviselteti majd magát, így kapcsolatépítés szempontjából se egy rossz dolog
A rendezvény a Lido Duna Szalon –ban lesz majd megrendezve, 2008.06.26 18:00-tól 21:00-ig.
A program pedig az alábbi lesz:
18:00-18:45 Next Generation Technologies –Bátorfi Zsolt
19:00-19:15 MCP vizsgák értéke és továbblépési lehetőségek –Bátorfi Zsolt
19:15-20:00 Innovációs díjátadás – Drajkó László
20:00-21:00 Állófogadás (szendvics, sütemény, üditő)
Regisztrálni ezen a címen lehet (természetesen teljesen ingyen!):
http://www.microsoft.com/hun/fejlesztoknek/mcpkampany/
Visszatérve a Nyári MCP Sulihoz, ha bárkinek bármilyen kérdése lenne vele kapcsolatban, akkor az alábbi fórum topicban teheti fel a kérdését: http://msportal.hu/forums/default.aspx?GroupID=28
 
Végül pedig szeretnék a figyelmetekbe ajánlani egy szerintem szuper ajánlatot. Tegnap az interneten bóklászva véletlen ráakadtam Pápai Attila hirdetésére, amelyben három developer könyvet (70-536, 70-526, 70-548 ==> MCPD minősítés) kínál áron alul! (Természetesen a hirdetés feladója beleegyezését adta mindennemű személyes információjának kiadására !)
Ha valakinek felkelletette az érdekelődését, akkor az alábbi címen tekintheti meg a könyvekhez  tartozó hirdetést:
http://www.expressz.hu/konyvek/konyv/tankonyv/showAdvert9178711.html
 
 

AJAX Control Toolkit –
PasswordStrength

Ez egy példaalkalmazáshoz tartozó leírás! Az alkalmazás erről a címről tölthető el:
http://devportal.hu/Portal/Detailed.aspx?NewsId=a4b56572-a9f7-48df-b58a-7acf0756aa17 vagy

http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/ACTsorozat/ACT|_XXIII|_PasswordStrength.zip

Ebben a cikkben a PasswordStrengthExtender vezérlőt vesszük közelebbről szemügyre!
 
PasswordStrength alapok
A PSE vezérlő arra szolgál, hogy valamilyen módon mérni, illetve jellemezni tudjuk a felhasználó által begépelt jelszó erősségét. Értelemszerűen ezt az extender-t csak szövegdobozokhoz tudjuk hozzákötni!
Az jelszóerősségének a mérése úgy történik, hogy a mi általunk megadott szabályokat (pl.: hány nagybetűt kell minimum tartalmaznia a jelszónak) figyeli egy kliensoldali java-script függvény, majd a teljesített, illetve az elvárt kritériumokból kiszámít egy arányt. Ezen arány alapján jellemezhetjük a jelszó erősségét, majd többféle formában is megjeleníthetjük a jellemzést (szövegesen (Text), vagy „sávjelző” segítségével (BarIndicator)). 
Ez az extender három szempontból is nagyon hasznos vezérlő. Az egyik szempont az, hogy a PSE-vel kibővítve a CreateUserWizard vezérlőt, egy ténylegesen felhasználóbarát regisztrációs felületet alakíthatunk ki. A második indok, amiért szerintem érdemes használni ezt az extender-t az, hogy teljes mértékig testre-szabható. (A PSE tulajdonságainak a 75%-a a finomhangolásra, illetve a megjelenítés egyedivé alakítására szolgál!!!) Végül pedig a legfontosabb előnye, hogy általa növelhetjük az oldalunk biztonságát! 

PSE használata
A példaalkalmazásunk első felében először azt nézzük meg, hogy miként szabhatjuk testre a CreateUserWizard vezérlőt, illetve a MemberShipProvider-t, majd utána pedig 3 példán keresztül megismerkedünk a PSE különböző megjelenítési módjaival!

Előkészületek a PSE használatához
A PSE vezérlő az előzetes várakozásainkkal ellentétben nem foglal magában egy érvényesítő vezérlőt, tehát csak tájékoztatásra lehet felhasználni, erősebb jelszó kikényszerítésére nem!! Jelszóházirend szigorításhoz a MemberShipProvider-en kell egy kicsit alakítgatnunk. Nyissuk meg a web.config-ot, majd a system.web tag-en belül helyezzük el az alábbi membership szekciót:

   <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
     <providers>
       <add name="SqlProvider"
            type="System.Web.Security.SqlMembershipProvider"
            connectionStringName="LocalSqlServer"
            minRequiredNonalphanumericCharacters="2"
            minRequiredPasswordLength="10"
            requiresQuestionAndAnswer="false"
            requiresUniqueEmail="false"/>
     </providers>
   </membership>

A userIsOnlineTimeWindow tulajdonságon keresztül azt szabhatjuk meg, hogy a felhasználót hány percig tekintjük még online-nak az utolsó interakciója után.
Amikor egy új membershipprovider-t akarunk felvenni a web.config-ban, akkor a Visual Studio IntelliSence-e mindössze csak néhány alaptulajdonságot fog felsorolni (pl.: name, type), ezért nekünk kell ügyelnünk arra, hogy a tulajdonságneveknél a kis és nagybetűk helyesen legyenek! A helyes szintaxis a következő: a több részből álló tulajdonságneveknél a legelső nagybetűt kisbetűre kell lecserélni, vagyis csak a szóelején kell lekicsinyíteni a NAGYBETŰT !!!!
A minRequiredNonalpanumericCharacters segítségével azt szabhatjuk meg, hogy hány nem alfanumerikus karaktert (tehát nem szöveg vagy szám karaktert) kell tartalmazni a jelszónak.
A minRequiredPasswordLength-vel pedig a jelszó minimális hosszát állíthatjuk be.
A requiresQuestionAndAnswer, illetve requiresUniqueEmail tulajdonságokat azért állítsuk most be false-ra, hogy a példaalkalmazásban a PSE tesztelésénél ne kelljen ezeket is kitöltenünk!

A Default.aspx oldalunkra húzzunk egy CUW vezérlőt, majd konfiguráljuk be az alábbi módon:

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"
    RequireEmail="false" Email="
a@b.c" UserName="Teszt Elek bácsi">
    <WizardSteps>
        <asp:CreateUserWizardStep runat="server">
        </asp:CreateUserWizardStep>
        <asp:CompleteWizardStep runat="server">
        </asp:CompleteWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>

Design módban továbbra is meg fog jelenni a CUW vezérlőnkben a biztonsági kérdés-válasz rész, de ez minket ne zavarjon, runtime módban már nem fog.  Egy fontos dolog, ha a CUW vezérlőnél kikapcsoljuk az e-mail cím bekérő részt (RequireEmail="false"), akkor muszáj beállítanunk egy alapértelmezett e-mail címet az Email tulajdonságon keresztül!

Ha most futtatjuk az alkalmazásunkat, akkor azt fogjuk tapasztalni, hogy a jelszó erősségének az ellenőrzése csak a Create User gombra való kattintás után fog végrehajtódni.

Ez nem túl felhasználóbarát megoldás. Ezen kétféleképpen segíthetünk. Az egyik megoldás, hogy  Ajax-osítjuk a CUW vezérlőnket, a másik pedig, hogy megfertőzzük a CUW-ot egy kis PSE-vel és egy mutáns CUW_WITH_PSE –t (CWP) keltünk ezáltal életre. Válasszuk inkább az utóbbit!
 
Jelszóerősség megjelenítés szövegesen
Hozzunk létre egy új oldalt, és másoljuk át a Default.aspx fájl form1 tartalmát! Ahhoz, hogy a CUW-on belül el tudjunk helyezni egy PSE-t, először a CUW-ot template-té kell alakítanunk! Váltsunk át design módra, majd a CUW SmartTag-jében válasszuk ki a Customize Create User Step linket! Néhány másodpercig elszöszmötöl vele a VS, de utána már használhatjuk is a ContentTemplate-be legenerált táblázatot. A felesleges sorokat (Security Q&A) töröljük ki!

Húzzunk egy PSE vezérlőt a Password-ös sorba, illetve egy másikat a Confirm Password-ösbe! Az elsőt az alábbi módon konfiguráljuk be:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E_1" runat="server"
            TargetControlID="Password"
            MinimumSymbolCharacters="2"
            PreferredPasswordLength="10">
</ajaxToolkit:PasswordStrength>

A MinimumSymbolCharacters a MemberShipProvider minRequiredNonalpanumericCharacters tulajdonságának felel meg, a PreferredPasswordLength pedig a minRequiredPasswordLength-nek.

Ha most futtatjuk az alkalmazásunkat, akkor láthatjuk, hogy miközben gépeljük be a jelszót, aközben folyamatosan változik a mellette megjelenített szöveges jellemzés.

Alapban 11 féle értékkel képes illetni a jelszavunkat a PSE: NonExsistent, Very Weak, Weak, Poor, Almost OK, Barely Acceptable, Average, Good, Strong, Excellent, Unbreakable!.

Ez mind szép és jó, de ha már a felhasználói élményről beszéltünk, akkor miért ne lokalizálhatnánk a jellemzéshez használt kulcsszavakat? Ehhez a TextStrengthDescription tulajdonságra lesz szükségünk. Nézzük meg, miként állítsuk be a másik PSE vezérlőnket a kellemesebb felhasználói felület érdekében:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E_2" runat="server"
            TargetControlID="ConfirmPassword"
            MinimumSymbolCharacters="2"
            PreferredPasswordLength="10"
            PrefixText="Erősség: "
            TextStrengthDescriptions="Nagyon Gyengus; Gyengus; Alakulgat; Már majdnem jó; Erről van szó"
            TextCssClass="TextIndicator_TextBox1" >
</ajaxToolkit:PasswordStrength>

A PrefixText segítségével a jelszóerősség standard előtagját változtathatjuk meg az alapértelmezett „Strength:”-ról valami magyarosabbra.
A TextStrengthDescriptions tulajdonság, mint ahogyan azt fentebb is említettem, arra szolgál, hogy lokalizáljuk vele a jellemzésnél felhasználható értékeket. Pontosvesszővel elválasztott listaként kell felsorolni a lehetséges értékeket! A lista maximális hossza tíz, a minimális hossza pedig kettő lehet!
Végül pedig TextCssClass-szal lecserélhetjük az alapértelmezett rikító sárga háttérszínnel megáldott „címkénk” stílusát, valami kicsit szolidabb verzióra.

Indítsuk el az alkalmazásunkat, majd kezdjünk el gépelni a Confirm Password melletti szövegdobozba és az alábbi kép fog fogadni minket, amennyiben a TextIndicator_TextBox1 stílusosztályt az ACT Samples css fájljából copy/paste-eltük át:

BarIndicator-os jelszóerősség jellemzés
A szöveges jellemzés nem minden esetben a legjobb megoldás. Például ha 10féle jelszóerősség-jelzőt használunk, akkor a felhasználó nem tudja, hogy hány „szintet” kell még lépnie ahhoz, hogy elérje a megfelelő minősítést, ezért néha célszerűbb lehet BarIndicator-t használni Text helyett.

Hozzunk létre ismét egy új oldalt, és másoljuk át az előzőleg létrehozott oldal form1 tag-jének teljes tartalmát! A PSE vezérlők alá húzzunk be egy-egy címke vezérlőt és adjuk nekik az alábbi neveket: lbl_helper_1; lbl_helper_2! A Pass_Strength_E_1 nevű vezérlőn végezzünk el néhány apróbb módosítást:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E_1" runat="server" TargetControlID="Password"
            PreferredPasswordLength="10"
            MinimumSymbolCharacters="2"
            MinimumNumericCharacters="2"
            RequiresUpperAndLowerCaseCharacters="true"           
            HelpStatusLabelID="lbl_helper_1"
            StrengthIndicatorType="BarIndicator"
            BarBorderCssClass="BarBorder_TextBox2"
            BarIndicatorCssClass="BarIndicator_TextBox2">
</ajaxToolkit:PasswordStrength>

A MinimumNumericCharacters-szel azt adhatjuk meg, hogy hány szám karakternek kell minimum lennie a jelszóban.
(Ezt provider szinten csak regexp-pel lehet megkövetelni, a passwordStrengthRegularExpression tulajdonság segítségével. Ilyenkor a minimum-os tulajdonságokat a provider figyelmen kívül hagyja! Az alapértelmezett jelszóházirend kibővítve szám „igényléssel” így néz ki: @\"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,}) . (A PSE vezérlő nem képes külön reguláris kifejezés ellenőrzésre!!!)).
A RequiresUpperAndLowerCaseCharacters tulajdonság segítségével azt követelhetjük meg a jelszótól, hogy tartalmazzon kis-, illetve nagy-betűket is. Ha ez a tulajdonság igazra van állítva, akkor a MinimumUpperCaseCharacters, illetve a MinimumLowerCaseCharacters property-ken keresztül tudunk ezek számosságára egy-egy alsó korlátot megadni! (lentebb példa)
A HelpStatusLabelID egy olyan címke azonosítóját várja, ahova a PSE kiírhatja a még hiányzó karaktertípusokból a még szükséges karakterek számát (pl.: még 1 szám karakter).
A StrengthIndicatorType tulajdonság segítségével tudjuk átállítani az alapértelmezett szöveges (Text) minősítést „sávjelzős”-re (BarIndicator).
A BarBorderCssClass-nél beállított stílusosztállyal a sávjelző keretét tudjuk egyedivé alakítani.
A BarIndicatorCssClass-en keresztül a dinamikusan növekvő csík stílusát tudjuk állítgatni.

Ilyen beállítások mellett futtatva az alkalmazásunkat az alábbi UI fogad majd bennünket:

Amennyiben azt szeretnénk, hogy a BarIndicator-nak is mindig más legyen a színe, ha szintet lépünk, akkor a StrengthStyles tulajdonságra lesz szükségünk. A Confirm Password-höz tartozó PSE vezérlőknél mi ezt szeretnénk, ezért az alábbi módon állítsuk be:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E_2" runat="server"
           TargetControlID="ConfirmPassword"
            PreferredPasswordLength="10"
            MinimumSymbolCharacters="2"
            MinimumNumericCharacters="2"
            RequiresUpperAndLowerCaseCharacters="true"
            MinimumUpperCaseCharacters="2"
            HelpStatusLabelID="lbl_helper_2"
            StrengthIndicatorType="BarIndicator"
            BarBorderCssClass="BarBorder_TextBox2"
            StrengthStyles="BarIndicator_TextBox2_weak; BarIndicator_TextBox2_average; BarIndicator_TextBox2_good">
</ajaxToolkit:PasswordStrength>

A StrengthStyles tulajdonságnál hasonlóképpen kell megadni a stílusosztályok listáját, mint a TextStrengthDescriptions-nél a lehetséges minősítő értékeket.

Indítsuk el az alkalmazásunkat és teszteljük le a Pass_Strength_E_2 vezérlőket!

Amint az a képen is látszik az lbl_helper_2 címke szövege miatt teljesen szétesik a CUW vezérlőnk. Ezen kétféleképpen tudunk segíteni. Az egyik megoldás az, hogy nem használunk HelperLabel-t, a másik pedig az, hogy helyette inkább HelpHandle-t használunk!

Popup ablak használata a még hátralévő karakterek tájékoztatására
Hozzunk létre egy új oldalt, és ismét másoljuk át az előző oldalunk form1-jének a tartalmát. Az első PSE vezérlőnknél vegyük egy kicsit szigorúbbra a jelszóházirendet, mint ami eddig volt, vagyis legyen legalább 15 hosszú, legyen benne minimum 5 kis, illetve 5 nagybetű, végül pedig tartalmazzon legalább még 2 számot, illetve 3 speciális karaktert! Ez már talán túlságosan is szigorúra sikerült, mivel azonban ez csak egy példaalkalmazás, ezért ez még belefér .
Ha most ezt a szép kétsoros követelménylistát akarnánk kitenni egy HelpLabel-be, akkor azt hiszem, hogy egyetlen regisztrált tagunk se lenne. Ezért csináljuk azt, hogy ezt a szöveget egy alert ablakba jelenítsük meg, és csak akkor, ha a felhasználó rákattint a Segítség ikonra. Nos, ezt a HelpHandle segítségével tudjuk megvalósítani a PSE-ben, az alábbi módon:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E1" runat="server"
      TargetControlID="Password"
      StrengthIndicatorType="Text"
      PreferredPasswordLength="15"
      RequiresUpperAndLowerCaseCharacters="true"
      MinimumUpperCaseCharacters="5"
      MinimumLowerCaseCharacters="5"
      MinimumNumericCharacters="3"
      MinimumSymbolCharacters="2"
      HelpHandleCssClass="TextIndicator_TextBox3_Handle"
      DisplayPosition="BelowLeft"
      TextCssClass="TextIndicator_TextBox3"
      PrefixText="Jelszó erőssége: "
      TextStrengthDescriptions="Nagyon Gyengus; Gyengus; Alakulgat; Na még egy kicsit; Már majdnem jó; Erről van szó">
</ajaxToolkit:PasswordStrength>

(Természetesen mivel a helplabel-öket nem használjuk, ezért töröljük is őket a markup-ból!)

A HelpHandleCssClass tulajdonság beállításával kapcsolhatjuk úgymond be ezt a HelpHandle szolgáltatást. Tehát ha ennek a tulajdonságnak nem állítunk be semmilyen stílusosztályt, akkor nem fogja a PSE külön alert ablakba feldobni a még hiányzó karakterek listáját. Sajnos a popup ablakban, illetve a HelpLabel-ben megjelenő szöveget nem tudjuk lokalizálni, mivel ezt az ACT szerelvény resource-ai közül olvassa ki a rendszer! 

A DisplayPosition tulajdonság segítségével a jelszóerősség minősítő szöveg (vagy csík) elhelyezkedését tudjuk szabályozni a TextBox-hoz képest. Az alapértelmezett elhelyezés: a szövegdoboz jobb oldala mellett jelenik meg az indikátor (RightSide). A DisplayPosition az alábbi értékeket veheti fel: RightSide, AboveRight, AboveLeft, LeftSide, BelowRight, BelowLeft.

Azt mondhatnánk, hogy ez már egész jól használható és pofás is, de sajnos azáltal, hogy szigorítottunk a jelszóházirenden, kicsit felborult az arányrendszere a PSE-nek. Ugyanis alapból az arányokat az alábbi módon számítja ki:
– 50%-ot tesz a latba a jelszó hossza (L)
– 15%-ot a szám karakterek számossága (N)
– 15%-ot a kis, és nagybetűk száma (C)
– 20%-ot a speciális karakterek számossága (S)
A fenti beállítások mellett a L,N,C,S százalékos eloszlása körülbelül az alábbira módosul: 40,15,30,15 (vagy valami hasonló)
A PSE-vel ezt a változást a CalculationWeightings tulajdonságon keresztül tudjuk közölni.
A CW-n belül pontosvesszővel elválasztva kell megadni ezt a négy értéket (L;N;C;S – fontos a sorrend!!!) úgy, hogy az összegük 100-ra jöjjön ki, mivel százalékokról van szó.
Ezzel a tudással felvértezve a második PSE vezérlőt így állítsuk be:

<ajaxToolkit:PasswordStrength ID="Pass_Strength_E2" runat="server"
      TargetControlID="ConfirmPassword"
      StrengthIndicatorType="BarIndicator"
      PreferredPasswordLength="15"
      RequiresUpperAndLowerCaseCharacters="true"
      MinimumUpperCaseCharacters="5"
      MinimumLowerCaseCharacters="5"
      MinimumNumericCharacters="3"
      MinimumSymbolCharacters="2"
      CalculationWeightings="40;15;30;15"
      BarIndicatorCssClass="BarIndicator_TextBox2"
      BarBorderCssClass="BarBorder_TextBox2"
      HelpHandleCssClass="TextIndicator_TextBox3_Handle"
      HelpHandlePosition="LeftSide">
</ajaxToolkit:PasswordStrength>

A HelpHandlePosition segítségével elviekben a help icon helyzetét lehetne módosítani a szövegdobozhoz képest. Gyakorlatban teljesen mindegy mit állítunk be, ugyanis mindig a bal felső sarkánál fog megjelenni. Mellesleg ennél a tulajdonságnál is ugyanazokat az értékeket tudjuk megadni, mint a DisplayPosition-nél.

A fenti képen látható validátor hibaüzenet azért jelent meg, mert a ConfirmPassword TextBox elvesztette a fókuszt azáltal, hogy rákattintottunk a kérdőjel ikonra.

Remélem ezzel a rövid kis cikkel sikerült betekintést nyújtani a PasswordStrengthExtender vezérlő használatába.

 

Ma délután két új tanfolyam időpontot is meghirdettünk az Msportal-on a nagy érdeklődésre való tekintettel. 
A Július 7.-ével kezdődő héten délelőtt lesz 70-536-os MCP vizsga felkészítő tanfolyam, délután pedig Silverlight tanfolyam!
Aki tehát még nem jelentkezett az tegye meg minél hamarabb, mert gyorsan elfogynak a helyek!
 
 
A másik dolog, amire fel szeretném hívni a figyelmeteket az a SkyDrive-omra feltöltött néhány poszter. Ezek a "nagy" méretű pdf-ek összefoglalják azt, hogy az egyes programozási nyelveknél mik az alapértelmezett gyorsbillentyű kombinációk Visual Studio-ban. Feltöltöttem Vb-ből és C#-ból a 2005-ös, illetve a 2008-as Studio-ra vonatkozó Default KeyBindings-os postereket, illetve Visual C++-ból a VS2008-hoz tartozót!
 
SkyDrive-on a Nyilvános mappámat az alábbi címen érhetitek el, vagy a baloldalt lévő menőoszlop legalján:
 

http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/Nyilv%c3%a1nos/Poszterek/VisualC++2008DefaultKeyBindingsPoster.pdf  http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/Nyilv%c3%a1nos/Poszterek/VisualC|32008DefaultKeyBindingsPoster.pdf  http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/Nyilv%c3%a1nos/Poszterek/VisualBasic2008DefaultKeyBindingsPoster.pdf

http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/Nyilv%c3%a1nos/Poszterek/VisualC|32005DefaultKeyBindingsPoster.pdf  http://cid-8dcaf3b0da4fb828.skydrive.live.com/embedrowdetail.aspx/Nyilv%c3%a1nos/Poszterek/VisualBasic2005DefaultKeyBindingsPoster.pdf

 
Tekintsétek ezt a Visual Studio Tippek Trükkök 1.5. részének!
 
 

Mégis megjött :D

Posted: 2008. június 7. in Silverlight

Silverlight 2 Beta 2 Installer 
http://go2.microsoft.com/fwlink/?LinkID=115261

Silverlight 2 Beta 2 Developer Tools
http://download.microsoft.com/download/9/2/5/92573333-A09C-47E8-9AC4-BDA31154ACEC/Silverlight.2.0_Developer.exe

Silverlight 2 Beta 2 Documentation 
http://download.microsoft.com/download/9/a/c/9acf8f7c-c801-4e7f-a285-a814149f4140/SilverlightBeta2.zip
http://www.microsoft.com/downloads/details.aspx?FamilyID=BCE7684A-507B-4FC6-BC99-6933CD690CAB&displaylang=en

Silverlight 2 Beta 2 SDK Kit
http://download.microsoft.com/download/b/4/a/b4a5b488-751b-430c-8ee3-4cc2e0959c54/silverlight_sdk.exe

Az újdonságokat bemutató blogpostok/cikkek:
http://blogs.msdn.com/webdevtools/archive/2008/06/06/what-s-new-with-silverlight-tools-beta-2.aspx
http://weblogs.asp.net/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx
http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx
http://silverlight.net/blogs/jesseliberty/archive/2008/06/06/beta-2-tutorials-available-now-in-pdf.aspx
http://adoguy.com/2008/06/06/What_s_Changed_in_Silverlight_2_Beta_2.aspx
http://timheuer.com/blog/archive/2008/06/06/getting-started-with-silverlight-2.aspx

Az első Beta2-es alkalmazás: (kicsit beteg)
http://blogs.msdn.com/tims/archive/2008/06/06/silverlight-2-beta-2-is-here.aspx

7 új Beta2-es videó!!!!:
http://silverlight.net/learn/videocat.aspx?cat=2

szerk.:


Mike & Mike Taulty 52 részes Beta 1-es videósorozata mostmár Beta2 Update-elve is elérhető (Jó szórakozást!):
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/06/07/10493.aspx

Június, Július alá MS

Posted: 2008. június 6. in Egyéb

Először is egy bocsánatkéréssel szeretném kezdeni a mai blog-bejegyzésemet, ugyanis a megígértekkel ellentétben még mindig nem tettem fel a C# varázslós cikket.  Ennek két oka is van! Az egyik, hogy azóta sikerült egy eléggé érdekes könyvhöz hozzájutnom (Visual Studio Tips and Tricks) és emiatt lesz egy VS trükkök 2 cikk is . A másik ok, ez talán egy kicsit nyomosabb érv, hogy vizsgaidőszak miatt nem igazán van időm, illetve energiám új cikkeket, tutorialokat írni mostanság. Ezért előreszólok, hogy júniusban sem fogok túl aktív lenni .NET téren!

No de emiatt, senki se búslakodjon, ugyanis tartogat egy jó pár érdekes dolgot számunkra az idei nyár, illetve MS-ék 😛 Az egyik leghamarabbi nagy durranás a SilverLight 2.0 Beta 2 megjelenése lesz. Eredetileg erre a hétre ígérték, de eléggé úgy tűnik, hogy csúszik jövő hétre a release. Engem két dolog fogott meg igazán az új Beta-ban, az egyik a VisualStateManager (http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx), a másik pedig a Per-binding level validation. Akit érdekel az új feature-ök teljes lista, azoknak ajánlom a Silverlight SDK blogját, pontosabban annak az alábbi bejegyzését: http://blogs.msdn.com/silverlight_sdk/archive/2008/06/04/what-s-new-in-silverlight-2-beta-2.aspx
Őszintén szólva, én jobban örülnék egy végleges verziónak végre, mint Beta hegyeknek, de ez van, úgy tűnik MS-éknek ez lett az új üzletpolitikája (2 évig minden termék beta, majd után „gyorsan” kidobják az rtm-et és rá félévre jöhet az sp1 ).  Na mind1, kibírjuk addigis valahogy.
A nyár másik nagy várva várt release-e az SQL Server 2008, amely legalább már CTP változattal is büszkélkedhet! Remélem mihamarabb kijön, mert én már égek a vágytól, hogy használjam az Entity Framework nyújtotta szolgáltatásokat. (Természetesen ez is jelenleg még csak béta termék ) És persze MVC-ről nem is beszélve…

Tehát amint az láthatjuk a nyár teli lesz újdonságokkal, már csak ember legyen a talpán, aki lépést is tud majd tartani az új technológiákkal! MS-éknél ezért úgy gondolták, hogy nyáron lesz egy csomó training, workshop, stb., annak érdekében, hogy a fejlesztők minél egyszerűbben és gyorsabban el tudják sajátítani az új technológiák használatát! Ennek keretében szeretném a figyelmetek ajánlani az MsPortal által szervezett MCP Nyári Iskolát! 5 hét alatt 9féle tanfolyamon vehettek részt, lesz minden, ami szem-szájnak ingere: XBOX360 programozás, WPF, Silverlight, Sharepoint, stb..
A tanfolyamokról annyit, hogy 5 naposak lesznek és napi 5*45perc-ben fogják majd osztani az előadók az észt! Minden tanfolyam végén lesz valamilyen vizsga (MCP szintű, vagy házi tákolmány), és a legjobbak MCP vizsgakupont kapnak, illetve bekerülnek a Gyakornoki programba.
Bővebb infó: http://msportal.hu/
Annyit fűznék még hozzá az MsPortal-os kiíráshoz, hogy szerény személyes lesz a Silverlight-os tanfolyam „házigazdája”, ezért úgy tervezem, hogy majd kiteszem ide is az ott elkészített példaalkalmazásokat, illetve a prezentációkat… (hátha lesz rá igény)

Mára sajnos csak ennyi fért bele, ebbe a blogba, ezért zárásképp minden egyetemistának/főiskolásnak Sikeres vizsgaidőszakot kívánok!