Skip to main content

Posts

Dos interesantes Articulos sobre Java Script

En Toptal podemos encontrar dos excelentes artículos: Gulp: A Web Developer's Secret Weapon for Maximizing Site Speed https://www.toptal.com/javascript/optimize-js-and-css-with-gulp En donde se muestra el proceso de automatización y optimización con Gulp.js Este otro articulo Immutability in JavaScript using Redux https://www.toptal.com/javascript/immutability-in-javascript-using-redux Muestra el proceso de crear Actions, usar inmutables librerías. Ambos son excelentes articulos para analizar.

Why You Need to Upgrade to Java 8 Already

Why You Need to Upgrade to Java 8 Already, enlace  https://www.toptal.com/java/why-you-need-to-upgrade-to-java-8-already Los amigos de Toptal han publicado un interesante articulo sobre Java 8,  se tratan temas interesantes: Lambda expressions. Stream API for working with Collections. Asynchronous task chaining with  CompletableFuture . Brand new Time API. Ejemplo de implementación de  funciones  (Integer i1, Integer i2) -> i1 % 2 - i2 % Descripción de mĆ©todos referenciados, Stream APi books.stream() .filter(book -> book.year > 2005 ) // filter out books published in or before 2005 .map(Book::getAuthor) // get the list of authors for the remaining books .filter(Objects::nonNull) // remove null authors from the list .map(Author::getName) // get the list of names for the remaining authors .forEach(System.out::println); // print the value of each r...

Definir un Entity Simple en JGMongo

Definir un Entity Simple en JGMongo Un Entity representa el documento en MongoDB, por lo que debemos describir su estructura en Java. Reglas  La clase debe extender de GenericsBeans  Implementar @Getter /@Setter  El atributo  @SerializedName("") es opcional, lo usamos cuando los nombres de campo (key) en el documento son diferentes a los nombres de propiedades @Id idenficar el PrimaryKey  Crear mĆ©todo toDocument() para convertir de Java o Document  Crear mĆ©todo toPojo() Contamos con un documento llamado Pais: {   "_id" : ObjectId("57bc789da6cca9237822eafb"),   "Siglas" : "1",   "Pais" : "Name1",   "Logo" : "--" } Representación visual: Si observa el nombre de campos (key) inician con la primera letra en mayĆŗsculas,  y nuestros Entity deben iniciar con la primera letra en minĆŗsculas. MongoDB(" Siglas" )  Java( siglas) Por lo tanto debemos indicar cual es e...

Hunting Memory Leaks in Java

Hunting Memory Leaks in Java Un excelente articulo publicado en Toptal.com https://www.toptal.com/java/hunting-memory-leaks-in-java donde se realiza un anĆ”lisis profundo y incluye ejemplo del uso de    Java VisualVM

Buggy Java Code: The Top 10 Most Common Mistakes That Java Developers Make

Buggy Java Code: The Top 10 Most Common Mistakes That Java Developers Make es interesante articulo donde se muestran 10 de los errores mĆ”s comunes al programa en Java. Toptal hace evaluaciones interesantes sobre diversas tecnologĆ­as y en esta ocasión sobre Java. Este es el listado: #1: Neglecting Existing Libraries #2: Missing the ‘break’ Keyword in a Switch-Case Block #3: Forgetting to Free Resources  #4: Memory Leaks #5: Excessive Garbage Allocation #6: Using Null References without Need #7: Ignoring Exceptions #8: Concurrent Modification Exception #9: Breaking Contracts  #10: Using Raw Type Instead of a Parameterized One

Autoincrementable en MongoDB con findOneAndUpdate() JGMongo

Existen muchas maneras de administrar campos autoincrementables, en esta ocasión mostrare la implementación que use en JGMongo  https://github.com/avbravo/jgmongo/  utilizando en metodo findOneAndUpdate() . Implementaremos el mĆ©todo de la clase AbstractFacade  public T findOneAndUpdate(String key, String value,String field,Integer... incremento)  Key : es el campo a buscar value: el valor de ese campo field: es el campo numĆ©rico a implementar incremento: Opcional si no se pasa ningĆŗn valor incrementa en uno el campo Problema 1: Existe una colección de documentos donde se maneja un campo entero que funcionara como autoincrementable:   Agenda{"Id":1,"evento":"A"},{"Id":2,"evento":"B"},{"Id":3,"evento":"C"} Si se elimina el evento 3,  Agenda{"Id":1,"evento":"A"},{"Id":2,"evento":"B"} Cuando se desee inserta...

Arrays en documentos con Mongodb con JGMongo

Arrays en documentos con Mongodb con JGMongo Un documento en MongoDB, es una estructura compuesta por pares (key, value). En esta ocasión mostrare como manejar Arrays de documentos mediante jgmongo  https://github.com/avbravo/jgmongo   Un framework que estoy desarrollando para MongoDB Documentos de Paises y Sedes. Tenemos dos colecciones: paises con información como esta: @Getter @Setter public class Paises extends GenericBeans { @Id     @SerializedName("Siglas")     private String siglas;     @SerializedName("Pais")     private String pais;     @SerializedName("Logo")     private String logo; y el documento sedes: @Getter @Setter public class Sedes extends GenericBeans { @Id     @SerializedName("Idsede")     private String idsede;     @SerializedName("Sede")     private String sede; @SerializedName("Paises") ...

Aroug San Luis- Inicio del ODT 2016

Cuando mi amigo Marcelo Burgos me invito a participar del Oracle Development Tour en San Luis, y ser parte del inicio del Tour que recorrerĆ” varios paĆ­ses (Argentina, Brasil,Mexico, Guatemala, Colombia , Costa Rica y PanamĆ”),  pensĆ© en el tema que podrĆ­a ser mi conferencia y al conversar con Marcelo y Jose Preda, que por mĆ”s de un mes habian estado pendiente y coordinando todos los detalles para mi asistencia al evento. Mi tema fue sobre JGMongo (Un framework Java que desarrolle para MongoDB) con JEE8 https://github.com/avbravo/jgmongo En especial mi agradecimiento al Ing. Ruben Espitia, que hizo todos los tramites y gestiones incluso en ocasiones que el estaba fuera del paĆ­s por Universidad Tecnológica. El evento organizado por ArOUG Regional San Luis http://arougsanluis.blogspot.com.ar/ Un evento de muy alta calidad, una organización impecable, un ambiente muy agradable, el trato y la cordialidad de los amigos de ArOUG, fueron de primer nivel. La sede fue la Univers...

JGMongo con JEE7

JGMongo con JEE7 Una aplicación usando JGMongo con JEE7

Apache NetBeans

Apache NetBeans https://wiki.apache.org/incubator/NetBeansProposal Si, algo que se esperaba desde hace muchos años, una liberación de NetBeans, para convertirlo en un IDE mÔs abierto, y que permita mayor contribución de la comunidad y de otras empresas, ya inicio su primera etapa en la incubadora de la Fundación Apache. Las implicaciones que esto conlleva son múltiples por una parte esta la evolución de NetBeans, al permitir que mÔs contribuyentes puedan aportar a sus mejoras, también garantiza que aquellas instituciones no sientan que es una sola organización la que controla la evolución. A las comunidades les permite sentirse que participan de un proyecto con todas las garantías que ofrece la Fundación Apache. Muchos pensaran que Oracle esta dejando morir el proyecto, la realidad es diferente, hay muchos ingenieros que estÔn participando del proyecto en la fundación Apache. Es una noticia excelente para los desarrolladores, instituciones, empresas que utilizan NetBeans , se es...

JPA Modeler con Angular js

JPA Modeler con Angular js esta disponible. Mezclar lo mejor de ambos mundos Java+ Angular js muchas veces resulta algo difícil, para los iniciados en ambos mundos. Gaurav Gupta el creador de JPA Modeler, y su equipo avanzan constantemente en el mejoramiento del mismo y ampliando el soporte a un sin numero de plataformas. En esta ocasión con la integración para Angular js, puedes encontrar la descripción completa aqui El uso es muy sencillo: Requerimientos: Java 1.8 NetBeans 8.1 JPA Modeler 2.5.1 GlassFish 4.1 / Payara 4.1 Pasos: 1. Crear un proyecto Web con NetBeans IDE 2. Crear un diagrama JPA Desde File --> New--> Category Persistence seleccionar JPA Modeler luego ingrese el nombre del Model se habilitara el diseñador Arrastre desde la paleta el componente Entity, allí puede renombrar las propiedades y crear los atributos. repita el mismo procedimiento y cree las otras entidades y sus relaciones Luego como se explica en la guía ...

JGMongo v0.3

JGMongo v0.3 Esta disponible JGMongo 0.3, entre las caracterĆ­sticas que ofrece, nuevos mĆ©todos,  implementación de Filter, creación de Indices <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> <dependency> <groupId>com.github.avbravo</groupId> <artifactId>jgmongo</artifactId> <version>0.3</version> </dependency> Puedes ver todas las caracterĆ­sticas en el Wiki https://github.com/avbravo/jgmongo/wiki/

JGMongo v0.2

Ya esta disponible la versión 0.2 de JGMongo <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.github.avbravo</groupId> <artifactId>jgmongo</artifactId> <version>0.2</version> </dependency> </dependencies> Algunas mejoras: 1. Anotación @Id para definir llave primaria 2. Nuevos métodos para realizar operaciones 3. Mejoras en métodos save, update búsqueda y verificación automÔtica de llave primaria para evitar duplicidad de documentos. 4. Los métodos toPojo() y to Document() se redefinieron, son mÔs sencillos de usar @Getter @Setter public class Paises extends GenericBeans { @Id @SerializedName("Siglas") private String siglas; @SerializedName("Pais") private String pais; @SerializedName("Logo...

JGMongo + JEE8 (MongoDB)

Aunque JEE8,  debe estar terminado para el próximo aƱo 2017, hace un tiempo publique un ejemplo usando MySQL como motor de base de datos utilizando JPA Modeler  , que es una excelente herramienta grafica para crear modelos relacionados, utilizando JPA. El creador de JPA Modeler  es  Gaurav Gupta   Aqui puedes encontrar el tutorial anterior donde  se muestra el ejemplo usando(JPA Modeler  + GlassFish+ JEE8 +JPA + MySQL)  JavaEE 8 con JPA muy fĆ”cil . Con el desarrollo de JGMongo que es un  Java Object Mapper  para MongoDB, mostrare como utilizar JGMongo con JEE8.  Al ejecutar la aplicación Listado de paĆ­ses     @GET     @Path("list")     @Controller     public String findAllPaises() {         model.put("PAISES_LIST", facade.findAll(new Document()));         return "/view/paises/list.jsp";     } Crear un nue...