Translate

domingo, 23 de marzo de 2014

Correr scripts sql con Hibernate

Esto no es una gran novedad pero bueno; Hibernate permite configurar un script que se ejecute cuando crea las tablas por lo tanto, deben imaginar que Hibernate debe estar configurado en hibernate.hbm2ddl.auto en create o create-drop.

Simplemente en el persistence.xml debes configurar el parámetro hibernate.hbm2ddl.import_files con los archivos sql que vas a correr separados por comas, como por ejemplo /1.sql, /2.sql, /etc.sql

     
     com.ejemplo.model.Clase1
     com.ejemplo.model.Clase2
     com.ejemplo.model.Clase3
     com.ejemplo.model.Clase4
              
   
   
  
    



Y listo, cuando Hibernate arranque va a crear las tablas y luego va a correr estos scripts. Si queres que logee tenes que agregar a la configuración de log4j los siguiente:

log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG

Espero que les sirva.

Influencia de los lenguajes de programación

Una infografía de los lenguajes y sus influencias, la idea de la infografía no es saber que lenguaje influyo a otro, simplemente porque no se ve pero nos sirve para saber que lenguajes son los más influyentes, a simple vista se puede ver:

Lisp, scheme, Logo, Forth, Dylan, Smalltalk, Ruby, Python, Lua, Java, Object-C, ML, Pascal, Haskell, etc

Y que lenguaje sabes? y cual vas a aprender?


jueves, 20 de marzo de 2014

CourseBuffet, buscando los mejores cursos...


CourseBuffet es un buscador de cursos gratuitos. Como sabrán coursera, edx, Udacity y otras plataformas, brindan excelentes cursos. Cual tomar? donde encuentro el curso del tema que necesito? Para responder estas preguntas inventaron CourseBuffet.

Gran idea!!

Dejo el link: http://www.coursebuffet.com/

Java 8

Llegue retarde a la noticia, pero de igual manera me quiero hacer eco de esta noticia. La página de Oracle ya está presente la descarga de Java 8; pero al parecer el lanzamiento oficial, será el próximo 25 de marzo.

Ya deben estar enterados de las novedades, entre las que se encuentra lambda. Esta versión sin duda es una de las más importantes.

En mi opinión el cambio de lenguaje no es tan importante, dado que tenes lenguajes en esta plataforma que son muy buenos, ya pensados para utilizar lambda. Si yo manejaría la pelota, me dedicaría a aprender Scala, Groovy, Clojure, etc. Pero es verdad que va a haber mucho trabajo en Java 8.

Que opinan? Tiene posibilidades Java 8?

domingo, 16 de marzo de 2014

The Open source owns the web

Como sabrán Linux fue concebido en la web, y con filosofía web 2.0 dado que la la gente compartía su código por la web. No es casual que las mayores tecnologías que se usan en la web sean Open Source.


sábado, 15 de marzo de 2014

Groovy o Scala esa es la cuestión

Groovy y Scala son lenguajes que se están haciéndose famosos en la plataforma Java. Los dos son similares pero tienen diferencias importantes; que son buenas saberlas antes de elegir uno o otro.

Como semejanza los dos lenguajes corren sobre la JVM, con interoperabilidad con toda la plataforma. Los dos son orientados a objetos pero Scala también es funcional y los dos tienen clausuras. Además los dos permiten un sistema de reutilización con mixins.

Los dos lenguajes soportan aplicación parcial de una función y curring, pero el uso de estas características es más natural en Scala dado que es funcional. Además Scala optimiza las funciones recursivas esto tiene gran importancia en el paradigma funcional pero no tiene tanta importancia en la programación imperativa.

Los dos tienen por defecto evaluación ansiosa o eagerly; sin embargo Scala permite call-by-name y lazy evaluation. En Groovy se puede emular call-by-name con clousures.
Scala no tiene el concepto de campos o clases estáticas, utiliza el concepto de objetos que son similares a objetos singletones; en cambio Groovy, si utiliza statics.

Groovy es un lenguaje dinámicamente tipado pero también podemos trabajar con tipado estático (definiendo los tipos a las variables), esto puede ser bueno o malo depende de como lo veamos; además Groovy soporta dynamic meta-programming.

Scala es un lenguaje estáticamente tipado por lo tanto no soporta dynamic meta-programming, es este punto Scala es más parecido a Java pero Scala cuenta con un sistema de tipos más sofisticado que Java. Algo que también hace la curva de aprendizaje más empinada.

Groovy es sintácticamente más parecido a Java pero semánticamente se ve la influencia que tuvo Ruby. Scala en cambio sintácticamente se ve la influencia de Java y Ruby, pero semánticamente fue influido por Java, SML, Haskell y gBeta.

A mi entender lo principal que impulso a Groovy fue Grails fue el caballo de batalla y que le hizo muy buena publicidad al lenguaje. En cambio Scala no tenia un framework de desarrollo ágil que lo impulsara hasta que la empresa Typesafe compro el framework Play! y con Play 2 adaptaron a Play para que funciones con Scala. Si bien Grails esta super maduro, Play! tiene una comunidad muy buena.

James Strachan el creador de Groovy dijo: “I can honestly say if someone had shown me the Programming in Scala book by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I’d probably have never created Groovy.” Dicho que condena a Groovy, pero a mi entender es un tanto injusto. Groovy es un lenguaje de tipado dinámico con características que lo hacen muy práctico y muy fácil de aprender. En cambio Scala es un lenguaje de tipado estático, que tiene una curva de aprendizaje mayor a Groovy.

Estas son las diferencias más importantes, que tenemos que tener en cuenta cuando escogemos uno o el otro…

Discover Dart

Hola quería compartir un nuevo curso de code scholl sobre Dart. Recuerdan que Dart es el lenguaje de google que quiere desterrar a Javascript.

Dejo link:
http://dart.codeschool.com/

lunes, 10 de marzo de 2014

Recompensa del esfuerzo

Si bien no tiene que ver directamente con el blog; quiero compartir esta reflexión de Alejandro Dolina. La relación con este blog tiene que ver con el goce de aprender, el goce de usar la cabeza, tiene que ver con una visión que quiero del mundo. Y en parte explica este blog.

miércoles, 5 de marzo de 2014

Encuesta sobre java 8


Interesante encuesta de la gente de Typesafe sobre Java 8











Dejo link:
http://info.typesafe.com/acton/form/3608/0026:d-0007/1/index.htm?id=0026&utm_medium=email&utm_source=Act-On+Software&utm_content=email&utm_campaign=Typesafe%20Newsletter%20-%20March%20%27014&utm_term=Java%208%20Survey%20Results

Nueva versión de Akka


Hoy me entere de un nuevo release del framework de la empresa Typesafe. El pasado 5 de marzo se dio a conocer la nueva versión de Akka 2.3.0.

Para el que no conoce Akka es un framework open source basado en el concepto de Actores. Este framework nos facilita la creación de aplicaciones distribuidas y concurrentes. Fue escrito en Scala y se puede utilizar en cualquier lenguaje de la plataforma Java.

Entre las novedades de la nueva versión podemos nombrar:

  • Akka Persistence: Este módulo le permite escribir Actores con estado persistente que sobrevivan a los fallos de hardware y software, y también proporciona un mecanismo de opt-in.
  • Soporte para Java 8: Akka viene preparando la cancha para la nueva versión de Java y dejando todo preparado para el uso de lambda.  
  • Mejoras en el uso de Cluster: La gente de Akka aprendió varias cosas dado que ejecuto Akka en 2400 nodos, dando lugar a varias mejoras de rendimiento y mejoras de usabilidad.
  • Activator Templates: Activator es como Maven (salvando las diferencias) y los templates como los archetypes. La gente de Akka creo nuevos templates, para que tengamos menos trabajo al crear un nuevo proyecto que use Akka:

Akka es un framework que esta ganando espacio y creciendo rápidamente y no debemos perderle la pisada.

Dejo link:
https://typesafe.com/blog/akka-230-major-release

Google Analytics Education Infographic

Ya que estamos hablando de Google Analytics, les dejo una infrografia sobre Google Analytics;