lunes, 21 de diciembre de 2009

Mi Titulacion

Hoy me levante como de costumbre muy de tarde, alrededor de las 9am, despues de haber estado viendo la tele y jugando hasta las 5:30 y pense en platicar un poco sobre mi grata experiencia que fue la titulacion.

Despues de casi 4 años de estar batallando entre protocolos, burocracia y decidia logre finalizar el tramite para obtener el tan buscado Titulo de Ingenieria. Me citaron a las 12 del dia el Jueves 17 de Diciembre del 2009 y acudi un rato antes para poder arreglar lo necesario para mi examen profesional.

Los nervios se hicieron presentes desde varios dias antes, siendo que no soy una persona nervios, flaquie por ser algo tan importante y estresante para mi, durante varios dias antes de presentar mi examen profesional, estuve literalmente sin dormir (alrededor de 4-5 dias) y pues los estragos mayores fueron 1 dia antes del examen, pero finalmente el jueves despues de algunas medicinas en mi organismo para compensar los nervios y los daños fisicos que ellos conllevaron, presente mi examen.

Mi examen trato sobre un trabajo que hice a bien realizar durante mi estancia en SIPSA, lugar donde labore por espacio de cerca de 5 años. El trabajo principalmente consiste en un ordenador que mediante algunas ecuasiones, formulas y algoritmos creados por un servidor, tienen la tarea de ordenar una tabla (TABLE tag) dentro de una pagina HTML. Suena en realidad bastante simple y en teoria lo es.

Me sono interesante cuando me plantearon el problema que se tenia hace cerca de 5 años, en donde cada vez que se requerian ver los resultados de una consulta, esta requeria acudir al servidor, realizar la consulta y ahora ordenar por el campo deseado pro el usuario. Las primeras versiones del ordenador, realizaban dicha tarea, enviar los datos necesarios para que la consulta fuera realizada por el campo deseado, pero no se podia llegar el mejor fin... optimizacion y reduccion de estres en las consultas a base de datos.

Surge la idea de realizar un ordenador que se colgara de los recursos del cliente, y mediante JavaScript realizar las acciones necesarias para ordenar los datos. Ahora, como es bien sabido, aunque en una pagina veamos un numero "10", este no es en realidad mas que una cadena de caracteres, la cual es interpretada como tal; pero entonces ¿cual es la complejidad?, ¿porque no tomar es "10" como cadena de caracteres y realizar la comparacion como tal?, y la respuesta es simple...
Supongamos que tenemos los siguientes datos en una columna:
100
90
87
4500
1
2
7
el orden 'logico' seria o deberia ser el siguiente:
1
2
7
87
90
100
4500
mas sin embargo como son cadenas de caracteres, el orden se traduce a lo siguiente:
1
100
2
4500
7
87
90
esto es debido a que toma las primeras 'letras' de dicha cadena de caracteres y compara el valor en ASCII y posteriormente si la procedencia de uno contra otro es la misma en valor ASCII, se compara contra la cantidad de caracteres tomando como base igualmente su valor en ASCII.

Por mencionar otro caso, las fechas tambien sufren el mismo 'efecto ASCII', entonces pues me di a la tarea de detectar mediante expresiones regulares, que tipo de dato contenia cada celda, cosa que no fue sencilla de realizar y en realidad no es 1 expresion regular, son alrededor de 40 expresiones regulares las que realizan tan exhaustiva tarea de determinar si la cadena de caracteres cumple con cierto patron para determinar el tipo de dato adecuado.

Ya una vez determinado el tipo de dato, se determinaron las reglas que debia seguir la columna con respecto al tipo de dato para establecer mediante prioridad, que tipo de datos se usaria. Aqui se uso una regla de proporciones para determinar los tipos de datos, cosa que no explicare en realidad, solo dire que la suma de el tipo de dato y la regla de proporciones es lo que hacen en conjuncion el poder ordenar la infromacion de manera adecuada y optima.

Este metodo de ordenamiento, tengo el orgullo de contar que esta funcionando aun en muchas aplicaciones de uso interno en donde preste servicios hace algun tiempo.

Y pues a grandes rasgos esto fue en lo que consistio mi examen profesional, en hablar sobre mi proyecto y posteriormente ser examinado por 3 sinodales sobre el mismo proyecto y el resultado pues fue exitoso y mi examen profesional APROBADO.

Saludos y gracias por leer

No hay comentarios:

Publicar un comentario

Datos personales