miércoles, 12 de octubre de 2011

I Carrera de Orientación Tierra de Gigantes

Ha tenido que hacer falta cambio de concejal (aunque no de partido)  para que se haga un poco de caso a los deportes de montaña en Campo de Criptana (la anterior concejalía demostró ser una gran concejalía de deportes, porque pasó "Olimpicamente"), y en especial al único club que hay en esta localidad (mi localidad) que es como podréis suponer Criptana Vertical

Yo como componente, (aunque no haya pagado la cuota) estoy contento porque por fin se deja de hacer oídos sordos a un club en el que ya participa mucha gente y que también organiza un montón de salidas a diferentes actividades como carreras de orientación, escalada, alpinismo, senderismo, raids, mountain bike,... y cualquier actividad de montaña que pueda parecer interesante. 

Y como no solo de fútbol vive el hombre y por supuesto el criptanense,  el club de montaña Criptana Vertical viene a ofrecer al ciudadano la posibilidad de hacer otras muchas cosas diferentes a ir detrás de un balón a darle una patada (y que conste que me gusta el fútbol, pero el ser humano tiene que estar abierto a otros campos que no sean de  fútbol y alejarse de cosas como los cotilleos de la prensa rosa).

Por mi parte, felicitar a mi compañero y amigo Ángel Luis, que tanto se esfuerza y nos anima a participar en estas actividades (aunque yo  no me atreva a ir ciertas actividades por mi respeto a las alturas. Sí, ¿qué pasa? Soy un poco cagao) y consigue mover a cada vez más gente. Este club nació y se está haciendo grande gracias a él. Y ya ha conseguido organizar su primera carrera, esperemos de muchas.

Animo a todo el mundo a participar y esperemos que haga una buena tarde. Recordar que es el sábado día 22 a las 16:00.

Os pongo el cartel.


Un saludo y hasta otra.

sábado, 9 de julio de 2011

Toledo y sus pruebas de marcha atlética en pista.

Segunda entrada del día!!!!

Aunque el tema de esta entrada va a ser diferente al que me hubiera gustado hablar en un principio. 

El día 18 de junio me trasladaba a Toledo a disputar el Campeonato Regional en pista de Castilla La-Mancha en la prueba de 5 km marcha. 

¿Las pretensiones de esta prueba? Acabarla y que fuera otro paso más para ir poco a poco siendo el que era antes, no importaba el tiempo que hiciera. Pues bien, parece ser que para cualquier marchador que va a Toledo a hacer una prueba de pista, el mayor logro que puede conseguir es eso, acabarla. Y en este caso no pude ni conseguir ese objetivo, es decir, fui descalificado.

Llevo 11 años haciendo marcha atlética, muchas pruebas a mi espalda, he sido descalificado con esta tres veces. Y en las tres veces había jueces de Toledo. En especial un señor con barba de cuyo nombre no quiero acordarme que no hay carrera que no me haya sacado amonestación.

No fui el único descalificado. Luis Cambronero también fue descalificado, pero brutalmente, cuando apenas llevaba más de un kilómetro de carrera. Y Luis es de los que mejor marchan en Castilla La Mancha.

Acabaron únicamente José Ignacio Díaz Velázquez (recuerdos y ánimos en su preparación para Daegu) y un chaval, Jesús, que lleva poco tiempo haciendo marcha, y que también al pobre le sacaron dos amonestaciones casi nada más empezar y tuvo que acabar casi andando, porque si no también se lo cargan.

Yo suelo ser crítico conmigo mismo, y si lo voy  haciendo mal, he arriesgado y acabo siendo descalificado, pues oye, lo asumo y para otra a entrenar y a hacer más técnica para poder ir más rápido sin hacer faltas.

Pero lo que me parece totalmente innecesario, es que te saquen la tarjeta y suba a la pizarra de inmediato, simplemente porque al juez le parece que vas un poco al límite. Pues bien, en Toledo funcionan así. No es que lo vayas haciendo mal, sino que si tu forma de marchar no le gusta al juez, pues tarjeta y marcha más bonito si no quieres que te la saque. Y ya da igual que vayas marchando legalmente y exagerando el gesto de marchar, que no tienes nada que hacer.

Además da igual que vayas a 6 minutos el kilómetro y haciendo un rodaje lento, que vas a ir fuera. Y ESO QUE SOLO COMPETÍAMOS 4!!! Y creo que la carrera era para que hubiéramos acabado los cuatro (ver fotos de la prueba, que creo que en ninguna lo vamos haciendo tan mal).

A todo marchador le fastidia que lo descalifiquen, pero creo que yendo despacio como iba solamente para acabar, no se suele hacer faltas. Y menos que vaya haciendo faltas de bote como me sacaron. Vamos que ya no es que lleve un pie siempre en el suelo, sino que con los kilos que tengo de más hay veces que me cuesta levantar los dos. Ironía a parte, creo que se equivocaron. Sobre todo porque compitiendo 4 con mucha separación entre ellos y sin arriesgar ninguno de los cuatro, me parece que las faltas hay que sacarlas cuando realmente lo haga mal el marchador y no cuando "parezca" que lo hace mal porque el marchador tiene un poco de chepa como yo y estéticamente no soy muy bello.

Para marchar bien hay que entrenar mucho y hacer muchos ejercicios de técnica, pero creo que para ser juez de marcha hay que "entrenar" la vista y ver mucha marcha durante el año, y no solo en las cuatros carreras en las que se pueda juzgar.

Somos "libres de hablar y esclavos de nuestras palabras", y puede ser que se me coja manía por este artículo y ya no sea capaz de acabar una carrera en Toledo, porque me descalifiquen en todas. Pero creo que tiene que cambiar la actitud de estos jueces, porque somos pocos marchadores en Castilla La Mancha y si se sigue con estas actuaciones (también en otra prueba de marcha en Toledo el día 28 de mayo pasó lo mismo) los aficcionados que solo hacemos marcha porque nos gusta, acabaremos por no competir y dedicarnos a otros menesteres. O por lo menos dejaremos de competir en Toledo y competiremos en otras provincias donde haya jueces más competentes. Que esto no viene de ahora, viene de ya muchos años atrás.

Gracias a todo el que haya dedicado un tiempo a leer estas parrafadas, pero es que tenía que desahogarme. Puede que esté equivocado, pero no suelo hablar por hablar, y si lo he hecho sobre este tema, es porque me parece que hacía falta.

Un saludo a todos y hasta la próxima entrada.

P.D.: Si se va a sacar una tarjeta roja a un marchador no hace falta escondérsela y sacarla cuando estás al lado del atleta. Los atletas nos damos cuenta de que el juez lleva la tarjeta. El teatro en este caso es innecesario.

Raid Liga Centro LXS, Buendía

Hola de nuevo a todos mis seguidores!!!

Sé que os he tenido bastante abandonados, pero bueno, vuelvo para poner unas entradas en las que contaros mis últimas andanzas en lo que a deporte se refiere.

La primera de ellas es para hablar de otro raid en el que participé el día 28 de mayo en Buendía. Parecía que ya había tenido bastante con el de Toledo, pero a los que nos gusta el deporte mucho, estas pruebas nos acaban enganchando. Y después de pensármelo un poco me animé. Este viaje mi compañero de equipo era mi también compañero de trabajo José Puga. Siendo compañero de José me aseguraba también una cosa, que no me atropellará con la bici como en Toledo (jejeje, es broma José).

Volvía a ir con todos mis compañeros de Criptana Vertical. En esta ocasión la expedición era formada por Esteso y Silvia, José Ángel, Marisa y nuestros "entrenadores ", Ismael y José Manuel. Aunque solo Puga y yo haríamos la prueba de Raiders 2. El resto haría la de corredores.

Esta prueba empezaba con un score urbano por relevos, primero lo hacía uno y luego el otro. Cortito y se hizo sin ningún problema.

La segunda parte era de bici. A pesar de un comienzo un poco desorientados, conseguimos coger el camino correcto. No se terminó de dar mal toda este sector, pero  en la parte final se perdió un poco de tiempo buscando una baliza que en el mapa venía tapada, y al final cuando llevábamos 7 puntos de 10 decidimos no perder más tiempo. Durante este sector hubo dos pruebas especiales, la del tiro con arco, que no dimos ni en la diana, y la de orientación de memoria, que fue en la parte del pantano donde hay figuras talladas en la roca, y que el objetivo era tirarse fotos con las figuras que te hubieran dicho previamente.

Llegando a buena hora del primer sector de bici, el siguiente paso era el trekking. Y aquí pené bastante, la verdad sea dicha, y acabé al final siendo un lastre para mi compañero Puga. Pero bueno, él me perdona, jejeje. El comienzo no fue del todo malo, y hasta la prueba de espeleología en la que mi compañero Puga bajó  a los confines del monte a fichar una baliza, todo fue más o menos bien. Si bien es cierto que la cueva estaba en lo alto de un monte y antes de llegar ya iba casi a gatas. 
A partir de la cueva nos quedamos sin agua, y ahí se hizo un poco duro. Si no llega a ser por Puga esta parte hubiera sido un poco desastre. Al final para no perder más tiempo 8 puntos de 10.

Lo malo del todo es que del trekking llegamos con poco tiempo para hacer el siguiente sector. Y la última prueba de bici fue casi ir a dar una vuelta, porque las pruebas chulas estaban bastante lejos, y además nos equivocamos de camino, con lo que solo conseguimos 1 punto. 

Al final nos volvimos y acabamos la prueba. Lo importante volvió a ser la experiencia y el día de convivencia con mis amigos y compañeros.

Aquí os muestro algunas fotos de este día.




Y más fotos en CRIPTANA VERTICAL.



domingo, 3 de abril de 2011

I Raid Liga Centro LXS, Toledo

Hola a todos de nuevo. Vuelvo para contaros a todos mi última experiencia en el mundo del deporte. El pasado 19 de marzo me trasladé a Toledo con mis compañeros de Criptana Vertical para participar en la primera prueba de raids de la  Liga Centro LXS. Decir que esta era la primera vez que participaba en una prueba de estas características. Y la verdad que si una carrera de 20 Km marcha se hace dura, no te digo este tipo de pruebas que suelen durar como mínimo medio día, como fue el caso de esta. Pero la verdad, a pesar de los kilómetros y las horas de esfuerzo, la experiencia fue impresionante. Los únicos puntos negativos, que no nos dio tiempo a completar todas las pruebas y una pequeña caída que tuve con mi compañero de trabajo y amigo José Puga, que por suerte salimos los dos indemnes.

El raid empezaba a las 12.00 con un día esplendido que ayudaba al correcto transcurso de la prueba y al disfrute de los participantes. Allí nos presentamos cuatros equipos de Criptana Vertical, los formados  por Esteso y Silvia, José Puga y Joaquín, los hermanos Quintanar y el formado por Victor Martínez y yo. El objetivo, disfrutar. 

La primera prueba era un Score Urbano por el casco antiguo de Toledo. Para este sector disponíamos de un mapa del casco antiguo de Toledo con una serie de puntos a acudir. En cada punto había que contestar una pregunta cuya respuesta se encontraba en esculturas, motivos arquitectónicos o diferentes elementos que solo podías encontrar en dicho punto.

El Score Urbano transcurrió perfectamente y en un tiempo bastante bueno. El calvario empezó en el sector de bicicleta. 

Aquí hubo dos puntos que marcaron el resto de la prueba. La ya comentada caída, que por unos momentos me dejó un poco exhausto debido al susto. Y el segundo a la estrategia que tomamos. No se nos ocurrió otra cosa que completar todas las balizas del sector de bicicleta que nos quitó tiempo para la posterior prueba de Trekking.

Así con esto terminamos todos el sector de BTT, pero cuando dejamos la bicicleta eran ya las 17:30 y el cierre de control terminaba a las 20:00.

Como nuestro objetivo era disfrutar, nos fuimos derechos a la prueba de Kayak. Aquí la anécdota del día. Y es que al montarme en la barca esta se volcó y fui al agua. Suerte que me agarré al embarcadero y el baño fue solamente de cintura para abajo. Por lo demás la prueba fue entretenida, más que piragüistas parecíamos esquiadores haciendo eslálom del zigzagueo que llevabamos, jejeje.

Al terminar esta prueba estábamos ya bastante cansados, nos dejamos de hacer algunas pruebas que hubieran estado interesantes hacerlas, como la orientación específica, el rápel o el vadeo del río.

Pero para  acabar lo que si hicimos fue tiro con arco. Y que esté tranquilo Guillermo Tell en su tumba que no le vamos a echar delante tirando las flechas. Pero fue divertido.

A las 19:30 de la tarde estábamos en meta los cuatro equipos de Criptana Vertical, con el objetivo cumplido. Y esperando poder hacer otro raid pronto.

Aquí os dejo un par de fotos de la prueba y los enlaces donde podréis ver más.




domingo, 20 de febrero de 2011

El patrón Observer (Observador)

Que no, que no se me ha olvidado que tengo un blog que mantener. Lo que pasa es que uno tiene muchas ocupaciones e historias variass y no puede atender a todo, jejeje. Pero ya estoy aquí de nuevo, y para añadir una nueva entrada, esta vez sobre informática que la tenía muy abandonada (y mi amigo Longi decía que ya no le escribía nada, así que esta entrada va para él).

Siguiendo con mi afición por la Ingeniería del Software y mi afán por las buenas prácticas de la programación, vuelvo a hablar sobre un patrón de diseño. Esta vez el patrón en cuestión es el llamado patrón Observador.

Bien es sabido por todos los entendidos en Ingeniería del Software, que las capas de dominio o negocio (en MVC el modelo) nunca deben conocer a las capas de presentación (en MVC la vista). Con esta medida básica se evita bastante acoplamiento en los sistemas desarrollados. Sin embargo, en ocasiones es necesario que la capa de dominio notifique a la capa de presentación un cambio de estado en el sistema. Puesto que ya hemos dicho que la capa de dominio de tocar a la capa de presentación, pupa no se hace, vamos a necesitar un intermediario, que vaya que casualidad va a ser la propia clase de presentación, eso sí, con un truco del almendruco. El truco es utilizar una interfaz llamada Observador, que será a la que realmente  accederá la clase de Dominio. La clase de dominio utilizará al Observador para notificar a la clase de presentación el cambio de estado. En el siguiente diagrama de clases se puede ver el diseño de una arquitectura que utiliza el patrón Observador.


Como se puede ver, las clases de presentación implementan la interfaz Observador y el método notificar que esta interfaz define. La clase de dominio tendrá una lista de Observadores que utilizará cuando tenga que notificar un cambio de estado.

Un sistema en el que puede ser útil este patrón es aquel que implementa un programa de gestión de entradas para eventos deportivos. Las entradas pueden ser compradas por móvil, desde la web o desde un terminal de venta situado en una taquilla. Desde cada aplicación podrá verse en todo  momento los asientos libres. Si desde una aplicación móvil se reservase en un momento dado un asiento para un evento, el resto de aplicaciones (otras móviles, web o de escritorio) que estuvieran corriendo y mostrando información a otros usuarios deberían ser notificados y actualizar el estado de asientos libres. Con el patrón Observador esto sería posible.

El estado de las reservas de entradas estaría almacenado en un servidor. Este servidor tendría en todo momento una lista almacenada de Observadores. Cada observador sería una aplicación móvil, web o de escritorio que estuviera conectada al servidor en ese mismo momento. Cuando una de estas aplicaciones reservara una entrada para un evento, el servidor actualizaría todos sus observadores, por medio de sus respectivos métodos notificar. Así la aplicación móvil actualizaría la pantallita del dispositivo en cuestión, la aplicación web actualizaría un tabla, y la aplicación de escritorio actualizaría por ejemplo un listbox.

Con el patrón Observador, se eliminan también esperas activas, realizando las notificaciones por interrupción ya que las llamadas se hacen mediante callbacks.

Para esta entrada no he preparado código. Aún así en el enlace de Wikipedia que he añadido anteriormente podréis ver ejemplos.

Ante diversas dudas que podáis tener, no dudéis en dejar vuestros comentarios.

Saludos y hasta la próxima.

domingo, 16 de enero de 2011

OBJETIVO CUMPLIDO!!!!!!!

Costó mucho, pero al final lo conseguí. Acabé los 20 km y por debajo (por poco, pero por debajo) de 2:10:00, exactamente 2:09:23.1.  La verdad que salio todo casi clavado a como lo quería. No estaba, a priori, para ir a menos de 6:30 el km en un 20, pero conseguí ir entre 6:20 y 6:30 casi todos los kilómetros. Excepto el primero que salió a 6:10 y los tres últimos que intuyo  que estuve cerca de 7:00 (y digo intuyo porque ya la cabeza no llevaba para hacer cálculos) los demás el ritmo fue muy parejo.

¿El puesto? El último, por supuesto. Pero ayer mi competición no era por obtener un buen puesto, si no por superarme a mí mismo, y hacerme creer que podía ser capaz de hacer un 20 después de tanto tiempo alejado del atletismo. Aún así tuve una pequeña recompensa. Estábamos cuatro atletas de Castilla La Mancha, y dos eran promesas. Y dio la casualidad de que separaron las clasificaciones de promesas y senior del Campeonato Regional. Así que por este año soy el Subcampeón de Castilla La Mancha Senior de Marcha Atlética en Ruta. Jejejeje. Parece que no tiene mérito, ya que llegué el último, pero había que apretarse 20 km y aguantar las agujetas que estoy sufriendo hoy domingo y que sufriré mañana lunes.

Del resto de la carrera comentar la ya esperada victoria de José Ignacio Díaz Velázquez que a medio gas (o al menos eso creo yo), hizo una gran marca de 1:29:51 (solamente me sacó una diferencia 39 minutos y 28 segundos y seis vueltas dobladas - adviértase ironía -). Bromas aparte,  fue un honor tenerlo en la carrera y por supuesto compartir podio con él.

En categoría senior femenina una sola atleta, Samantha Mulloni. Pero un carrerón haciendo 1:45:40. 

Para el año que viene animo a todos los marchadores a venir a competir a Campo de Criptana. Se ha visto que podemos organizar una buena carrera de marcha, e incluso de organizar un 20. 

También agradecer a nuestros amigos de Cuntis su presencia un año más. Llevan ya años siendo el alma de la prueba y no me imagino un año la prueba de marcha sin ellos. De nuevo gracias.

Además agradecer a todo el público, atletas y gente que pasaba por allí el ánimo que me dieron. Mira que tiene que ser aburrido estar esperando a que un tío solo acabe una prueba de 20 km. Y allí estuvieron dándome las fuerzas que en los últimos kilómetros ya me iban faltando. De hecho llegando a meta se me llegaron a poner los pelos de punta.

Gracias también a la gente del Club de Atletismo por su apoyo, y a Nacho mi entrenador que en cada vuelta estuvo ahí apoyando.

En los siguientes enlaces podréis ver los enlaces con fotos de la prueba. El primer enlace son fotos sacadas por mi hermano, el segundo enlace es gentileza de AEMA, que sigue apoyando a la marcha atlética y a todos los marchadores allá adonde va.



Foto realizada por Luis Maroto (AEMA)

viernes, 14 de enero de 2011

PREVIA MARCHA ATLÉTICA VILLA DE LOS MOLINOS 2011

Buenas a todos mis lectores. Estamos a un día de la disputa del regional de marcha y ya estoy nervioso. Hace ya 5 años que no  corro un 20 y mañana vuelvo a ello. ¿Expectativas? Pues acabar, cueste lo que cueste (dentro de los límites de la cordura) y tarde lo que tarde. Siento penita por los pobres organizadores que van a tener que estar esperando hasta que acabe y es que previsiblemente  me vaya más allá de las dos horas (sobre las 2h 10 min).

No pasa nada, lo tengo asumido y para mí el mayor premio será finalizar la carrera. Será un paso hacia adelante y un aliciente para hacer mejores marcas en el futuro.

Además viendo los atletas inscritos (faclm.com/doc/inscripciones/11/marcha_crip.xls). Veo que me voy a quedar más solo que la una los últimos 5 km. Y es que este año ha subido un poquito el nivel de la prueba, gracias a la presencia de dos grandes marchadores a nivel internacional. Uno de ellos es habitual en las convocatorias de la Selección Española para Mundiales y Europeos, hablo de José Ignacio Díaz Velázquez. El otro es un antiguo medallista de bronce europeo en Stuttgart en 1986 y uno de los mejores marchadores españoles de siempre, me refiero a Miguel Ángel Prieto. 

La verdad que el añadir la prueba de 20 km ha podido a hacer que muchos atletas se echen para atrás. Sin embargo, creo que ha servido para añadir un punto de nivel a la prueba.

Pase lo que pase os daré la oportuna crónica mañana al finalizar la carrera.

Un saludo y hasta otra.

P.D.: No he hablado sobre la San Silvestre, pero es que no he tenido tiempo. En próximas entradas haré una breve crónica.


viernes, 31 de diciembre de 2010

Feliz 2011!!!!!!!!!!

Pues al igual que felicité la Navidad hace una semana, aprovecho para felicitar el Año Nuevo. Podría haber hecho las dos cosas en la misma entrada, pero oye, cada cosa en su momento.

Otro año que se va y otro año que viene. Cosas que dejas atrás y cosas que esperas que lleguen. En lo que a mí respecta este año, y más concretamente  en marzo, se me acaba el chollo del Carnet Joven. ¿Qué quiere decir eso? Pues que ya hago 26 años, que en términos matemáticos si lo divides entre 10 y redondeas a entero te queda 3, y en términos de Ingenieros de la Calle, quiere decir que me acerco peligrosamente a los 30 años. ¡¡Vaya Tela!! Pero sin complejo ninguno. Que yo siempre he dicho que tengo que llegar a los 100 años y a partir de entonces me consideraré viejo. Luego la vida dirá.

¿Qué espero del 2011? Pues lo de siempre salud, dinero y amor, como rezaba la mítica canción de los años 60 de Cristina y los Stop. Más detalladamente, seguir creciendo como persona, aprender cada día un poquito más y que la gente que me quiere siga haciéndolo.

A nivel deportivo, pues seguir disfrutando del deporte, intentar coger la forma de antaño y a corto plazo poder con esos 20 Km Marcha.

Para todos vosotros únicamente deseo lo mejor que puedo desear para mí. Salud que no faltE nunca. Mientras haya salud se puede hacer el resto de cosas. Trabajo, sobre todo en estos tiempos de crisis. Y amor mucho amor, que es lo que más falta hace en este mundo lleno de guerra, odio y rencor.

Así que lo dicho ¡¡¡¡ FELIZ 2011!!!!.... y cuidado con lo que bebemos y la cantidad, que una noche de fiesta tiene que ser eso, de fiesta.

viernes, 24 de diciembre de 2010

Feliz Navidad !!!!!!!!!!!!!

Aprovecho que este año tengo mi espacio en la red para felicitar la Navidad a todo el mundo y en especial a atletas, sobre todo marchadores, e informáticos.

No para todos la Navidad significa lo mismo. Para unos es una época de amor, para otros es sólo consumismo, para algunos simplemente vacaciones e incluso hay gente para la que la Navidad significa tristeza y nostalgia.

A mí la verdad que ha significado un poco de todo. Aún así es un momento para aprovechar estar con la familia y si puede ser con el resto de seres queridos y para recordar que la vida hay que vivirla con ilusión y con alegría, aunque muchas veces tengamos todo de frente y hay que luchar para no venirnos abajo. Si obramos bien siempre tendremos nuestra recompensa.

Un saludo y FELIZ NAVIDAD!!!!!!!

viernes, 10 de diciembre de 2010

Marcha Atlética Espada Toledana 2010

Hola a todos!!! Pues vuelvo con fuerza para añadir al blog mi primera entrada sobre atletismo. Y como no, la primera va a ser de ....(tambores).... MARCHA ATLÉTICA!!! Qué para algo soy Franjo Marchador, jejeje. 

Pues el tema a tratar es mi participación en la marcha atlética Espada Toledana que se celebró el pasado sábado 27 de noviembre. La verdad que en una tarde bastante fresquita, sobre todo a la hora de la competición, tengo que decir que el resultado fue positivo. 30:02, todavía lejos del 25:47 que hice en 2005 y del 24:51 que acredito como mejor marca en 5 km marcha. Pero claro, esos tiempos los hacía con 10 kilos menos que ahora y antes de estar tres años parado para acabar la carrera.

Centrándonos en las condiciones actuales, hay que decir que la marca muestra que estoy en buena progresión para volver a hacer esas marcas (o por lo menos acercarme). Si comparamos con la marca hecha en esta misma carrera el año pasado ( mi primera carrera después de los tres años de parón) he mejorado 1:05 y de no ser porque fui solo desde casi el km 2, podría haber bajado de 30 minutos. Luego tuve un fallo, y es que no miré en ningún momento el cronómetro, que me hubiera dado referencias y con las que hubiera dado el todo por el todo. ¡Qué pardillo!  Parece mentira que lleve 10 años haciendo marcha atlética y 12 haciendo atletismo. De todas maneras quedé contento con la carrera.

Siguiendo con la marcha, una buena noticia. Y es que a pesar de las malas pretensiones de algún que otro responsable del deporte en Campo de Criptana, este año y como se viene haciendo desde hace 22 ediciones y desde 2003 en un circuito urbano homologado, se volverá a celebrar la Marcha Atlética Villa de los Molinos. Este año vuelve a ser también el regional de Castilla La Mancha. Y como novedad, la categoría absoluta se va a disputar sobre la distancia de 20 km. Buen aliciente para la gente de fuera que quiera venir a hacer marca para el nacional de Benicasim y sobre todo para la prueba que creo que le dará algo más de prestigio (prestigio que hemos estado a punto de perder gracias ciertos personajes que parece que quieren cargarse el atletismo en Criptana).

También indicar que la distancia de 20 km es un aliciente para mí. Otra cosa es que consiga acabar la prueba, porque llevo desde el Campeonato de España de León en 2006 sin hacer un 20 y este año aunque estoy entrenando, no estoy haciendo muchos kilómetros. Pero todo se intentará y si tardo 2h 20 o 2h 30, pues bueno será porque habré acabado, y será otro puntito a mi progresión para volver a ser el que era.

Ya os iré contando más cosas sobre la prueba. Mientras tanto os dejo una foto de mi participación en la prueba de Toledo que ha sido cedida por Luis Maroto de aemarcha, al cual le agradezco no solo la foto, si no que también junto al resto de miembros de aemarcha sigan promocionando esta bella especialidad. (Yo soy el de blanco, rojo y negro, para el que no me conozca).


sábado, 27 de noviembre de 2010

Un Agente CRUD para el uso de Hibernate

Buenas de nuevo. Después de tanto tiempo vuelvo a incluir una nueva entrada. Perdón a los que habéis estado esperando tanto tiempo (según mis cuentas solo mi amigo y compañero Longinos), pero ya tengo preparadas una serie de entradas nuevas con las que ir entreteniéndoos. Adelanto que alguna de ellas no será de informática, para los que esperan ansiosos (todavía solo mi novia, jejeje) que les hable de otros temas.

La presente entrada trata sobre Hibernate. Para los que no conozcan lo que es Hibernate, comentar brevemente que es una tecnología de mapeo objeto-relacional implementada para Java. También existe una versión para .NET llamada NHibernate.

En resumidas cuentas, Hibernate es una herramienta que nos permite abstraer la capa de Persistencia de nuestros programas y aplicaciones, de manera que por ejemplo, para guardar la información de un determinado objeto en base de datos no tenemos primero que serializar el objeto en una consulta SQL y después ejecutarla, si no que directamente "guardas el objeto en la base de datos".


Esto se realiza a groso modo relacionando las tablas de la base de datos con las clases persistentes del programa mediante ficheros XML.

Hibernate es muchísimo más complejo de lo que he explicado de manera somera en los anteriores párrafos. Hay por la Web muchos tutoriales sobre esta tecnología que os pueden dar más información teórica. Yo como chico práctico que soy, voy a ir a eso, a enseñaros cosas prácticas que podáis utilizar directamente en vuestros programas.

Por lo tanto, lo primero sobre Hibernate que voy a añadir va a ser un Agente CRUD (Create, Read, Update, Delete), con el cual vais a poder abstraer en una sola clase el acceso a una base de datos utilizando Hibernate.

Este agente está hecho a partir de la clase HibernateUtil, que se crea automáticamente en muchos entornos de desarrollo, y el objetivo es crear las cuatros funciones  básicas de acceso a una base de datos, como son Insertar, Leer, Actualizar y Borrar.

Los que leísteis mi entrada anterior (y los más avanzados en conocimientos de Ingeniería del Software), comprobareis que esta clase implementa el patrón Singleton, lógico, ya que no vamos a querer por seguridad que dos instancias accedan a la vez a la base de datos.

Aquí os muestro el código.
import java.util.ArrayList;
import java.util.List;

import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.hibernate.collection.PersistentSet;



/**
 * Clase Agente que permite el acceso a una base de datos relacional utilizando Hibernate.
 * Incluye las  cuatro funciones básicas de acceso a una base de datos como son Insertar,
 * Consultar, Editar y Borrar.
 * Implementa el patrón Singletón de manera que solo haya una instancia, y no haya conflictos
 * en el acceso a la BBDD.
 * @author Franjo
 *
 */
public class Agente {
 private SessionFactory sessionFactory;
 protected static Agente instancia;
 
 public static Agente getAgente() {
  if (instancia==null) 
   instancia=new Agente();
  
  return instancia;
 }
 
 /**
  * Constructor que configura hibernate para que la comunicación sea correcta
  */
    protected Agente(){
        try {
            sessionFactory = new Configuration().configure().buildSessionFactory();            
        } catch (HibernateException e) {
            e.printStackTrace();
        }
    }
    
    
    /**
     * El método insertar, añade el objeto que tiene por parámetros mediante el método
     * save de hibernate
     * @param obj, el objeto que se desea insertar
     */
    public void insertar(Object obj) {
        try {
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            session.save(obj);
            tx.commit();
            session.close();
        } catch (HibernateException e) {
            throw new RuntimeException(e.getMessage());
        }
    }
    
    /**
     * El método select, realiza la consulta que hay por parámetros como String mediante
     * el método find de hibernate 
     * @param sql, es la sentencia SQL que debe ejecutar el agente
     * @return Lista de objetos que da como resultado la consulta
     */
    public List select(String sql) {
        try {
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            List result = session.find(sql);
            tx.commit();
            session.close();
            return result;
        } catch (HibernateException e) {
            throw new RuntimeException(e.getMessage());
        }
    }
    /**
     * El método editar, modifica el objeto que tiene por parámetros mediante el método
     * update de hibernate
     * @param obj, el objeto que se desea editar
     */
    public void editar(Object obj) {
        try {
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            session.update(obj);
            tx.commit();
            session.close();
        } catch (HibernateException e) {
            throw new RuntimeException(e.getMessage());
        }
    }
    
    
    /**
     * El método borrar, elimina el objeto que tiene por parámetros mediante el método
     * delete de hibernate
     * @param obj, el objeto que se desea eliminar
     */
    public void borrar(Object obj) {
        try {
            Session session = sessionFactory.openSession();
            Transaction tx = session.beginTransaction();
            session.delete(obj);
            tx.commit();
            session.close();
        } catch (HibernateException e) {
            throw new RuntimeException(e.getMessage());
        }
    }

}
  
Espero que os sirva esta clase para vuestras prácticas (pensando en los pobres estudiantes de Ingeniería Informática, como yo era antes de acabar la carrera). Si os sirve para sacar buena nota gracias al código que  os pongo lo único que espero es que insertéis un comentario en el blog para que os pueda felicitar, jejeje.

En futuras entradas tengo previsto seguir hablando sobre Hibernate. Para la próxima entrada sobre Hibernate estoy preparando una mini-aplicación sobre el uso de Hibernate con bases de datos SQLite

Así que un saludo, y hasta la próxima entrada que será bastante pronto. Ciaoooooo!!!!!!!!

miércoles, 10 de noviembre de 2010

El patrón Singleton

Buenas de nuevo estimados amigos!!!!!! Una vez creado el blog y habiendo hecho la entrada  de bienvenida, ha llegado el momento de editar la primera entrada sobre informática (comprendo que a mis queridos lectores que no les guste la informática les puede resultar aburrida, pero oye, que un poco de culturilla general no viene mal a nadie, ya se hablará de otros temas).

El tema de esta entrada va a ser sobre un patrón de diseño en programación orientada a objetos llamado Singleton. 

Por motivos de seguridad o simplemente de diseño, en muchas ocasiones, se hace necesario tener una sola instancia de una determinada clase, instancia la cual será utilizada por el resto de las clases. Ejemplos de estas clases pueden ser un Agente de base de datos o una clase Proxy (otro patrón de diseño que ya explicaré en su momento) que acceda a otro sistema externo. Esta problemática la resuelve el patrón Singleton. En el siguiente código fuente muestro la cabecera de una clase Singleton en C++.

class Singleton
{
 protected:
  static Singleton * instancia;
  Singleton();
 public:
  static Singleton * getInstancia();
  void Metodo1();
  void Metodo2();

};

Se pueden ver una serie de particularidades que diferencian a este tipo de clases. 
  1. La primera es que el constructor es protegido. Lógico puesto que lo que se pretende es que ninguna otra clase pueda crear instancias de la clase Singleton. 
  2. La segunda es que existe un puntero a una instancia de la misma clase (instancia) que será la única que se pueda utilizar en toda la aplicación.
  3. La tercera es que existe un método de acceso a esa instancia (getInstancia). Gracias a este método se podrá acceder a los otros métodos públicos de la clase. 
En el siguiente código se puede ver el fichero de implementación de la clase Singleton:
#include "Singleton.h"

/* INICIALMENTE LA INSTANCIA ES NULA PARA NO OCUPAR ESPACIO EN MEMORIA 
 SI NO FUERA ACCEDIDA EN TODA LA EJECUCIÓN DE MEMORIA */
Singleton * Singleton::instancia = NULL;

/* CONSTRUCTOR DE LA CLASE */
Singleton::Singleton()
{
 
}

/* MÉTODO A TRAVES DEL CUAL SE ACCEDERÁ A LA ÚNICA INSTANCIA */
Singleton * Singleton::getInstancia()
{
 if(this->instancia == NULL)
 {
  this->instancia = new Singleton();
 }
 return this->instancia;
}

/* MÉTODO 1 AL CUAL SOLO SE PODRÁ ACCEDER POR LA ÚNICA INSTANCIA */
void Singleton::Metodo1()
{
 printf("Estamos en metodo 1");
}

/* MÉTODO 2 AL CUAL SOLO SE PODRÁ ACCEDER POR LA ÚNICA INSTANCIA */
void Singleton::Metodo2()
{
 printf("Estamos en metodo 2");
}
  
Vemos que la variable instancia se inicializa por defecto a NULL, para que en el caso de que no se haga uso de la clase en toda la aplicación, no ocupe lugar en memoria principal.

Cuando se llama la primera vez al método getInstancia se reserva memoria a la instancia de la clase y se retorna el puntero. Las siguientes veces que se llame al método simplemente se retornará dicho puntero de la instancia recién creada.

A continuación, añado un fragmento de como  se llamaría a esta clase para acceder a sus funciones o métodos:

#include "Singleton.h"

int main()
{
 /* LLAMADA DESDE LA ÚNICA INSTANCIA DEL SINGLETON A SU MÉTODO 1 */
 Singleton::getInstancia()->Metodo1();
 /* LLAMADA DESDE LA ÚNICA INSTANCIA DEL SINGLETON A SU MÉTODO 2 */
 Singleton::getInstancia()->Metodo2();

 return 0;
}

Por último, dejo un ejemplo de como se implementaría la misma clase en java.

public class Singleton{

 /* INSTANCIA DE ACCESO A LA CLASE */
 protected static Singleton instancia;
 
 /* CONSTRUCTOR DE LA CLASE */
    protected Singleton(){

    }
 
 /* MÉTODO DE ACCESO A LA INSTANCIA */
 public static Singleton getSingleton() {
  if (instancia==null) 
   instancia = new Singleton();
  
  return instancia;
 }
 /**********************/
 /* MÉTODOS DE LA CLASE */
 /**********************/
 public void Metodo1(){
  System.out.println("Estamos en Método 1");
 }
 
 public void Metodo2(){
  System.out.println("Estamos en Método 2");
 }
}


Con este último fragmento finalizo la entrada sobre el patrón Singleton, esperando que pueda ser de ayuda. 
Como ser humano que soy y por lo tanto bastante imperfecto (todo sea dicho), os invito a que cualquier fallo que encontréis o cualquier apunte que queráis añadir lo hagáis público. Por eso os invito a ir dejando vuestros comentarios.

Un saludo y hasta la próxima.


sábado, 6 de noviembre de 2010

A sus puestos, listos, ya!!!!!!!!!!!!!

Era inminente y ya ha llegado. Por fin me he unido a la moda de tener un blog. Hoy si no tienes blog, tuenti, facebook y  twitter no existes (no es que lo diga yo, es que se dice por ahí). Puesto que ya tengo tuenti y ahora tengo blog, puedo considerar que "medio existo". Y la verdad que no estoy muy orgulloso de mi dirección de tuenti, por lo que habría que decir que tengo un "cuarto y mitad de existencia". (Sí, es un chiste muy malo, pero ya advierto que va a haber muchos así, disculpen las molestias :-) ).

De lo que si espero estar orgulloso es de este recién creado blog. El nombre que he elegido para la URL tiene que ver en parte con el contenido que se podrá ver en él. Unos y ceros por que soy informático, ingeniero informático para ser más exacto, es decir, de los que saben algo más que instalar programas y grabar CDs (a ver si se entera un día el mundo de las competencias de un ingeniero informático). Quiero por lo tanto, utilizar este blog para ofrecer a quien le pueda servir de ayuda, mis conocimientos sobre informática, sean de programación, analisis y diseño software, nuevas tecnologías o cualquier otro tema relacionado. También iré colgando prácticas mías de la universidad que considere que puedan servir a la gente.

Lo de metros y millas viene por mi afición al atletismo. Y como fondista y marchador que soy, el objetivo es siempre devorar metros para llegar a meta (o a algún sitio en concreto). Es por ello que en este blog también se tratarán temas relacionados con el atletismo.

Eso si, como no solo de informática y atletismo vivo, también aprovecharé este blog para hablar de diferentes temas e inquietudes que pudiera tener y que muchas veces siento la necesidad de compartir. También daré mis opiniones (vivimos en un país libre) sobre asuntos que pudieran generar debate o temas de actualidad. Eso sí, siempre desde el respeto y sin faltar a nadie.

Antes de acabar la entrada, solo me queda invitar a aquel que lea este blog a introducir sus comentarios y a opinar en todas las entradas que vaya registrando.

Así que BIENVENIDOS y hasta la próxima entrada!!!!!!!!!!