Entradas

Mostrando entradas de febrero, 2017

Spring Configuración de Beans

En el tutorial anterior aprendimos como configurar e instanciar el contenedor Spring (ApplicationContext) usando los distintos métodos de configuración disponibles, XML, Java y Anotaciones, ahora nos centraremos en la creación, configuración y uso de los Beans, en Spring se le llama bean a un objeto que es administrado por el contenedor IoC, es decir la creación, inicialización, destrucción, etc., del objeto será controlada por el contenedor IoC de Spring.

Windows API Cuadros de Dialogo

Imagen
Los cuadros de dialogo como su nombre lo indica son ventanas que nos permiten comunicarnos con la aplicación, por ejemplo, la aplicación podría pedirnos la ubicación donde deseamos almacenar un archivo, el color que deseamos para pintar, cual es el archivo de video que queremos reproducir, etc., existen muchos cuadros de dialogo definidos para distintas tareas, veremos algunos de ellos.

Spring configuración XML parte II

Este tutorial es la continuación directa del curso anterior: Spring configuración XML parte I, aquí seguimos viendo las etiquetas XML que podemos utilizar para configurar el contenedor IoC de Spring.

Spring configuración XML parte I

Imagen
Anteriormente hemos visto las distintas formas de configurar el contenedor Spring, (XML, Java, Anotaciones), dedicaremos este curso a comprender la configuración basada en XML, conoceremos la etiqueta <bean /> en profundidad para poder controlar por completo la configuración de los beans.

Spring Tutorial de Introducción

Imagen
El principal componente del framework Spring es el contenedor de inversión de control (IoC) este contenedor es el encargado de administrar los beans, un beans es un objeto Java que es administrado por Spring, es decir, la tarea de instanciar, inicializar y destruir objetos será delegada a este contenedor, el mismo también realiza otras tareas como la inyección de dependencias (DI).

JavaFX Tutorial de Introducción

Imagen
JavaFX es una API diseñada para crear Interfaces Gráficas de Usuario (GUI) que viene a reemplazar a la tecnología Swing en cuanto a diseño de GUIs se refiere.Entre sus principales características tenemos: soporta estilos mediante CSS, aceleración gráfica por hardware, podemos aplicar efectos y animaciones fácilmente, gráficos 2D y 3D, se puede integrar con Swing y AWT, la UI pueden ser construidas usando código Java o archivos FXML, provee soporte multimedia para la reproducción de audio y video, etc.

PyQT-5 Tutorial Menú

Imagen
La clase QMainWindow representa una ventana, en ella podemos colocar toolbar (barra de herramientas), statusbar (barra de estado) y menubar (barra de menú). Este tutorial lo centraremos en la creación y uso de los menús.

JavaFX WebView

Imagen
Este componente nos permite insertar contenido web dentro de nuestra aplicación JavaFX, WebView es capaz de realizar las tareas comunes de navegación web como: guardar el historial de navegación, ir a una página al hacer clic en un enlace, acceder al DOM del contenido HTML y ejecutar JavaScript, entre otras cosas.

PyQT-5 Multimedia

Imagen
En este tutorial veremos el widget QMediaPlayer que podemos utilizar para la reproducción de archivos multimedia, audio y video, en esta ocasión crearemos un pequeño programa Python que nos permite visualizar un archivo de video, este archivo debe estar en alguno de los formatos de video soportado, AVI, por ejemplo.

Python Sistema de Archivos

En esta ocasión vamos a ver algunas operaciones interesantes y muy comunes que usualmente requerimos al programar una aplicación que trabaje con el sistema de archivos, por ejemplo: determinar la existencia de un archivo o carpeta, obtener el tamaño de un fichero, crear, eliminar o renombrar archivos, etc.

JavaFX Transformaciones

JavaFX soporta varios tipos de transformaciones, como: rotación, translación, escalado, etc., en este tutorial veremos cada una de ellas como aplicarlas, las clases necesarias se encuentran en el paquete javafx.scene.transform y la clase Transform es la clase base que contiene todos los métodos necesarios para aplicar transformaciones.

JavaFX Control TreeTableView

Imagen
El control TreeTableView combina las características de los controles TreeView y TableView, el mismo muestra un TreeView dentro de un TableView, lo que hace de este control una poderosa herramienta para mostrar datos organizados de manera jerárquica.

OpenCV Imágenes HDR

Imagen
Una imagen High Dynamic Range (HDR) o Alto Rango Dinámico en español, es un tipo de imagen que busca reproducir los distintos niveles de intensidad de luz que pueden ver nuestros ojos, logrando visualizar una imagen digital lo mas cercano posible a como la veríamos en el mundo real.

OpenCV Stitching

Imagen
La técnica de stitching permite generar imágenes panorámicas o imágenes de un espacio amplio  a partir de un conjunto de imágenes que representan porciones pequeñas de la escena que deseamos generar.

Pirámides de Imágenes con OpenCV

Imagen
Una pirámide de imágenes es un conjunto de imágenes con tamaño decreciente o creciente, se les llama de este modo por la forma de pirámide que se origina el organizarlas en forma consecutiva una sobre la otra.

PyQt 5 Mostar Página Web

Imagen
Qt versión 5 incluye un modulo llamado Qt WebEngine el cual nos permite mostrar contenido web dentro de nuestra aplicación, en versiones anteriores a la 5.7 existía un modulo llamado  Qt WebKit que realizaba esta tarea, este modulo ya nos esta presente en la biblioteca, siendo Qt WebEngine su reemplazo más moderno y eficiente.

Fotomontajes con OpenCV

Imagen
Una de la operaciones que comúnmente realizamos con aplicaciones editoras de imágenes son los fotomontajes, tomar una porción de cierta imagen y luego pegarla en otra imagen, lógicamente y solo copiamos y pegamos el resultado podría no ser el mejor, con OpenCV disponemos de la función llamada seamlessClone la cual intenta fusionar dos imágenes de la mejor manera posible.

Python Compresión de Archivos

En este tutorial Python 3.x aprenderemos a leer y escribir archivos comprimidos utilizando los algoritmos de compresión: zlib, gzip, bzip2 y lzma, también aprenderemos a comprimir y extraer carpetas en los formatos zip, tar, etc.

JavaFX TreeView

Imagen
Este es un control que permite mostrar información de manera jerárquica en una estructura en forma de árbol, por ejemplo, usaremos este control para mostrar y navegar por todas las carpetas y archivos que tengamos almacenados en nuestro disco.

JavaFX Effects

Imagen
En JavaFX los effects pueden ser aplicados a los objetos Node, los effects producen un cambio en la apariencia visual del elemento al cual se aplican, disponemos de diversos tipos de effects como: blur, wrap, shadow, glow, etc., la clase Node posee un método llamado setEffect(Effect effect) que por defecto esta establecido a NULL.

Capturar pantalla Windows API

Imagen
En este tutorial usaremos la Windows API para desarrollar una aplicación C/C++ que nos permitirá hacer una captura de pantalla, esta captura la almacenaremos en disco utilizando en formato de archivo de imagen BMP.

Tutorial Script CMake - Parte 1

Imagen
Esta es la segunda parte del tutorial CMake en donde veremos los posibles comandos que podemos utilizar en un archivo CMakeLists.txt para crear nuestros proyectos de software, aprenderemos a utilizar variables, crear librerías y utilizarlas en nuestro proyecto, veremos las expresiones condicionales, y muchas otras características disponibles en esta herramienta.

JavaFX Reproducción de Audio y Video

Imagen
La JavaFX Media API nos provee de las clases necesarias para la reproducción de audio y video en diversos formatos como: AAC, AIFF, WAV, MP3, para audio y FLV, MPEG-4 para video, es posible reproducir archivos locales y remotos a través de HTTP, todas las clases de esta API están incluidas en el paquete javafx.scene.media.

Acelerar OpenCV con OpenCL

Imagen
OpenCL es una API estándar abierta, desarrollada por Khronos Group dedicada a la programación GPGPU, con OpenCL logramos acelerar los algoritmos OpenCV que se benefician de los múltiples núcleos de procesamiento con los que cuentan las modernas GPU, algunos de estos algoritmos se ejecutan más rápido en la GPU que en la CPU, para usar esta característica requerimos un hardware que la soporte, en la actualidad la mayoría de los procesadores gráficos ya sea integrados como dedicados soportan OpenCL.