Entradas

Iniciar Ionic 3 y Angular 4, tutorial paso a paso

Imagen
Antes de comenzar, debemos tener instalado Node.js , en su sitio web podemos encontrar su archivo, instrucciones de descarga e instalación. Ya una vez instalado Node.js, nos disponemos a instalar Ionic, para ello abrimos nuestra terminal y escribimos el comando sudo npm install -g cordova ionic  A continuación creamos nuestro proyecto de Ionic, así que elegiremos un nombre al gusto. Para este caso yo elegiré "ionicProject". En la terminal escribimos ionic start ionicProject blank  , aunque si estás usando el último Ionic CLI, escribe ionic start ionicProject blank --type ionic-angular  Ya creado nuestro proyecto de Ionic, entramos a la carpeta del proyecto con cd ionicProject Ya una vez  hecho esto, modificaremos algunos archivos predeterminados para implementar páginas de carga lenta. Abrimos " src / app / app.module.ts " y eliminamos las importaciones, NgModule-declaration y NgModule-entryComponents de la página Home . Por lo tanto, este archivo...

Spring WebFlow - Parte 2

Con anterioridad se ha explicado como configurar los WebFlows en Spring. Si aun no haz configurado Spring para usar WebFlows te recomendamos ver el post Spring Web Flows. En este post veremos los diferentes estados de los Web Flows y las variables para usar correctamente los Web flows en Spring. Estados y etiquetas Empecemos con los estados. Los Web Flows tienen 3 estados principales: * view-state * action-state * end-state El view-state, es donde mostraremos una vista al usuario, en esta vista, el usuario tendra las opciones que nosotros querramos ofrecerle. Este estado tiene 3 atributos, "id" sera el nombre del estado, "view" la direccion del jsp que se utilizara en esta vista, "model" en caso que le pasemos un objeto a este estado, o que vayamos a llenar algun objeto. El action-state, es un estado en el cual el flow ejecutara cierto metodo. Este metodo puede ser ya sea para traer datos de la base de datos, llenar un objeto, validar algo, e...

Desarrollando un Punto de Venta en Lift 2.6 - (2/4)

Imagen
Este tutorial consta de varias partes: Configuración del ambiente Creación de modelos Creación de Snippets Creación de Pantallas Paso 6 - Arrancamos! Finalmente, es tiempo de iniciar! Estamos listos para comenzar a desarrollar la aplicación de Punto de Venta. Paso 7 - Configuración de la Base de Datos Lo primero que vamos a hacer es configurar la conexión a la base de datos. En este caso de ejemplo, utilizaremos PostgreSQL. Para ello crearemos el archivo default.props en la siguiente directorio src/main/resources/props. Aquí es donde definiremos los siguientes atributos: db.driver=org.postgresql.Driver db.url=jdbc:postgresql://localhost/POS db.user=pos db.password=pos112233 Si en este punto, creas la base de datos antes definida, y vuelves a escribir en el ambiente de SBT container:start, podrás comprobar que en la base de datos especificada se ha creado ya la tabla de usuarios. Aunque parezca un acto de magia la creación de la tabla, es responsabilid...

Desarrollando un Punto de Venta en Lift 2.6 - (1/4)

Imagen
Lift es uno de los más poderosos y más seguros frameworks que existen hoy día. Grandes compañías como Foursquare han apostado por Lift! En nuestra organización, tuvimos la oportunidad de desarrollar una aplicación en Lift, quedando gratamente sorprendidos de lo verdaderamente innovador de esta tecnología, y lo rápido que se puede desarrollar una aplicación web. Tenemos ya en nuestro haber experiencia con desarrollo Java utilizando Spring y Hibernate, que dicho sea de paso, son excelentes opciones para desarrollar aplicaciones web en Java, las mejores opciones me atrevería a decir.  Sin embargo, después de probar Lift, verdaderamente es sorprenderte lo ligero que éste se siente, lo mínimo de recursos que utiliza y lo bien que se desempeña en modo producción! Como parte de las distintas pruebas que hemos hecho, hicimos un punto de venta muy básico, para explorar un poco más este Framework. A continuación se desglozan los pasos a seguir para desarrollar este ejemplo ...
Vamos a ver como agregar un select o combobox en lift, cargando los datos de una lista. Lo primero que tenemos que hacer es crear el select en un Html, este select no tiene option, porque como dijimos, los datos los cargaremos de una lista. Trabajos   Despues vamos al Snippet y dentro de la funcion en la que vamos a usar el select ponemos lo siguiente "#trabajo" #> SHtml.select( TipoTrabajo.findAll.map(tra => (tra.id.toString, tra.tipoTrabajo.is)), Empty, tra => partidaVar.is.trabajoId(tra.toLong)) Nuestro SHtml.select lleva los siguientes parametros: select(opcion, valor por default, funcion: (string) => Any) 1.opcion: Es la lista o valores que queremos mostrar como options 2.valor por default: Es el valor que muestra por default, si no tenemos ninguno podemos poner Empty 3.funcion: La funcion que se realizara en el form al hacer submit Podemos usar un ajaxSelect en vez de un select, esto es bueno usarlo si queremos que las opciones de un selec...

Ejecutando Jetty como un Servicio en Windows Server 2012

Imagen
Jetty es un servidor web muy ligero y un contenedor de servlets, que soporta distintas tecnologías como websocket, jaas, etc. Hasta ahora no había sido necesario utilizarlo en los proyectos que hemos desarrollado. Así que se decidió plasmar en este espacio, el inicio de nuestra aventura con esta tecnología. De entrada, el servidor que está ejecutando el proyecto es un Windows Server 2012. Lo que ofrece un ambiente radicalmente distinto a Linux! La instalación de Jetty, en primera instancia es muy simple. Sólo se descarga de la página oficial , se descomprime en el directorio deseado y ya está. En el transcurso de hacer pruebas, se encontró que es recomendable crear instancias del servidor, y no correr los proyectos directo en la instalación de Jetty. Así que indagando un poco en el amplio mar de Google, se encontró una pequeña guía que aquí se resume. 1. Crear la variable de ambiente JETTY_HOME. Esta variable debe estar apuntando al directorio donde se descomprimió el J...

Batch File como Servicio de Windows

Imagen
Nos vimos en la necesidad de levantar el servidor Jetty como un servicio de Windows. Busque en varias paginas como lograr esto, seguí varios tutoriales los cuales me permitían crear el servicio, pero al momento de arrancarlo no funcionaba :/ ... Me recomendaron crear un batch File e iniciarlo en el startup de Windows, pero Windows Server 2012 no permite modificar el Startup. Entonces decidí hacer el batch file como un servicio. Encontré NSSM un programa que te permite hacer los batch file (y no he probado si otros tipos de archivos) como un servicio de Windows. Este programa puedes descargarlo desde aqui . Solo abres CMD (Terminal de Windows) vas a la carpeta donde tienes el nssm y escribes: nssm install ""nombredelservicio"" al correr este código te abre una ventana como la siguiente: En Path, buscar la dirección donde se encuentra tu batch File, das click en Install service y Listo. Ya desde los servicios de Windows podremos iniciar, y configur...

jQuery DataTables

Toda aplicación web que se jacte de ser amigable, debe mostrar en sus listados la opción de paginación, ordenamiento por columnas, y la opción de filtrar datos de una manera rápida, entre otras cualidades. Existe un plugin llamado DataTables . Este plugin es para jQuery, y al momento agrega a una aplicación web características que incrementan la usabilidad de la misma. Descarga Para descargar este plugin, es necesario visitar el sitio oficial de DataTables . Instalación El sitio web de DataTables cuenta con una excelente guía de instalación . En este escrito, hacemos una breve reseña de los pasos que se siguieron en uno de los proyectos en que se está laborando en esta institución. Una vez descargadas las siguientes librerías: jquery-1.8.1.min.js jquery.dataTables.js dataTables.fixedHeader.min.js dataTables.fixedHeader.js es necesario agregar las siguientes lineas en el <head> de la página web donde se implementarán las tablas: <script charset="ut...

Control de acceso.

Aqui se presentara como tener control de acceso con roles y usuarios, esto es con fines academicos. Se quiere agregar un role a usuario, para saber que permisos tiene, que puede ver del menu, que puede modificar, etc. Para lograr esto es necesario hacer una relacion de muchos a muchos. Se necesitan un modelo User, un modelo Role y un modelo UserRole para tener la realacion de muchos a muchos. Es necesario crear un catalogo de Role(ABC), y el snnipet Role; Puedes ver esto en Cómo hacer un catálogo básico (ABC) en Lift 2.6 Para iniciar hay que abrir el archivo User.scala , esta ubicado en /src/main/scala/code/model . En la misma carpeta se crearan el archivo Role.scala y UserRole.scal . Role.scala package code package model import net.liftweb.mapper._ import net.liftweb.util._ import net.liftweb.common._ import net.liftweb.sitemap.Loc._ import net.liftweb.http._ import net.liftweb.http.SHtml._ import net.liftmodules.FoBoBs.mapper._ import net.liftweb.common.Logger import ...

Cómo hacer un catálogo básico (ABC) en Lift 2.6

Imagen
En esta ocasión les presento cómo hacer un catálogo básico (ABC) en un ambiente web, utilizando este framework de desarrollo para aplicaciones web, llamado Lift. De acuerdo a liftweb.net , Lift es el framework web más poderoso y más seguro que existe hoy día. Si te interesa ver a detalle las razones detrás de esta afirmación visita: http://seventhings.liftweb.net . Las aplicaciones  desarrolladas en lift tienen las siguientes características: Seguras. Son resistentes a las vulnerabilidades comunes incluídas en varias de los top 10 OWASP . Centrado en el desarrollo. Son rápidas de construir, concisas y fáciles de mantener. Diseño amigable. Escalable. Son de alto rendimiento y escalan en un mundo real para soportar niveles de tráfico fuera de lo cumún. Modular. Se benefician de los módulos preconstruidos y fáciles de integrar entre sí. Interactivo como una aplicación de escritorio. El soporte de los Comet no tiene paralelo y el soporte de Ajax es súper fácil y muy seg...

Cómo habilitar Netbeans para Scala

Imagen
De acuerdo a Scala Documentation Scala es un lenguaje de programación moderno multi-paradigma diseñado para expresar patrones comunes de programación, de una manera elegante y sencilla. Scala es un lenguaje orientado a objetos en el sentido que cada valor es un objeto. Scala también es un lenguaje funcional en el sentido que cada función es un valor. Scala es un lenguaje en crecimiento en el mundo real. Según scala-lang.org está siendo utilizado de manera exitosa por un número cada vez mayor de compañías líderes para sus aplicaciones críticas de negocios. Empresas como Twitter, LinkedIn, Foursquare, etc. Si eres asiduo programador y fan de Netbeans, y quieres probar Scala, aquí te dejamos una guía rápida de cómo habilitar este IDE para trabajar con proyectos en este lenguaje. 1. Descargar el Scala de la pagina oficial www.scala-lang.org 2. Descomprimir el archivo descargado y guardarlo en una carpeta 3. Abrir la terminal y agregar el path para scala. Escribe sudo nan...

No puedo ver archivos pdf ni xml en postgresql

Hay ocasiones cuando es necesario y útil, el guardar directamente en la base de datos archivos de distintos formatos. Por ejemplo, archivos pdf y xml. Por motivos de las reformas fiscales en México, hemos estado trabajando arduamente en la adaptación del sistema contable para que poder cumplir con las obligaciones propias del SAT. Uno de los requisitos fiscales a cumplir, es el que cada póliza contable debe contener adjuntas la facturas que justifiquen cada uno de los gastos registrados en la póliza. Claro está, estas facturas, archivos xml, deben estar debidamente timbrados por el SAT. Así que, como parte de todas estas adecuaciones, se decidió grabar tanto el archivo pdf como el archivo xml en la base de datos. Y todo había venido funcionando de maravilla. Hasta que... Bueno, hasta que nos dimos cuenta que al querer descargar los archivos, estos no traían la información correcta, solo mostraban caracteres y números. Para esto, debo comentar que se reciben todas las facturas...

Ejemplo de generación de archivo XML con JAXB

Este artículo está ligado con esta otra entrada donde se exlica de manera detallada cómo generar archivos XML utilizando JAXB. Nuevamente, por motivos tributarios, nos vemos en la necesidad de trabajar en la generación de archivos XML. En esta ocasión, el objetivo es generar el catálogo de cuentas contables en formato XML para enviar al SAT. Todo lo escrito y explicado en este artículo, es totalmente aplicable para lo que aquí se presenta. Por lo tanto, no entraremos en detalles de cómo crear archivos XML con JAXB. Caso práctico Lo primero, es definir el elemento raíz. En este ejemplo, no se incluyen los getters/setters.: @XmlRootElement(name = "Catalogo") @XmlAccessorType (XmlAccessType.FIELD) @XmlType(propOrder = {"version", "rfc", "totalCtas", "mes", "anno", "Ctas"}) public class CatalogoCuentasSAT { @XmlElement(name = "Ctas") private List Ctas; @XmlAttribute(name = "Ve...

Cómo crear archivos XML en Java con JAXB

Imagen
En esta ocasión vamos a presentar cómo crear archivos XML con JAXB, y cómo estar seguros de que son válidos de acuerdo a determinado archivo xsd. Primero, se presenará una breve descripción de lo que son los archivos XML, para luego ver cómo se crea un archivo de este tipo con JAXB, finalmente se mostrará cómo validar este archivo contra un XSD. ¿Qué son los archivos XML? De acuerdo a vogella.com , un archivo XML está conformado por elementos, donde cada elemento está formado por una etiqueta de inicio, el contenido y una etiqueta de cierre. Estos archivos tienen varios requisitos que deben ser cumplidos para que se consideren como válidos, entre los cuales se encuentran los siguientes: Deben tener uno y solo un elemento raíz. Siempre deben iniciar con un prólogo. Cada etiqueta que inicia un elemento debe contener su correspondiente etiqueta que cierra. Todas las etiquetas deben estar completamente anidadas ¿Qué es JAXB? JAXB son las iniciales de Java Architecture fo...