2012. április havi bejegyzések

jQueryUI Datepicker lokalizálás

A jQueryUI Datepicker minden szempontból annyira praktikus, hogy már szinte minden projektünkben használjuk. Az eredetileg angol nyelven megjelenő naptár vezérlőt nagyon könnyen lehet más nyelvűvé alakítani, mindössze az adott nyelvhez tartozó lokalizációs fájlt kell betöltenünk az oldalunkra, majd át kell kapcsolnunk rá a Datepickert:

$(selector).datepicker($.datepicker.regional['hu']);

De mi van akkor, ha az oldal renderelésekor még nem tudjuk, hogy milyen nyelvre lesz szükségünk? Ilyenkor jöhetnek a dinamikus szkript betöltési módszerek a kb. 1KB-os nyelvi fájlok betöltésére.

Ha sokszor, sokféle nyelven használjuk a dátum vezérlőt, akkor hasznos lehet a kis méretű fájlok külön-külön letöltése helyett egyszerre letölteni az összes nyelv beállításait. Ezen az URL-en található egy ilyen fájl, amiben az összes (?) támogatott nyelv beállításai megtalálhatók:

http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/i18n/jquery-ui-i18n.min.js

Ez egy minimalizált fájl, de a mérete még így is 51KB, azonban ha a webszerveren beállítjuk a tömörítést, akkor mindössze 11KB marad.

 

Technorati-címkék: ,,
Reklámok

Hány eleme van egy JavaScript tömbnek az IE szerint?

Az ember JavaScriptben nem fejleszt, hanem debuggol. Például tömbök túlindexelését. Találtam például egy tömböt, ami minden böngészőben 5 elemű, kivéve Internet Explorerben, ahol 6. Szerencsére van az IE-ben Developer Toolbar, persze rögtön megnéztem vele, mi van benne:

js-array-length

Akárhogy is nézem, ez 5 elem, de a length property szerint 6. WTF???

Íme a forráskód:

js-array-source

Tegye fel a kezét, aki látja a hibát!

Szóval a hiba nem a böngészőben van, a szörnyet én alkottam. Igen, azzal a vesszővel, és naná, hogy copy-paste-tel (talán nem is kéne Copy funkció a VS-be, elég lenne a Cut, sok hiba elkerülhető lenne úgy). Azért érdekes, hogy a böngészők többségének meg sem kottyan a programozói bénázás.

 

Technorati-címkék: ,,,

SkyDrive 7GB vagy 25GB

Megjelent a SkyDrive új verziója, amelyről a Building Windows 8 blogon minden lényeges információ megtudható: vannak új alkalmazások telefonra és desktopra is. Az ingyenes tárhely azonban immár nem 25GB, hanem alapból csak 7GB, ami pont egy Dropboxnyival több a Google Drive-nál 🙂

Azonban aki április 22. előtt már használta a SkyDrive-ot, az most ingyenesen kérhet magának 25GB tárhelyet. Így:

Irány a Manage Storage oldal:

skydrive-manage-storage

Ha megjelenik a Free Upgrade! gomb, akkor szerencsénk van, csak nyomjunk rá:

skydrive-upgrade

Ha utána ez jelenik meg, hátradőlhetünk, mert készen vagyunk:

skydrive-upgraded

Az ezzel kapcsolatos FAQ itt olvasható.

 

Technorati-címkék: ,

ClickOnce érdekességek

Összességében szeretem a ClickOnce technológiát, mert jelentősen megkönnyíti a felhasználók életét, ezért is használjuk a VIK-en a záróvizsga jegyzőkönyv program telepítéséhez. Persze nem minden esetben ez a legjobb telepítőcsomag formátum, hiszen a testreszabási lehetőségek korlátozottak, de nekünk éppen megfelel. A héten – fél év után ismét – egy új verziót publikáltam volna a programból, de belefutottam néhány érdekességbe.

Nem lehet publikálni

Az új verziót a következő módon szoktam elkészíteni: Project Properties –> Publish –> Verziószám beállítása –> Publish Wizard, mert így tudom legjobban kézben tartani, hogy mi történik. De most erre ezt az üzenetet kaptam:

Error: Cannot publish because a project failed to build.

Az Output ablakban semmi több, ennyiből kell főznünk. Hát, ha balról nem engedi a ló, hogy felszálljunk rá, próbáljuk jobbról: Solution Explorer –> jobb klikk a projekten –> Publish. Így megy, csodálatos! 🙂

Lejárt a tanúsítvány

Amikor már azt hittem, hogy sínen vagyunk és csak egy Visual Studio bugba sikerült belefutnunk, szembejött az alábbi érdekes hiba:

The signer’s certificate is not valid for signing.

Ejha, ennek a fele sem tréfa, nézzük csak meg azt a tanúsítványt. Irány a Project Properties ablak, azon belül is a Signing (nem a Publish!) fül. Íme az aláíró tanúsítvány:

clickonce-certificate

Igen, ez a Visual Studio által generált önaláírt tanúsítvány, amire nincs mentség, csak kifogások, nem volt más választásunk. Szemmel láthatóan ez valóban lejárt, tehát itt valamit tenni kell. Van ezen az ablakon egy Create Test Certificate gomb, amivel simán generálhatok új tanúsítványt, de annak következményei vannak. Először is jön ez az üzenet:

The application is signed with a different key than the existing application on the server. Do you want to overwrite it?

Amire mondhatjuk, hogy naná, de az MSDN szerint akkor bizony a régi felhasználóink nem fogják megkapni a frissítést. Ez a mi esetünkben semmiképpen sem elfogadható, más megoldás kell. Elvileg .NET 4 esetén ez már nem probléma, mégsem akartam kockáztatni.

Valahogy tehát meg kellene hosszabbítani a létező tanúsítványt, amihez a KB925521 cikkben találunk is útmutatást, egy rakás .cpp kód formájában. Cliff Stanford oldaláról letölthető egy lefordított RenewCert verzió, ami nálam a C runtime library-kre hivatkozva elszállt, de szerencsére Robin Shahan blogjában találtam egy olyan változatot, ami mellett ott állnak a szükséges dll-ek is. Ezzel egy csapásra sikerült meghosszabbítani a korábban használt tanúsítványt és gond nélkül működik a frissítés. 5 évig.

 

SQL mit ír ki

Code review közben akadtam rá az alábbi érdekes mintára, természetesen sokkal bonyolultabb formában. A kérdés a szokásos: mit ír ki?

DECLARE @condition int = 0
DECLARE @new int

IF @condition = 1
BEGIN
    DECLARE @old int = 5
END    

SET @new = @old

SELECT @new

 

 

Technorati-címkék: ,

A sötét felhő*

A Microsoft bejelentette a legújabb szolgáltatását a felhőben, amely Windows Azure Media Services névre hallgat. Az alábbi ábra egészen kiválóan összefoglalja, hogy miről is van szó:

MediaServicesArch

A szolgáltatás egyelőre preview formájában érhető el, amire a mediaservices@microsoft.com e-mail címen keresztül lehet feliratkozni. Bővebb információk a windowsazure.com/media oldalon és a Windows Azure Media DevCenterben olvashatóak.

Aki médiaközpontú alkalmazást szeretne fejleszteni (akár Windows 8 Metro-ra), annak ez a két library sokat segíthet:

Van erre vajon igény ma Magyarországon?

 

* Nincs semmi gondom az Azure-ral, egyszerűen csak így hívták korábban ezt a projektet. 😉

 

Technorati-címkék: ,

April 2012 Update for Visual Studio 11 Beta

Pár napja megjelent az áprilisi frissítés a Visual Studio 11 béta változatához. A frissítés elsősorban stabilitási és teljesítmény problémákat orvosol, többek között kijavították a Razor editoros hibát is. A változásokról egy kicsit részletesebb lista megtalálható a KB2677574 tudásbázis cikkben.

A javítás mindössze 16.7MB és letölthető közvetlenül a Microsoft Download Centerből, illetve akik Ultimate verziót futtatnak, azok számára automatikusan megjelenik egy értesítő buborék a frissítésről:

Visual Studio 11 update értesítés

Az értesítésre kattintva pedig közvetlenül az Extension Manager ablakból telepíthető a frissítés (katt a teljes képért):

Visual Studio 11 update telepítés

Visual Studio 11 Express Beta for Web verziót használók ne keressék ezt a frissítést, automatikusan nem fog megjelenni számukra, ők manuális letöltés után telepíthetik. Későbbi változatokban ezt is orvosolni fogják.

És ha már ott járunk, érdemes bekukkantani az Installed Extensions listába is:

vs11-extensions

Látható, hogy az ASP.NET csapat nagyon sok funkciót bővítmény formájában csomagolt be a Studioba, így Visual Studio és .NET Framework verzióktól függetlenül tudják majd frissíteni őket, ami szerintem nagy királyság!

 

ui: Ha már frissítések: van a VS fejlesztőcsapaton belül egy UX team. Még nem mondhatom el, hogy mit alkottak, de hallják a sírást és dolgoznak ők is.

 

Technorati-címkék: