sobota 12. července 2014

Klučičí cesta na jih - pět dnů z domu

Naše cesta začala o čtvrté hodině ráno v sobotu 28.6, kdy jsme vyrazili k Legolandu po dálnici D1. I přes časnou ranní hodinu byla dálnice kvůli dopravní nehodě za Humpolcem uzavřena. Podařilo se nám ale vyjet z dálnice po polní cestě od benzínky a tak jsme následně měli až do Prahy dálnici zcela pro sebe. Cesta pak probíhala už bez dalších komplikací a krátce po desáté jsme už stavěli stan v Legoland kempu .



A hned po postavení jsme vyrazili po krátké lesní cestě do samotného Legolandu. Cesta je to krátká a sem tam ji zdobí lavička s nějakým lego panáčkem téměř v životní velikosti. V parku jsme se podívali i do části věnované Star Wars  a viděli na vlastní oči stihačku X-Wing – postavenou mimochodem v Kladně.



V Legolandu  ale bylo tolik návštěvníků z Čech, že by mu snad slušel více název Čekland - bylo prostě poznat, že u nás už, na rozdíl od Německa, začali prázdniny. Naštěstí fronty na atrakce nebyly nijak dlouhé, většinou od 10 do 20 minut - s výjimkou vodní skluzavky, kde byla čekací doba neuvěřitelných 45 minut a kterou jsme tedy vynechali. Škoda, kdysi jsme si ji strašně užili a byli mokří od hlavy až k patě.

Výhodou ubytování v kempu byla možnost pokračovat v Lego zábavě i po uzavření parku - k dispozici jsou kostičky na stavění v kryté herně a venku několik hrišť s prolízkami a různými drahami. Jezdit šlo i na šlapacích strojích. K celkově pozitivnímu dojmu přispívají i čistá sociální zařízení.


Místo stanu lze přijet i s přívěsem či kempovacím vozem, nebo využít připraveného ubytování v stanech, chatkách či přímo v hotelu. Samozřejmě cena je pak někde jinde, ale i zde poskytují na Merlin kartu slevy - ale tenhle výlet byl pojat jako nízkorozpočtový a tak se prostě spalo ve stanu. Kdyby nebylo tak deštivo, bylo by vše naprosto dokonalé.

V neděli pak pršelo a tak jsme sbalili jen ty nejnutnější věci a vyrazili směrem k Sinsheimu to technického muzea. Po cestě jsme ještě na parkovišti stihli krátkou zastávku se snídaní.

Technické muzeum bylo super - ve velkých halách byly k vidění automobily všech značek a stáří, bojová technika i letadla - a samozřejmě i lokomotivy, zemědělská technika a další technická hejblata.

Navíc většina exponátů byla přístupná a to včetně obou nadzvukových dopravních letounů - Concorde (2) a TU 144. Z muzea jsme odcházeli po téměř šesti hodinách a čekalo nás ještě jedno - Porsche muzeum v Stuttgartu. To bylo naplněno vozy Porsche ve všech možných provedeních a tvarech. Bylo možné i jedno vyzkoušet a pak se ještě projet na simulátoru. Z muzea bylo vidět i na výrobní část, včetně známého přechodu nad vozovkou - ale byla neděle, takže nebyl v provozu.


Počasí v pondělí ráno také nebylo zrovna ukázkové, ale i přes déšť jsme se zvládli sbalit z našeho kempovacího místa, na dvě hodiny navštívit Legoland a pak vyrazili směrem k Lago di Garda přes Alpy.


Jak jsme se k Alpám blížili, tak se počasí umoudřovalo a na obloze začalo převládat modro a tak jsme se rozhodli uskutečnit jednu z mála naplánovaných šíleností našeho výletu - přejezd přes průsmyk ve výšce 2509m. V údolí jsme si nakoupili něco málo zásob a pak nás už čekala jen sníh, teploty kolem pěti stupňů, prudké stoupání a klesání, zelené louky s pasoucími se ovcemi a skoro prázdná silnice na vrchol a z vrcholu, plná zákrut a tunelů. Auto se s tím vypořádalo docela dobře, jen kolem  2200m přestal fungovat plyn a vlády nad motorem se ujal benzín.



Průsmyk Timmelsjoch (italsky Passo del Rombo) je významným alpským silničním sedlem (2.509 m n. m), nacházejícím se na hranicích Rakouska a Itálie. Výstavba silnice byla odstartována dne 30.10.1955. Za čtyři roky, z nichž pouze 17 měsíců byly skutečně prováděny stavební práce, byla dne 17.7.1959, cesta do Joch slavnostně otevřena.



Vysokohorská silnice do sedla je otevřena denně od 7 do 20 hodin a vzhledem k vysoké nadmořské výšce je  průjezdná přibližně od začátku června do konce října. U silnice se na několika místech nacházejí architektonické plastiky, ve kterých jsou informace o místním přírodním prostředí, historii a hospodářství region a  kultuře.


Na vrcholu jsme pak zaparkovali a vyšplhali na kopec v sedle a poté si prošli  muzeum připomínající pomocí dobových fotografií nelehkou stavbu silnice. Malé parkovací plochy pak zcela ovládaly značky BMW a Dacia, přičemž naše Lodgy zde byla ve dvou kusech nejzastoupenější značkou vozu. 


Na vrchu vede státní hranice a tak jsme přejeli do Itálie a sjížděli se zastávkami dolů. Na italské straně bylo na zelených kopcích poznat, že tyhle hory mají větší příděl slunečního svitu než ty rakouské.


Cesta do údolí byla dlouhá, ale nakonec jsme najeli na dálnici, nejprve bezplatnou z Merana do Bolzana a poté na placenou do Verony a uháněli do kempu. Vyhlédnutý kemp  Gasparina  blízko zábavního parku byl poloprázdný, vybrali jsme si místo blízko břehu jezera a kluci hned vyrazili koupat se do jezera v záři zapadajícího slunce. Pak jsme postavili stan a ukuchtili skromnou italskou verzi špaget. Zdálky k nám doléhal hluk ze zábavního parku Gardaland, který je v tuto roční dobu otevřen třináct hodin denně od 10 ráno až do jedenácti večer.

A do parku jsme také hned příští dne vyrazili - na naše Merlin pasy jsme si vyzvedli vstupenky zdarma, našli mapu a pustili se do atrakcí. Hned na první, Magic House, se nejmladší Jeník strašně bál, ale postupem doby ho strach opustil a další atrakce si skutečně užíval. Na konci dne se pak do Magic House vrátil a užil si jej beze strachu.


Mezitím jsme vyzkoušeli spousty dalších atrakcí - horské dráhy, vodní dráhy, odpočinkové vyhlídkové jízdy, kolotoče pro malé, 4D kina a tak dále. Park je velmi pěkně upraven, je čistý a s levným jídlem i pitím. Čekací doby byly velmi rozumné, od minuty až po dvacet minut, a tak jsme mnoho drah zvládali opakovaně - mnohdy bylo delší projít od výstupu znovu ke vstupu než čekat na volné místo.



Líbil se nám Mammut - šílená cesta vláčkem po horách a Jakub se mnou vyzkoušel i Blue Tornádo - což je dráha podobná Limitu z Heide Parku. Při jízdě jsme měli pocit, že snad oholíme vršky keřů, které se nám míhaly pod nohama.


K večeru jsme si v pirátské hospodě dali večeři a tak posilněni vyrazili do téměř nočního parku, který se postupně rozsvěcoval. Obzvláště magický strom byl nasvícen pěkně. Do zavíračky jsme zvládli spousty dalších jízd, viděli i noční jezero a z parku jsme odcházeli mezi posledními návštěvníky.



Ve středu jsme si pak pospali, poté posnídali, sbalili naše kempovací místo, vykoupali se jezero a vyrazili na téměř 900km dlouhou cestu zpět domů. Zastavili jsme se ještě na nákupy v Bolzanu, kde si kluci prohlédli italský Gameshop, přejeli Brennerský průsmyk po staré cestě bez placení dálnice a mýtného a v hustém dešti vjeli v Innsbrucku na dálnici směr domů. V Salzburku jsme se ještě stavili na tradiční párek v rohlíku v Ikei (já si doplnil zásoby kofeinu) a pak už bez větších zastávek jeli domů - dojeli jsme  o půl druhé v noci na čtvrtek.


Celkem jsme najezdili téměř dva a půl tisíce kilometrů, navštívili tři země a poznali dva kempy. A všem se to moc líbilo.

neděle 25. května 2014

Prodloužený víkend v Německu - zábava pro kluky

Tenhle výlet jsme několikrát odkládali, než se nám ho konečně podařilo uskutečnit. Původně byl plánován na čtyři dny začátkem května, konkrétně na 8 až 11.května 2014, ale díky předchozí akci na Baťově kanále  jsme byli trochu nemocní a ani počasí nevypadalo dobře. Takže se nakonec jelo o týden později a místo čtyř dnů jen na tři - na naši  „klučičí“ cestu jsme vyrazili ve čtvrtek večer a mimo obou našich kluků jsme brali i jednoho jejich kamaráda. 

Cílem byla návštěva Heide parku a malý okruh severním Německem, kde jsme chtěli využít slevové Merlin karty a kromě Heide parku se podívat i do Oberhausenu, kde jsou hned tři Merlin atrakce a do Hamburku, kde mimo domu hrůzy čekaly i vláčky.

Navíc se mi podařilo sehnat poměrné levné ubytování v řetězci  Holiday Inn Express - za cenu mezi 50-60 eur na noc pro čtyři lidi jsme dostali navíc i připojení k internetu, parkování zdarma a snídani formou švédského stolu. Za tu cenu naprostá paráda.

Na krátké zastávce v Ústí nad Labem jsme povečeřeli McBox v McDonalds ve středu města, pokochali se pěkným výhledem na Větruši a takto posilněni přejeli německé hranice a dojeli až k Halle, kde jsme strávili první noc v hotelu Ibis Budget.



 Ráno jsme po snídani vyjeli směr Soltau a Heide park, kam jsme podle plánu dorazili po otevření krátce po desáté hodině - po cestě nás zdrželo jen mé špatné zařazení se do pruhu na dálnici v rekonstrukci poblíž Hannoveru, takže jsme si trochu zajeli. 



Celý den jsme si užívali všech atrakcí - největším důvodem, proč jet do Heide Parku (kromě hezkého prostředí), je Colossos, nejvyšší dřevěná horská dráha v Evropě, dále Desert Race, zatím jediná německá vystřelovačka a také Scream, volný pád z výšky 71 metrů. Kromě dalších horských drah (Kraken, Let démonů, Limit, Big Loop) disponuje Heide Park také vším ostatním, co je v podobných parcích obvyklé, takže zde najdeme hned několik vodních drah, různá show, část pro děti a také klidnější a spíše relaxační záležitosti, jako třeba různé projížďky atd.


Nám se nejvíce líbily vodní atrakce - skluzavka na vodní dráze, projížďka na nafukovacím kole, vodní bitva apod. Prostřední člen výpravy si dokonce vyzkoušel i Desert Race - vystřelovací horskou dráhu, kde za 2.4 sekundy dosáhne vozík rychlosti 100 km/h s přetížením 5G (moc tomu nevěřím, je to spíše asi marketingový tahák).

Jednoznačně nejoblíbenější dráhou pak byla švýcarská bobová dráha, ale vyzkoušeli jsme i ostatní - třeba Big Loop. Užili jsme si i na ostatních atrakcích  a  to včetně těch určených pro ty nejmenší - projížďka autem Oldtimer je jedna z nejstarších v parku a je zde od jeho otevření na konci sedmdesatých let.



 Po zavření parku v 17:00 jsme jen přejeli několik desítek kilometrů do Velké zahrady v Hannoveru.  Tato zahrada v barokním stylu patří údajně k nejkrásnějším v Evropě. Řada fontán, jezírek i upravených záhonů lákala k proběhnutí a prozkoumání.—strávili jsme zde téměř dvě hodiny. Část zahrady ale byla uzavřena, protože hned následující večer se zde měla konat velká přehlídka ohňostrojů zahajována skupinou z České republiky.



 Na večer jsme pak dojeli k hotelu Express Holiday Inn, po cestě jsme si dali i německý Hot Dog v  obchodním domě Ikea a v sobotu ráno nás pak čekal zábavní komplex v Oberhausenu - Adventure Park, Legoland Discovery Center a Sea Life.


CentrO (velké O na konci není překlep) je  jeden z největších  nákupních a zábavních  komplexů v Evropě. Vzniklo na místě  bývalé ocelárny Thyssen. Mimo Legoland Discovery Center, SeaLife a Adventure Parku je zde kino, multifunkční sportovní aréna a spousta obchodů. Adventure park by však potřeboval trochu obnovit - novotou zářila jen vodní skluzavka s tučňáky, zato na druhém konci parku byly atrakce jako vláček a skluzavková věž zavřeny a celý park byl tak spíše zklamáním. 



Věděl jsem dopředu, že to není klasický zábavní park, spíše jen klasický zahradní park s atrakcemi, ale takový stav nestav jsem vážně nečekal a ani jsem se moc nedivil, že park byl prakticky prázdný. Ani zahradní úprava nebyla nijak zvláštní. My měli vstup v ceně Merlin karty. 

Nefunkční Adventure park ale vynahradila návštěva dalších dvou atrakcí - Sea Life s rybičkami a hlavně Legoland Discovery Center. To se ke konci pěkně vyprázdnilo a dalo by se říci, že počet zaměstnanců začal převyšovat počet návštěvníků. A tak jsme se pustili do stavby věže—tedy vlastně Jeník stavěl svoji a my ostatní  také svoji. Podařilo se nám ji dostavět pěkně do vysoka a dokonce vydržela i simulované zemětřesení.



Na žádost zaměstnanců jsme ji před odchodem bohužel museli rozebrat—což tedy šlo rychleji než její stavění—škoda, převyšovala  všechny ostatní ukázkové budovy, co tam byly.
V obchodě jsme si pak koupili oblíbené Lego figurky a odcházeli jsme jako poslední návštěvníci—zamykali za námi dveře..



Naše cesta pak vedla směrem na Hamburg, cílem ale byl hotel Express Holiday Inn v Brémách. Před tím jsme ale povečeřeli vydatné menu v Burger Kingu. Jen škoda, že jsem si zvolili klasickou restauraci, tedy na parkovišti mimo dálnici. Mohli jsme si jídlo dát v restauraci přímo přes dálnici - takových moc není. Takže když jsme dojedli a vyrazili směr Brémy, tak hned po několika kilometrech byla další BK restaurace a to ve formě mostu přes dálnici. Škoda, už jen pro ten zážitek by to bylo určitě chutnější občerstvení. Třeba příště....je to tady.


Poslední den, neděli, jsme pak věnovali Hamburgu  - projeli jsme se metrem, vlakem i lodí (vše je v ceně velmi levné rodinné jízdenky na městskou dopravu), navštívili pár místních atrakcí . přístavní čtvť a  dům hrůzy - jsou zde podány dějiny města doplněné projížďkou po vodní dráze a sešupem po padací věži ve tmě. Ke vstupu nám opět posloužila Merlin karta.



A pak následovala hlavní atrakce - Miniatur Wunderland - největší modelová železnice na světě.  Pro železnici byly vybrány prostory v bývalém skladišti v městské části Speicherstadt (stará cihlová skladiště v přístavu, nyní kanceláře a zábavní areály), kde výstavní areál zabírá v bloku domů celé jedno patro. Začátkem Miniatur Wunderlandu byl rok 2001 a od té  doby se na celém modelu odpracovalo prý přes 70.000 hodin práce. Rozměry jsou vskutku impozantní, rozloha železnice přes 500 metrů čtverečních!, 6 km kolejí, přes 450 vlaků a více než 5000 vagónů! K osvětlení modelu bylo použito přes 20.000 světel, reálnou atmosféru dotváří přes 30.000 figurek lidí, 50.000 stromů a 3.000 budov (opsáno z průvodce, nepočítali jsme to - to bychom tam byli asi doteď). 


Krajina je velice povedená, vše se hýbe, někde dokonce jezdí i autíčka a létají letadla. Takže mimo vlaků jezdili po silnicích i  osobní auta a kamiony, hasiči hasili požár,  v lyžařském centru jezdila kabinová  i sedačková lanovka s lyžaři a tak. 



Na letišti bylo rušno a každou chvíli přistává čí vzlétává letadlo.  Navíc  se pravidelně střídá den a noc - večer se rozsvítí všechny domy, pouliční lampy, dokonce i autíčka, "ráno" vše zase zhasne. Prostě je se na co dívat.

Ještě jsme stihli návštěvu ruské ponorky a podívat se na tunel pod Labem, u kterého klasický vjezd nahrayují výtahy - i pro auta.




Pozdě odpoledne se vydali na cestu zpět domů do Brna s krátkou zastávkou u McDonalds na dálnici u Litoměřic.


úterý 8. dubna 2014

Jak si vyhledat ubytování

Tady je seznam míst na internetu, kde lze vyhledat ubytování pro cesty:

klasika pro ubytování, ale v poslední době se mi zdá, že nabídky nejsou často tak výhodné a na místě si lze domluvit lepší cenu. Ne vždy, ne všude. Dobré bývají nabídky na poslední volné pokoje.

(hlavně mobilní verze nabízí více možností pro hledání)


Nabízí "lepší" hotely, například z řetězce Holiday Inn Express. Mimo sezónu nabízejí zajímavé slevy na ubytování v rozmezí 40-80€ za čtyřlůžkový pokoj a to včetně snídaně. Express je umístěn především v blízkosti letišť a jiných dopravních uzlů, většinou se snadným napojením na střed města hromadnou dopravou. Parkování bývá zpoplatněno, ale jak je mi záhadou - v některých hotelech, i přes inzerovanou cenu, nic nechtěli s tím, že to mají proto, aby odradili od parkování lidi z okolních kancelářských budov. Jinde zase nabídli několik alternativ, od pár eur k cca patnácti eurům. Na webu byla uvedena vždy ta nejvyšší možná cena.

http://ibisbudgethotel.ibis.com/gb/home/index.shtml
(některá místa mají i s dobrou lokalitu - ale většinou spíše na okraji měst a u dálnic - provoz 24h - jsou to o třídu lepší než F1). Pokoje mají jen se základním vybavením, ale to je většinou nové a nepotřebované. Sociální zařízení je na každém pokoji. Najdou se negativní výjimky, ale není jich moc (moje statistika: 5 zařízení, 3 působící perfektním dojmem, jedno trochu horším a jedno trochu podprůměrné). Lze to shrnout tak, že pokud je ve městě cca 40 hotelů, bude se hodnocení F1 pohybovat někde mezi 35-40 místem, Ibid budget někde mezi 15-25 místem.


http://www.hotelf1.com/gb/home/index.shtml
Použitelné hlavně ve Francii. Hotely F1 nejsou obecně velmi kvalitní - mají sdílené sociální zařízení ve formě jakýchsi kóji a na vybavení je znát určitá opotřebovanost. Najdou se světlé vyjímky, ale obecně je to velmi základní forma ubytování (moje statistika: z pěti zařízení jedno slušné, tři nic moc a páté “už nikdy více”).


http://www.hotelbb.de/en/portal/index.html
Obvyklá cena za osobu a noc: 17-30 (4 lůžkový pokoj)Síť hotelu B&B nabízí obvykle ubytování blízko středu měst (ale ne přímo v centru) a slušný standard v ceně 60-120€ za čtyřlůžkový pokoj. Ale zařízení se dost liší, někde se přibližuje standardu Holiday/Express in, někde se zase naopak jedná o lepší Ibis Budget. V ceně není snídaně.

https://www.google.com/hotels/
vyhledavá v databázi Google, ale někdy stačí i mrknout do google map a obklikat si jejich možnosti ubytovani

pondělí 3. února 2014

Vylepšení střešního boxu Hakr MagicLine

U střešního boxu Hakr MagicLine 450 mi vadilo, že po vložení předmětů jsem musel vždy kdesi zezadu vydolovávat pásek ke stažení nákladu. Nakonec jsem to vyřešil takto:

V Lídlu jsem koupil sadu suchých zipů:


Na stahovací pásek jsem na část, směřující k sponě, přilepil jednu část suchého zipu, tu měkkou (navíc je dobré uchycení prošít černou nití, přece jen ta lepící páska nedrží na jiné umělohmotné textilií spolehlivě a po čase by se mohla uvolnit):

Na víko jsem pak nalepil několik kousků protikusu, každá o délce cca 5 cm.

Nyní lze mít stahovací pásek při nakládání pěkně dostupný po celou dobu a po naložení nákladu stačí jen odepnout ze zipu a je to - už žádné hledání.


Poznámka 1: na obrázku můžete vidět malé schůdky  - velmi praktické zejména pokud máte vyšší auto, lze z nich v pohodě dosáhnout na náklad v boxu:
Poznámka 2: střešní box je poměrně široký a při naložení trpěl tím, že přední část nebyla pořádně překryta - na obrázku je vidět, jak ještě na kraji boxu vrchní část překrývá spodní, ale vepředu uprostřed naopak spodní část mírně vystupuje z bílé překryvné - v praxi pak při jízdě touto mezerou pronikaly  nečistoty a voda.


Výrobce při reklamací vyztužil spodní víko profily, ale to moc nepomohlo. Nakonec jsem si udělal ze zbytku elektrikářské lišty malé plastové elko a nalepil pružným lepidlem ke spodní hraně  vrchní části :

Po zavření se tak přední vrchní část "zahákne" za spodní a tak jsou oba díly správně překryté - při otevírání stačí víko rukou jen trochu "vyklonit" a háček se uvolní.

neděle 8. ledna 2012

A opět do oblak …

Minulý rok v září uspořádal Microsoft konferenci BuildWindows. Zde mimo jiné zazněla i myšlenka, že budoucí vývoj pro Windows bude probíhat v HTML a javascriptu. Následovaly úvahy o budoucnosti .NETu, C#, jak budou aplikace vypadat apod. V tomto příspěvku nehodlám tyto úvahy rozvíjet – spíše ukážu, jak napsat aplikaci v HTML. I ta bude ale závislá na C# – web stránky jsou realizováný pomocí MVC technologie a celý backend generování kartiček je napsán v C#. Klientská část naproti tomu spoléhá zcela na javascript a vzhled stránkua je řešen pomocí CSS – samotná stránka tak obsahuje téměř čisté HTML.
Před pár týdny jsem zde popsal řešení pro tisk kartiček – nejprve jsem se věnoval tomu, jak generovat vlastní PDF dokumentu, v druhém pokračování pak přesunu tohoto generování do cloudu. Oba díly naleznete zde:
V tomto příspěvku popíši, jak vytvářet vlastní kartičky. Pomocí formuláře v prohlížeči se zadají jednotlivé hodnoty a ty se posléze odešlou na server a zpět dostanete PDF dokument. Podobných stránek jsou ale na webu mraky, takže zkusím odlišit se trochu funkčností – vytváření kartiček bude fungovat tak, že jen zadáte slovíčko a vyhledají se jak jeho překlad do češtiny, tak i přepis jeho výslovnosti a příklad použití. Tyto vyhledané údaje si budete moci upravit. Navíc se kartičky budou lokálně ukládat ve vašem prohlížeči, práci tedy budete moci kdykoliv přerušit  a opět v ní začít bez výslovného ukládání.

Jak získat údaje o slovíčku

Na webu je plno on line slovníků – já si vybral dva, WordReference EnCz Slovník a Oxford Advanced Learner’s Dictionary.  Pro jejich využíti je ale potřeba vyřešit tyto problémy:
  • jak je volat a předat jím slovo, které hledáme
  • jak je volat v rámci naší stránky – tedy cross-domain problém
  • jak vyhledat potřebné údaje v tom, co nám stránky vratí
                                          image    image

Volání

To je ta nejjednodušší část, v případě stránek Oxford slovníku stačí volat adresu  http://oald8.oxfordlearnersdictionaries.com/dictionary/ + dané slovo, v případě WordReference pak http://www.wordreference.com/encz/  + dané slovo;

Řešení Cross-domain omezení

Z jedné stránky není možné volat a získat obsah z jiné domény. Částečně je to řešeno tím, že lze volat a použít skript z jiné domény a pokud tedy dotyčný web umí vracet JSON data, není potřeba nic vymýšlet a lze použít přímo metod knihovny jQuery a Ajax volání. Nicméně  v našem případě žádná z vybraných stránek toto nepodporuje. Naštěstí i zde existuje řešení a to služba YQL společnosti Yahoo a knihovna jquery.xdomainajax.js.
YQL je vlastně web služba, která získá obsah stránky, upraví jej tak, aby jej bylo možné zaslat jako skript (rozuměj ve formátu Json) a tak jej pošle volajícímu:
image
Knihovna xdomainajax pak jen volání YQL obaluje tak, aby s ním bylo možné pracovat tak, jako s ajax voláním, takže skript, který slovník volá, vypadá stejně, jako pro normální ajax volání:
image

Vyhledání údajů

To je opět snadná část, využívám možností jQuery selektorů a vyhledám příslušné informace – vyhledávání pro oba zvolené slovníky lze najít v souboru search.js

Ukládání v prohlížeči

Zde si opět usnadním práci pomocí existující knihovny jStorage. Každou vytvořenou kartičku ukládám lokálně v prohlížeči.  Pro zobrazení je pak využíván formulář, který se případně, v případě že má uživatel zájem o PDF kartičky, odesílá na server. Využívá se zde tzv. nesouvislých indexů, které jsem popsal v příspěvku  ASP.NET MVC3–Binding příklad.

Možnosti exportu

Uživateli jsou nabízeny dvě možnosti, jak data dostat z prohlížeče “ven”. Buď si může data vyexportovat jako csv soubor a nebo je odeslat na server a získat PDF dokument. Řešení popsané v příspěvku Vzhůru do oblak bylo ještě rozšířeno o možnost přijímat data z formuláře.

Postup práce s aplikací

Prosím mějte na paměti, že aplikace je jen příklad, není to žádné mistrovské dílo a má spíše jen demonstrovat, že lze vyvinout v HTML aplikaci s komfortem desktopové aplikace. Základní rozložení je velmi jednoduché, aplikace má tři hlavní části – v horní se zadává hledané slovíčko, prostřední slouží pro náhled a editaci kartičky a dole je seznam kartiček:

image

Do horního políčka napíšete slovo, pro které chcete vytvořit kartičku a stisknete Enter – ikonky slovníků se změní na dobu, kdy se slovo vyhledává a signalizují tak probíhající činnost:
image
Jakmile jsou údaje nalezeny, vyplní se kartičky nalezenými údaji:
image
Je možné na kterýkoliv údaj kliknout a změnit jej:
image
Jakmile jste s kartičkou spokojeni, klikněte na tlačítko Ulož a slovíčko se objeví v seznamu:
image
  • Kliknutím na kterékoliv slovíčko v seznamu se kartička vyplní jeho údaji a je možné kartičku aktualizovat či odstranit.
  • Práci můžete kdykoliv přerušit a prohlížeč zavřít – všechna data jsou uložena automaticky a při opětovném zavolání stránky se tato obnoví i se seznamem.
  • Výsledky své práce můžete uložit jak ve formátu CSV, tak si i nechat zaslat slovíčka v PDF dokumentu jako kartičky.

Další zajímavosti a popis řešení

Pro správu skriptů a css soubory je použita knihovna Cassette, kterou jsem ve stručnosti popsal v příspěvku ASP.NET– kazeta stále žije…...
Každá část obrazovky má svůj vlastní css styl:
  • inputBox.css – styly pro vrchní vyhledávací box
  • card.css – styly pro kartičky
  • cards.css – styly pro seznam kartiček
  • basicLayout.css – styly pro obecný vzhled stránky, tj. umístnění hlavičky, patičky apod.
  • site.css – styl dodaný MS
Všimněte si, že dva poslední styly nejsou přímo odkazovány ani ve view, ano v layoutu – je na ne odkaz v prvních třech souborech:
image
Funkčnost na straně klienta je také rozdělena do několika javascriptů:
  • buttonEvents.js – co se provede po kliku na tlačítka a také co se má provést po načtení stránky a vytvoření nové kartičky v seznamu (createEntry)
  • flashcard.js – je zde metoda pro export do csv (exportData),  testování, zda podobná kartička již neexistuje (isCardAlreadyStored) , vypsání seznamu uložených kartiček (listCard), vyplnění kartičky (fillCard) a také seznam operací, které se provedou, pokud vyhledáváte nové slovíčko (submitEdit)
  • search.js – dvě metody pro vyhledávání ve zvolených slovnících, pro každý slovník jedna
Jak pro skripty, tak i pro styly je použit bundle.txt soubor, který upřesňuje řazení skriptu a stylů.
Mimo tito skripty jsou použity tyto knihovny:
  • jQuery – netřeba představovat
  • jQuery.editable.js – umožňuje editaci na stránce po kliknutí, použití je velmi jednoduché,
  • jQuery.xdomainajax.js – umožňuje snadné použíti YQL, volá se jako bežné Ajax volání
  • jStorage.js – sjednocuje práci s lokálním uložištěm (HTML 5)
Aplikace funguje správně jen v posledních verzích prohlížečů Chrome, Opera, Firefox a asi i v IE (zde nefunguje export do csv). Cílem nebylo ani tak nabídnout naprostou funkčnost, spíše ukázat, jak udělat funkční aplikaci čistě v prohlížeči – i serverová podpora je omezena na generování PDF dokumentů, které nelze z asi pochopitelných důvodů generovat v prohlížeči (a nebo o tom zatím nevím).

Zdrojový kód

Aplikace běží na adrese http://flashcard.apphb.com/ a zdrojové kódy jsou k prohlédnutí na CodePlex. Komentáře v kódu moc nejsou, snažil jsem se vše popsat v tomto článku.

sobota 7. ledna 2012

ASP.NET– kazeta stále žije…..

Nadpis je asi trochu matoucí  a  snad na vysvětlenou pro ty mladší  by bylo dobré zmínit, že kdysi dávno se hudba nekopírovala pomocí mp3, ale existovaly analogové kazety. Kopírování bylo zdlouhavé a s každou kopií klesala kvalita. Názvem tohoto média se inspiroval autor zajímavé knihovny(nepátral jsem proč a doufám, že to neznamená, že kvalita knihovny bude s každou verzí klesat).
Knihovnu  naleznete na stránkách http://getcassette.net/.  Může vám pomoci při vývoji WebForms a nebo MVC webů (já ji použil pro zatím jeden malý projekt v MVC).
Řeší problém se správou skriptů a stylů –pro snazší údržbu a vývoj je vhodné mít styly uložené ve více css souborech, podobně i skripty. Jenže čím více toho musí prohlížeč pro zobrazení stránek stáhnout, tím je celková odezva stránek pomalejší a zátěž serveru a využití internetového spojení vyšší. A přesně tento problém Cassette řeší – při vývoji a ladění webu  zachovává malé soubory – můžete tedy snadno využívat klientských ladících nástrojů například ve Firefoxu, ostrá verze pak obsahuje soubory jak sloučené, tak minimalizované.
V případě MVC pak navíc nemusí stránky(views) obsahovat spousty tagů se skript soubory či linky na css. Stačí jen deklarovat, které soubory jsou pro dané View potřeba:
  1. @{
  2.     ViewBag.Title = "Index";
  3.  
  4.     Bundles.Reference("Scripts/Cards/export.js");
  5.     Bundles.Reference("Scripts/Cards/flashcard.js");
  6.     Bundles.Reference("Scripts/Cards/search.js");
  7.     Bundles.Reference("Content/inputBox.css");
  8.     Bundles.Reference("Content/card.css");
  9.     Bundles.Reference("Content/cards.css");
  10. }
  11. <div id="inputBox">
V MasterView souboru pak stačí na příslušných místech, kde mají byt tagy, zavolat:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>@ViewBag.Title</title>
  5.     @Bundles.RenderScripts()
  6.     @Bundles.RenderStylesheets()
  7. </head>
  8. <body>
  9.     <div class="wrapper">
Všimněte si tak=, že nemusíte přímo odkazovat na jQuery knihovnu – ve skriptech, které si vytvoříte se stačí na tuto knihovnu odkázat a bude tak zahrnuta do vašich skriptů:
image
(ten odkaz by jste tam dávali asi tak jako tak, díky tomu vám začne fungovat intelliSense nápověda pro JQuery metody).
Totéž platí i o stylech, i  v nich můžete napsat odkaz na “nadřízený” styl:
image
Nyní můžeme v případě, že svůj web ladíme, získat všechny soubory:
image
Celková velikost jen skriptů je přes 600kB:
image
Naopak jakmile vývoj dokončíme a web nasadíme, začne nám Cassette soubory slučovat a minimalizovat:
image
Například JavaScripty jsou nyní jen v jednom souboru, který má velikost téměř sedmkrát menší:

image
Na webu autora knihovny  a nebo fórech pak lze nalézt další tipy, třeba jak vypnout minimalizaci:

  1. bundles.Add<ScriptBundle>("Scripts", b => b.Processor = new ScriptPipeline().Remove<MinifyAssets>());

Další informace o této knihovně jsou k dispozici na webu knihovny, popřípadě na tomto blogu. Instalace je jednoduchá, základní použití je popsáno na webu autora.