Entradas

Mostrando entradas de 2008

Destacados

Publicar un sitio web con angular en GCP AppEngine Standard

Si lo que queremos es desplegar un frontend web (ya sea de forma estática o generado por un framework) de forma rápida y de forma muy económica (incluso cero costo) una opción a tener en cuenta es usar Google Cloud AppEngine Standard. Como se menciona en la  página  del proveedor cloud, el usar este tipo de soluciones administradas provee de una serie de ventajas, entre las que podemos destacar el uso de lenguajes populares, diagnosticos avanzado de aplicaciones para el monitoreo del estado y el rendimiento de la aplicación, gestion de versiones así como la seguridad, entre otros. Sin más preambulos, comencemos con lo necesario para poder desplegar nuestra página web en AppEngine. Paso 1. Configurar un proyecto en AppEngine en Google Cloud Para ello es necesario haber realizado los pasos indicados en esta  guía  detallada. Tal como indica la guia, debemos configurar el proyecto con el lenguaje  Python  con el environment  Estandar . De seleccionarse otro lenguaje, los pasos indicados e

Reproduccion MP3 en Java

Imagen
Bueno, a quien no se le ha ocurrido tratar de reproducir sonido en Java, o tratar de construir un reproductor MP3 en este lenguaje tan popular. Lo que vamos a aprender es muy sencillo, solo basta con usar una libreria llamada BasicPlayer, sobre la cual lograremos reproducir archivos mp3 y de otras extensiones ademas de una manera sencilla. Para ir al tutorial sigamos este enlace Fuente: http://my.opera.com/jalvarezborja/blog/ (Mi blog de programacion)

Personalizar Iconos en un JTree

Imagen
A mas de uno se le habra ocurrido crear un JTree con la necesidad de cambiar los iconos por defecto con los que viene el arbol. Lastimosamente el IDE Netbeans (con el que trabajo frecuentemente) no nos permite hacer mucho (tal igual como lo que pasa con los JTable). En pocas palabras, necesitamos recordar nuestros conceptos de Herencia e Interfaces. En mi caso particular, me planteo desarrollar un programa de mensajería instantanea (IM), el modelo que presentan los JTree y los arboles en general es muy adecuado para agrupar contactos por estado, por grupo, etc. y decidi usarlo en el proyecto que me encontraba desarrollando. Un aproximado podria ser el siguiente: Figura 1: Modelo de JTree a crear Donde, los iconos de contacto1 y contacto2 deben ser de un color distinto al de contacto3 y contacto4, el grupo conectados y no conectados deben tener un mismo icono y bueno, el icono de la raiz no tiene importancia. CONCEPTOS PREVIOS: Cuando un JTree necesita pintar los da

AUDIO DIGITAL

Imagen
Actualmente, el avance de la tecnología computacional ha permitido la digitalización de la información, entre la que tambien encontramos al sonido. Esta evolución en el sonido ha implicado la mejora notoria en la calidad de sonido en equipos de alta fidelidad (Hi-Fi), sin embargo el cambio delo analógico a lo digital ha provocado una serie de problemas diversos, los cuales han sido corregidos en su gran mayoría. He aquí una introducción y algunos conceptos indispensables para los interesados en procesamiento de señales y aficionados al audio digital. En el procesamiento de señales es común encontrar este término, y muchas veces incluso confundido por la mayoría de las personas. En esta sección trataremos de despejar algunas dudas respecto a este término para profundizar mas adelante en el desarrollo de temas más complejos. La frecuencia de muestreo viene a ser el número de muestras por unidad de tiempo que se toman de una señal continua (analógica) para poder producir una señal disc

Algoritmo de Esqueletizacion de Pavlidis

Imagen
En ocasiones, debido a la gran cantidad de información que presenta una imagen, resulta conveniente trabajar solo con las características más importantes de la imagen a procesar. Para el caso particular de reconocimiento óptico de caracteres las características más importantes se encuentran representadas en el esqueleto del caracter. Entendemos por Esqueletización a una transformación que busca reducir la cantidad de datos o simplificar la forma del objeto, con el fin de encontrar características útiles en algoritmos de reconocimiento y clasificación. El algoritmo de esqueletizacion de Pavlidis se basa en la idea de que los pixeles esqueletales son solo aquellos pixels que presentan alguna similaridad con alguna de las plantillas que se muestran a continuación: En las plantillas del inciso A, al menos un píxel de los grupos etiquetados como A o B debe ser diferente de cero. Los píxeles marcados con el valor de 2 son píxeles esqueletales. En la plantilla del inciso B, al menos un píxel

Consultas en bases de datos de Imagenes

Las soluciones computacionales actuales a necesidades de información de ciertas empresas necesitan almacenar y recuperar información propia para poder desempeñar sus actividades diarias tales como retiros y depósitos en caso de bancos, consulta de precios y facturación en caso de un centro comercial, y un sinfín de actividades que requieren siempre una base de datos (o bases de datos) para su funcionamiento. Dependiendo de las necesidades de información de la empresa y su manipulación es que se escoge entre distintos tipos de bases de datos la que más se adecúe a una solución en particular y con esta se satisfacen las necesidades de información de las aplicaciones. Existen aplicaciones que manipulan información multimedia o imágenes, como los servicios de información satelitales en los que es necesaria la ubicación directa de la imagen, para este tipo de necesidades existe un tipo de base de datos denominado “Base de datos de Imágenes”, en el cual el índice o llave es una imagen(a dife

Conexiones a Bases de Datos en C#

En la actualidad, el acceso a datos por parte de nuestros programas de escritorio es algo indispensable, y el uso de bases de datos dan fe de ello, tanto en el trabajo como en la vida universitaria de cualquier estudiante de computación y afines. En vista de ello, y ya que actualmente me encuentro estudiando C#, me animé a incursionar más en el mundo del software propietario y aprovechar las herramientas y tecnologías que proveen. ADO.NET es una colección de clases, interfaces, estructuras y tipos enumerados que permiten acceder a los datos almacenados en una base de datos desde la plataforma .NET. Si bien se puede considerar una versión mejorada de ADO, no comparte con éste su jerarquía de clases. DO .NET usa XML. De hecho, los conjuntos de datos se almacenan internamente en XML, en vez de almacenarse en binario como sucedía en ADO. Al estar los datos almacenados en XML, se simplifica el acceso a los datos a través de HTTP (algo que ocasiona problemas en ADO si los datos tienen que p

Tecnicas de Construccion de Programas - Material

Como uds sabran, un curso de técnicas de construccion de programas en el III ciclo de Informática es fundamental, aca les dejo un material confeccionado por mi persona y el docente del curso en el semestre 2008-I para el curso de Tecnicas de Construcción de Programas dictado en la Universidad Nacional de Trujillo. La primera unidad corresponde al manejo de archivos secuenciales en C++. La segunda unidad corresponde a algoritmia elemental, eficiencia computacional y tecnicas de recurrencia La ultima unidad referida basicamente a temas de algoritmia avanzada, como son los algoritmos avidos, backtraking Espero les sean de utilidad estos materiales.

Determinacion de pitch en una onda de habla

El lograr determinar con precisión el periodo de pitch(relacionado fuertemente con la frecuencia fundamental) es un tanto imprecisa, mucho mas en el analisis en el dominio del tiempo que en el del dominio de las frecuencias. Lo que queremos encontrar es la forma de un periodo que se repita en la onda y aproximar el periodo de la misma. Hay varias formas de hacerlo, sin embargo propongo un método muy similar al planteado en la bibliografia, el cual es sin embargo ineficiente para propositos de analisis de ondas muy grandes, ademas de ser suceptible a ruido. Les dejo el paper para que le echen un vistazo y puedan proporcionar mejoras al mismo.