lunes, 15 de marzo de 2010

Receta de pizza

A petición de minipimer voy a hacer una excepción en el contenido de este blog y voy a explicar una forma sencilla de hacer una masa de pizza :-D

Los ingredientes para 2 personas son:
  • 150 gr. de Harina
  • 50 gr de Mantequilla
  • 2 cucharadas soperas de aceite
  • Un poco de agua
Cortamos la mantequilla y la ponemos a calentar en pequeñas tiras en una sartén para que se haga líquida. Mientras echamos en un bol los 150 gr de harina y el aceite.


Una vez lo tenemos todo en el bol, únicamente hay que echar un poco de agua. La medida que utilizo yo es con un vaso de los pequeños. Para que os hagáis una idea añado una imagen con la cantidad de agua:


Una vez echamos el agua, lo removemos.

Hay que remover primero con la cuchara y después un poco con la mano hasta que se quede una bola. Le echamos un poco de harina por encima y lo dejamos reposar un rato. Yo lo suelo dejar 20 minutos aprox. El tiempo justo que tardo en preparar los ingredientes que voy a echar por encima.


Una vez ha reposado toca extenderlo. Primero con la mano y luego con un amasador. Yo como de lo último no tengo, utilizo una botella de cristal :-)

Echamos un poco de aceite sobre la bandeja que vayamos a utilizar y extendemos la pizza sobre ella.


Ahora ya sólo queda rellenarla de lo que más os guste. Últimamente yo suelo echar los siguientes ingredientes (en orden): tomate, tranchetes, revuelto de pimiento, cebolla, champis, jamón york, y un huevo. Encima de este revuelto echo una capa de tomates cortados en finas láminas y anchoas. Un poco más de queso por encima y el orégano de rigor.



El tiempo que lo suelo dejar en el horno es de 20 minutos a 200º grados. Supongo que cada horno es un mundo.

Pues ale, que aproveche!!

domingo, 14 de marzo de 2010

Ofuscar código Java con Maven

Recientemente he tenido que configurar un plugin en Maven para que automáticamente genere los jars ofuscados.

La solución que voy a proponer se basa en el proyecto Yguard. También existe Proguard que se integra bien con Maven aunque, para las necesidades que tenía, se ajustaba mejor el primero.

La configuración del plugin que hay que añadir al pom.xml de Maven es la siguiente:




maven-antrun-plugin


yguard
yguard
2.3.0.1




package







in="${project.build.directory}/${project.build.finalName}.${project.packaging}"
out="${project.build.directory}/${project.build.finalName}.jar" >

replaceClassNameStrings="true">



















run







Como se puede ver, este plugin se ejecuta en la fase 'package' de Maven, justo antes de generar el jar final.

No todo el código debe ser ofuscado. Esto lo tenemos que tener en cuenta sobre todo si estamos desarrollando una librería o unos beans de Spring que tienen que ser accedidos desde otros proyectos. Por ello hay que indicarle a YGuard que no ofusque las partes definidas como públicas en el código.

Si estamos trabajando con JPA y con beans definidos como entidades (@Entity) nos podemos encontrar con la desagradable sorpresa de que los atributos que tiene definidos como Columnas (@Column) son privados y por ello también se han ofuscado. Esto quiere decir que si vamos a la base de datos veremos que, en vez de los nombres de columnas que habíamos definido inicialmente, se han creado columnas en las tablas con nombres como A,B,C,D,etc...

No he encontrado una manera muy elegante para solucionar esto. Lo ideal sería especificarle a YGuard que no ofusque aquellas clases que tengan la anotación @Entity, pero no he encontrado ninguna configuración que lo permita. Si alguien sabe cómo hacer esto agradecería que lo comentara :). En cambio lo que sí se puede especificar es que no ofusque aquellas clases que acaben con Entity.

En nuestro equipo hemos llegado a la convención de que todas las clases que sean entidades terminen con el nombre Entity: (UserEntity, RoleEntity, etc...)

la configuración para especificar que no ofusque estas clases viene en la sección keep:











Buenos días

Buenos días

Inicio este weblog con la intención de aportar mi granito de arena al mundo del desarrollo Java. Durante toda mi carrera profesional me he apoyado sobre información que he leido en weblogs y foros y muy pocas veces han sido las veces en las que he contribuido con soluciones a los problemas con los que he ido encontrándome y solucionando.

Mi idea es ir publicando mini soluciones a cosas comunes que pueden darse en las tecnologías con las que trabajo día a día: Java, Maven, Hudson, Tests, Spring, etc...

Espero que no sea una iniciativa que quede en el olvido en un par de meses y que poco a poco consiga que sea un blog con buen contenido :-)

Nos vemos