Showing posts with label JZab. Show all posts
Showing posts with label JZab. Show all posts

Correr Archivos Jar en Vista

Si algún programa que instalamos como puede ser Winrar u otro compresor de datos se “adueño” de la asociación de los archivos jar podemos regresar esta asociación con la JVM para que al dar doble click en un archivo jar lo abra.

Para poder hacer esto solo es necesario bajar y correr el programa JarFix.

http://www.jonelo.de/java/jarfix/

XNA usando fuentes personalizadas

Cuando creamos un juego una de las partes importantes es el texto a desplegar, pero no siempre queremos usar las fuentes que tenemos instaladas en el sistema. Para poder usar otras fuentes debemos seguir los siguientes pasos.

  1. Bajar la Fuente
  2. Installarla en el Sistema 
    1. EN Windows XP: Copiar la fuente y pegarla en /Windows/Fonts
  3. Crear o Abrir el proyecto
  4. Click derecho en directorio Content
    1. Add new Item
    2. Crear un SpriteFont
      1. Cambiar en <FontName> el nombre de la fuente que bajamos
      2. Cambiar las caracteristicas de la fuente (Optional)
  5. Ahora ya podemos usar la fuente en el juego

Nota: Si le enviamos a alguna persona el proyecto de xna, tmb se tiene que instalar la fuente en la otra computadora, pero para la distribución del juego no es necesaria.

Blogger nube de Etiquetas

Si nosotros quisieramos agregar a nuestro blog una nube de etiquetas como la que tenemos en este blog podemos hacer uso de este tutorial.

http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html [En inglés]

Este tutorial es para Blogger y debemos de tener habilitado los “Labels” en las sección Widgets.

Envío de paquetes entre VLANs

Para poder hacer envio de paquetes entre VLANs tenemos que hacer uso de algún dispositivo de capa 3, ya sea un Router o un Switch de capa 3.

La configuración para un Router Cisco es la siguiente:

Router#(config) interface f0/0.X                   //[ interface.númeroVlan ]

Router#(config-if) encapsulation dot1Q X    //[X = Número VLAN]

Router#(config-if) ip address address mask

Hay que configurar la interfaz f0/0 para cada de las VLANs

Usar cuentas de correo como Live ID

Si tenemos alguna cuenta que no sea "@msn, @hotmail, @live" aún podemos tener acceso a los servicios que ahora todo el suite de Live nos proporciona. Para poder realizar esto tenemos que entrar a:

http://www.passport.net

Le damos click al link donde podemos agregar una cuenta existente, nos pedirá nuestros datos, los agregamos y LISTO! podemos empezar a usar nuestra cuenta de correo (ej. Gmail) para servicios Live.

NOTA: En la parte de la contraseña no es necesaria que sea la misma contraseña que usamos para accesar a nuestro mail, y recordemos que por lo mismo cambios a la contraseña del mail no harán cambios a la contraseña del Live ID

Compilar todo un paquete java

Cuando compilamos un archivo java tenemos que usar la herramienta "javac"

javac Archivo.java

El problema lo tenemos cuando tenemos los archivos en paquetes y tenemos que compilar estos paquetes. Podriamos compiilar archivo por archivo pero tendriamos problema si estos archivos tienen referencias entre ellos por lo que habría compilar en un orden especifico los archivos. Para solucionar esto nos tenemos que poner en el directorio "root" del proyecto y aplicar la herramienta javac:

javac paquete/subpaquete/*.java

Esto nos compilará todo los archivos en ese paquete sin problemas, sin tener que estar compilando uno por uno.

Borrar Archivos con Java

Para poder borrar archivos del disco duro, primero tenemos que realizar una clase File

java.io.File file = java.oi.File("String con la ruta");
file.delete();



Este método nos regresa un boolean si es que lo pudo borrar.

En caso de que necesitemos crear archivos temporales y que se borren cuando terminemos el programa, podemos hacer uso de otro método de la clase file.


java.io.File file = java.oi.File("String con la ruta");
file.deleteOnExit();



Este metodo es void, pues como no es instantaneo no puede garantizar el borrado del archivo. Los archivos se borraran cuando el programa que los llamó se cierre.

Apagar la computadora automáticamente (XP)

A veces nosotros necesitamos dejar la computadora prendida bajando algo o realizando alguna tarea, si nos tuvieramos que ir, nos gustaría poder apagarla automáticamente. Para realizar esto haremos uso de un commando que nos proporciona el sistema operativo.

Para usarlo tenemos que entrar a INICIO -> Ejecutar...

shutdown -s -f - t [tiempoEnSegundos]

Con este comando le decimos que apague la computadora y que si alguna aplicación no responde la finalice, además de asignar el tiempo en que queremos que se apague.

Copia de Arreglos

Los arreglos son una forma importante de salvar datos. En caso de que tengamos que realizar una copia de arreglos podemos realizarlo de esta manera.

public class Copy(){  
int[] array = new int[55555];
}

public int[] copyArray(){
int[] arrayCopy = new int[array.length];
for( int i = 0; i < array.length; i++ )
arrayCopy[i] = array[i];
return arrayCopy;
}


Para cada posición copiamos el valor de un arreglo al otro, esta es una manera pero existe una mejor y más sencilla. Para eso revisaremos la documentación ( API documentation ); Existe en la clase System un método llamado arraycopy.

public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length)

Este método es nativo, por lo que la copia se hará en segmento de memoria haciendola más rápida. Este método nos da la posibilidad de copiar también segmentos del arreglo original.

System.arraycopy(array, 5, array, 0, array.length-5);

Copiando desde la posición 5 del arreglo

Bibliography:

Dactonta, Michael C; Monk, Eric; Keller Paul, Java Pitfalls, Wiley 2000;


Crear un cronómetro

Java es uno de los lenguajes de programación más utilizados o por lo menos de los mas famosos. Una de sus debilidades es la velocidad de ejecución (que ha ido mejorandose) y el consumo de memoria RAM,

Para poder realizar los famosos "benchmarks" lo que podemos medir es el tiempo de ejecución, esto lo podemos realizar a través de una clase que simulará un cronómetro.

public class Stopwatch {
private long startTime = -1;
private long stopTime = -1;
private boolean running = false;

public Stopwatch start(){
startTime = System.currentTimeMillis();
running = true;
return this;
}

public Stopwatch stop(){
stopTime = System.currentTimeMillis();
running = false;
return this;
}

public Stopwatch reset(){
startTime = -1;
stopTime = -1;
running = false;
return this;
}

public long getElapsedTime(){
if(startTime == -1)
return 0;
else if(running)
return System.currentTimeMillis() - startTime;
else
return stopTime - startTime;
}
}


Para poder utilizar esta clase sólo debemos crear una instancia, y llamar a los métodos necesarios.

Ejemplo:


public static void main(String[] args){
Stopwatch timer = new Stopwatch().start();
long total = 0;
for(int i = 0; i Integer.MAX_VALUE; i++){
total +=i;
}
System.out.println(timer.getElapsedTime());
}

Hola, Soy Zabdiel

Hola a todos, el motivo de este post es poder presentarme, soy Zabdiel estudiante de ITC (Ingeniería en Tecnologías Computacionales ) estudio mi 8vo semestre.

El objetivo de este blog es el poder poner tutoriales y tips que ayuden a allgunos problemas que nosotros mismos hemos tenido y que nos hubiera gustado tener un lugar donde buscar el cómo resolverlos. Así que esperamos sus comentarios y dudas.