INCLUDE_DATA
Hugo me paso este link
http://www.slideshare.net/gal.marder/whats-expected-in-java-7-1116123
Varias cosas están interesantes..
Estas son las instrucciones del soporte tecnico para destrabar el motor de disparo ….
Anoche me podrí de que mis clases tuvieran como 100 líneas de código en setters y getters, y ahí, en algún lado inencontrable, un método importante.
Así que no paré, hasta encontrar lo que buscaba: soporte para que los getters y setters se hagan con annotations.
Tiene dos formas de usarlo; poniendo @Data a la clase, y crea los getter y setter para todos los atributos, o poniendo @Setter o @Getter a cada atributo.
Si querés un intermedio, podés usar @Data y poner @Setter(AccesType.NONE) para que no cree para algún determinado atributo.
Además, con un plugin que se instala en como 3 clicks, aparecen los metodos meta-generados en el auto-compeltadar (ctrl+espacio) de eclipse, y en outline.
Adicionalmente, el plugin tiene annotations para verificar que se cierren conexiones al terminar un método, auto-generación de constructores, toString, etc.
Sitio oficial: http://projectlombok.org/index.html
Descargar: http://code.google.com/p/projectlombok/downloads/list
Ejemplos…
Leer el resto de la entrada »
Una de las sesiones que presencie en el CodeCamp 2009 (http://www.codecamp.com.ar/) que se hizo a fin del mes de septiembre fue sobre patrones UX (User Experience).
Son patrones exclusivos de la parte visual de las aplicaciones para que las mismas otorguen una mejor experiencia al usuario. Gente de la empresa infragistics presento algunos patrones basandose en ejemplos de la web.
Ademas esta gente tienen armado una bibloteca de patrones UX con explicacion y ejemplos muy buenos.
Visiten: http://quince.infragistics.com/
Les paso un paper que me recomendo mi amigo Cristian Perfumo, geek que anda por Barcelona.
http://people.redhat.com/drepper/cpumemory.pdf
Un abrazo.
Para quien no conoce el concepto de “Bucle Infinito”, aquí queda claro lo que significa cuando se dice que un programa “entró en ciclo infinito”.
El director le dice a la secretaria:
- Vamos a viajar al exterior por una
semana, para un Seminario. Haga los preparativos del
viaje..
La secretaria llamada al marido:
- Voy a viajar al exterior con el director por
una semana. Cuídate, querido.
El marido llama a la amante:
- Mi mujer va a viajar al exterior por una semana, vamos a pasarnos
esa semana juntos, mi
reina…
La amante llama al niño a quien le da clases
particulares:
- Tengo mucho trabajo la próxima semana. No tienes que venir
a clases.
El niño llama a su abuelo:
- Abuelo, la próxima semana no tengo clases, mi
profesora estará
ocupada. ¡Vamos a pasar la semana juntos!
El abuelo
(que es el director de esta historia) llama a la
secretaria:
- Voy a pasar la próxima semana con mi nieto, por lo que no
voy a participar en el
Seminario. Puede cancelar el viaje.
La secretaria llama al marido:
-
El director de la empresa cambió de idea y acaba de
cancelar el viaje.
El marido llama a la amante:
- No podremos pasar la próxima semana juntos, el
viaje de mi mujer fue cancelado.
La amante llama al niño de las clases
particulares:
- Cambio de planes: esta semana vamos a tener clases como
siempre.
El niño llama al abuelo:
- Abuelo, mi profesora me dijo que
esta semana tengo clases.
Discúlpame, no voy a poder hacerte
compañía.
El abuelo llama a la secretaria:> – Mi nieto me acaba de
decir que no va a poder estar conmigo esta semana..
Continúe con los
preparativos del viaje al seminario.
En muchas ocasiones nos encontramos con la necesidad de encriptar una cadena o verificar la integridad de un archivo transmitido desde un punto a otro.
Una de las alternativas es utilizar el algoritmo MD5 (http://es.wikipedia.org/wiki/Algoritmo_MD5).
Para utilizarlo en nuestro querido JAVA tenemos varias maneras, una de ellas la presento a continuacion:
public String getMD5(String passwd){
byte[] textBytes = passwd.getBytes();
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
md.update(textBytes);
byte[] codigo = md.digest();
md5 = this.convertToHex(md5sum);
}
/* Convierta a Hexa */
private String convertToHex(byte[] data) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int halfbyte = (data[i] >>> 4) & 0x0F;
int two_halfs = 0;
do {
if ((0 <= halfbyte) && (halfbyte <= 9))
buf.append((char) (’0′ + halfbyte));
else
buf.append((char) (‘a’ + (halfbyte - 10)));
halfbyte = data[i] & 0x0F;
} while(two_halfs++ < 1);
}
return buf.toString();
/* Calcular el MD5 de un archivo*/
}
public String getMD5(File archivo) {
byte[] textBytes = new byte[10000];
MessageDigest md = null;
int read = 0;
String md5 = null;
try {
InputStream is = new FileInputStream(archivo);
md = MessageDigest.getInstance("MD5");
while ((read = is.read(textBytes)) > 0) {
md.update(textBytes, 0, read);
}
is.close();
byte[] md5sum = md.digest();
md5 = this.convertToHex(md5sum);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return md5;
}
Hace unos dias Jorge Vera (Jacho) me mostro una aplicacion bastante interesante para el diseño rapido de prototipos.
Esto es algo muy util cuando te encontras con el cliente y necesitas plasmar lo que esta pidiendo para irlo validando. Lo ideal es que sea rapido, versatil y amplia en cuanto a componentes graficos.
La aplicacion de la que hablo cumple bastante con esas condiciones, se llama Balsamiq Mockups, tiene varias versiones.. hay una desktop (en Air) que es muy practica.
Les paso el link: http://www.balsamiq.com/products/mockups
Espero les sirva.
Gente!
Es segundo día con cuenta de usuario en el blog y llevo mas posteos de los que pensaba (y pensaban). No crean que los voy a inundar con palabras, solo que de charlando con mi primo que vive en La Plata, me conto que un cliente necesitaba un programador puertas abiertas de QT.
La verdad es que nunca lo había escuchado, por lo que recurrí a el good de los informáticos, “claro”, nuestro buen amigo “gaaaglee”.
Lo mas importante:
Fuente: wiki
Novamens ofrece proyectos de investigación para tesis de grado para de estudiantes de Ingeniería y Ciencias Informáticas, en algunos casos pueden ser rentados, ademas de que parecen bastante interesantes!