Práctica 5 de Programación Orientada a Objetos

La práctica que más me ha costado hacer D:, pequeñas confusiones, pero al fin aquí está:
Es sencillo y dejo comentado el código, la aplicación se basa en la arquitectura cliente servidor, hace uso de Sockets, Threads y la interfaz Serializable. El servidor recibe del cliente un objeto (clase Perro) y lo almacena para que cuando otro cliente se conecte, le sean enviados los clientes que están conectados.


Mini proyecto en NetBeans
Solo fuentes

¡Saludos!
@fferegrino :)

De C a HTML con Flex

De nuevo por acá, esta vez gracias a otra de mis asignaturas en la ESCOM. Toca el turno a Teoría computacional, fue el turno de usar Flex, herramienta que en lo particular no conocía. Lo que teníamos que hacer era usar Flex para escribir un programa que de un archivo con código en lenguaje C nos lo "transfiriera" a un archivo con formato html estilizado con CSS.

La idea era encontrar palabras reservadas, tipos de datos, identificadores, directivas, operadores, y cualquier otro tipo de cadenas permitidas con el analizador léxico y asignarles cierto estilo en un documento html. 

Trato de explicar gráficamente: la imagen de la izquierda es código en C, después de introducir este archivo en el programita nos debe entregar algo como la captura derecha, que es un na representación estilizada con CSS del archivo que introdujimos.



¿Qué es Flex?
Resulta que Flex, en términos prácticos (Wikipediazo), es un programa para generar analizadores léxicos. Uno mete la especificación de un analizador léxico y Flex regresa como salida la implementación en C de lo que nosotros introdujimos. En realidad es muy sencillo utilizarlo, solo hay que tener en cuenta la estructura del archivo que vamos a usar como entrada al programa, esta es sencilla y muy fácil de recordar, un archivo "lex", se divida en tres secciones (separadas por líneas que solo contienen '%%' como texto en ellas). Las líneas son:
1.- Sección de declaraciones
Lugar para incluir cabeceras, macros, variables globales... también es posible definir patrones a usar en la sección de reglas
%%
2.- Sección de reglas
Aquí es donde se asocian los patrones(expresiones regulares) a buscar con sentencias(código) de C. Cada vez que el analizador encuentra un a cadena que coincide con el patrón, se ejecuta el código en C
%%
3.- Sección de código en C
Contiene sentencias en C y funciones que serán copiadas íntegramente en el archivo que Felx genere, comúnmente se colocan aquí las funciones que se llamarán en la sección de reglas.

Descargas
Al compilar el programa en Flex nos devuelve un código compilable pero ahora en lenguaje C, el cual ya debería de hacer lo que nosotros le indicamos. En el descargable básico viene el archivo cToHtml.l que es el archivo en lenguaje Lex, el archivo de estilos estilos.css que es la hoja de estilos que se usa para formatear el documento de salida y el archivo Makefile que nos facilita la compilación y el archivo Leeme.txt PARA QUE LO LEAN, en donde viene como se usa el programa final. En el descargable completo, viene, además de lo indicado arriba, el archivo lex.yy.c que es el código que se genera al compilar en Flex y el archivo salida.html que es un ejemplo de lo que entrega nuestro programa si hacemos pasar por el a lex.yy.c.

Recuerda que para cualquier duda, comentario o invitación a una cerveza, está la sección de comentarios, mi cuenta en Twitter o mi correo. 

¡Saludos! @fferegrino :)

Sistema solar usando Java 3D API



Para una de las prácticas de la clase de programación orientada a objetos, (sí, la estoy cursando), tuvimos que hacer un un ejemplo de sistema solar. Esta es mi implementación, está un tanto rebuscada pero traté de hacerla lo más entendible, porque han de saber (y no le digan a nadie) que no muchos le entienden al maestro. 

Hay varias clases, una que representa a un planeta, otra que es la rotación del planeta, la distancia al centro, la traslación al rededor de este centro. De este ejemplo se pueden derivar mejoras y ampliaciones.

El descargable es una carpeta que contiene un proyecto en NetBeans, cabe aclarar que dado que usa las librerías de Java3D, hay que agregarlas manualmente. Para que el código compile.

SistemaSolar.rar


¡Saludos!
@fferegrino :)

Amateur, amateur, a-mateur de la fotografía


Me acabo de comprar una cámara fotográfica (automática dice @feregrinch), y me divierto con ella, estas son las mejores fotos, las que más me gustan.

 Es un buen hobbie y creo que de verdad me gusta tomar fotos.




¡Saludos!

@fferegrino :)

Una filosofía de vida


 ( ._.) Muy pocas veces la aplico (SIEMPRE).


¡Saludos!

@fferegrino :)