viernes, 16 de diciembre de 2011

Python + Excel + Word + PPoint + OutLook + Interfaces

Autor: Cristian Fuentes Salgado
Competencia: Trabajo en Equipo.
Palabras Clave: Python, GUI, C/C++, MySQL.
Descripción de la Actividad:Una Central Telefónica necesita realizar un Call  Control Center (CCC). Para ello se necesita un sistema informático que genere informes estadísticos y financieros, los cuales se obtienen del motor de base de datos MySQL. 
Para el desarrollo de esta actividad el trabajo en equipo fue esencial debido a la  cantidad de dificultades a resolver. La organización en equipo permite dividir las tareas de forma tal que cada integrante pueda desarrollar la parte que mas le acomoda, haciendo del desarrollo de la actividad un proceso mucho mas rápido.


A continuación el informe correspondiente a la solución del problema.

Python + Excel + Word + PPoint + OutLook + Interfaces

jueves, 15 de diciembre de 2011

Modelamiento de Redes


Autor: Cristian Fuentes Salgado
Competencia: Gestión en TI.
Palabras Clave: Redes, Networking.
Descripción de la Actividad: Estructurar una Red para un canal de Televisión regional de acuerdo a especificaciones entregadas por el Profesor.


Planteamiento del Problema: Estructurar una Red para un canal de Televisión regional de acuerdo a la siguientes consideraciones:

1. La central se encuentra en Temuco y posee las siguientes redes:
Red de streaming de video (6 nodos)
Red de contabilidad y gestión(3 nodos)
Red de marketing y publicidad (2 nodos)
Red de periodistas (5 nodos)
Red de producción (4 nodos)

2. La repetidora de Lautaro solo realiza actividades de marketing y publicidad con 2 nodos.

3. Las repetidoras de Villarica y Pucón poseen 2 nodos cada una, 1 de marketing y publicidad y 1 de periodistas que envían videos a través de streaming a temuco

4. Las repetidoras de Curacautin, Lonquimay y Puerto Saavedra solo tienen 1 nodo de gestión cada una.

5. El sistema de contabilidad y gestión funciona en Unix central en Temuco con terminales virtuales.

6. El canal de televisión debe poseer conexión Internet, DNS y WEB.


Solucion:


Archivo de modelado de Red:
Link de Descarga de Archivo


Informe con aspectos explicados acerca del modelo:
Informe Final Cristian Fuentes Networking

Mysql+Python

Autor: Cristian Fuentes Salgado
Competencia: Desarrollo de Software.
Palabras Clave: GUI, Software, Mysql, Python.


Descripción de la Actividad: Desarrollar una interfaz que nos permita calcular diferentes totales para una base de datos con clientes, deudas y productos. Los datos de las tablas correspondientes para desarrollar este proyecto deben ser generadas a partir de valores aleatorios entre ciertos rangos para cada registro, mediante C/C++. Estos datos deben ser grabados mediante una estructura binaria en un archivo y ser leídos mediante python para luego ser insertados en la base de datos.






Python+ MySQL

Interfaz Gráfica de Pronostico de Clima

Autor: Cristian Fuentes Salgado
Competencia: Desarrollo de Software, Aplica Ciencias de la Ingeniería.
Palabras Clave: GUI, Software, Clima, Markov.


Descripción de la Actividad:
En el curso de interfaces graficas de usuario se solicitó crear una aplicación grafica con la predicción del clima durante el año, mediante datos creados de forma random.
No solo se deberá trabajar en como mostrar datos de forma gráfica sino que en la generación de esos datos mediante el uso de múltiples métodos y utilización de herramientas, creación de estructuras y el manejo de arreglos.




Interfaz Gráfica de Pronostico de Clima

viernes, 9 de diciembre de 2011

Proyecto Micro-controladores e Interfaces Gráficas de Usuario

Autor: Cristian Fuentes Salgado
Competencia: Creatividad e Innovación.
Palabras Clave: Ciencias, Ingeniería, Regresión Lineal

Descripción de la Actividad: En esta actividad nos fue solicitado que mediante la integración de conocimientos adquiridos en las asignaturas de Micro-controladores e Interfaces Gráficas de Usuario, diseñáramos un juego de disparos en dos dimensiones, similar a títulos como el clasico Space Invaders, en el cual el usuario tendría control sobre un submarino. El submarino seria atacado por barcos enemigos que se desplazarían a velocidades aleatorias a través de la superficie marina. El usuario debería interactuar con la interfaz mediante un control remoto que enviaría los comandos mediante transmisión serial vía infrarrojo a otro micro-controlador conectado al puerto COM del computador donde se encontraría la Interfaz del Juego.


Proyecto Micro-controladores e Interfaces Gráficas de Usuario

lunes, 14 de noviembre de 2011

Trabajo de Desarrollo: Regresión Lineal

Autor: Cristian Fuentes Salgado
Competencia: Aplica Ciencias de la Ingeniería, Trabajo en Equipo.
Palabras Clave: Ciencias, Ingeniería, Regresión Lineal.

Descripción de la Actividad: Introducción al tema de Modelamiento de la realidad usando Funciones Lineales. Introducción al desarrollo de aplicaciones de software para el modelado de la realidad en base a funciones lineales. Enunciado de los trabajos de la competencia Aplica Ciencias de la Ingeniería sobre las tecnología aprendida. Aspectos básicos de regresión lineal, establecimiento de la problemática ejemplo, diseño de la aplicación, algunos lineamientos de desarrollo.

Los estudiantes en grupo trabajan en el Desarrollo del Proyecto de Modelamiento de la Realidad usando Funciones Lineales" a partir de una problemática propia que involucre la regresión y el modelamiento de la realidad en términos generales, de modo que la aplicación permita hacer una regresión y que luego aplique los resultados para poder hacer estimaciones de comportamiento futuro de eventos relacionados con la problemática.


Solución:


Regresion Lineal Grupo Winux

Revisando el Arte de las GUI

Autor: Cristian Fuentes Salgado
Competencia: Gestión en TI.
Palabras Clave: GUI, TI.


Descripción de la Actividad:
Revisando el Estado del Arte de las GUI

Interpretes y Compiladores


Autor: Cristian Fuentes Salgado
Competencia: Gestion en TI.
Palabras Clave: TI, Compiladores, Interpretes de Comando.


Descripción de la actividad: En esta actividad se realizo un informe sobre los interpretes de comando y los compiladores. El objetivo del informe estaba orientado a descubrir y analizar las diferencias mas importantes entre un compilador y un interprete, ademas de las diferencias entre los lenguajes interpretados y los lenguajes compilados.



Interpretes y Compiladores

Prueba N° 5 Alias Examen, Int. al Desarrollo de Aplicaciones Empresariales.



Solución:
Desarrollo Examen Cristian Fuentes

Actividad 7 Programación Para la Integración de Sistemas


Autor: Cristian Fuentes Salgado
Competencia: Desarrollo de Software
Palabras Clave: Python, archivos binarios, Desarrollo de Software Ingeniería.
Descripción de la actividad:En esta actividad se nos pidió que mediante el lenguaje de programación Python decodificáramos un archivo binario estructurado, dentro del cual estaban las próximas 3 tareas a realizar en el ramo. La no codificación del archivo significaría la inmediata asignación de 4 notas mínimas.
El enunciado del problema es el Sgte:

El archivo data.bin, es un archivo binario estructurado, el cual posee la siguiente tipificación:
class eReg(ctypes.Structure):
_fields_ = [('c',ctypes.c_ushort),('t',ctypes.c_char * 80)]
Donde se encuentran 3 Tareas: Actividades 9, 10 y 11.

El 1er campo 'c' almacena la clave de la CODIFICACION. El 2do campo almacena el string 't' CODIFICADO con la clave 'c'.
Para DECODIFICAR el Texto 't' dentro del archivo, deberá utilizar la función XOR. Vea guía de ejercicios #9, la cual está en la plataforma Moodle. Utilice este ejemplo para DECODIFICAR las Tareas.-
El total de registros del archivo data.bin es = 44.-
Estructura física del Archivo data.bin:
01ctttttttttttttttttttttttttttttttttttttttt
02ctttttttttttttttttttttttttttttttttttttttt
03ctttttttttttttttttttttttttttttttttttttttt
04ctttttttttttttttttttttttttttttttttttttttt
..
..
44ctttttttttttttttttttttttttttttttttttttttt

Recuerde: Si usted no es capaz de DECODIFICAR la Tarea #7, no solo obtendrá la nota mínima en esta Tarea,
sino que ademas, en las 3 Tareas restantes de las actividades 9, 10 y 11.-
Reglas del juego: EXTRICTAMENTE PROHIBIDO COPIAR CODIGOS AJENOS.-
Se revisarán con mucho detalle los códigos presentados por ustedes.

Solución: Posteriormente, mediante la utilización de las estructuras derivadas de C, mediante el modulo c_types de Python y con la ayuda de la compuerta XOR se procedió a decodificar el archivo binario con esta rutina:

#!/usr/bin/python
import ctypes

class eReg(ctypes.Structure):
_fields_ = [('c',ctypes.c_ushort),('t',ctypes.c_char * 80)]

leido = [eReg() for q in range(0,44)]

fin = open('data.bin','rb')
fout= open('Salida_dec.txt','w')
s=''
for i in range(0,44):
fin.readinto(leido[i])
for j  in leido[i].t:
k= ord(j) ^ leido[i].c
s+=chr(k)
s+='\n'
fout.write(s)

fout.close()
fin.close()

La primera parte del archivo una vez decodificado decia mas o menos asi:

Hola Amigo!

Si puedes leer esto entonces posiblemente apruebes esta asignatura.

Realiza las siguientes 3 Tareas que siguen  a continuacion.
Y que la fuerza te acompañe. 

Gracias a esta actividad se logro manejar la de-codificación de archivos binarios, una practica que usamos posteriormente con bastante frecuencia.
Ademas de esto logramos adentrarnos aun mas en la programación con python, que es ahora, este segundo semestre, el lenguaje principal en el que trabajamos en Interfaces Gráficas de Usuario.

domingo, 2 de octubre de 2011

El mercado Java al borde del Colapso


Autor: Cristian Fuentes Salgado.
Competencia: 
Ética.
Palabras Claves: 
Java, Programación, ÉticaIngeniería.

Descripción de la actividad.
Revise las siguientes opiniones y comentarios y a partir de ello exprese su opinión en un documento pdf de no más de una hoja tamaño carta.
Solución.


La problemática de la escasez de recursos humanos para desarrollar en java no se debe a que estos recursos no existan, se debe a que las condiciones de mercado que rodean el desarrollo en esta plataforma están de alguna manera ahuyentando a los programadores, al exigírseles demasiado y no pagarles lo que en realidad merecen por el trabajo realizado.

La mayoría de ofertas de trabajo van dirigidas a personas que saben hacer muchas cosas y que además cobran poco. A raíz de esto, las empresas contratan personal que lo único que hace es solucionar los problemas de manera rápida y sin intentar mejorar u optimizar lo que se está haciendo, porque sólo se les cancela por terminar el trabajo rápido.

Normalmente las empresas contratan a gente joven que está empezando y quiere trabajar. La mayoría de estos jóvenes aprenden y se convierten en buenos programadores debido a la práctica y/o su propio esfuerzo al indagar en las nuevas tecnologías. Es ahí cuando las  empresas se niegan a reconocer esos esfuerzos o pagar lo que en realidad está costando el  trabajo del programador, y éste decide migrar a alguna parte donde su conocimiento sea remunerado como corresponde.

Lo que hace falta en el mercado java son empresas dispuestas a ofrecer a los profesionales la oportunidad de desarrollarse plenamente en esta área, proporcionando capacitación y un salario adecuado al trabajo que realizan. Me refiero específicamente, a reclutar programadores jóvenes que tengan las ganas de hacer de la programación en java su carrera, pagarles lo que corresponde por su trabajo y a la vez, brindarles la oportunidad de perfeccionarse en lo que hacen, de manera de obtener un mejor producto y a la vez, tener gente de confianza y calidad al servicio de la empresa.

En las condiciones actuales, son muchos los técnicos competentes, estudiantes universitarios de cursos avanzados de buen nivel y profesionales jóvenes exitosos cercanos al rubro de la programación, que se rehúsan a trabajar desarrollando en java debido a que no existen proyecciones laborales que les permita forjarse una carrera exitosa en esta área.

Pese a todo, según mi opinión, una opción interesante hoy en día si efectivamente se siente interés en el tema, y se tienen herramientas para hacer una labor efectiva, sería desarrollar en java de manera independiente o formar un grupo de jóvenes profesionales expertos en el área, motivados por aprender y surgir. Esto, debido a que esclavizarse desarrollando para una empresa que no valora los esfuerzos realizados, no me parece una buena expectativa para el futuro de nadie que aspire a tener una buena situación laboral.
Reflexión.

Mediante esta pequeña reflexión pudimos darnos cuenta el estado actual de un mercado tan requerido como es el desarrollo en java. También pude analizar como la ética influye en la calidad laboral que las empresas les proveen a sus empleados y también forjar convicciones sobre lo que quiero para mi futuro.