16. srpna 2011

ThoughtWorks Radar, zajímavé technologie

Firma ThoughtWorks (kde pracuje můj oblíbený SW guru Martin Fowler) nedávno zveřejnila svůj Technology Radar, jehož účelem je "to help decision makers understand emerging technologies and trends that affect the market today." Ještě než se dostanu k technologiím, které mne zaujaly, uvedu k Radaru krátkou legendu. Radar je rozdělen do kvadrantů Techniques, Tools, Platforms a Languages. Jednotlivé technologie jsou umístěny na kruzích:
  • Adopt: We feel strongly that the industry should be adopting these items. We use them when appropriate on our projects.
  • Trial: Worth pursuing. It is important to understand how to build up this capability. Enterprises should try this technology on a project that can handle the risk.
  • Assess: Worth exploring with the goal of understanding how it will affect your enterprise.
  • Hold: Proceed with caution.



To, co mě na Radaru zaujalo nejvíc, je nadějná pozice Clojure. Vzhledem k tomu, že tomuto se věnuji na svém dalším blogu věnovaném Clojure, nebudu to zde rozebírat. Co dalšího?

  • Continuous Delivery. Aktuální agilní technika z dílny samotných ThoughtWorks, aneb jak efektivně dostat na produkci každý dobrý build. Knížku už mám zakoupenou, teď jen najít čas si ji přečíst.
  • Sonar. Integrovaný nástroj pro kontrolu a vizualizaci metrik zdrojového kódu. Sám jsem ho sice, bohužel, na projektu ještě nepoužil, ale už mockrát jsem nad ním přemýšlel - procházet jednotlivé metriky vygenerované Mavenem je otravné a člověk přitom ztrácí celkový kontext.
  • Vzestup NoSQL databází. Už bych se měl na nějakou konečně podívat.
  • Gradle. Nástroj na automatizaci projektu, něco jako Maven používající Groovy DSL. Jeden čas jsem ho používal na malé Java a Groovy projekty. Možná nastal čas se k němu vrátit.
  • JRuby. Ruby implementace pro JVM. Jestli mi do toho něco nevleze, rád bych se Ruby naučil jako další jazyk. Ruby/JRuby se mi jako Javistovi hodí.
  • Špatné umístění GWT. Doslova je řečeno: "GWT is a reasonable implementation of a poor architectural choice.". O GWT jsem přemýšlel ze strategického hlediska, jako o možné frontendové Java technologii při návrhu architektury AJAX aplikací. Tak teď nevím, nevím.
ThoughtWorks Radar ve formátu PDF.

    11. srpna 2011

    Destilované UML

    V rámci přípravy na druhý stupeň UML certifikace jsem si koupil (a přečetl) knížku Martina Fowlera UML Distilled s podtitulem A Brief Guide to the Standard Object Modeling Language. Fowler se zaměřuje na dvě hlavní témata: jednak celkový přehled všech UML diagramů ve verzi 2.0 (kde až na výjimky nejde moc do hloubky - opravdu brief guide) a jednak zasazení diagramů do kontextu SW vývoje/designu/analýzy - zde můžou být (pro někoho) cenné jeho  postřehy a doporučení o použitelnosti jednotlivých diagramů.

    Knížka to není špatná (dal jsem jí čtyři hvězdičky), nicméně pro moji aktuální potřebu se moc nehodí. Celkový přehled diagramů byl fajn pro oživení UML oblasti. Ovšem vzhledem k účelu, ke kterému jsem si knihu pořídil tam byl nevhodný poměr mezi specifikací UML a popisem/vysvětlováním různých oblastí SW engineerství (= málo UML). Navíc celý ten "projektový" kontext, kterým Fowler UML ve své knize obalil (např. iterativní vývoj), už byl mnohokrát popsán jinde. Pro certifikaci samotnou tedy spoléhám spíše na doporučený (oficiální) studijní materiál UML 2 Certification Guide a sadu zkušebních testů.

    Na závěr ještě poznámka ke Kindle edici knížky. Vzhledem k tomu, že Fowler je u daného diagramu někdy velmi stručný, velmi často odkazuje do bibliografie a doporučuje další čtení k prohloubení tématu. Bohužel, biblio reference jsou uvedeny pouze jako klíč obyčejným textem - pokud si tedy v textu přečtu, že výborným doplňujícím zdrojem k tématu je [McConnell] a nemůžu si jednoduše kliknout a navíc navigace knihy neumožňuje jednoduše skočit do sekce bibliografie, tak je to otravné až frustrující. Dalším, již méně otravným (nicméně také bych jej párkrát využil) nedostatkem je nemožnost listovat mezi kapitolami.

    P.S.: Pro ty, co jsou zvědaví, co se skrývá pod klíčem [McConnell], tak je to Rapid Development: Taming Wild Software Schedules od Steva McConnella.