Spring Data REST

Standard
En esta ocasión les explicaré como levantar una API REST basado en un repositorio JPA con un par de entidades.
En el ejemplo levantaremos una aplicación web usando el Framework de Spring y una DB HSQL en memoria. Como prueba, haremos una serie de requests desde terminal para validar su funcionamiento.
A pesar de la simplicidad del ejemplo, el framework de Spring Data REST es muy potente y soporta una variedad de tecnologías en el backend, Relacionales y NoSQL, además de opciones muy potentes para filtrar, paginar y ordenar, les recomiendo explorar el sitio de Spring Data REST.

Arquitectura del proyecto

Evernote Snapshot 20151127 174247
productosapp
- pom.xml
/src/main/java/com/hunabsys/products/config/
- WebAppInitializer.java
- AppConfig.java
- WebConfig.java
/src/main/java/com/hunabsys/products/controller/
- AppController.java
/src/main/java/com/hunabsys/products/model/
- Category.java
- Product.java
/src/main/java/com/hunabsys/products/repository/
- CategoryRepository.java
- ProductRepository.java

Continue reading

ISO 14001: Antecedentes y actualización de la revisión 2015

Standard

¿Qué es ISO 14001?

Es un norma ambiental internacional, cubre aspectos ambientales de productos y organizaciones. La norma ISO 14001 es aplicable para cualquier organización, de cualquier tamaño o sector, que esté buscando reducir los impactos en el ambiente y cumplir con la legislación en materia ambiental.

Después de que se publicara la norma británica BS 7750 en 1990, ISO ( International Organization for Standardization, o “Organización Internacional de Estandarización” ) comenzó a desarrollar la norma ambiental internacional y fue publicada en el año 1996 (si, tardaron 6 años en un estándar internacional).

Fue hasta 2004 que se realizaron los cambios menores en la norma ISO 14001 para que estuviera alineada a la norma de Gestión de Calidad ISO 9001, haciendo los requisitos más claros. Esto también significó que las organizaciones ya no tenían que duplicar sus esfuerzos cuando implementaban ambos sistemas. Dos años más tarde (2006) se dio a conocer la película  documental “Una verdad incomoda” (cuyo titulo original en inglés es: An Inconvenient Truth) dirigida por Davir Guggenheim acerca de la campaña del exvicepresidente de Estados Unidos Al  Gore para educar a los ciudadanos sobre el calentamiento global, está película puso a muchos a pensar en el daño ambiental que generaríamos los seres humanos en un futuro. Desde entonces se ha sido mas estrictos en lo que se refiere a normas ambientales. Continue reading

Probando tu app web con Selenium Part2

Standard

seleniumlogoBuen día, espero todos la estén pasando bien, hoy voy a continuar con mi publicación anterior que fué sobre selenium

. En el anterior post dí una pequeña introducción a su uso, en ese artículo, comenté que el plugin sólo funciona para firefox, pero que podíamos utilizarlo para probar otros navegadores, lo cual realmente es un requisito más que una característica extra.

Para revisar el articulo pueden ir aquí

En este artículo les voy a platicar cómo podemos utilizar esta herramienta para probar no sólo firefox, sino chrome y safari que son los navegadores que personalmente utilizo más, empecemos pues.

Lo primero que haremos es abrir firefox en google para hacer un simple script.

Una vez abierto firefox iniciemos una grabación dando click en el ícono de selenium.

Nuestra prueba es muy simple, vamos a escribir en el único campo que nos ofrece google para buscar lo que gustemos, en este caso, simplemente coloqué selenium y al final damos click en el logo de google para volver a la página inicial y una vez hecho esto paramos la grabación. El resultado será algo como esto, no importa que sea un poco diferente, igual pueden copiar el código que colocaré. Continue reading

Energías renovables como meta: MÉXICO

Standard

MapaMexico

Que tal. Me reporto de nuevo.

En anteriores ocasiones hemos abordado el tema de la independencia energética de algunos otros países europeos y Sur Americanos, y queda la incógnita “¿Qué le espera a México?”

En esta ocasión aprovecharé la vorágine de conocimiento que tienes la dicha infinita de consultar como tu biblia virtual, este blog y guía espiritual, para plantear un poco la situación de México en el ámbito de energías renovables.

“De entre las energías renovables, la solar fotovoltaica tendría quizá unas de las mejores perspectivas para su desarrollo”. SLECCION FORBES 2014. Continue reading

Probando tu app web con Selenium

Standard

Buen día, hoy me propongo hablarles un poco de Selenuim. Una herramienta muy útil para probar nuestras aplicaciones web.

A lo largo de varios proyectos en lo que me ha tocado trabajar, me parece que la mayoría del tiempo no acostumbramos a realizar las pruebas como deberíamos, ya que tal vez en un principio parecen exageradas o innecesaria. Digo con eso de que todos somos tan geniales programando y nunca generamos errores al hacer modificaciones, las pruebas parecen una simple formalidad. Sin embargo y esto es sólo en el caso de los programadores que somos mortales, pues es posible llegar a insertar nuevos errores cuando realizamos modificaciones a código, sin mencionar que preferimos una herramienta que haga las pruebas de manera automática en vez de hacer pruebas de forma manual.

Ahora pues como no me gusta escribir mucho trataré de hacer una pequeña guía para ayudar a todos aquellos que quieran iniciar con sus pruebas para las app web que realicen. Cabe mencionar que no soy ningún gurú en programación ni en pruebas, así que el siguiente tutorial será solamente para transmitir lo poco que conozco del tema. Así pues, empecemos.

NOTA: ESTA HERRAMIENTA SÓLO ESTÁ DISPONIBLE PARA FIREFOX AUNQUE LOS SCRIPTS RESULTANTES PUEDEN SER UTILIZADOS PARA OTROS NAVEGADORES.

Continue reading

Trabajando con Google Maps

Standard

Ubicar puntos dentro de una figura irregular con Google Maps

Hola a todos, ¿qué tal? , ¿cuántas veces nos hemos topado con problemas que nos quitan horas e incluso hasta un día completo en resolver?, supongo que muchas y en algunas ocasiones es muy estresante, este fué mi caso cuando implementé Google Maps en una aplicación Web usando figuras irregulares para dibujar en el mapa y querer manipular nuestra figura para que haga cierta acción. Y es aquí donde mi aventura y reto a la vez con Google Maps empieza.

Primero si no tienes idea de como agregar la opción de dibujar en nuestro mapa (así como yo no la tenia) solo debes agregar un drawingManager el cual nos proporcionará esta herramienta, para esto agrega el siguiente código:

var drawingManager = new google.maps.drawing.DrawingManager({
   drawingMode: google.maps.drawing.OverlayType.MARKER,
   drawingControl: true,
   drawingControlOptions: {
     position: google.maps.ControlPosition.TOP_CENTER,
     drawingModes: [
       google.maps.drawing.OverlayType.MARKER,
       google.maps.drawing.OverlayType.CIRCLE,
       google.maps.drawing.OverlayType.POLYGON,
       google.maps.drawing.OverlayType.POLYLINE,
       google.maps.drawing.OverlayType.RECTANGLE
      ]
    },
    markerOptions: {},
    circleOptions: {
    fillColor: '#ffff00',
    fillOpacity: 1,
    strokeWeight: 5,
    clickable: false,
    editable: true,
    zIndex: 1
    }
});
drawingManager.setMap(map);

/*donde map representa nuestro mapa en la aplicación.Esta código nos agrega   ra la opción de poder dibujar en nuestro mapa.*/ 

Continue reading

Sending E-mails from Android

Standard

Getting Started

As a user, have you ever seen an android app that sends you interesting information?. As a developer, have you ever feel you would like to send valuable info to your users through their email with information?… Well, this is a commonplace problem among android applications. A first approach of sending emails (and the easiest) is to use the built-in Email apps installed in our device. However, this is only useful in some cases. When we need to send information with no user input/intervention this heads to a little harder approach, Pure code!, sending everything “behind the scenes”.

Intents Approach

Of course there is an email “intent” utility that you could use almost in all devices when we are developing an app. However, this intent allows the user to explicitly modify data before sending the email, which is not always the desired functionality. For instance, we will not extensively describe this functionality here, but you may see how it works in the next images:

i1         i2 Continue reading

Uso de la función Recubrir en SolidWorks

Standard

Hola espero tengan un buen día y sigan intentando aprender algo nuevo respecto al programa de diseño SolidWorks, generalmente he escrito algunas guías para el uso de herramientas básicas dirigidas a principiantes en el uso del programa. En esta ocasión  no será la diferencia, la guía de hoy se enfocará a la función de “Recubrir”.

Esta función no permite hacer algunas figuras que tienen formas mas caprichosas de manera muy sencilla. Algo que la hace especialmente simple es que la selección de la herramienta nos da la información que necesitamos para generar la figura deseada. Para el uso de figuras mas complejas es necesario saber como se hacen planos, estos los encontramos en “geometría de referencia”. (Si alguien tiene problemas para realizar planos pueden preguntar y gustosamente les ayudaré)

  1. Iniciaremos con una figura rígida para hacerla mas sencilla. En la vista de “Planta” dibujaré un polígono de 6 lados a partir del origen, en el circulo interno pondré 60 mm y haré vertical una de las lineas para dejarlo completamente definido. Al terminar salimos de croquis.

recubrir im 1 Continue reading

R you ready for R?

Standard

Hello folks, today I’ll share with you my experience using R for the past few weeks. The problem was that I had to analyze different time series resulted from gathering a sensors output. I needed to load the data and see its behavior A.S.A.P.! I talked with my advisor and his recommendation was: start with R. You can follow his advice too and download R.

What is R?

So first things first, according with R’s official site, this tool is a complete environment that includes a programming language, a high quality graph generator, a statistical and machine learning back-end. One more attribute or R is its extensibility to link programs written in C, C++ or even Fortran programming language. I read a little more and turns out R has amazing capabilities share data between different database management systems like Hadoop, PostgreSQL or MySQL. Also R has a community that’s growing fast with a ton of functions (or packages) for any kind of data analysis you want to do. Continue reading

Genymotion: Emula de manera más rápida y eficiente tus apps Android

Standard

 

Genymotion logo

 

Qué tal, gente. Actualmente nos encontramos con una abrumadora diversidad de dispositivos Android en el mercado, ante lo cual es necesario desarrollar aplicaciones capaces de dar soporte a todos ellos… o en su defecto, a la mayor cantidad posible. No en todos los casos es viable ni práctico el contar con muchos dispositivos físicos de características diferentes (sea tamaño de pantalla, resolución, hardware, versión de Android, etc.) para realizar pruebas de apariencia y rendimiento en ellos, por lo cual es una común necesidad el uso de emuladores para llevar a cabo esta tarea.

Imagino que todo Android developer, si pretende autodenominarse tal, debe conocer el tortuoso camino al noveno círculo del infierno que puede llegar a representar el tratar de emular una aplicación contando con recursos de hardware limitados… y valiéndose solamente del emulador default de Android Studio.

Con esa dantesca situación como antecedente, en esta ocasión comparto con ustedes una herramienta bastante útil y práctica para el desarrollo y testeo de aplicaciones Android que, gracias a su uso simple y respuesta notablemente rápida (más rápida que la mayoría de los dispositivos Android), se ha formado ya una considerable cantidad de seguidores que no dudan (evidentemente me incluyo) en recomendarla y hablar sobre los beneficios prácticos que ésta nos ofrece.

Continue reading