RSS
people

Curso de programación en java de Abraham Otero-JavaHispano

Ya sé que muchos de los lectores del blog son usuarios avanzados en esto de la programación con Java, sin embargo no podía dejar pasar por alto este excelente curso de programación con el lenguaje de Sun tan bueno y sencillo de comprender que han publicado enel sitio de JavaHispano, más especificamente Abraham Otero, uno de sus mayores colaboradores y a quien escuchamos frecuentemente en los podcast de la comunidad.

A pesar de ser un manual que contiene aspectos muy básicos como son el control de flujo y uso de bucles, también tiene apuntes sobre enumeraciones por ejemplo, que aunque ya lleva sus añitos, no nos digamos mentiras, pocos las saben utilizar y aún, muy pocos lo saben utilizar bien.

Ver el manual>>

No Comments |

Comparación de frameworks Javascript

Este es uno de los temas que más me ha preocupado últimamente, por cual librería o framework javascript inclinarme al iniciar un nuevo proyecto.

Aunque como ya todos se habrán dado cuenta, soy un fan de GWT, es muy sencillo y me ha dado muy buenos resultados, sin embargo, no he visto que se integre muy bien con lenguajes no java, y si, ya sé que muchos me dirán pero existe un módulo para soportar JSON y listo; pero bueno, esto no termina de reemplazar el mecanismo RPC que tiene con servlets java.

El día de hoy me encontré con un excelente post de maestrosdelweb, en el que David Taváres nos hace un resumén muy completo sobre direfentes opciones que tenemos para agregar el dinamismo de nuestras aplicaciones web, en este incluye: Dojo, ExtJS, jQuery, Mootools, Prototype y Scriptaculous, todos con puntos a favor y en contra según nuestras necesidades y que puede darnos ese empujoncito inicial para decidir cual framework utilizar.

Comparación de frameworks Javascript en Maestros del Web>>

No Comments |

Trabajando con Google Maps desde GWT

Hace algún tiempo tenía pendiente por publicar un artículo para dar a conocer la existencia de las API’s de Google para GWT, en esta ocasión voy a aprovechar para hablar más concretamente sobre GWT-MAPS, el API para manipular los mapas de Google Maps desde nuestras aplicaciones hechas con GWT.

Primero que todo, tendremos que descargar la librería que nos permitirá de forma sencilla incluir mapas de google en nuestra aplicación, esto lo podemos hacer desde acá>>. Es bueno recordar que el API de Google maps nos permite trabajar de forma local sin ningún problema, sin embargo, si lo que queremos es publicar nuestra aplicación en internet, deberemos registrarnos con nuestra cuenta de Google para obetener nuestra clave personal, registrando el dominio en el que vamos a subir nuestra aplicación, esto lo podemos hacer desde aquí>>

Pensaba publicar una pequeña guía sobre como comenzar a utilizar este módulo, pero me parece que es bastante sencillo de entender la documentación disponible en la página del mismo Google, lo ue si he querido hacer, es crear un proyecto de demostración y he publicado el resultado en una página del blog.

Además he subido el código fuente del proyecto (como siempre, un proyecto de eclipse creado con el plugin de google para Eclipse),  por si a alguien le puede interesar, la aplicación es bastante básica y lo unico que hace es mostrar el mapa de google, posicionado en la cuidad de Bucaramanga (la ciudad donde vivo) y un marcador que muestra una ventana emergente cuando se da click sobre él, como lo podemos ver en la imagen.

GWT Api for Google Maps>>

Donde está sysdent??

Descargar el código fuente del ejemplo>>

No Comments |

Feliz cumpleaños a mí…

Esta es una entrada corta, pero no por esto poco significativa. Para todos los lectores de sysdent, les cuento que el dia Sabado 24 de Octubre cumplió su primer año, ha sido un año muy enriquecedor para mí, en el que he aprendido muchísimas cosas nuevas y donde he logrado hacer nuevos amigos en la red.

Aún recuerdo aquella noche de octubre del 2008, cuando luego de varios intentos fallidos por tener un blog, decidí darme una nueva oportunidad con sysdent, y para fortuna mía, hoy un año y dos días después aún estoy en pie :D

Aprovecho para disculparme por el poco contenido que he podido agregar al blog, sin embargo la carga laboral y algunos proyectos personales han copado absolutamente todo mi tiempo,aunque ya tengo algún material para publicar no será sino hasta el fin de semana que lo haga.

Feliz primer año sysdent y que nos acompañe por mucho más tiempo.

2 Comments |

GWT Glass Pane – El efecto LightBox en Gwt

Muchas veces he usado el objeto DialogBox de GWT para mostrar mensajes emergentes en vez de los intrusivos alerts, sin embargo siempre me había parecido que estos a pesar de tener una buena estética, no dan la impresión que lo que está detrás de él está congelado, entrando así en un problema de usabilidad en nuestras aplicaciones. Hoy, sin necesidad de estarlo buscando, me encontré con GWT Glass Pane, un composite que además se encarga de oscurecer el fondo de nuestra página al mejor estilo de LightBox.

En el sitio además explican como implementarlo de forma muy sencilla en nuestros proyectos, sin necesidad de tener que agregar un nuevo módulo a él, sino creando una clase nueva.

Pruebalo>>

No Comments | Tags: , , , , , , ,

Concéntrese – Juego hecho en GWT

Ya hace algún tiempo estoy trabajando con GWT para mis proyectos web, muy contento hasta el momento.

El mes pasado, jugamos al amigo secreto aquí en la empresa donde trabajo, como se premiaría a la mejor pista, pues me dí a la tarea de hacer un juego sencillo con esta tecnología y me fué bastante bien, no demoré mucho tiempo y el resultado me dejó muy satisfecho a pesar de no ser algo muy elaborado.

El juego es el clásico concéntrese, que consiste en encontrar parejas de una matriz, las cuales están ocultas, como no quería hacerlo tan fácil para mi amiga, decidí ponerle un tiempo límite tras el cual se reiniciará el juego teniendo que volver a comenzar. Como la idea no era colocar un imposible antes de evniarselo a mi amiga lo validé con varios compañeros al interior y el resultado fué que solo uno de ellos lo logró terminar.

El día de hoy, ya terminada la actividad, me puedo dar el lujo de compartirlo con todos ustedes sin miedo a que me vayan a descubrir xD. Pueden probarlo dando click en la imagen.

Click para probar el juego

Click para probar el juego

De antemano les agradezco a quienes nos quieran compartir sus tiempos, me envien ua captura de pantalla a sysdent.net23[arroba]gmail[punto]com, con gusto los iré publicando aquí.

El código fuente lo pueden bajar de acá>>, está hecho en eclipse con el plugin de google.

Probar el juego>>

Descarga el código fuente>>

Resultados:

  1. Martha Valderrama (Intentos: 1, Segundos: 126)
  2. Julian Ferro (Intentos:  1, Segundos: 127)
  3. Eslendy Espinel (Intentos:  1, Segundos: 132)
  4. Alexander Rios (Intentos: 1…,  Segundos: 149)
6 Comments |

Los mejores 18 videojuegos para ubuntu disponibles en synaptic

Últimamente  he estado muy interesado en la cuestión de los juegos en ubuntu, en lo personal debido a algunos pequeños torneos que estamos organizando, por ahora al interior de nuestra empresa, hasta ahora hemos probado Urban Terror, muy contentos hasta el momento.

Ahora, gracias a Linux Juegos me entero sobre nuevos juegos que además están disponibles desde el manejador de paquetes de Ubuntu, esto los hace mucho más atractivos para mí, asi que he decidido publicarlos aquí para información de todos. Los juegos están divididos en categorías (Arcade, Real, FPS y más), y como más vale una imagen que cien palabras, más vale un video que cien imagenes xD…

Imagen de previsualización de YouTube
No Comments |

Liberar memoria RAM chache en ubuntu

Según Wikipedia, la memoria Cache es:

Un cache es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. Hay dos tipos de cache frecuentemente usados en las computadoras personales: memoria cache y cache de disco. Una memoria cache, llamada también a veces almacenamiento cache o RAM cache, es una parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La memoria cache es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta DRAM.

Bueno, basta de parloteos y vamos al contenido de la entrada, muchas veces me pregunté por que siempre que tenía el applet del monitor del sistema en mi ubuntu, me reportaba 35% de memoria de programas y el resto usada como cache, tal como lo podemos ver en la siguiente imagen:

Bueno, seguido a este interrogante, siempre venía, cómo deshabilito esta memoria cache? o por lo menos, cómo libero esas memoria en un caso dado? así que hoy decidí salir a pasear un poco por los foros he encontrado el siguiente procedimiento  para liberar la memoria en cualquier comento.

  • Abrimos una terminal.
  • Nos volvemos super-usuario:
    sudo su
  • Ejecutamos el comando para liberar la memoria:
    echo 3 > /proc/sys/vm/drop_caches
  • Listo.

Aunque luego de leer la definición de memoria cache en wikipedia, lo pensaría dos veces antes de deshabilitarla, siempre está la opción.

Gracias: UbuntuSur>>

1 Comment |

Precargando una página web completa

Muchas veces se ha hablado en la red sobre “pluguines” para precargar las imagenes de nuestras páginas web, bueno pues quién se iba a imaginar que se podría precargar la página web completa? pues eso es lo que nos ofrece QueryLoader, un plugin para JQuery que nos permite precargar nuestras páginas web completas, además de mostrarnos una vistosa barra de cargue mientras se realiza el preoceso.

Lo puedes ver en acción aquí, en lo personal me ha gustado mucho, es una buena opción para nos mostrar nuestras página deformadas por que faltan cargar nuestras imagenes o estilos.

QueryLoader>>

QueryLoader en acción>>

Gracias a WebAppers>>

No Comments |

Escapando las comillas en oracle – Execute inmmediate

Hola de nuevo, el día de ayer me encontré con una situación bastante particular y como siempre sucede cuando no hay alguien a la mano para que colabore con el tema, me ha tocado ponerme a buscar un poco en la red, la cosa es tan sencilla como que necesité hacer un insert en una base de datos Oracle, pero no de la forma tradicional sino haciendo uso del método execute immediate.

He encontrado una sencilla forma, aunque solo funciona en Oracle 10 y superior, pero es una buena solución de rapidez.

Supongamos que necesitamos ejecutar una instrucción insert como la siguiente:

insert into empleados (id, name) values(1,‘Sysdent’);

Con un execute immediate nos quedaría así:

execute immediate ‘insert into empleados (id, name) values(1,’Sysdent‘)’;

Como podemos ver, la sentencia se nos vuelve inválida al encerrarla entre las comillas del execute immediate, debido a que la sentencia del comando debe ir entre las mismas comillas.

Una opción es poner las comillas (’) usando la función chr de oracle, que toma el código ascii y nos retorna el correspondiente caracter, así:

execute immediate ‘insert into empleados (id, name) values(1,’||chr(39)||Sysdent||chr(39)||)’;

Sin embargo esta es una solución un poco engorrosa, otra posible solución sería escapar las cadenas con la notación de oracle 10g, nos quedaría así:

execute immediate q’{insert into empleados (id, name) values(1,’Sysdent‘)}’;

Cuya sintaxis es:

q’[QUOTE_CHAR]Text[QUOTE_CHAR]‘

Donde QUOTE_CHAR es el carácter que usaremos para encerrar las cadenas de texto en nuestro caso fueron las llaves {}. Otro punto importante es que no usemos una carácter que esté contenido dentro de nuestras cadenas.

Fuente: Oracle FAQS>>

No Comments |