Asi předevčírem jsem zase jednou na chvilku nakoukl do tutoriálu Zend Framework Quick Start. Nutno podotknout, že quick start je v případě Zendu opravdový eufemismus. Každý nový projekt se Zend Frameworkem znamená nastudovat tunu dokumentace, aby člověk zjistil, jak co nakonfigurovat, který adresář co znamená atd. Ale o tom psát nechci.
Zdá se, že součástí „rychlého“ úvodu do problematiky je konečně i kapitola o modelech (Create a Model and Database Table). Tahle kapitola mě přímo pobouřila. K jedné tabulce je podle ní potřeba stvořit až tři třídy, které v podstatě dělají to samé.
Na začátku vývoje Zendu v dokumentaci nějaký návod tohohle typu chyběl, takže si vývojáři využití návrhového vzoru Table Data Gateway vykládali po svém a pokoušeli se ho naroubovat na asi známější ActiveRecord. To s sebou nese četná úskalí, ale ve většině případů takové nasazení stačí. Pěkným příkladem je tahle otázka na StackOverflow. Odpověď, kterou autor otázky označil za vyhovující je nádhernou ukázkou rozšířeného bludu, že model je (IS-A) tabulka. Problém je, že běžně je model spíš entita z reálného světa, která o tabulkách nemusí mít ani ponětí. Může se klidně skládat ze záznamů z více tabulek. Jinými slovy model spíše využívá (HAS-A) tabulku.
Cítím, že příklad v oficiálním tutoriálu je tak nějak filozoficky správně. Pořád se mi ale hnusí představa, že kvůli každému prdu musím vyrábět tunu kódu, který jen překládá data z jednoho objektu do druhého.
Jedete po silnici spojující letiště Rajiv Gandhi International Airport a Hyderabad, místy šest pruhů v každém směru – u nás se tomu říká dálnice. Tady si to suverénně mastí dva motocyklisté v protisměru, uprostřed se šine chlápek na kole a v levém pruhu (jezdí se tu vlevo) tlačí dva maníci něco, co vypadá jako stánek se zmrzlinou.
U záchodů tu mají často takové ty spršky jako v některých arabských zemích. Po pár dnech konzumace silně kořeněných indických jídel pochopíte, že studená sprcha u záchoda není až tak špatný nápad.
Když se člověk pohybuje po ulici, nechápe, jak se může takový zmatek a takové hemžení šíleného množství lidí udržet v jedné kompaktní zemi. Věděli jste, že v Indii se mluví více než 120 jazyky?
Jiná tvář Indie: nablýskané věžáky v Cyber City. Uzavřená zóna, kam nepustí normální lidi. Každé auto musí projít kontrolou, jestli náhodu neveze bombu. Sídlo mezinárodních firem jako IBM, Accenture, Oracle. Sem se možná dovoláte, když telefonujete na call centrum v Anglii. O zeď areálu z druhé strany je opřeno pár slumů z vlnitého plechu. Celé rodiny tu žijí dokonce pod haldou igelitových pytlů, ze kterých staví improvizované stany.
Žluté, troubící rikši na každém kroku. Prach mezi zuby.
Elektronické knihy se na Amazon Kindle 3 čtou naprosto fantasticky. Jednu bolavou patu ale Kindle přeci jen má. Jsou jí dvousloupcové články v PDF. Displej je poměrně malý na zobrazení celé stránky a po jejím zvětšení je zase nutné scrollovat při čtení každého řádku tam a zpět. Běžné texty ve formátu PDF není většinou problém obstojně převést třeba do mobi formátu pomocí některého konvertoru jako je např. Callibre nebo si je nechat zkonvertovat a nahrát do Kindlu přímo Amazonem po zaslání na adresu vase_jmeno@kindle.com (případně vase_jmeno@free.kindle.com pro free 3G verzi). S dvousloupcovými články se ale konvertory příliš dobře nevypořádají. Ty totiž většinou spojí řádky z obou sloupců do jednoho a vy nejpozději na třetím řádku zjistíte, že vám výsledný text nedává smysl.
Naštěstí je tu mini aplikace, která dokáže dvousloupcová PDF převést na jednosloupcová. Jmenuje se Papercrop a je ke stažení na Google Code. Použití je jednoduché. Stačí stažený balík rozbalit a spustit. Je možné, že Vám budou chybět některé dll knihovny. V mém případě jsem potřebný dll soubor našel v adresáři, kde mám nainstalovanou Javu. Stačilo jej nakopírovat do systémového adresáře Windows.
Pak už je práce s Papercrop celkem přímočará. Buďto můžete vygenerované PDF dokumenty číst přímo v Kindlu (s displejem otočeným na šířku to není problém), nebo protáhnout přes některý konvertor.
Přistihl jsem se, že s Kindlem v ruce začínám přistupovat ke čtení knížek, nebo textů obecně, jako k nákupu jídla v supermarketu. Kindle se vejde prakticky všude, není problém ho brát kamkoliv s sebou a vejde se do něj menší obecní knihovna. Díky tomu už nejste odkázáni na čtení jediné knížky, kterou jste si ráno přibalili do tašky. Jednoduše si otevřete zrovna tu, na kterou máte právě chuť podle denní doby, ročního období, konstelace hvězd, nebo aktuálního počasí. V případě verze Kindle Free 3G k tomu připočtěte libovolné internetové zdroje dostupné kdekoliv. Připadám si jak malé dítě před výlohou obchodu s belgickými pralinkami…
Už více než před týdnem mi kurýr UPS dovezl nový Kindle 3 Wi-Fi, Free 3G. Už více než týden jsem nadmíru spokojený se svou koupí. O Kindle toho bylo napsáno na internetu už hodně, takže jen shrnu některé sporné body.
Pár klávesových zkratek, které se můžou hodit. Týkají se především programování v Javě, ale většina z nich je použitelná i v jiných perspektivách. Pro úplnost připomínám, že v podstatě jakoukoliv klávesovou zkratku je možné nastavit pomocí volby Window-Preferences-General-Editors-Keys. Většina zmíněných je nastavena implicitně, některé je třeba nastavit právě pomocí této volby.
Editace zdrojových kódů
Alt-Shift-R: Refactor – Rename
Ctrl-Shift-T: Rychlé vyhledávání tříd (T jako typ) – používat lze i wild cards (* a ?)
Ctrl-Shift-R: Rychlé vyhledávání souborů (R jako resources)
Ctr-Shift-G: Najít reference na vybranou metodu, třídu atd.
Ctrl-O: Zobrazení rozhraní aktuální třídy (při zmáčknutí ještě jednou se zobrazí i rozhraní všech předků)
Nedávno jsem hledal inspiraci pro jednu svou prezentaci a narazil na tohle video. Je to krátký pořad z produkce bnet.com, kde vypichují devět bodů kriticky důležitých pro úspěšnou prezentaci. Jako vzor slouží přeborník ve svém oboru – Steve Jobs. Pro ty, kterým se nechce sledovat celé video jsem tu sepsal krátký souhrn s malým bonusem na závěr.
Business Intelligence – dost možná nešťastně zvolený název. Velká část potenciálních uživatelů Business Intelligence ani netuší, co se pod tímhle zaklínadlem vlastně schovává. Na první pohled všeobjímající pojem zahrnuje skupinu nástrojů pro ovládnutí většího množství dat. To je v podstatě vše. Skoro každá firma časem dospěje do stádia, kdy záznamy důležité pro chod podniku jsou roztroušeny do nejrůznějších často nepřehledných zdrojů (firemní databáze, ERP systémy, excelovské tabulky, CMS systémy atd.atd.). Business Intelligence znamená řešení problému se sběrem a analýzou takových dat. Open Source Business Intelligence pak znamená řešení buď úplně zdarma, nebo s minimem nákladů.