Translate

martes, 31 de enero de 2012

Desarrollo de proyectos informáticos con tecnología Java

"La escritura de un libro es una tarea ingente. La motivación para abordarla debe ser, al menos, tan grande como la tarea que se desea acometer. Para nosotros, la motivación ha consistido en escribir un libro que se distinguiera del resto de libros que abordan el aprendizaje del lenguaje de programación Java."

De esta forma comienza el libro "Desarrollo de proyectos informáticos con tecnología Java" escrito por Oscar Belmonte Fernández, profesor de la Universidad Jaime I de Castellón. Este libro es gratuito y bajo licencia "Commons Atribución-NoComercial-CompartirIgual 3.0 Unported"

Es un libro básico de java para iniciados.

Dejo el link:  http://www3.uji.es/~belfern/docencia.html

viernes, 27 de enero de 2012

Con Play framework desarrollar aplicaciones web con Java y Scala... ¡vuelve a ser divertido!

Con Play framework desarrollar aplicaciones web con Java y Scala... ¡vuelve a ser divertido! es el titulo de la web en español de play; si!

Los usuarios de play decidieron traducir toda la documentación es español y colgarla en la web.

Dejo los links:
http://playdoces.appspot.com/
http://playdoces-opensas.rhcloud.com/

Curso de HTML 5


La gente de msdn ( del Inglés: Microsoft Developer Network ) ha realizado unos cursos de html que se pueden tomar de forma gratuita, parecen estar buenos.

Dejo el link: http://msdn.microsoft.com/es-es/ie/hh749020

domingo, 22 de enero de 2012

Hibernate 4!!

Jboss libero la versión número 4 de Hibernate entre las características nuevas podemos nombrar:


  • Mejor logging con soporte a i18n y codigo de mensajes
  • Preparan el soporte a OSGI
  • Soporta Multitenancy
  • Remueve código deprecado


Multitenancy es cuando un componente de software corre en un servidor pero sirve a múltiples clientes.

Dejo la entrada en el pom para el que usa maven:
  
  
 org.hibernate
 hibernate-core
 4.0.1.Final
  
            

Dejo links:
http://www.infoq.com/news/2012/01/hibernate-4-released
http://www.hibernate.org/downloads

Tutorial de Java 7

Han publicado un tutorial de java 7, es un tutorial basado ejemplos, fácil de leer y entretenido. Ideal para el verano:

http://www.javacodegeeks.com/2012/01/java-7-project-coin-in-code-examples.html

domingo, 15 de enero de 2012

Más de Hadoop!!



Sigo leyendo más de Hadoop un framework que ya estuvimos hablando:

http://emanuelpeg.blogspot.com/2009/10/apache-hadoop-es-un-proyecto-java-de.html
http://emanuelpeg.blogspot.com/2009/10/hadoop-hbase.html

El proyecto comenzo como funcionalidad de Nutch pero rapidamente se convirtio en un proyecto aparte; basado en Google GFS y MapReduce. Iniciado por Doug Cutting.

Apache Hadoop es un framework para computación distribuida y persistencia distribuida el cual tiene las siguientes características:

  • Permite montas fácilmente y de manera fiable clusters con multitud de nodos
  • Implementa Map/Reduce y sistema de archivos distribuido (HDFS)
  • y es Open Source!!


Buenísimo pero que es MapReduce? Es un modelo de programación aplicable a problemas en los que la solución de una subparte no sea dependiente de las soluciones de las demás subpartes. Es un estilo "divide y vencerás"; se divide el problema e subproblemas independientes y se soluciona cada uno de forma independiente. El MapReduce de hadoop tiene una arquitectura maestro/esclavo.


  • Un único maestro (JobTracker): Responsable de la gestión de tareas asignadas a esclavos, las monitoriza y se encarga de re-ejecutarlas si han fallado.
  • N esclavos (TaskTracker) : Ejecutan la tarea asignada.

En principio pensado para Java, pero con Hadoop Pipes para C++ y se esta implementando Hadoop Streaming para el resto de los lenguajes.

HDFS: Hadoop Distributed File System. Es el framework encargado de simular un file system como si estuviera en un equipo pero este esta distribuido.

HDFS tiene una arquitectura maestro/esclavo, hay un maestro que tiene la responsabilidad de administrar y nodos que se guardan los archivos. Existen estrategias para recuperar el maestro, para eliminar el punto de fallo. Todos los protocolos que usa se implementan sobre TCP/IP.

Además cuenta con una serie de comandos que permiten utilizarlo:

get: Copia a local el archivo de HDFS

put: Copia desde local múltiples ficheros HDFS

strep: Cambia el factor de replicación

Comandos típicos: ls, mkdir, cp, cat, etc...

Bueno este fue un pequeño resumen sobre un gran proyecto.

Dejo links:
http://hadoop.apache.org/
http://hadoop.apache.org/hdfs/
http://hadoop.apache.org/mapreduce/

sábado, 14 de enero de 2012

Post de Ceylon

En Java Mexico están publicado unos post acerca de Ceylon el lenguaje de Red Hat diseñado por Gavin King (el creador de hibernate).

Dejo el link:

http://www.javamexico.org/categorias/lenguajes_jvm/ceylon

jueves, 12 de enero de 2012

Understanding Big Data

IBM nos regala un libro sobre Big Data; por Big Data Nos referimos al tratamiento y análisis de enormes repositorios de datos, tan desproporcionadamente grandes que resulta imposible tratarlos con las herramientas de bases de datos y analíticas convencionales. La tendencia se encuadra en un entorno que no nos suena para nada extraño: la proliferación de páginas web, aplicaciones de imagen y vídeo, redes sociales, dispositivos móviles, apps, sensores, internet de las cosas, etc.  


El libro es una introducción al tratamiento de estos datos y hace una introducción a Apache Hadoop 


Dejo el link: 

https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=sw-infomgt&S_PKG=500016891

martes, 10 de enero de 2012

sábado, 7 de enero de 2012

Escribiendo sql más fácil con Querydsl


No les pasa que cuando escriben hql les da miedo de equivocarse en el nombre de alguna propiedad o algo que pueda hacer explotar la aplicación? Cuando escriben consultas con criterios de hibernate, no les pasa que no saben como se deben hacer ciertas cosas o tienen que mirar el manual? No les parece poco intuitiva la API de Critera de hibernate?

Si a todo contestaste que si Querydsl es para vos. Querydsl es un framework el cual permite construir consultas type-safe muy similares a Sql para multiples formas de acceder a datos JPA, JDO y SQL.

En lugar de escribir consultas en texto  lo escribimos con este dsl de forma fluida y segura.

Que ventajas tiene usar Querydsl?


  • Nos puede ayudar la IDE a escribir nuestras consultas, porque son propiedades. 
  •  Contamos con la seguridad por tipo 
  • Si refactorisamos nos permite refactorisar la consulta y si se rompe alguna consulta no compila. 
  • Es más fácil escribir consultas complejas 
  • Podemos escribir SQL o usarlo con Hibernate y también con MongoDB


Veamos un ejemplo de consulta:

query.from(customer)
    .where(customer.firstName.eq("Bob").and(customer.lastName.eq("Wilson")));


query.from(cat)
    .innerJoin(cat.mate, mate)
    .leftJoin(cat.kittens, kitten)
    .list(cat);


query.from(cat)
    .leftJoin(cat.kittens, kitten)
    .on(kitten.bodyWeight.gt(10.0))
    .list(cat);


query.from(customer)
    .orderBy(customer.lastName.asc(), customer.firstName.desc())
    .list(customer);


Se integra con Hibernate, maven, y también con Spring Data JPA. Además lo podemos usar con MongoDB y también con Scala.

Es de licencia Apache 2.

Dejo un video:



Dejo links:
http://www.querydsl.com/
http://www.querydsl.com/documentation
http://blog.mysema.com/2010/07/querying-hibernate-with-querydsl.html
http://blog.mysema.com/2010/11/mongodb-with-querydsl.html

Spring by example


Quiero compartir una pagina que explica como configurar Spring mediante ejemplos. Si bien esta basada en Spring 2, de a poco están escribiendo ejemplos de spring 3.

Dejo el link:

http://springbyexample.org/

viernes, 6 de enero de 2012

10 lenguajes que podrían influir en el futuro


Estuve leyendo un articulo sobre 10 lenguajes que podrían influir en el futuro. Los lenguajes son: Dart, Ceylon, Go, F#, Opa, Fantom, Zimbu, X10, haXe, chapel.

La verdad es que a Opa, Zimbu, X10, haXe, chapel no los conozco; pero por lo que veo creo que los demás lenguajes no dejan muchas cosas nuevas. Me parece que el que falta es Scala que es un gran lenguaje la innovación es tener lo bueno de muchos lenguajes. Erlang otro que falta.

Cual piensa que falta?

Dejo el link:

http://www.infoworld.com/d/application-development/10-programming-languages-could-shake-it-181548

jueves, 5 de enero de 2012

Recursos sobre HTML 5

SourceForge abrió una pagina para compartir con nosotros una buena cantidad de recursos sobre HTML 5.

Dejo el link:

http://elcentrohtml5.sourceforge.net/

miércoles, 4 de enero de 2012

Rusia ahorrará 55.300 millones de dólares en software gracias a GNU/Linux


La necesidad de afianzar una industria informática nacional, escapar de la dependencia tecnológica de la infraestructura informática pública, especialmente de los sistemas de Microsoft va a permitir ahorros milmillonarios a las arcas públicas.

Según el analista Román Dórojov en principio se han previsto 4 distribuciones principales cuyo desarrollo principal será a cargo de la empresa PingWin Software. El derroche y la insostenibilidad de la dependencia tecnológica en el área informática fue denunciado por el Programa Estatal “Comunidad de Información” aprobado en octubre de 2010 y concebido para el período 2011-2020. El plan va cumpliendo plazos y el prototipo de la plataforma del software nacional (PSN), que sustituirá a Windows en los ordenadores de las Administraciones Púlicas y escuelas de enseñanza media obligatoria, ya ha sido aprobado por el Ministerio de Comunicación. Las inversiones durante los primeros dos años de funcionamiento del programa en empresas locales alcanzará los 490 millones de rublos.

Argentina y todos los países deberías seguir por el mismo camino!!

Dejo la fuente:

http://www.hispalinux.es/node/747

Bio4j


Bio4j seria como grafo bioinformatico basado en base de dato que incluye la mayor cantidad de datos de UniProt KB(SwissProt + Trembl), Gene Ontology (GO), UniRef (50,90,100), RefSeq, and NCBI taxonomy. (Manuscript in preparation). La verdad es que esto es chino básico para mi pero creo que mi hermano que es bioinformatico le va interesar.

Bio4j  usa neo4j para representar la información.

Lo interesante es que utiliza licencia AGPL 3 .

Dejo links:

http://www.bio4j.com/
http://blog.bio4j.com/