martes, 29 de septiembre de 2009

Fondos estáticos en páginas web

1 comentarios
¡Qué tal lector!

Un amigo mio me llamó por medio de mi cliente de mensajería instantánea favorito... emesene hehe, el cliente MSN para linux hecho en GTK :]
Mi amigo me hizo una pregunta que me hizo pensar... creo que muchos tendrán la misma duda que él, por eso he creado este nuevo post:

¿Cómo establecer "x" imagen como fondo pero que se quede estático? Supongo que han visto en páginas como myspace u otras más en las que el fondo no se mueve, y que al navegar a través de la página el texto es lo que se desliza. ¡Ok! Esto se resuelve con un simple fragmento hecho en CSS.

Para los que no están muy familiarizados con CCS les recomiendo que le echen un vistazo aquí: Resultados de búsqueda en Google sobre CCS.

Ok, comencemos con el có,digo; lo pueden incrustar en los tags <head> y </head>o en un archivo CSS externo.

El código es el siguiente:


<style>
body
{
background-image: url('miimagen.jpg');
background-repeat: no-repeat;
background-attachment: fixed
}
</style>



... y con eso, podrás crear páginas con fondo estático.

sábado, 26 de septiembre de 2009

Race Ubuntu Karmic Alpha 2 vs Windows 7 RC

1 comentarios


¡Saludos lectores!

Me he encontrado con un video que me dejó sin palabras: Una vez más Ubuntu ha demostrado ser superior a Windows en muchos aspectos, en esta ocasión se ha comparado la velocidad de carga del Sistema Operativo y miren lo que resultó de este experimento:





¿Genial no? Esta es una de las tantas razones por las que las distribuciones de Linux son superiores a las versiones de Windows... ¡Vamos apoyemos al software libre!

sábado, 19 de septiembre de 2009

Creando clases y objetos

2 comentarios


¡Qué tal a todos!


Les doy una cordial bienvenida a este post. Quiero dar un saludo especial a un buen alumno y gran amigo, el es Jonathan, de Colombia. Quisiera dedicarle este post, ya que apenas se está iniciando en Java y quisiera darle un pequeño empujón.

Comenzaremos explicando lo que es una clase. Una clase es una plantilla en la que se declararán todos los métodos necesarios con el fin de que éstos puedan ser llamados desde otra clase (comúnmente en la aplicacín, aunque puede ser en otra clase también) mediante un objeto de la misma clase.

Imagínate que creas la clase Persona, con una serie de métodos (funciones en otros lenguajes) que te permiten manejar la información para una persona; después creas un objeto de esa misma clase de la siguiente forma:

Persona p = new Persona();


Ahora imagínate que el objeto "p" ya tiene todos los métodos que definiste en la clase Persona... ¿No es eso genial? S&icaute; que lo es... y su uso es mucho más: supongamos que en la clase Persona definimos el método "imprimirNombre(String nombre)" en el que le pasamos cualquier nombre y nos lo imprime en consola; la manera de lograrlo es decirle al objeto "p" que nos de ese método p.impimirNombre("Alexis Hernández"); ¡bastante simple!

Ahora, veamos algo de código, crearemos un solo método para mayor comprensión y no compliar mucho, para eso estarán los ejemplos que podrás descargar al final de la lección. Priemro creamos la clase diciendo "public class NombreDeLaClase" y después declaramos todos los métodos que gustes:


public class Persona
{
    private void imprimirNombre(String nombre)
    {
        System.out.println(nombre);
    }
}

El método "imprimirNombre" recibe una variable de tipo String, el cual representa al texto que se imprimirá en consola... Ahora imaginate que estamos en la aplicación y crearemos un objeto de la clase Persona:

...
Persona p = new Persona();
String nombre = "Jonathan";
p.imprimirNombre(nombre);
...

¿Bastante sencillo no? Ahora te preguntarás para qué creo objetos si podemos declarar métodos en la misma clase aplicación... La respuesta es sencilla: en la clase declaras todos los métodos que utilizarás en una aplicación, la ventaja es que ese código está compilado y correctamente probado, por lo que puedes reutilizar ese mismo código creando cuantos objetos necesites, cada uno de ello tendrá los mismos métodos pero diferentes valores dentro de ellos; imagínate que tenemos 3 objetos de la misma clase, pero a cada uno de ellos le pasamos 3 parámetros distintos: p1.imprimirNombre("Abril"); p2.imprimirNombre("Pepe"); p3.imprimirNombre("Alberto"); Aquí utilizamos el mismo método pero en distintos objetos (p1, p2, p3), con lo que puedes aprovechar el mismo código creando tantos objetos como necesites en una aplicación sin necesidad de repetirlo: reutilización, es la clave.


Bueno, es momento de que descarguen el ejemplo para que tengan más claro esta explicación. Espero haya sido lo más claro posible, acepto sus dudas y sus comentarios con el mayor de los gustos. ¡Un saludo!


Nota: ver primero la clase y después la aplicación

Descargar archivos de ejemplo aquí

domingo, 13 de septiembre de 2009

Seralizando objetos en java

0 comentarios
¡Qué tal!

En esta ocasión explicaremos detalladamente cómo serializar uno o varios objectos en java.

Primeramente hay que saber qué es serializar. Serializar objetos o datos, significa convertirlos en bytes, de tal manera que es más facil transferir la información desde la Invocación de Métodos Remotos, por ejemplo, o simplemente generar un fichero con los bytes correspondientes a nuestra información, con el fin de crear datos persistentes.

Para poder crear un objeto que tenga la capacidad de ser serializado, es fundamental que a la clase correspondiente le sea implementada la intefaz Serializable; veamos un pequeño ejemplo:


import java.io.Serializable

public class Persona implements Serializable
{
    private String nombre;
    private String apellidoPaterno;
    private String apellidoMaterno;
}

con esta instrucción, cualquier objeto creado a partir de esta clase, podrá ser serializado.

Naturalmente son necesarios los métodos para que nuestro objeto sea convertido en un fichero de bytes; partimos de tres clases importantes para la escritura en disco(en la aplicación), los cuales son:

En esta ocasión crearemos nuestro fichero a la "hardcode", es decir, de manera estática, posteriormente podríamos ver cómo hacerlo dinámico mediante la petición de la ruta al usuario, pero en esta ocasión nos dedicaremos a estudiar la creación del archivo directamente.

Comenzamos con "la receta": Creamos nuestro método wrietObject


public void writeObject(ObjectOutputStream oos, persona p)throws IOException
{
    oos.writeObject(persona);
}

En este método le hemos pasado un objeto de tipo ObjectOutputStream, quien es el encargado de darle salida y escribir en un fichero que contiene la información de al persona a guardar.

Ahora, procedemos a hacer "la inversa" al método anterior, ocupando 3 clases para la lectura de ficheros serializados (en la aplicación):

public Persona readObject(ObjectInputStream ois)throws IOException, ClassNotFoundException
{
    Persona p= (Persona) oos.readObject();
    return p;
}



En este último método se asume que la clase Persona tiene los típicos métodos viejos de java, los "setters" y los "getters", por lo que se crea una persona a partir de lo que se leyó del fichero. En el archivo de ejemplo viene más amplia la explicación de cada uno de los métodos utilizados, adem´s de que en la clase aplicación comprender´s de manera sencilla el uso de los métodos writeObject y readObject

Con ésto podemos crear nuestro objeto serializado, espero que haya sido lo suficientemente claro, si no es así, siéntete libre de enviarnos tu comentario o sugerencia a j.akexus@gmail.com


Descargar archivos de ejemplo aquí

¡Se inicia un nuevo blog!

1 comentarios
¡Qué tal!

En nombre de enlamiradelcodigo.blogspot.com les doy la más cordial bienvenida en ésta, la apertura de un nuevo blog...

Ustedes podrán encontrar, algunos artículos y códigos interesantes de los diferentes lenguajes de programación; les prometo que en la medida que sea posible les compartiré periódicamente algunos ejemplos o artículos que les serán de ayuda.

enlamiradelcodigo ha nacido con el propósito de ayudar, no de resolverle la vida a la gente que no programa; en pocas palabras, enmiradelcodigo no te hace la tarea... te ayudará a pensar ^^

Te deseamos una agradable estancia en este blog.

Quisiera dedicarle este sitio a mi novia Abril, quien siempre me apoya en todos mis proyectos... te amo!