flickr galerie | Twitter @Padáček | Facebook profil | Foursquare profil | LinkedIn profil

Zápisky.info


08.08. 2007

W3C validátor, nový a s podporou RDFa

RDFa je na půdě W3C vznikající řešení, které umožňí jednoduchou serializaci a přidání RDF metadat do klasických stránek. Toto řešení by žádným způsobem nemělo klást dodatečné požadavky na současné webové prohlížeče. Využívá standardních XHTML elementů/atributů jako link, rel, atp. Pro ukázku mějme následující kód stránky:

<span rel="dc:title">Some title</span>

Libovolný RDFa parser přečte takový XHTML kód a extrahuje z něj RDF tvrzení (zapsáno v N3 syntaxi):

@prefix dc: <http://purl.org/dc/elements/1.1/> .

<> dc:title "Some title" .

Toto tvrzení říká jediné: Tento dokument má titulek "Some title". Aplikace takového řešení je rozličná. Hlavně se jedná o jednodušší a více standardizované čtení tzv. mikroformátů – po převedení na RDF tvrzení se nabízí libovolné další zpracování dat a vytváření dalších tvrzení, které na těchto závisí. Toto je součástí aktivity LinkedData.

RDFa weblog informoval o nové verzi oblíbeného validátoru W3C pro HTML/XHTML, který nyní podporuje lépe formáty založené na XML jako XHTML, SMIL, MathML, některé jejich kombinace a také XHTML + RDFa. Věřím, že validátor stojí za vyzkoušení.

Vložil Padacek v 16:38 | Sémantický web | Komentář: 1 [23.08.07 18:39]

16.06. 2007

Alternativní dialog „Spustit“

Tip na SlickRun, skvělou utilitku pro Microsoft Windows, přinesl Borůvek, ale nějak jsem ji dříve přešel bez povšimnutí. Ale dnes jsem se rozhodl pro malý test. Jde o utilitu, která se usídlí u lišty s hodinami, na vámi nastavenou klávesovou zkratku se aktivuje a do dialogové řádky zadáváte příkazy … následně se dle toho spustí asociovaná akce – spustí program, otevře konkrétní webová stránka, atp.

Vtipné bylo, že standardní aktivační klávesová zkratka je WinKey + Q, ale můj služební IBM R51 tohle tlačítko nemá :D. Ale šlo to přenastavit. První testy ukazují, že je to rychlejší než myš, o hodně rychlejší! Taky si člověk neunavuje ukazováček na TrackPointu, stejně tak nemáte na ploše hromadu ikonu (já si tam raději dám nějakou fotku). A prvním příkazem byl cs … ano, Counter–Strike.

Vložil Padacek v 16:13 | Programy, recenze | Komentáře: 7 [29.12.08 08:35]

12.06. 2007

Vše o propojování dat (Linked Data)

Linked Data, esej Tima Berners–Leeho, přináší několik myšlenek na téma, jak bychom měli propojovat informace na Webu v různých technologiích (se zaměřením na RDF a sémantický Web), aby šlo data různými nástroji procházet, prohledávat a objevovat další zdroje. Navrhuje se zaměřit na následující:

  1. Use URIs as names for things“ — používat URI jako jména věcí.
  2. Use HTTP URIs so that people can look up those names.“ — použít HTTP URI tak, aby lidé mohli tyto jména prohlížet.
  3. When someone looks up a URI, provide useful information.“ — pokud někdo prohlíží URI, poskytněte použitelné informace, tj. každý RDF zdroj by měl mít zaároveň nějakou XML/HTML/jinou čitelnou reprezentaci.
  4. Include links to other URIs. so that they can discover more things.“ — přidejte ke zdrojům odkazy na další URI, aby bylo možné objevovat další věci.

Zjednodušeně řečeno. Pokud publikujete obsah na webu, dejte mu smysluplnou adresu. Existuje–li relevantní obsah na jiných adresách, propojte je odkazy. V kontextu článku jsou zmiňovány hlavně RDF data, proto je myšleno propojovat různé RDF zdroje/endpointy/profily pomocí různých technik jako rdfs:seeAlso, vytváření identifikátorů uzlů #idUzlu uvnitř RDF souborů a odkazování z okolí na tyto identifikátory, přesměrování pomocí hlavičky HTTP 303 See Also, atp. Smysl to má jediný – nástroj, který dokáže automaticky prohledávat propojená data, poskytuje odkazy na další zdroje.

Malé demo – OpenLink RDF Browser poskytuje možnost filtrování a prohledávání zdrojů, sleduje odkazy dále a umožňuje je dále prohlížet. Zadejte do adresního políčka URL mého FOAF profilu a vyzkoušejte si, jak tato teorie může v praxi fungovat.

Tato aktivita není jen planým výkřikem, mnoho zainteresovaných autorů se připojilo do komunitiního projektu Linking Open Data zájmové skupiny Semantic Web Education and Outreach (SWEO) W3C. Cílem této aktivity je poskytovat rozličné datové zdroje ve formátu RDF (Wikipedia, Wikibooks, Geonames, MusicBrainz, WordNet, …) a následně tyto sady dat vzájemně propojovat odkazy v RDF. Konkrétní výstupy již jsou, viz. wiki stránka aktivity.

URI s reprezentací, URI bez reprezentace, identifikace non–webových objektů ID fragmentem

Zde se objevuje spor, jak vlastně identifikovat objekty, které nejsou fyzicky dostupné na internetu – abstraktní pojmy, slovníky, fyzické věci, osoby, …

Existují tři různé přístupy, jak tyto objekty v RDF identifikovat:

  1. Dokument Linked Data zmíněný v úvodu článku zmiňuje vytvořit RDF soubor s popisem metadat, např. http://example.org/sample.rdf. V něm uzel osoby/jiného newebového objektu identifikovat pomocí rdf:ID="nejakeID" a následně osobu identifikovat jako http://example.org/sample.rdf#nejakeID. To umožňuje odkazování na tuto osobu i z jiných RDF zdrojů na webu.
  2. Nejvíce obvyklý způsob používá k popisu newebových objektů webové zdroje, které vrací nějakou reprezentaci – HTML, RDF. V tomto směru lze jako identifikátor osoby považovat i OpenID, o kterém jsem se zmiňoval před několika dny. Výhodou je, že kdykoliv nějaká osoba / nástroj zadá požadavek na zobrazení identifikátoru, dostane zpět nějakou čitelnou reprezentaci jako stránka OpenID identity, RDF metadata o objektu, HTML stránka s informacemi v různých mikroformátech atp. Já osobně tento způsob nepodporuji. Důvodem je fakt, že se zámerně vytváří kolize metdat dokumentu a objektu, který je jím popsán! Jak pak rozlišíte, jestli máte informace o HTML dokumentu nebo člověku?
  3. Poslední možností je použít URI, které nemají reprezentaci. To znamená, že nevrací žádná data. Případně mohou vracet hlavičku HTTP/1.1 204 No Content. Stejně tak lze použít i rozličné tvary adres URN. Výhodou je, že máte unikátní identifikátor, který reprezentuje právě jeden objekt. Pro některé však může být zavádějící, že URI nevrací žádnou reprezentaci.

O tom, který způsob identifikace je nejlepší, nebo lépe ten správný se vedou nekonečné diskuse. Měli bychom mít na paměti, že ať už si vybereme kterýkoliv, měli bych umožnit propojením dat jejich objevování, odkrývání vztahů a budování tak sítě znalostí.

Vložil Padacek v 15:51 | Sémantický web | Přidej svůj komentář!

08.06. 2007

To jsem já! Ověř si mé OpenID

OpenID, inovativní řešení pro jednotné přihlašování, je jednotným identifikačním mechanismem poskytovaným jako open–source řešení. Jedná se o distribuovaný systém bez centrální autority, kde se uživatel prokazuje svou identitou, např. http://openid.cz/jspetrak jsem si registroval já. Ověřování identity provádí vždy hostující server. Zkušenější a zájemci mohou pomocí volně šířeného kódu postavit vlastní instanci OpenID serveru a spravovat vlastní identity, viz. Host your own OpenID server, Simple OpenID PHP Class, PHP OpenID Library.

Tento systém zjednodušuje registraci – máte jeden účet s jedním heslem a na všechny služby se jen přihlásíte právě pomocí tohoto OpenID. Stejně tak, pokud to hostující server podporuje, můžete do svého profilu vyplnit další údaje jako e–mail apod. a ty se pak následně také sdílejí. Vše je však stále pod vaší kontrolou a závislé na ověření hesla k OpenID!

Podpora je širokáLiveJournal, Zoomr, MediaWiki, Wordpress, DokuWiki, a mnohé další. Na projektu spolupracuje také VeriSign. Určitě stojí za vyzkoušení! Máte již své OpenID?

Zdroj: openid.cz, mozek.cz: openid

Vložil Padacek v 09:09 | WWW | Komentář: 1 [08.06.07 19:03]

07.06. 2007

Jednotkové testy jsou …

… v striktních objektově–orientovaných jazycích jako Java příjemný pocit jistoty, že vámi napsaný kód funguje dle očekávání. Za to v netypových jazycích jako PHP holá nutnost, která potvrdí, že kód je funkční a správně napsaný. Není nic horšího, než překlepy v názvech tříd/metod/promněnných, zavržené nebo již nefunkční syntaktické rysy jazyka, které nevědomky použijete, chybně pochopený kontrakt metody a další maličkosti, které se těžko odhalí, když vás celou dobu nehlídá inteligentní IDE!

Proces nepřetržité integrace, který se opírá zejména o jednotkové testy, dává možnost neustále kontroly nad funkčním kódem. Jestliže pracujete v PHP, dá sice více práce sestavit testovací prostředí, ale výsledek poznáte, když odchytíte prvních pár „záludných“ chyb. Pro tento jazyk byl implementován balík PHPUnit, který dokáže velmi striktně kontrolovat váš kód a máte k dispozici veškeré vymoženosti z (dejme tomu) JUnitu.

Testy se píšou stejně jednoduše:

<?php
  /* Testovana metoda */
  function neco() {
    return 'neco';
  }

  class MujTest extends PHPUnit_Framework_TestCase {
    protected function setUp() {
      // nejaka nastaveni
    }

    public function testNeco() {
      // testovani metody neco()
      $this->assertEquals(neco(), 'neco', 'Nebylo vraceno neco');
    }
  }
?>

Další kapitolou je řešení problémů, jak testovat systém na selhání, nedostupnost zdrojů a jiné podobné výjimečné stavy. To pak přijde na řadu implementace „mock“ objektů, ale s tím vším se dá vypořádat a ve výsledku máte na očích jednoznačný ukazatel, že kód funguje či ne a nemusíte neustále vše testovat v prohlížeči, jak je mnoho PHP vývojářů zvyklých a následně řešit, jestli je chyba v prohlížeči, ve čtení dat z formuláře nebo logice aplikace. Psát testy se vyplatí!

Vložil Padacek v 08:51 | PHP | Komentáře: 4 [26.06.07 09:09]

06.06. 2007

Pro dnešek krátce

… aneb kdo chce vědět, co mi hraje při práci i volné chvíli, nechť se napojí na můj last.fm profil.

Vložil Padacek v 10:44 | About | Komentář: 1 [20.06.07 21:37]

29.05. 2007

FOAF Rehydrated Edition

Pomalu, ale jistě se začíná ze schématu/ontologie FOAF stávat použitelné stabilní řešení. 24. května byla vydána specifikace 0.9 'Rehydrated' Edition, která přináší mnohé změny. Nejdůležitější je nová trvalá adresa specifikace http://xmlns.com/foaf/spec/. Jmenný prostor se nemění!

Vyjma mnohých změn editorského rázu, apod. došlo k převedení některých konceptů a vlastností, tj. foaf:Organization, foaf:Group, foaf:member, foaf:made, foaf:maker do statusu stable.

Další osudy technologie můžete sledovat, ale také ovlivnit na mailing listu foaf-dev.

Vložil Padacek v 09:47 | Sémantický web | Komentáře: 2 [02.06.07 11:03]

17.05. 2007

SCRUM master potěšil

V úterý časně ráno vystupuju z tramvaje na Maninách a míjí mě zamyšlený SCRUM master mého týmu. Myslel jsem, že jde pro noviny, ale mýlil jsem se! Plnil jen svou práci. Kolegové den před tím na ranním meeting zahlásili jako překážku v práci nedostatek banánů. A náš master se ještě k tomu o něco později dočetl v knize o XP, že základní podmínkou pro dobrou pracovní výkonnost je dostatek jídla na pracovišti a tak nám vyrostl uprostřed kanceláře banánovník …

Vložil Padacek v 23:32 | Projekty, workshopy, práce | Komentář: 1 [18.05.07 08:01]

23.04. 2007

ÖBB Podcast

Vím, moc lidí tuto novinku nevyužije, ale Rakouské spolkové dráhy (ÖBB) začaly vysílat podcast plný zpráv, novinek a také přispívají medailonky a důležitých rakouských městech … výborné k procvičení německého jazyka a získání informací vhodných pro cestování po Rakousku! Poslouchejte ÖBB Podcast, das neue MP3 Service der Bahn!

Vložil Padacek v 22:09 | WWW | Komentáře: 2 [16.05.07 20:19]

VŠE, Softwarové inženýrství a metodiky vývoje

Již před rokem jsem absolvoval přednášku Ing. Buchalcevové, Ph.D.VŠE Praha– na téma metodik vývoje. Mnoho praktických či pochopitelných informací jsem nezískal, skripta byla v tomto ohledu ještě žalostnější. Rok s rokem se sešel. Můj zaměstnavatel na mně vyzkoušel upravený RUP, několik dalších upravených verzí a ve výsledku z něho vyvinul SCRUM … a proto jsem s odstupem dvou semestrů opět zavítal na přednášku výše zmíněné vyučující, zda–li se její přednáška srozumitelnější nestala. (A to také proto, že jsem ji potkal na březnovém CZJUGu.)

Jistě příznivou informací je, že náplň tohoto tématu je rozdělena do dvou přednáška a příští pondělí 30.4. 2007 v 16:15 v Nové aule VŠE bude přednáška o metodice SCRUM. Všechny zájemce zvu na porovnání s CZJUGem a páně Filemonovou přednáškou.

Obsah přednášky dnešní, co si vybavuji, doznal změn. Faktů je shodně, snad i více, ale některé informace se mi nápadně shodují s CZpodcastem#8 a přednáškou o metodikách na CZJUGu. Vítám jejich zařazení. Uvědomuji si, že některé informace jsou zmiňovány v ne zcela jasném kontextu a studenti, co zde sedí, asi nepochopí, proč jsou tyto informace zmiňovány. Já to také před rokem nechápal. A k pochopení mi pomohla jen a jen praxe. A i rok po té je zde ta záhadná metodika MMDIS!

Porovnání této a druhé zmiňované přednášky je obtížné. Filemon vše podal více „z praxe“, Ing. Buchalcevová bere téma více teoreticky. Množstvím informací si však obě dvě konkurují.


Navigace

Vyhledávání

 Vyhledávání 

Povolené operátory: AND, OR a NOT

Kategorie

Nejčtenější

Poslední komentáře

  • Jirka Hradil: Ten překlad je dobrá práce, jednoduché, srozumitelné :)....
  • honza: Diky autore, ani nevis jak moc jsi mi timhle clankem pomohl. Porad mi kod nefungoval, vymyslel jsem kdeco, ale reseni...
  • Milan: [2] Místo řádku: class SampleConfigKeyNotDefinedException extends Exception má zřejmě být řádek class SampleTemplatedNotFoundException extends Exception...
  • Josef Petrák: [1] Máš data v databázi, třeba Oracle, a chceš z nich udělat nějaký report a ten nabídnout v různých formátech...
  • havlikp: proč nepoužít excel? ;-)...

Odkazy

Statistiky návštěvnosti [TOPlist]
PageRank Checking Icon
Valid XHTML 1.0 Strict

Obsah © 2004 – 2006 Josef Petrák

Grafika © 2004 Dlouhý Webdesign

Redakční systém BLOG:CMS