¿Qué es HikariCP?

HikariCP es una librería Java que implementa un pool de conexiones JDBC muy ligero (70 Kb) y con “zero-overhead” (interesante esta lectura sobre algunos de sus ajustes).

En su web podéis encontrar un benchmark comparando varios pools Java:

Generando Formularios HTML desde Schemas JSON

Nunca pensé que habría tantas alternativas para generar formularios HTML desde Schemas JSON.

La primera fue la que me enseñó Jaime el otro día:

http://jeremydorn.com/json-editor/

aún con algunas limitaciones (includes,…) es bastante usable tal cual:

Pero luego vi esta: https://github.com/Textalk/angular-schema-form basada en AngularJS que tiene algo más de información además de addons que permiten renderizar campos (date-picker, color-picker y html editor) además de poder crear tus propios addons (Jaime, qué tal un DTO-picker :D

Podéis ver un ejemplo aquí: http://textalk.github.io/angular-schema-form/examples/bootstrap-example.html

También tenemos JSON Form: http://developer.joshfire.com/doc/ref/jsonform y https://github.com/joshfire/jsonform que ofrece una gran documentación.

Otra sería esta: http://neyric.github.io/inputex/examples/json-schema.html muy sencilla de usar:

Otra muy interesante es

Alpaca (http://www.alpacajs.org) que además tiene el concepto de DataSource, soporta opciones, renderiza de diversas formas y tiene mucha documentación:

El formulario es bastante sofisticado:

¿Con cuál nos quedamos Jaime?

Charva: Toolkit Java para Terminales de Texto

CHARVAes un framework Java para presenter un interfaz de Usuario “gráfico” compuesto de menús, ventanas, diálogos, botones,… sobre un terminal ASCCI.

Ofrece un API basado en Swing lo que permite que sea muy sencillo programar en CHARVA si conocemos Swing, de hecho se puede construir en Swing con un IDE visual y luego convertirlo a CHARVA sólo cambiando los imports a "charva.awt y "charvax.swing" en lugar de los standard "java.awt" y "javax.swing”.

Así un interfaz AWT con este aspecto:

Con CHARVA se muestra así:

O en un Putty:

Aún no le veis la utilidad?…pues imaginaros un Linux sin entorno gráfico…por ejemplo una Raspberry!

Adiós YUI!!!

Leo en Genbetadev que YUI (Yahoo User Interface) cierra.

Más allá de que tenga todo el sentido en el momento actual, a mí que que lo he usado y me parecía una opción muy interesante (aunque no tan conocida como otras) me da cierta penilla. Mirad por ejemplo este post de 2010 o este otro de 2011.

log4jdbc, log4jdbc-remix y log4jdbc-log4j2: logging avanzado de SQL

http://java.dzone.com/articles/springhibernate-improved-sql

log4jdbc es un driver JDBC que actúa como proxy que permite logear todas las llamadas JDBC y las sentencias SQL (incluyendo tiempo consumido) usando SLF4J.

Sobre este producto tenemos log4jdbc-remix es un fork de log4jdbc que permite además:

· Logear resultsets como tablas

· Configurarse como un SataSource en Spring

· Usar un formateador SQL

Para usarlo en Spring:

· Añadimos a nuestro pom.xml:

· Creamos nuestro DataSource Proxy:

Que recibe como argumento en el constructor el DataSoruce original dataSourceSpied

A finales de 2013 log4jdbc-remix se discontinúa y se incluyen sus funcionalidades en log4jdbc-log4j2 que además de incorporar sus funcionalidades está preparado para funcionar en Log4J 2 y soporta JDBC 4.1 y 3.

unbescape: solución Java de escapado para HTML, XML, Javascript, JSON,…

Unbescape es una librería Java open-source capaz de escapar y desescapar HTML (4 y 5), XML, JavaScript, JSON, CSS, CSV, literales Java y .properties Java creada con los objetivos de ser fácil de usar, rápido, versátil y potente.

Unbescape está desarrollado por el gran Daniel Fernández, creador también de ese framework que tanto estamos disfrutando por aquí ;) Thymeleaf, lo que para mía es una auténtica garantía.

Daniel creo unbescape justamente para el tema del escapado en Thymeleaf, ya que ninguna de las alternativas (StringEscapeUtils de Commons-Lang, ni las HtmlUtils de Spring) daba todas las funcionalidades requeridas.

La forma de usarlo es muy sencilla, por ejemplo para HTML:

También puede configurarse el modo de uso:

Aquí podéis ver como se usa: http://www.unbescape.org/usingunbescape.html

Ormlite: Motor Java de mapeo objeto-relacional muy ligero

Alguno se preguntará si con JPA, MyBatis, Hibernate,… (ver post Comparando IBatis, Hibernate y JPA) tiene sentido un motor de este estilo.

En su momento ya intentamos responder a esta pregunta con este post: Persistencia KISS: Persistencia sin JPA, ni Hibernate ni IBatis en el que hablábamos de Persist, Siena y SequaLite.

En este caso hablaremos de ormlite que ofrece funcionalidades muy similares y aún sigue en desarrollo (por desgracia no puede decirse lo mismo de Persist o Siena :)).

Otro punto interesante de ormlite es que tiene una versión para Android y que es muy ligero, por lo que en algunos escenarios puede ser más apropiado que un Hibernate.

Las funcionalidades principales de ormlite son:

· Muy ligero: se compone de 2 jars:

ormlite-jdbc-4.47.jar

ormlite-core-4.47.jar

· Configuración de clases con anotaciones Java simples

· Soporte de DAO

· QueryBuilder para queries simples y complejas

· Soporte bases de datos: MySQL, Postgres, Microsoft SQL Server, H2, Derby, HSQLDB, y Sqlite

· Soporte provisional para DB2, Oracle, ODBC yNetezza.

· Soporte básico para transacciones

· Autoconfiguración

· Soporte configuración sobre Spring

  • Soporte nativo Android SQLite API

La forma de usarlo es:

· Anoto las clases que representan tablas y campos:

Podemos ver como se mapean campos y tablas, ids,…

· Y a usarlo:

Aunque su documentación no es muy extensa es más que suficiente: http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite.html y además incluye un gran número de ejemplos.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 587 seguidores

A %d blogueros les gusta esto: