jueves, 25 de marzo de 2010

"Hola mundo" en AJAX

Antes que nada, igual y ni les importe verdad??? o de plano ni se hayan dado cuenta. Por cuestiones de seguridad e integridad personal, he borrado algunos post que describen muchisimo acerca de mi vida personal o hagan referencia muy directa hacia otras personas relacionadas conmigo. En realidad, no hay alguna razón que me haya alarmado mucho, pero en cabilaciones personales, consideré que ciertas cosas respecto a mi y otras personas no deben estar tan públicas. Algunas si, pero otras, como que no.

Como sea, al punto...

La necesidad de hacer páginas web más dinámicas tanto en contenido, como en estilo se ha hecho muy fuerte, incluso, necesario. Es decir, página web que no sea interactiva, muchos de nosotros (me incluyo) aburre.
Veamos:
-Primero surge el html (páginas con contenido estático)
-Luego, la necesidad de contenido personalizado, requiere publicar información almacenada (páginas dinámicas como PHP o jsp).
-También se buscan páginas con mecanismos de validación o funciones atractivas (la magia del Javascript)
-Igualmente, poder obtener información de archivos con un orden semántico para poder ordenarlo y desplejarlo en un cierto orden (el contexto del XML).

Vaya, cuantas tecnologías hay para hacer una página web hay ahora: antes en la vocacional me preocupaba por los tags del HTML para el titulo, el contenido, la alineación, las negrillas, etc. Ahora es punto es hacer aplicaciones más ricas que parezcan que estamos ejecutando un programa desde nuestro navegador (el cual es el concepto de RIA - Rich Internet Applications - si sabes inglés, será facil definir ese concepto).


Osea, ya podemos chatear con gente desde una página, tener sesiones, comentar, ver caricaturas desde la misma página sin andar navegando tanto. Por cierto, la página es www.vetealaversh.com. Muy entretenida =D


Por eso, actualmente cuando se escucha de alguien que les dija "se AJAX" una de dos
1.- Ash no jodeis hermano mio, yo también se limpiar pisos y yo uso Pinol (que pendejada verdad??? Si me ha pasado)
2.- Se impresionan como si fuera el lenguaje más chaquetudo del mundo y fumado con 50 mil kilos de heroina con un toque de extasis.

Bah!!! No se me espanten.

AJAX:
Asynchronous
JAvascript
Xml

En realidad, la magia como lo dije hace rato es saber usar Javascript y poder juntarlo con otras tecnología como el XML para activar archivos en una página sin tener que refrescarla, y no solo XML, pueden ser scripts en algun lenguaje como JSP, PHP o un contenido de html o un simple texto de un archivo .txt.

Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes.
Fuente: http://librosweb.es/ajax/capitulo1.html

Bueno, basta de bla bla bla que ya me siento maestro jaja. Un hola mundo en AJAX aplicado a un proyecto en JSP usando entorno Netbeans.

1.- Creamos un proyecto web en Netbeans

Ya saben New Project -> Web Application -> todo lo que hacen para un proyecto Web en JSP

Notese que en un proyecto Web de JSP tenemos al menos 2 carpetas con las que trabajaremos, la de Web Pages en la que guardaremos todos los archivos a desplegar en Web, y Source Packages, que como cualquier proyecto ejecutable en Java es donde se contienen las clases y reglas de negocio.

2.- Crearemos un paquete de clases en Source Package llamado "Clases", crearemos 2 clases.
La primera será la clase Persona, la cual será la clase que represente a una persona con id, nombre y teléfono, sería cuestión de crear sus atributos y los métodos de trabajos de esos atributos (los famosisimos get y set).

3.- En modalidades ya más avanzadas, se supone que nuestras clases ya tienen valores, los cuales los tenemos ya almacenados en una Base de Datos o en archivos, sean planos o XML. Ahorita hagamoslo más fácil. Crearemos una clase contenedora, donde tendremos 5 objetos de la clase "Persona", de esa clase tendremos una función getPersona(int x) que nos devolverá un objeto de Persona contenido en nuestro colector. Le llamaremos "Coleccion".

En el constructor, iniciamos a las 5 instancias de "Persona" para que al invocar getPersona, nos devuelva una instancia ya lista.

4.- A partir de aqui, vamos a usar la carpeta de "Web Pages" de nuestro proyecto para guardar todo lo demas.

Crearemos una librería JavaScript llamada "ConstructorXMLHttpRequest.js". Es una clase ya existente de otras bibliografías, en este caso, el origen es un libro (el cual les dejaré la liga para poderlo descargar). Para no darles tanto rollo, la función de esa librería es que la acción que pretendemos que la página web cambie sus valores sin tener que dar refresh o cambiar de página se adecue respecto al navegador que se utilice (para los que sepan 100% javascript, sabrán que los scripts no arrancan bien en Internet Explorer - que raro no????)


5.- MiniCurso de CSS: Podemos crear hojas de estilo con las cuales, podamos estandarizar toda una página web con estilos para cada elemento, como formatos para titulos, subtitulos, y no solo eso, al invocar algun tag existente en el HTML como el body, strong, div, al momento de invocarlos, en una plantilla CSS, podamos modificar esos tags a manera de que, por ejemplo, el strong no solo haga negrillas, sino que tanbién cambie de color y tamaño a un texto.
Crearemos uno llamado estilos.css. Con este estamos creando 3 tagas llamados "titulo","subtitulo" y "contain". Vease que en esos tags, cuando los invoque, estoy mandando a llamar un tamaño de letra, un tipo de letra y/o un color de letra.
A su vez, vean que estoy usando los tags de HTML de body y strong que en HTML solo tienen una función. Aquí les doy más funciones.


6.- Ya empecemos con la página web (index.jsp)
Las primeras 3 líneas, en la actualidad ya empiezan a ser obligatorias, dado a una estandarización que se está manejando en algo llamado W3. Una ventaja de ello, que le notado, es que al menos... no tenemos problemas con los acentos n_n

En el head, aparte de poner el titulo, vean que en la línea 9, estoy mandando a llamar a referenciar la hoja de estilos estilos.css para empezar a trabajar con ella en la página.

A pesar de que podemos hacer librerias CSS, podemos manejar estilos locales. En este caso, estos estilos son nomas para tener una plantilla de capas en la página web. Esto es automatizado con el Dreamweaver.

Ahora jugemos con el JavaScript. En la líena 48 mandamos a llamar a nuestra libreria ConstructorXMLHttpRequest.js. Y a su vez, hagamos una función para esta página, la cual es una adecuación a la que proponen en el primer capítulo del libro.
Expliquemos...
peticion01 será una variable que contendrá una serie de valores que se desplegarán en la página, la cual primero se inicializa en la línea 52 buscando bajo que esquema se está trabajando (osea, buscar que navegador se está usando).

Habrá una función "Coger" que recibirá un argumento "cuest". En este caso, "cuest" será el id de la persona de la que desplegaremos sus valores.

En la linea 54 hay un if que solo se hará caso si la peticion01 fué inicializada (osea, estamos trabajando con un navegador válido).

Siendo asi, en la línea 55, estamos jalando información de la página "display.jsp" enviandolo valores por método GET sin necesidad de ser síncrono. Estamos enviandole un valor "número" el cual será igual a nuestro valor de "cuest" antes descrita.

No será nada enviar nada al servidor según la línea 56, y al final en la línea 57, estamos viendo que en documento vamos a desplegar la información obtenida de "display.jsp" en una sección que ahi se anda llamando "resultado".

TODO ESTO EN EL HEAD :S

Ya en el body, estamos con la primera capa descrita en nuestros estilos de más arriba.
Aqui ponemos un título y un siubtitulo, descrito por sus respectivos tags.


Pero al momento de verlo en la página web, verán que tendrán un tamaño y color distintos, tal como se describen en el archivo estilos.css. Es más, el cuerpo de la página ya tiene un fondo definido, ya que en el archivo de estilos.css, se le puso un color de fondo.

En la segunda capa pondremos un combobox, el cual tendrá una opción 0 que es la default para mencionar que eligamos a una persona, abajito hay un script de jsp haciendo un for metiendo otras 5 opciones para las 5 personas que vamos a ver sus valores. Notese que cada opción llama a la función "Coger" con el argumento respectivo para el id de la persona.

En la tercera capa solo hay un texto de "No has elegido a nadie". Suena absurdo pero chequen que el texto está dentro de un tag que dice "span id = "resultado"". Se acuerda que en script de javascript desplegará todo es un identificador llamado "resultado"??? Todo lo que esté dentro de ese identificador será el texto que cambiará.

Al final la capa de un cierre que está en negrillas. Y el fin de la página
Pero aparte de las negrillas, el texto cambió de tamao y color, como se menciona en estilos.css

La página estará quedando así:


7.- Ya vamos a acabar... Nos falta algo, EL ARCHIVO QUE JALAREMOS mediante nuestros script de javascript, el cuál vimos que era el display.jsp.


Vease que tenemos una variable "trabajo" que será igual a lo que enviamos por método get la variable llamada "numero".
Cuando elegimos la primera opción de "Eliga uno", trabajo vale 0 y debe de imprimirse "No has elegido a nadie".
En caso contrario, se crea una instancia de nuestra colección. Luego se crea una instancia de Persona llamada "usar" que será igual a lo que obtengamos de getPersona poniendo por argumento el id de la persona a usar.
Y al final, se lleva a cabo la impresión en pantalla del id, nombre y teléfono.

Con esto, pasará lo siguiente:

Al elegir a una persona...

Sin necesidad de refrescar, o que nos mande a otra página, pasará esto...


El contenido de nuestra tercera capa (donde estaba el tag de resultado) cambió desplegando los datos de la cuarta persona.

Este ejemplo es muy muy sencillo, pero al menos es más dinámico y menos engorroso que una página que requiera dos páginas, una para el listado y otra para el despliege de la opción elegida. Juntamos varias tecnologías para lograr una página más rica y poderosa.

Para acabar, aqui les dejo este proyecto para que lo corran y lo prueben LearningAjax

Y como referencias:
-Manual de AJAX - Las entrañas de AJAX; Juan Mariano Fuentas (Dirigido por Sergio Gálvez Rojas ;Segunda Edicion ; Año: 2009 (Descargenlo aquí)
-Introducción a AJAX;Javier Eguíluz Pérez (Visite esta página)

martes, 23 de marzo de 2010

4to. lugar Ingeniería en Informática Ranking Reforma 2010

Me encantaría conocer al mono encargado del Twitter de la UPIICSA que supongo que le dió un ataque de "tarabilla convulsiva (creo que asi se escribe jaja)" que repitió la misma noticia 6 veces jip.


Así es:
-1er lugar en escuelas de licenciatura en sistemas (el caso de los de ciencias de informática)
-8vo lugar en escuelas de ingeniería industrial
-4to lugar en escuelas de ingenieria en sistemas (el caso de ingeniería en informática)

Pues.... hablando de los puntos del que me interesa (ing en sistemas)...

Esto es una pantalla de mi escritorio, no un articulo por el que se me pueda acusar por reproducción parcial o total, solo una impresión de mi pantalla jeje


1) Obvio, felicidades a ESCOM por su primer lugar. A final de cuentas, por ser politecnicos tenemos el orgullo de estar en primer lugar =D, los unicos que nos dan la competencia como siempre es el Tec. Eso en mi punto de ver no es una rivalidad, sino deberia ser una motivación para tratar de ser mejores (a fin de cuentas, al final, todos jugaremos con todos y no contra todos).

2) En el 2007 eramos el primer lugar, en el 2008 caimos hasta el 3ro, en el 2009 caimos más hasta el quinto. A pesar de que este año subimos un lugar, pues... es un indicador muy serio, por que hasta donde yo se, eramos la escuela pionera en informática.

3) Mensaje personal para la persona que escribió mil veces el mensaje en el Twitter: Es de orgullo saber que n estamos en los primeros 3 lugares??? Cuando yo de niño sacaba menos de 8 en mis examenes, mis papas se los callan, y no creo que nomás los mios, los de cualquiera "MIREN, MI HIJO FUE EL CUARTO LUGAR EN SU CLASE". A lo mucho dirian que su hijo estuvo entre los primeros 5, así para dejar una nube que medio esconda la mediocridad. UPIICSA es parte del IPN, y si, lo admito, ESCOM a pesar de su casi nula interdisciplinariedad (cosa que en el artículo del rankin de licenciatura, el jefe de la académica Rico Aragon Osvaldo presume mucho - que yo diria que antes de presumir, que asista a sus clases, por que no es exactamente el maestro más puntual que haya de hecho) en que me quede??? ah si, a pesar de que ESCOM no es interdisciplinaria, al menos es una institución donde SI se hace su trabajo y no andan traumandose por cambiar planes de estudios que al final, seran una basca porque por más lindos que sean, usaran a los mismos nefastos maestros para impartirla (por cierto, Rico vió el burro y ya quiere también cambiar el plan de Ciencias ¬_¬).

Y bueno, ok, ESCOM esta hasta arriba (y se lo merece muchisimo), pero, como esta eso de que dos campus del Tec están arriba de nosotros??? Ese es mi coraje. A cada rato la gente habla "bah, el tec que, sus carreras son más prestigio que enseñanza, uno paga por el lujo y no por la carrera en si". Ah si??? Ese ranking nos trata de decir algo (y no creo que sea por que esté comprado, sino, ESCOM no estaría hasta arriba).

Entonces, por más prestigio que sean las otras escuelas, al menos si se andan poniendo a trabajar, si hay laboratorios donde impartir clases de programación y no basiladas de cañones casi descompuestos, alla no le temen a la electrónica (donde he escuchado antes eso jaja) y si la imparten como materia básica, alla si cuesta las materias entre 5 y 10 mil pesos y si matas un día de clase, tiraste dinero (pedrada para los monos que cada semana llegan con su coro de "vamos a mataaaarrrr"), alla aunque no hagas tesis o tesina, al menos no haces refritos tipo "implantación de un sistema e-learning que contribuya al desarrollo sustentable en materia de mineria de datos" cuando al final solo es una página web mal diseñada y fea que a cada rato se cae, donde hay colaboración entre docentes y no la chingadera de "ay si, por que voy a trabajar???? me van a pagar más o que me van a dar", alla no hay pendejadas del sme o ley del issste por lo que cierran escuelas (por que??? por que alla si tienen cosas que hacer).

Bueno, inhalo, exhalo, yaaa!!! no me enojo.

Solo quedaría decir que si bien no estamos tan abajo, pero tampoco tan arriba. Cuando entré a UPIICSA, la gente decia "wooow, entraras a UPIICSA??? felicidades!!!! chingona escuela, mis respetos". En lo personal, cuando lleguen a mi preguntandome por UPIICSA, no tendré el placer de decir lo mismo :( xq ya nos está ganando "el prestigio".

lunes, 15 de marzo de 2010

Otra vez a chorear de mi carrera

Y otra vez, por 3 razones.

Las dos primeras, se dan por dos videos que hoy me encontre en mi desesperación de un día feriado con hueva sin saber que hacer.

#1.- La Univesidad de Deusto describe muy detalladamente muchas cosas respecto a la ingeniería en informática.



#2.- Un video cómico tipo "loquendo" acerca de LO QUE NO ES UN INGENIERO EN INFORMÁTICA.



#3.- Los rumores han sido confirmados (al parecer jaja). El plan de estudios de la ingeniería en informática ha sido cambiando. Los cambios se aplicarán en el siguiente semestre. Una opinión muy objetiva es la de Ocotitla en su blog publicado recientemente.

Espero proximamente escribir una opinión respecto a ese nuevo plan. Ya anda en proceso, solo quiero documentarme más al respecto para que sea lo más veráz posible.

jueves, 11 de marzo de 2010

Intento de reproductor (bah, esta chido jaja)

Ok, de modo casi irresponsable, por fin, después de meses, por fin se me ocurre depurar mi laptop de basura.

Y pues, dijo de modo irresponsable, por que tenia aproximadamente 14 programas sin utilizar, y un aproximado de 20 gb de puros archivos temporales y basura.

Aunque lo más importante de esto, es que encontré un proyecto en Java que estaba desarrollando, y en eso me acorde de un post que hice, en el que mencionaba lo siguiente:

Pues bueno, eso es todo, y en serio, pronto les publicaré un reproductor de música en Java y XML, me cae que ahora si he tenido puro maestro que me trae de a chacho con mucha tarea. Eso tomará un poco de tiempo, sean pacientes, que por cierto de una vez agradezco a Pablo Carballude por la publicación de la clase de ejecución de multimedia (en este caso, sonido) y Javier Teso por la idea de usar XML con aplicaciones Java.
Fuente: http://ingkstr-en-upiicsa.blogspot.com/2009/08/facilitemos-la-conexion-entre-java-y.html

Y pues... ok, ok, me siento culpable y mal, dado a que no termine el proyecto, dado a poca disponibilidad de tiempo, y siendo sincero, también por falta de ganas dado a que le daba prioridad a otras cosas (proyectos, tareas, estudios, salidas, parrandas, weva, sueño).

Pero bueno, dado a esto, de algo a nada, aqui les va lo que tengo.

Reproductor beta de música desarrollado en entorno Java y XML


¿Qué características tiene?
-Reproductor multiplataforma (por su facultad de ser desarrollado en Java)
-Creación de listas de reproducción mediante archivos XML
-Reproducción de canciones en formato mp3
-Reproducción de listas en modo continuo
-Reproducción de canciones en modo aleatorio o secuencial
-Funciones básicas de Play, Pause, Stop, Next, Before.
-Canciones reproducibles sin trabas ni paros inesperados (cof cof Windows Media Player cof cof)

¿Qué le falto para ser concluido?
-Modificación y eliminación de listas de reproducción
-Manipulación de tiempos de reproducción de las canciones
-Alguna moneria de más

Pues, esa parte que quedo inconclusa ya sería un reto para aquellos que quisieran usarlo como proyecto personal o entrega para alguna materia de programación en la que quieran rifarse mucho. El código fuente esta accesible para cualquier cambio.

En lo personal está chido, no por presumir ni creerme mucho, en realidad, lo he probado y jala perfectamente, y como lo mencione, no se traba como otros reproductores y no usa mucha memoria.

Pero claro, no todo lo hice yo.

Referencias de apoyo

http://pablocarballude.blogspot.com/2007/11/reproducir-msica-mp3-ogg-wav-en-java.html
http://www.javahispano.org/contenidos/es/xml_desde_java_hecho_fcil_jdom/

Estamos en contacto, y espero que esta aportación al arte sea util para alguien =D

miércoles, 10 de marzo de 2010

Mis reemplazantes

Exceptuando por el hecho de que tengo a un maestro muy pesado en Formulación de Proyectos, y que ando pansando Instrumentación Virtual, pues podría decirse que ya ando de salida.

Y pues para dar más enfasis, han de saber que ya incluso están saliendo las convocatorias para ingresar a la orgullosa IPN (jaja q mamerto) en las escuelas de nivel superior.

http://www.admision.ipn.mx/egresadocecyt/

Creo que aun no sale la convocatoria para los que no estudiaron el bacho en vocacionales. Pero deben de salir en estos dias.



Ay si ay si, ya sacaron video ñaaa. Aunque debo admitir que me da nostalgia que hace 4 años yo estaba así snif T_T

Ahora pues... los que les interesa la carrera de Ingeniería en Informática, pues les tengo 2 noticias (buenas o malas, ya lo decidiran ustedes).

Noticia 1
Se darán cuenta que por alguna rara razón, la ingeniería informática va a ser esta ocasión la de menor oferta (incluso más que los de transportes o_O). Si pensamos en alguna razón, sería la noticia 2

Noticia 2
Aunque así nos han traido desde hace años, hay rumores muy fuertes de que cambiarán el plan de estudios, puede que sea ese un factor de por que hay tan pocos lugares (ACLARO, SOLO ES RUMOR, NO LA VERDAD ABSOLUTA).

Aunque no hay datos oficiales del nuevo plan de estudios, lo más acercado (hasta donde yo pude observar) es algo muy similar a lo que publicó Alberto Ocotitla en su blog hace aproximadamente un año.

Bueno, creo que al menos es la poca información que hay respecto a ello. M

miércoles, 3 de marzo de 2010

Post spameroso (algo asi)

Si bien dijo, el buen señor Trujo es un wey que nunca deja de tener razón y concuerdo con él.

Este post acerca del spam esta muy chistoso, pero a la vez reflexivo acerca de la gente que en una sola noche te saturan tu correo (imaginense lo que harán en un mes).

Podcast de SPAM

Como un término tan técnico vino de una cochina lata de conserva. A algún programa o sistema que haga en el futuro le llamará SNAK o INSTANTANEO BACHOCO (a ver si me hago igual de famoso =D)

lunes, 1 de marzo de 2010

Office 2010 Beta

O sea, apenas nos estamos acostumbrando al cambio desbordante del menu de office 2007, incluso tener que andar mendigeando o comprando la versión pirata del 2007 para poder abrir los apestosos archivos con una x de mas (.docx, .xlsx, .pptx), y Microsoft al parecer ya se le anda acabando el mercado, asi que ya está lanzando un nuevo monstruo.

Office 2010 en proceso de chaqueta mental =D

Si chavosaurios, office 2010 (que intuitivo no??? considerando el nombre del post), pero no se espanten, apenas es un beta, una version prueba, a punto de vista de ver cuantos errores le encontramos =D.

Puedes descargarlo ahi (lo siento, si los super señores y señoras del grupo mocosoft de upiicsa no puieron ponernos a nuestra disposición el 2007, será una burla que les pidamos el nuevo office).

Que tiene de nuevo??? Aun no lo se, apenas lo descarge ayer, pero si entran a la liga anterior, verán que estos monos casi casi te prometen que alimentarán a tu perro desde una diapositiva de power point. Será verdad, será mentira.

Mientras, para quienes nomas nos conformamos con que no nos compliquen la vida, el menú de las aplicaciones son iguales al del 2007, no hay extensiones nuevas, así que al menos podemos trabajar como en la versión pasada (solo que tendremos el lujo de andar presumiento un software nuevo jaja)


No manchen, puedes copiar pantallas de tu escritorio a un documento Word. Dios mio, debieron pagarle a cada programador con una mansión por eso o_O

Dandole click a "Archivo", puedes meterte a una pantalla de información medio mamonsilla. Comprobación: no necesito ser estadistico para decir que el 95% +/- 3 de los cambios son de pura apariencia ¬_¬