jueves, 27 de octubre de 2016

Buscaminas con Socket en Python

Autor: Constanza Couselo
 Competencia: Creatividad e Innovación
Asignatura :  Desarrollo de Aplicaciónes Cliente-Servidor
Palabras clave: Python, Buscaminas , Servidor, Cliente, Socket


Introducción: 

Para esta actividad eran necesarios los conocimientos obtenido, respecto de apuntes subidos a la Plataforma Educa y clases expositivas del Profesor a cargo del ramo.

La actividad consistía en crear dos programas uno que fuera el cliente y el otro servidor, en python utilizando socket, que permitan simular el juego buscaminas. En más Detalle:

Una vez que el cliente se conecte al servidor, el servidor despliega por la pantalla del cliente(en la consola) un campo minado como el siguiente, con dimensiones de 3 x 3, que indica con el número 0 que no se sabe que hay en los espacios:

1 2 3
a |0|0|0|
b |0|0|0|
c |0|0|0|
Este campo minado (internamente) será generado al azar y mostrado en la consola del servidor una vez que comienza a ejecutarse (siempre debe haber al menos 1 mina y un máximo de 8):

1 2 3
a|0|0|1|
b|0|1|1|
c|0|0|0|
Donde los 1 simbolizan las minas existentes en él.
Ya desplegado esto, se le preguntará al usuario qué espacio desea escavar, donde la opción de escribir por teclado la coordenada que desee (por ejemplo, "a1" sería el primer cuadro del campo minado y se ingresa de una sola vez(no son 2 ingresos separados)).

Cuando el usuario envíe al servidor la coordenada a excavar, este responderá inmediatamente con el campo minado resultante, que puede ser (por ejemplo , al ingresar 1):

 1 2 3
a|*|0|0|
b|0|0|0|
c|0|0|0|
Donde * indica que espacio fue excavado, pero no explotó y procederá inmediatamente a pedir la próxima coordenada a excavar.
o (por ejemplo, al ingresar a3).

1 2 3
a|0|0|X|
b|0|0|0|
c|0|0|0|
Donde X indica que ese espacio fue excavado,pero había una mina, por lo que enviará el mensaje BOOOOOM!! Al cliente inmediatamente después y se cerrará el cliente y el servidor.
Obviamente por cada movimiento, este campo minado se entregará actualizado al cliente y el servidor mantendrá registros de estos movimientos (hasta encontrar una mina).
(Este sería el resultado con los movimientos a1 y b1 por parte del cliente).
  1 2 3
a|*|0|0|
b|*|0|0|
c|0|0|0|
Si el servidor se da cuenta de que en algún el cliente excavó todos los espacios sin minas sin equivocarse(es decir, sin excavar, el espacio donde haya una mina), enviará un mensaje cliente que diga FELICITACIONES!!!!, inmediatamente se cerrará el cliente y el servidor.
Solución:
A continuación se muestra la solución a nuestro problema, utilizando socket con python (lenguaje de programación requerido):
=> Programa Servidor:
 
 
=> Programa Cliente: 
 
 
Reflexión:
 
Consideró que esta actividad me sirvió para conocer a profundidad el manejo de socket en python, sobre todo entender a cabalidad el proceso de conexión entre un servidor y un cliente, para poder enviar datos de manera óptima. Además, me ayudo a mejorar el pensamiento lógico; a diseñar mis propias funciones, y algoritmos para así poder cumplir con los requerimientos establecidos.

martes, 25 de octubre de 2016

Laboratorio de Arreglos Bidimensionales

Autor: Constanza Couselo
 Competencia: Aplica las Ciencias de la Ingenieria
Asignatura :  Programación I
Palabras clave: Promedio, Mayor promedio, arreglo maximo, arreglo, matriz.r

Introducción:


La actividad realizada consistía, en desarrollar un laboratorio de arreglos Bidimensionales, aplicando las Ciencias de la Ingeniería (tópicos de Matemáticas), en donde se nos solicito el siguiente problema a desarrollar:

Una empresa automotriz  necesita un programa para manejar los montos de ventas de sus 4 sucursales (Santiago, Concepción, Temuco, Puerto Montt) a lo Largo de los M años. La información que necesitan los directores de la empresa, para tomar decisiones es la siguiente:

a) Sucursal que más ha vendido en los M años.
b) Promedio de Ventas por año.
c) Año con mayor promedio de ventas.
d) Buscar en el arreglo anterior cual es el máximo e imprimirlo
e) Ahora modificar para que el usuario ingrese la cantidad de m de años.
f) Sacar por año que ingreso el usuario, la sucursal que vendió más
g) por error los datos de Puerto Montt son los de Concepción. Cámbielos

Solución:

A continuación se muestra la solución utilizando el lenguaje de programación Python, además de los conocimientos adquieridos en el ramo de Tópicos de Matemáticas:

=> Esto nos da como resultado lo siguiente :


Reflexión:

 Considero que la actividad  fue bastante productiva, ya que pude enlazar los conocimientos obtenidos en el ramo de Tópicos de Matemática con el ramo de Programacion I, en consecuencia poder validar la competencia solicitada y adquirir más destreza en cuanto a la programación.

lunes, 24 de octubre de 2016

Poyecto Final : Gestion de Botilleria

Autor: Constanza Couselo
 Competencia: Comunicación Oral y Escrita
Asignatura :  Desarrollo de Aplicaciones Cliente - Servidor
Palabras clave: Sistema de Gestion, Diagrama MER, Prototipo, Interfaz.


Introducción:

La actividad desarrollada consistiía, en elaborar un proyecto con tema a libre elección, el cual abarcara la aplicación de los conceptos desarrollados durante el curso de Desarrollo de Aplicaciones Cliente - Servidor con un grado de dificultad media/Alta, con énfasis en el desarrollo desde la idea hasta el producto final y su muestra como un producto.

Solución:

 A continuación se muestra la presentación de la propuesta del proyecto a desarrollar, en el que se verá las tablas que contendrá la Base de Datos con sus respectivos registros. Además, se podrá apreciar un prototipo de interfaz propuesto, El que se deberá modificar respecto de los requerimientos del profesor del ramo.

=> A Continuación la Presentación:



=> Diagrama MER: Que indica la extructura de la Base de Datos
=> Prototipo de nuestra Interfaz






Reflexión: 

Considero que la actividad realizada fue bastante productiva, puesto que pude enfatizar en los conocimientos adquirimos en el ramo de Desarrollo de Aplicaciones Cliente/Servidor. Además, pude desarrollar la competencia propuesta y adquirir mas confianza exponiendo ante un auditorio.

Discusion de un Sistema operativo (Centos)

 
Autor: Constanza Couselo
 Competencia: Trabajo en Equipo
Asignatura :  Mantención y Administración de Sistemas
Palabras clave: Sistema, operativo ,software,CentOS

 Introducción:

       La Actividad desarrollada consistía, en realizar un trabajo de investigación sobre un sistema operativo especifico.Luego de esto, generar un debate para defender las fortalezas funcionales del Sistema y atacar las debilidades de los otros sistemas operativos expuestos por el resto de nuestros compañeros.

Solución : 
 

Tenemos la solución a tu problema…
Sabías que existen más de 1000 distribuciones de linux actualmente en el mercado?, muchas centradas en el ámbito empresarial aunque solo dos líderes indiscutibles en el segmento, RedHat y CentOS.
En el medio empresarial CentOS y Red Hat son los principales sistemas operativos. CentOS lleva la delantera entre ambos aunque cumplen la misma función, no obstante, CentOS es de libre acceso.
Nosotros te ofrecemos CentOS, sistema operativo de clase empresarial, OpenSource, funcional, libre de malware y con toda la potencia Linux en su interior.
CentOS (community Enterprise Operating System), es un clon a nivel binario de la distribución Linux Red Hat Enterprise Linus RHEL, compilado por voluntarios a partir del código fuente liberado por Red Hat. Existe, básicamente, para proporcionar una plataforma de clase empresarial libre, por lo que se esfuerza día a día por mantener al 100% con compatibilidad binaria su distribución.
CentOS está disponible de forma gratuita. El soporte técnico es suministrado fundamentalmente por la comunidad a través de listas de correo oficiales, foros web, y salas de chat.


Características principales:

El sistema operativo CentOS está disponible para una gran cantidad de arquitecturas, utiliza Yum y RPM para gestionar paquetes. No Requiere de hardware excesivos, es fiable, fácil de instalar y mantener.
CentOS utiliza protocolos de seguridad altamente eficientes. Posee un sistema de archivos robusto. Otorga estabilidad y rendimiento.
Actualmente usa EXT4 como sistema de ficheros base, Por defecto con Gnome instalado.

Requisitos técnicos: 

=> Sin entorno de Escritorio:
- Memoria RAM: 64 MB
- Espacio en Disco Duro: 1 GB - 2 GB


=> Con Entorno de Escritorio:
- Memoria RAM: 1GB
- Espacio en Disco Duro: 20 GB-40GB
 Ventajas:
Algunas de las ventajas que posee este sistema operativo son: la relación precio-seguridad que es bastante aceptable, posee compatibilidad con los productos de RHEL, tiene una Amplia plataforma de mantención en temas de seguridad, esta optimizado para aplicaciones de moda como apache, PHP, MySQL, entre otros.
“Facebook usa CentOS en sus servidores para gestionar su más de 1.000.000.000 de usuarios dentro de los cuales seguramente estas tu”



 



 Conclusión:
 
La pregunta clave aquí, si todos los unix y linuxes comparten las mismas bases estructurales, si todos hablan de que son estables, si todos aseguran que el sistema será eficiente con su distribución, ¿porque debería elegir CentOS?... y la repuesta es muy simple… porque está pensado para ti, porque lo necesitas para que tu sistema empresarial funcione adecuadamente. Sabemos que no obtendremos resultados de producción multimedia con CentOS como con Ubuntu como también sabemos que no obtendremos los mismos resultados de estabilidad en servicios con Ubuntu que con CentOS, en definitiva, Mas que CentOS este pensado para ti, es tuyo y lo necesitas ahora!.

Reflexión:

 Considero que la actividad efectuada , fue muy productiva en términos de aprendizaje, ya que, pudimos conocer sobre Sistemas operativos y sobre todo en centos que teníamos una vaga imagen de lo que podría ser como tal.
Como reflexión respecto de la competencia a validar considero que se efectuaron todos los procesos esperados ya que nos cohesionamos muy bien como grupo de trabajo, gracias a eso logramos llegar a buen término respecto del trabajo entregado.