sábado, 22 de agosto de 2009

Facilitemos la conexión entre Java y MySQL - Clase ConectaBD.

De alguna manera, tenía planes para publicar también algunas cosas de código como lo hice en el blog del programa controlador de un brazo electroimán con 4 grados de libertad.

En este caso, pues entre mis cosas, carpetas y basura, les quiero compartir lo siguiente (también aprovechando que en un foro que me latió mucho llamado “A Huelum!!!” hecho por alumnos de UPIICSA de informática, publicaron un pdf de cómo instalar Netbeans y MySQL para programar aplicaciones en Java que interactúen con base de datos).

Pues han de saber que en lo personal, yo soy desarrollador con tecnologías libres (PHP y Java, al menos, mientras aun Sun no le ponga precio). Y pues por ello, todo lo que haga siempre lo hago en estos lenguajes.

En el caso de Java, al conectar con base de datos, comúnmente se usa una base de datos libre como MySQL. Aclaro, también se puede conectar a bases de datos del tipo SQL Server y Access por ejemplo, pero como se supone que Java aun es opensource, el hecho de conectar programas Java con SMBD que no son libres, pues se vuelve muy restrictivo, o al menos, tus aplicaciones solo serían para Windows.

Como sea, deben de saber que cuando crean aplicaciones con base de datos, lo conveniente no es poner todo el código en una sola función, y menos en un programa orientado a objetos (dado a que la filosofía es q cada elemento a programar son objetos con atributos y comportamientos propios). En este caso, se debe usar el modelo conocido como el de las tres capas.

La capa de hasta arriba, es la de aplicación o también llamada “Front End”. En pocas palabras, esta capa es la única con la que el usuario puede interactuar. Dijamos que esta representa el entorno del trabajo de un sistema.

Después viene la capa de las reglas de negocio, donde se evalúan que los datos ingresados en el sistema sean validos y calculados, y que entregen valores al Front End para que el usuario las visualice.

Y en la tercera capa, la de datos, se guardan los valores, sean en archivos planos txt, o archivos de metadatos xml o en bases de datos.

En programación orientada a objetos, se podría decir que cada capa es una clase. La clase de Front End entrega datos a la de Reglas, la cual a su vez guarda y/o obtiene datos de la capa de Datos y la regresa a Front End.

Bueno, a la mejor, todo esto ya lo sabían (y si no, ya lo saben). En Java, lo medio complicado (o latoso) es crear la capa de Datos que comunique tu programa con la base de datos, por que para ello hay que buscar el código y pues para ello hay que conocer acerca de los objetos Connection, ResultSet y Statement, y llevar un procedimiento de dar de alta el driver de conección, luego conectar, luego obtener el objeto de consultas, y muchos rollos así.

Que fácil sería tener mejor una clase “prefabricada” que al momento de construirla, ya nomas tienes que mandar tus comandos del SQL y puedas manipular tu base de datos libremente.

Bueno, pues ok, ingkstr se las regala, en serio, Aquí esta, DENLE CLICK PARA DESCARGARLA. (30 DE ENERO DEL 2010 - LA VOLVI A SUBIR, DADO A QUE LA ANTERIOR TENIA UN ERROR FATAL)

Que les ando proporcionando???

1.-La clase ConectaBD, la cual, copian en un proyecto de Java y pueden utilizarla de inmediato con solo declarar un objeto de esta clase. Esta poseé las siguientes funciones:

A) Los constructores para crear objetos ConectaBD, hay dos. El primero donde sencillamente se inicializa (ConectaBD()). Y la segunda, donde le argumentas el nombre de la base de datos (ejemplo: "jdbc:mysql://localhost/prueba"), el usuario de la base de datos y la contraseña de dicho usuario (ConectaBD(String bd, String usuario, String pw)).

B) CambioBD(String bd): A la mejor, no queremos ya trabajar con la base de datos "jdbc:mysql://localhost/prueba", sino con la de "jdbc:mysql://localhost/informática", pues solo llamamos esa función y argumentamos el nombre de esa dase de datos y listo jaja.

C)OrdenDDL(String sql): Ejecuta un query de lenguaje DDL. Osea, los inserts, deletes, create, update, alter, bla bla bla.

D)OrdenDML(String sql): Ejecuta un query de consulta “select” y te devuelve una matriz de caracteres (String [][]), ya no hay que lidiar con los ResultSet YAHOOOO!!!!

Y por si acaso, le ingrese un void main() para que vean que si funciona jaja.

2.- La documentación de esa clase, por si las moscas.

3.- El driver mysql-connector-java-5.0.8-bin.jar. Obvio!!!! (si quieren saber como se instala, ya eso se los dejo de tarea, no se alteren, es fácil).

Creo que con eso les facilito el trabajo a miles de ustedes, vdd???? “Pero ahora, xq rayos lo ando regalando???? No mames Castelán, ponle precio. Les andas dando todo peladito y en la boca (sin albur)”. Pero bah!!! Osea, creo que internet ha hecho más por mí, hay varias páginas que si he tenido dudas, me han ayudado y mucho, sacando trucos muy buenos y algo tramposos jaja. Esta es mi pequeña aportación. Aparte xq en mi escuela hay una maestra wevona llamada Iliana López Valeriano que les pide aplicaciones Java con MySQL sin explicarles nada y que se los pide como si fueran expertos. Trankis, aquí les hago el paro. Pero obvio, denme algo de crédito cuando tengan sus aplicaciones, poniendo el nombre de esta página en sus bibliografías (a ver si los maestros de veras las leen para que se quede Iliana con el ojo cuadrado).

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.

viernes, 14 de agosto de 2009

Caso práctico de redes, el rack de sociales

Una de las fallas fatales de mi escuela es que siendo una escuela de ingeniería y ciencias de cómputo, nunca en mi vida he tenido una sesión de laboratorio (solo la de las materias de sistemas digitales y aplicación de datos) pero nunca pa las materias de programación o algoritmos. Incluso, tampoco de redes y considerando mi historia en ese ámbito.

1.- Comunicación de datos: Mi maestra era una chava fresa que pa colmo era de esas licenciadas en ciencias de informática que pues si enseñaba, pero puro teórico (haciendo referencia a la opinión de Ocotitla "le tenian miedo a la electrónica"). Sin considerar que se ponía bien loca cuando algo no era como ella decia.
2.- Redes y conectividad: Maestro muy decepcionante, dado a que cuando explicaba lo siguiente:
"Una red GPS esta constituido de 21 satelites y 3 de respaldo"
"Las microondas se descubrieron cuando dos antenas parabolicas se insertaban entre ellas y los POLLOS que pasaban en medio de ellas se ROSTIZABAN"
para él, el temario había acabado, y solo eran exposiciones de las cuales él se salía. Y al final, pedian proyectos de redes LAN con switches alambricos, inalambricos, celulares, con servidores UNIX o Windows con apache, y cosas así. Osea, si no eras autodidacta, pues no tenia mucha aportación.

Y pues, la continuación es "aplicación de redes", que me tocó un maestro certificado de CISCO. Y pues, dado a la preparación que les mencione (y considerando que tmb varios pasan x lo mismo) pues casi casi nos anda llamando pendejos. Aunque su actitud es muy arrogante y molesta, pues tampoco podriamos decir que es toda la culpa de los demás, ya que admitamoslo, hay internet y libros (el que nos de hueva leer es otra cosa jaja).
Pero nos llame pendejos o no, aqui ando poniendome al corriente y anotando todo lo que dice y pregunte y pregunte como tarabilla para que se me pegue todo lo que pueda.
Para acabar, nos llevó al área de computadoras del edificio de sociales, explicandonos que hay en el rack de esa sala. Es chido dado a que pues como les dijo, muchos solo se conforman con dar la teoría o que lo investigen de otro lado. Me late este maestro, a pesar de su actitud. Y pues, aqui les dejo el video, que por cierto, es muy corto y rápido xq lo grabe cuando ya iban a cerrar, pero les marcaré lo que muestro y en que minuto pa que lo identifiquen


0:01 UPS: Una especie de no break pero con mejores caracteristicas y abastece de energia eléctrica por más tiempo que un no-break común.
0:06 El Rack (mmm algo enmarañado jaja)
0:10 Switches (3 en total)
0:12 Patch Panel's (condensadores mecánicos)
0:16 Consola de fibra óptica
0:18 Entrada de fibra óptica del router de UPIICSA para el rack
0:20 Mangeras de cable UTP hacia las rosetas




lunes, 10 de agosto de 2009

Decepción. Preferimos ver perder a los mismos de siempre que agarrar la onda.

Pues, no planeaba escribir en estos dias, dado a que ahora si me tocaron maestros que te ponen a trabajar. Mi proximo blog planeaba ser acerca de la metodología que usaría para desarrollar un software usando UML, y pasarles el código de dicha aplicación, en ese caso sería para un reproductor de música implementado en Java.

Pero quiero expresarles una noticia que me da mucho coraje. Es de saberse que en México estamos sencillamente mal respecto a cultura y educación. Todavia, pretenden ocultar ese rezago con más mediocridad. Cuantas veces no he visto a los pinches maestros y alumnos (neta, ambos), matar clases solo para ver un partido de nuestra "selección", la cuál, pues ya es de pendejos creer que lo hacemos por pasión y mamadas así. En vez de eso, nos vale madres nuestras responsabilidades y nos quedamos como si todo estuviera bien.

Mi prima Lisette me envió el siguiente mail, demostrando que hasta los medios masivos desean con toda el alma que nos quedemos huecos. Que no agarremos la onda que podemos ser mejores. Pues ni pedo. La neta, al menos yo, no soy asi. Osea, tampoco pretendo decirles que soy el ser más culto de la galaxia (tengo fallas como todos), pero al menos, la convicción de mejor cuenta.

Aqui les va el mail.

ESto salió en TV sólo en Canal 11, y sólo se publicó en La Jornada.

(Ojalá y quieras darte una oportunidad de leerlo)


Rene Drucker Colin: Una muestra de la vida nacional. El 4 de junio del presente año, Carolina Aranda Cruz, de 11 años, estudiante de quinto de primaria, fue invitada a dar un discurso en el World Trade Center ante cientos de pediatras y del secretario de Salud. Su discurso terminó con una frase devastadora: 'Pobre México nuestro, tan cerca del futbol y tan lejos de la ciencia'. Algunos extractos de su discurso son apabullantes. Carolina dice:' ¿Por qué apoyar más a los futbolistas que a los científicos? ¿Son mejores personas? ¿Producen mayor riqueza? ¿Nos divierten más? No creo, gracias a los científicos también nos divertimos, ellos inventaron las computadoras, los ipods, los simuladores. Además, salvo algunos casos, los jugadores de futbol nos hacen ver muy mal mundialmente y nuestros científicos, que nadie apoya, no'. Y en otro segmento de su discurso expone: 'Me da pena que nuestro gobierno y nuestros empresarios inviertan tanto en futbol y seamos tan malos. Me da pena que inviertan tan poco en ciencia y seamos tan buenos. Tenemos la mejor universidad de Hispanoamérica, según la revista Time, y cada vez le damos menos recursos a la UNAM o al IPN. ¿Por qué no apoyar a lo que ya dé resultados? Un país que no invierte en ciencia y educación siempre será un país pobre. ¿Queremos un México pobre?' ¡Qué les parece! Carolina le dio al clavo, y por demás, pues tiene razón.
Ya lo vimos, por poco perdemos en futbol con Cuba, país donde ese deporte casi no se juega, y perdimos con Honduras. Pero ejemplos de ésos abundan en la historia del futbol mexicano. Por otro lado, cabe mencionar otra vergüenza. El discurso de Carolina sólo tuvo eco en un medio de comunicación escrito y en uno televisivo. La pobreza noticiosa de los medios de comunicación también se evidenció. Y las cosas no cambian. Hace más o menos seis años, tres jóvenes mexicanos ganaron medallas de plata y bronce en una olimpiada científica en Dinamarca, donde compitieron 52 países.
Ningún medio de comunicación vio importancia alguna en mencionarlo en algún segmento. Estaban muy ocupados con señalar las medallas de Ana Guevara, de quien también estamos muy orgullosos. Pero tanta diferencia, ¿se vale? Yo pienso que no.
La semana que acaba de pasar Televisa llevó a cabo su foro anual llamado Espacio. Creo que cerca de 5 mil universitarios asisten para escuchar a diversos personajes de la vida académica y política. Entre los invitados estuvo el actual director del Consejo Nacional de Ciencia y Tecnología (Conacyt), Juan Carlos Romero Hicks. La ocasión hubiera sido perfecta para hablar sobre los proyectos que tendría el Conacyt para impulsar las oportunidades en la ciencia para los jóvenes, o de las estrategias para desarrollar la tecnología que requiere el país en los próximos años y que podría abrir abanicos de oportunidad para la juventud. Pero no, habló sobre la moral. Yo no tengo nada en contra de la moral, pero hubiera sido moralmente más correcto para el director del Conacyt explicar, presentar o desarrollar temas sobre los cuales cientos de jóvenes en el país están preocupados y que se relacionarían con su futuro como mexicanos con oportunidades.

ESTE TIPO DE CORREOS DEBERÍAN SER CADENAS INTERMINABLES Y DARLE LA VUELTA AL MUNDO VARIAS VECES HASTA QUE todos ENTENDAmos EL MENSAJE.
SI NO REENVÍAS ESTO TAL VEZ NO PASE NADA, PERO SI LO MANDAS TAL VEZ PASE LO QUE TODOS LOS MEXICANOS QUEREMOS. APOYEMOS A MEXICO. NOS NECESITA O MEJOR DICHO, NOS NECESITAMOS TODOS.

'POR UN CORREO ELECTRÓNICO CON CADENAS INTELIGENTES ! ! !'