Monthly Archives: March 2012

Windows 8 kézzel-lábbal

Aki a Windows 8 megismerésébe fog, az bizony először nem talál semmit. Pedig minden megvan, csak éppen máshol, és néha különösen nehézkesnek tűnik egyes funkciók elérése egérrel vagy épp billentyűzetről.

w8-mouse-touch-keyboard

A jó hír az, hogy a legtöbb funkció vagy menüpont elérhető valamilyen billentyűkombinációval, egérrel és touch gesztusokkal is. Az alábbi néhány cikk segíthet a rendszer felfedezésében:

Windows Experience Blog: Getting around Windows 8 – ebben a cikkben van egy PDF (vagy XPS) táblázat, ami összefoglalja a gyorsbillentyűket.

Colin Melia (MVP és RD): Navigating Windows 8 Beta with only touch, mouse or keyboard – szintén tartalmaz egy hasznos táblázatot, amiben nemcsak a billentyűk, hanem a gesztusok és az egér trükkök is szerepelnek.

Dr. Zhiming Xue (“Dr. Z”): Windows 8 Consumer Preview power user how-to series – 30 részes sorozat néhány hasznos funkcióról.

Ami nálam nagyon bevált:

  • Win és Win+D: váltás a Metro Start Screen és a desktop között
  • Win+Q: program keresése
  • Win+X: power commands a Start menü helyén
  • Win+I: az aktuális program beállításai a Charms Baron

Ti mit használtok még?

 

Technorati-címkék:

Klasszikus asztal bejelentkezéskor Windows 8-on

JoeX készített egy kiváló ClassicStarter nevű programot, amivel Windows 8-on ki lehet erőszakolni, hogy bejelentkezés után ne a Metro Start képernyő, hanem a klasszikus desktop jelenjen meg. Általában nem szeretem az operációs rendszer nem támogatott variálásait, de ez nagyon felkeltette az érdeklődésemet, hiszen hasznos funkcióról van szó Mosolygó arc Egyrészt érdekelt, hogy működik, másrészt biztos akartam lenni benne, hogy nem csinál semmi olyat, amit nem szeretnék (mégiscsak adminként fogom futtatni a gépemen).

Szerencsére .NET-es alkalmazás, így előkaptam hozzá az ILSpy-t és megnéztem, mi van az .exe-ben. A jó hír, hogy semmi gyanús, tehát én bátran merem majd futtatni.

A kívánt eredményt pedig úgy éri el, hogy létrehoz egy ütemezett feladatot, ami az aktuális felhasználó bejelentkezésekor fog lefutni, és amely meghívja az IShellDispatch4.ToggleDesktop függvényét. Tehát semmi hack, semmi registry buherálás rég elfelejtett kapcsolókkal, hanem tiszta Shell32 API hívás. Gyönyörű!

Köszönjük JoeX!

 

Technorati-címkék:

ASP.NET MVC 4 : Csomagolás és minimalizálás

A System.Web.Optimization NuGet csomagban kapott helyet a bundling+minification szolgáltatás, amellyel jelentősen gyorsíthatjuk az oldalaink betöltődését. Gondolom sokan vagyunk ezzel úgy, hogy korábban talán manuálisan oldottuk meg ezt a problémát vagy beépítettük például a Microsoft Ajax Minifiert a build folyamatba. Mostantól a dolog sokkal egyszerűbb, ráadásul a Razor markupunk is átláthatóbb lesz.

A megtekintéshez teljes képernyős nézet, 720p ajánlott

 

Technorati-címkék: ,,,

ASP.NET MVC 4 Razor editor gondok

Az ASP.NET MVC 4 bétával kapcsolatban kiderült két bug, ami a Razor parserhez köthető és amely nehézkessé teheti a Visual Studio használatát, legyen szó 2010-ről vagy 11-ről.

Az elsőnek az a tünete, hogy a .cshtml/.vbhtml editor sokáig gondolkodik, miközben mi gépelnénk bele. Tipikusan akkor jön elő, miután a projektet létrehoztuk vagy nyomtunk egy Clean projectet. A megoldás egy gyors fordítás, hogy a szerelvények bekerüljenek a bin mappába.

A másik hibával akkor találkozhatunk, ha Visual Studio 11 bétában nem Smart indentinget használunk HTML fájlok formázásához (katt a teljes képért):

vs11-smart-tabs

A korábbi VS verziókban ez az opció HTML fájloknál nem volt elérhető, ez újdonság a VS 11-ben, ráadásul a Smart az alapérték. Azonban előfordulhat, hogy ha a gépen volt már egy korábbi VS példány, akkor a beállítások átköltöztek az új verzióba is és elszáll az editor. A megoldás: Tools –> Options –> Text Editor –> HTML –> Tab –> Indenting: Smart legyen beállítva.

Az ígéretek szerint mindkét hibát ki fogják javítani az RTM verzióra.

 

Technorati-címkék: ,

WebMatrix 2 beta

Frissült a WebMatrix 2 bétája, ami most már gond nélkül együttműködik a Visual Studio 11 bétával. Az új verzió a Web Platform Installer pre-release termékeket is listázó változatával tölthető le innen.

A tavalyi WebMatrix Klub előadássorozat alkalmával egészen megkedveltem a WebMatrixot. Nem olyan nehézkes, mint a Studio, de okosabb, mint egy Notepad (++/2). Olyan pont kézreálló fajta, persze csak annak, aki nem riad vissza egy kis kódolástól és tudja nélkülözni a varázslókat.

Image4

Az új verzió újdonságaiból ízelítő megtekinthető itt.

 

Technorati-címkék: ,

IIS 8.0 Express Beta

Olyan ez, mint az augusztusi csillaghullás, csak úgy záporoznak az égből a béták, minden napra jut belőlük pár. Ezúttal az IIS csapat eresztett meg egyet, mégpedig az IIS 8.0 Express bétáját, ami innen tölthető le. Érdekes, hogy néhány kivételével sikerült minden IIS funkciót megvalósítaniuk az Express változatban, ami nem csak hogy Windows 8-on, hanem Windows Vista SP1-től kezdve minden Windows verzión fut! XP tulajdonosok maradhatnak a 7.5-nél (ez jön egyébként a mostani Visual Studio 11 bétával is).

Az újdonságok és korlátozások listája megtalálható a Readme-ben.

IIS8

A “nagy” IIS telepítése Windows 8-on egyébként sima ügy, bár kicsit tovább tartott, mint korábban Windows  7-en, ami valószínűleg annak volt köszönhető, hogy pár csomagot a Windows Update-ről rántott le frissen (ami viszont dicséretes). Utána viszont gondban van az ember, mert sehogy sem lehet elindítani az IIS Managert, hiszen amíg a kereső le nem indexeli, addig hiába keresgélünk rá a Search Baron. Aki nem akar 1-2 percet várni, az kapcsolja be a Charm Baron a Start Screen Settings-ei között a Show Administrative Tools kapcsolót, ami után megjelenik az IIS szokásos ikonja a Metros Start képernyőn.

Az IIS Managert elindítva a szokásos látvány fogad:

IIS8-Manager

Úgy tűnik, hogy nincsenek eget rengető újdonságok, ami részben igaz is, hiszen a fő újdonságok az egyes funkciók skálázhatóságával kapcsolatosak, ami elsősorban shared hosting környezetben lesz fontos (pl. több ezer site egy gépen). A lényeg tehát a motorháztető alatt van, de azért itt-ott kicsillan egy-egy igazi gyöngyszem, például:

IIS8-SNI

 

Technorati-címkék: ,

Windows 8 elaltatása távolról

Remote Desktop kapcsolaton keresztül sehol nem találok Sleep opciót a távoli gép elaltatásához, és ahogy látom a shutdown is csak hibernálni tud (/h), sleepelni nem.

Szerencsére a Desktopon lehet ALT+F4-et nyomni, amire feljön az alábbi ablak:

Windows 8 Remote Desktop Sleep

 

Technorati-címkék:

Hasznos Visual Studio eszközök Windows 8 Metro stílusú alkalmazások készítéséhez

Egy ideje nyúzom a Visual Studio 11-et és találtam benne több hasznos eszközt is, ami sokat segít Metro stílusú alkalmazások készítésekor. Íme a kedvenceim:

Simulator

Hozzá vagyunk szokva, hogy az emulátorok általában körülményesek és lassúak, de ha már próbáltuk a Windows Phone Emulatort, akkor rájöhettünk, hogy ez nem mindig van így, sőt kifejezetten hasznosak fejlesztéskor. A Visual Studio 11-ben kapunk egy szimulátort, ami nagyon praktikus Metro stílusú alkalmazások teszteléséhez (katt a nagyobb képért):

Simulator

Jobb oldalon sorban a funkciók:

  • Mouse mode
  • Start touch emulation
  • Touch emulation pinch/zoom
  • Touch emulation rotate
  • Rotate simulator clockwise
  • Rotate simulator counterclockwise
  • Change resolution
  • Set location
  • Capture screenshot
  • Screenshot settings
  • Help

Amint látható, belepakoltak egy rakás olyan funkciót, amit egyébként csak fizikai eszközön lehetne kipróbálni. Külön érdekes, hogy a fenti gépen látható elrendezést én nem a szimulátorban állítottam össze, hanem ez pontosan megegyezik a hoszt gépem Start képernyőjével (remote desktop). A Simulator egyáltalán nem tűnik lassúnak (bár igazán pörgős alkalmazással még nem teszteltem), ráadásul közvetlenül a Studio toolbarjáról szabályozhatjuk, hogy ott induljon a programunk:

Visual Studio 11 - Indítás emulátorban

DOM Explorer

Miután sikerült elindítanunk az alkalmazást, jöhet a hibakeresés, ami weboldalaknál és most már JavaScriptes Metro stílusú alkalmazásoknál a layout és a CSS kipofozásával kezdődik. Itt lehet óriási segítség a Debug – Windows menüből elérhető DOM Explorer ablak, ami lényegében egy Internet Explorer Developer Toolbar Metro alkalmazásokhoz:

DOM Explorer

Az IE Developer Toolbar funkcióit nem kell bemutatnom, a Select Element gombra kattintás után itt is ugyanúgy rábökhetünk akár a Simulatorban, akár a futó alkalmazásban bármelyik felhasználói felület elemre és megnézhetjük a hozzá tartozó DOM részletet. Újdonság viszont, hogy a felső részen látszik, hogy az adott DOM elemet melyik fájl generálta és egy kattintással megnyithatjuk az adott forrásfájlt. Ez azért izgalmas, mert a bal oldalon nem a forráskódunk látszik, hanem a forráskód által fabrikált kész DOM, tehát egy lista esetén például már a renderelt DOM-ot látjuk, nem az item template-et. A böngészős dev toolbarhoz hasonlóan itt is lehet bármit röptében módosítani a kódban, ami azonnal megjelenik a felhasználói felületen (ami nem meglepő, hiszen a kódunkat az IE futtatja a WWAHost processzen belül).

Szintén nagyon hasznos a jobb oldalon található Events fül, ahonnan pedig az elemhez tartozó eseménykezelőkre ugorhatunk. Íme például egy AppBar button lelkivilága:

DOM Explorer - Events fül

Refresh Windows app

Persze előfordul, hogy a hiba nem a HTML vagy CSS fájlban, hanem JavaScript kódban van. Ilyenkor egy igazi webfejlesztő csak belejavít a kódba, nyom egy gyors F5-öt és máris teszteli a javítást a böngészőben. Szerencsére ennek is van megfelelője itt, úgy hívják, hogy Refresh Windows app és megtalálható a toolbaron, vagy indítható közvetlenül a CTRL+SHIFT+R kombinációval (hamar megtanulja mindenki):

w8-refresh

Sajnos nem csak az adott oldalt frissíti, hanem újraindítja az egész alkalmazást, de úgy vettem észre, hogy még mindig ez a leggyorsabb megoldás.

 

Nektek mi jön be leginkább az új Studioban?

 

Technorati-címkék: ,,

C# 5.0 caller info attributes és INotifyPropertyChanged

A C# 5.0-ban lesz néhány új nyelvi elem, melyek közül az egyik a “caller info attributes. Egyszerűen fogalmazva arról van szó, hogy ha egy metódus bemeneti paramétereit ellátjuk néhány attribútummal, akkor azok a paraméterek futási időben meg fogják kapni a hívó függvény nevét, valamint annak a fájlnak a teljes elérési útját és azon belül a sor számát, ahol a hívó található. Az attribútumok:

[CallerMemberName]

[CallerFilePath]

[CallerLineNumber]

A legtöbb felhasználási példa arról szól, hogy ezek az attribútumok milyen kiválóan használhatók naplózásra, de használhatjuk őket például az INotifyPropertyChanged interfész implementálásakor is:

public class Widget : INotifyPropertyChanged
{
    private string statusText;
    public string StatusText
    {
        get { return statusText; }
        set { statusText = value; NotifyPropertyChanged(); }
    }

    public void NotifyPropertyChanged([CallerMemberName] string property = null)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
 
   public event PropertyChangedEventHandler PropertyChanged;
}

A példát a C# FAQ blogból kölcsönöztem, ahol további linkek találhatóak a C# 5.0-val és a Visual Studio 11 Bétával kapcsolatban.

 

Technorati-címkék: ,