Skip to main content

Posts

Showing posts from January, 2017

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 Reduxhttps://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 remaining element

Sin duda un excelente articulo de referencia que mues…

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 el nombre del campo en el documento en este…

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 Makees 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 insertar un documento  con el {"evento"…

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")
    private List<Paises> paises;


Para almacenar los datos en la colección desde Java usamos:
Agregamos el repositori…