Monday, October 25, 2010

Pardal de Java: per a nous processos de selecció

L'altre dia al Zoo vaig veure un candidat perfecte per a desenvolupador Java. Deu ser júnior. I atenció, que em sembla que és espècie protegida!

Pardal de Java

Thursday, October 21, 2010

Proves unitàries amb JUnit 4 i Spring Framework 3

La darrera vegada que havia treballat amb JUnit i Spring les versions que feia servir era JUnit 3 i Spring 1.2, i era la versió 1.4 del Java. Com han canviat les coses!

Amb la introducció de les annotations al Java 5 s'han pogut simplificar molts aspectes de la codificació i s'ha adoptat immediatament a la majoria dels frameworks existents.

Ara, gracies a les annotations, JUnit 4 és molt més senzill. Ara no cal extendre d'una classe, ni que els mètodes de prova tinguin noms determinats. Ara, fer que un mètode sigui processable per JUnit és tan fàcil com afegir-li l'anotació @Test. Quan afegeixes aquesta anotació per primera vegada a un projecte d'Eclipse i li fas un Ctrl+1 (quick fix) et suggereix automàticament "Add JUnit 4 library to the build path". I un cop afegida la llibreria i definit el test ja pots executar com "JUnit Test" (o Alt+Shift+X, T). (Per cert, va gé aprendre els millors shortcuts d'Eclipse).


@Test
public void testFindDrugById() {
Drug drug = drugDAO.findDrugById(80000L);
assertEquals("Drug get is not equal", drug, paracetamol);
}



Recomano llegir la introducció de 60 segons a JUnit 4 i el llibre de receptes de JUnit.

Fer servir Spring amb JUnit era molt farragós, sobretot la part de llegir l'applicationContext.xml i la resta de fitxers de configuració, però a partir de Spring 2.5 és molt fàcil.

Si afegeixes a la classe les anotacions @RunWith(SpringJUnit4ClassRunner.class) i @ContextConfiguration, JUnit anirà a buscar un fitxer de configuració amb el mateix nom de la classe acabat en -context.xml, just en el mateix directori on es troba la classe de test.

Si vols tenir una miqueta més de control dels fitxers de configuració, pots afegir l'anotació indicant-li els fitxers que vols carregar:

@ContextConfiguration(locations = { "classpath:myapp-context.xml", "classpath:myapp-service.xml" })

Un cop tens configurat això pots definir qualsevol atribut amb el mateix nom que el bean del XML i amb l'annotation @Autowired i ja t'ho injecta automàticament. O si vols agafar els beans directament de l'applicationContext pots fer-lo servir també:


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class TestDrugDAO {

@Autowired
private ApplicationContext applicationContext;

@Test
public void beforeEveryTest() {
drugDAO = (DrugDAO) applicationContext.getBean("drugDAO");



Ara resulta molt més fàcil però sempre hi ha bones excuses per no fer proves unitàries, no?

Sunday, October 17, 2010

Estic llegint: Juego de Manos

Juego de ManosDe Jason Lutes. 2005. Publicat per Ediciones La Cúpula. 156 pàgines.

La millor novel·la gràfica que he llegit en molt de temps. I ha resultat una completa sorpresa, per què és la primera obra del mateix autor de Berlín, que ja havia comentat aquí i que no m'havia agradat massa.

Una de les dificultats de Berlín era la quantitat de personatges que tenia i que alguns resultaven difícils de diferenciar, i una altra el rerefons de la història que no m'acabava de seduir.

Juego de Manos no és tan pretensiós sinó que només vol explicar una petita història. Una història d'un prestidigitador fracassat amb uns records que el turmenten. En el seu camí es troba amb uns pocs personatges fascinants.

El dibuix, la composició, la narrativa visual, els personatges, la història, la profunditat, ... M'ha encantat.

Friday, October 15, 2010

Estic llegint: ¡Qué presente impresentable!

¡Qué presente impresentable!De Quino. 2005. Publicat per Lumen. 134 pàgines

Vaig descobrir a Quino i Mafalda gràcies a la meva amiga Mònica fa molts d'anys i, tot i que havia vist algun àlbum posterior de Quino i havia llegit alguna historieta, no havia llegit cap llibre.

Ara que he pogut llegir aquest (gràcies a l'Albert) la sensació és molt trista. M'ha semblat molt negatiu, derrotista, fatalista, ... amargat. Un home mirant-se el melic i lamentant-se. Només veient la part negativa de tot. M'ha fet molta pena, la veritat. He pensat, pobre home!

Aquest àlbum conté una col·lecció d'histories que ocupen una o dues pàgines, moltes amb una sola vinyeta. Algunes d'aquestes histories estan agrupades per temàtiques (més o menys): ecologia, religió, música, política, etc.

Només una historieta m'ha fet somriure. Algunes m'han agradat i m'han semblat brillants, però amb molta tristor.

Aquell enginy i aquella agudesa de Mafalda ha desaparegut completament. Això sí, els dibuixos em semblen genials.

Thursday, October 14, 2010

Estic llegint: Clean Code

Clean CodeDe Robert C. Martin. 2009 Publicat per Prentice Hall. 431 pàgines

D'aquest mateix autor m'havia llegir Agile Software Development: Principles, Patterns, and Practices i m'havia semblat increïble. Per la seva manera d'explicar, pels exemples, per l'enfocament pràctic i per l'inspirador que resulta. Ja només el títol d'aquest llibre em resultava suggerent. I no m'ha defraudat gens ni mica.

D'Uncle Bob (com es coneix l'autor aquest) ja havia escrit abans Artesania del programari i es que li vaig seguint la pista.

Clean Code dóna un seguit de consells per tal de desenvolupar codi net i mantenible, i es centra molt en el TDD (Test Driven Development). Dóna tècniques per com organitzar les funcions, quins noms cal donar a les variables, com estructurar el codi, com formatejar-lo, com fer servir els comentaris i com fer el tractament d'excepcions.

Hauria estat bé que fos un llibre més genèric de codificació, però és de Java. Fins i tot algunes de les tècniques que explica es basen en l'ús d'Enums, que van ser afegits al Java 5. Fa un parell de casos pràctics molt interessants, on segueix les tècniques de refactoring per aplicar els principis que recomana.

De tota manera cal ser una miqueta crític amb el llibre. De vegades es torna una miqueta dogmàtic i n'hi ha algunes coses amb les que simplement no estic d'acord. Però la seva postura ha de ser aquesta. De fet al començament parla de que ell defensa la seva escola de pensament, però que poden haver d'altres i igual de vàlides.

El millor de tot és l'actitud que defensa davant la codificació. Una actitud de responsabilitat. De profesionalitat. Haver de tenir en compte que aquestes línies que estàs codificant ara qui les haurà de mantenir segurament seràs tu mateix. No conformar-se amb veure que funciona, sinó veure que també s'entén.

Clar, tots aquests consells en un món de consultories i out-sourcing (o, fins i tot, off-shoring), queden una miqueta diluïts. En aquests mons no cal pensar en el manteniment sinó en els terminis i el proper projecte. Take the money and run. Els que gestionen proveïdors externs han volgut ignorar aquest fet durant molt de temps, i els que l'han practicat els ha sigut molt còmode. Crec que a la nostra feina li vindria bé una miqueta de professionalitat.

Clean Code és un altre llibre gentilesa d'Omatech.

Wednesday, October 13, 2010

Estic llegint: The League of Extraordinary Gentlemen. Volume II

The League of Extraordinary GentlemenDe Alan Moore i Kevin O'Neill. 2003. Publicat per America's Best Comics. 228 pàgines

La segona part de la Lliga dels Homes Extraordinaris segueix amb els mateixos personatges que va portar el primer volum, personatges de novel·les d'aventures com Allan Quatermain, Jekyll/Hyde o el Capitá Nemo, i segueix tot orbitant al voltant de salvar Anglaterra d'algun enemic.

El dibuix, personalment, no m'entusiasma, però potser era la millor tècnica per representar la història i l'època de la narració.

M'ha semblat molt curiós el format i els extres. Han volgut fer veure que és una revista per adolescents i inclouen anuncis ficticis, un joc de taula impossible de guanyar (en una pàgina desplegable), un submarí de papiroflèxia (impossible de fer també), una pàgina per pintar, a més a més de les portades de l'edició en comic book (els llibrets petits enganxats amb grapa).

De la mateixa manera que va fer amb Watchmen, l'autor afegeix al final de tot un relat molt extens. En aquest cas es tracta d'una suposada descripció de viatges que va fer la protagonista, Miss Wilhelmina Murray, a terres com Shangri-La, les muntanyes de la bogeria (Te-ke-li-li!) o el país a l'altra banda del mirall. Haig de reconèixer que aquest relat ha pogut amb mi i no l'he pogut acabar. Potser el meu anglès no arriba tan lluny.

M'ha agradat, però no m'ha entusiasmat, i m'ha fet gràcia recordar una conversa que vaig tenir amb l'encarregat d'una botiga de còmics a Edinburgh. Jo sostenia que Watchmen m'havia agradat molt, però que V de Vendetta no m'havia agradat gaire. L'home fins i tot es va enfadar. Defenia V de Vendetta com una obra molt millor que Watchmen i deia que La Lliga dels Homes Extraordinaris era millor encara. Crec que la seva visió a l'hora de valorar les obres de Alan Moore té molt en compte quant es centra en el món britànic. V de Vendetta és 100% anglesa i La Lliga és totalment britànica. A ell li sumaven uns factors que per mi no han comptat.

Aquesta és una altra obra de la biblioteca de Javi. Gràcies.

Si teniu intenció de llegir el còmic no seguiu a partir d'aquí, perquè explico el final.
Spoiler. Spoiler. Spoiler.

La història potser està molt millor que la de la primera part. Afegeix més personatges i aconsegueix que passin coses entre ells, però al final m'ha sorprès que no es tractés de res més que d'una relectura de la Guerra dels Mons de H. G. Wells.

Sunday, October 10, 2010

Projecte Web Maven a Eclipse

Maven és una eina interessant per gestionar les dependències d'un projecte Java i per automatitzar algunes tasques del seu seguiment. Amb les darreres versions recomanen seguir el paradigma de Convenció millor que Configuració (traducció lliure de Convention over Configuration). Permet que adaptis els teus projectes com tu vulguis quan a directoris i demés, però et recomanen una manera de fer-ho. Si segueixes les convencions, els teus fitxers de configuració queden mínims.

La integració de Maven amb Eclipse ha estat sempre un tema delicat, però cada cop està millor el tema. El que no aconseguia mai era fer que un projecte web fet amb Maven funcionés amb el WTP (Web Tools Platform), el mecanisme estàndard d'executar projectes Web dintre d'Eclipse. Sempre havia de construir el War i desplegar-lo al contenidor de torn (JBoss o Tomcat) fora de l'Eclipse.

Per fi he trobat unes indicacions de com fer servir Eclipse WTP amb Maven.

Tuesday, October 5, 2010

Estic llegint: Silver Surfer - Parábola

Silver SurferDe Stan Lee i Moebius. 1988. Publicat per Forum (Planeta-DeAgostini). 64 pàgines.

Feia molt de temps que volia llegir aquest clàssic del còmic de super-herois, on es donen la mà el més afamat guionista americà amb tot un símbol del còmic europeu.
Stan Lee és el creador (o co-creador) de personatges com Hulk, Iron Man, Daredevil els X-Men o Spiderman. Darrerament fa un cameo a totes les pelis Marvel de super-herois.
Moebius és l'altre nom de Jean Giraud, conegut per obres com Blueberry o el Incal, i per dissenys de producció de pel·lícules com Tron, Abyss, Alien o El quinto elemento.

Llegir el guió de Stan Lee, amb frases grandiloqüents fent-ho tot terriblement transcendental, em resulta molt divertit. Els dibuixos de Moebius m'han agradat molt, però la temàtica no és d'allò que més m'agrada.

Potser el més interessant són els comentaris que el propi dibuixant fa al final de la obra, on explica tot el procés creatiu i com es va haver d'adaptar a la manera de treballar americana. O com valora Moebius el fet que el dibuixant sigui el propi rotulista de les seves obres.

M'ha resultat curiós veure com ha evolucionat la tecnologia de producció del còmic. Veus els colors que s'aconseguien abans i els d'ara, i s'agraeixen els canvis. També m'ha fet gràcia veure un text amb un tros de typpex.

Tenint en compte que el còmic de super-herois no m'agrada i que el personatge de Galactus el trobo horrible, no l'he trobat una "obra magnífica", però està força bé. S'ha de llegir.
Per cert, aquesta vegada he comptat amb la biblioteca del Javi. Gràcies.

Friday, October 1, 2010

Estic llegint: NYX. El regulador (1. Ambrosía)

NYX. El reguladorDe Corbeyran i Marc Moreno. 2002. Publicat per Rossell. 48 pàgines.

En un món post-apocalíptic en el que la corrupció política ja no és tolerable, s'ha creat un cos oficial per assassinar als polítics conflictius: els reguladors.
Amb aquest argument... que vols que et digui.

Cal reconèixer que el dibuix és molt interessant: les perspectives, els edificis, totes les arquitectures... I la figura humana super allargada em recorda, no sé per què, al dibuix d'Alfonso Azpiri.

El que m'ha resultat molt interessant descobrir una editorial nova, Rossell. Caldrà fer-li un seguiment, per què cal reconèixer que la edició és molt bona. Un altre àlbum de la biblioteca de l'Albert.