your excuse: le0: no carrier: transceiver cable problem?
CoffMan Weblog Linux category Java category wiki Image thx to Chenchu Ricochet Robot J2MESimon Says J2ME gameCoffMan WeblogJava stuffLinux stuffImage thx to ChenchuWickleMarihuana Category
   Victor Fariña Infante , info about my own projects and thoughts.
 
login



.:¿?-_-¿?:.
Anton tiene




Powered by

 



Technology, Java, thoughts and projects of Coffman, host of wickle dot com. feel free to make comments.
[Jun 23, 2007]

Ya llevo algo de tiempo sin postear, y como no, se debe a una buena razón ... La causa se llama Antón y es nuestro primer hijo, nació un poco antes de lo previsto, por eso nos ha pillado con lo puesto.

Nació el 15 de julio a las 12.45 de la madrugada, el mismo día que nació Rembrandt o Forest Withaker ;-) , Este día en españa se celebraba el 30º aniversario de las elecciones democráticas. Vamos, una fecha como otra cualquiera ...
Antón pesó al nacer 2.760 gr y midió 47 cm. Un poco alto y grande de más para haber nacido antes de tiempo.

El canijo ya tiene su propio blog, que está en plena evolución y espero que sea un regalo para él cuando tenga uso de razón, o al menos cuando sepa distinguir el blog del WoW. Y que iremos rellenando los padres mientras él no pueda ;).

También le hemos creado un album de fotos, como no ... su link está en el blog.



by coffman - 16:52:48 |

[Jun 21, 2007]

Un error común que nos asalta siempre que estamos iniciando un documento desde OpenOffice es que bajo determinadas cirsunstancias, los encabezados de los varios niveles del documento se desmadran en cuanto a la numeración que tienen asignados.
Esto se debe a un incorrecto uso del sistema de estilos de OpenOffice, que por otro lado puede resultar confuso a los usuarios que provienen de Microsoft Word.
El método correcto para empezar a crear un documento que consta de Encabezados de varios niveles puede ser el siguiente:

Escribimos un pequeño esquema de como sería el documento, por ejemplo:

Introducción
    Descripción
    Alcance
Situacion actual
    Area Sistemas
        Documentos
    Area Marketing
        Documentos
Requisitos de un SGD
    Requisitos Básicos
    Requisitos Legales
    Requisitos Funcionales


Esto contendría una estructura básica, ahora tenemos que aplicar estilos a cada linea, para ello:

  1. Seleccionamos Introducción y aplicamos "Encabezado 1" ,

  2. Seleccionamos Descripción y aplicamos "Encabezado 2",

  3. Seleccionamos Alcance y aplicamos "Encabezado 2",

  4. Seleccionamos Situación Actual y aplicamos "Encabezado 1",

  5. Y así con el resto ...

Ahora tenemos aplicados estilos, pero sin numeración, para lo cual seleccionamos una linea de Tipo "Encabezado 1" y Activamos la Numeración (con el botón de Numbering On/Off de la toolbar). Esto mismo lo repetimos para todos los encabezados a los que queramos aplicar numeración.
Nos debería quedar algo así:


A partir de aquí, podemos continuar escribiendo el documento con normalidad simplemente aplicado estilos "Encabezado x", en función del nivel que queramos.



by coffman - 11:56:54 |

[Jun 20, 2007]

Antes era imprescindible poder colgar las fotos en el blog, pero ahora estamos en la era el video, con lo que se hace necesario algun mecanismo para colgar nuestros videos caseros en nuestro blog.

La manera habitual es recurrir a Google Video o a YouTube que almacenan nuestro video y lo muestran con un visor flash que es agradable a la vista y permite cargar el video poco a poco sin necesidad de esperar a que baje el video entero (streaming de video).

Hacer esto por nosotros mismos en nuestro propio blog es cosa sencilla. Veamos como hacerlo ...

Qué necesitamos

  1. Video en formato avi, mpeg, ... ;)

  2. ffmpeg (version 3), software para la conversion del  video a varios formatos (flv en nuestro caso)

  3. Visor flv en flash para la pagina web. Hay varios, pero este funciona bien

Pasos necesarios
Lo primero que debemos hacer es transformar el video en formato avi a flv, con este sencillo comando:

$ ffmpeg -i video.avi video.flv


esto nos genera un archivo video.flv.

Seguidamente creamos una pagina web para visualizar el video:

<html>
<body>
<object type="application/x-shockwave-flash" width="320" height="260"
wmode="transparent" data="flvplayer.swf?file=video.flv&autoStart=false">
<param name="movie" value="flvplayer.swf?file=video.flv&autoStart=false" />
<param name="wmode" value="transparent" />
</object>
</body>
</html>

Ahora copiamos el visor flv (archivo flvplayer.swf) y el video (archivo video.flv) al mismo directorio que el archivo html creado y listo.

Referencias
http://ffmpegx.com/flv.html


Así de fácil ...



by coffman - 14:26:21 |

[Jun 10, 2007]

Hay una cambio de época con la aparición de Appfuse. Antes, en la programacion Java para la web todo era oscuro, para iniciar un proyecto tardabas dias en establecer el esqueleto de la aplicacion, y para añadir funcionalidad, replicabas cientos de lineas que ya tenías en librerías o guardadas en algun archivo de texto.

Con appfuse crear el esqueleto de una aplicacion web con Java es extremadamente sencillo, vamos a ver lo facil que es crear una aplicacion java con las operaciones basicas CRUD .

Instalamos Maven 2, Java 5 y Mysql .(creo que esto no hace falta explicarlo)

Instalamos appfuse en la modalidad mas sencilla empleando para la presentacion JSF (el resto de combinaciones se pueden ver aquí):

mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m5 -DgroupId=com.mycompany.app -DartifactId=myproject


Sustituimos com.company.app por el paqquete que queramos y myproject igual.
Ahora generamos con maven todo lo necesario para empezar a desarrollar desde eclipse, nos situamos en el directorio myproject recien creado:

$ mvn integration-test (nos bajamos los jars necesarios y pasamos los tests)
$ mvn jetty:run-war (probamos la simple aplicacion accesible a través de http://localhost:8080)
$ mvn install eclipse:eclipse (instala lo necesario para que el eclipse se entere del proyecto .project y .classpath entre otros)
$ mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo  (para que el eclipse reconozca la variable M2 del appfuse, es necesario ejecutar esto indicando el workspace de nuestro eclipse ~/workspace).Mas aquí.


Ahora que tenemos la base instalada, ya desde el eclipse importamos el proyecto:
File > Import > Existing Projects into Workspace

Empezamos a desarrollar un nuevo POJO llamado Persona con todo lo que le rodea (Modelo, Servicio y Web):
Creamos el paquete com.mycompany.app.model y dentro de el la clase Persona que extiende BaseObject:

package com.mycompany.app.model;
 
import org.appfuse.model.BaseObject;
 
import javax.persistence.Entity;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Column;
 
public class Persona extends BaseObject {
    private Long id;
    private String firstName;
    private String lastName;
 
    /*
     Generate your getters and setters using your favorite IDE:
     In Eclipse:
     Right-click -> Source -> Generate Getters and Setters
    */
}


Sobre la persistencia tenemos toda la info aqui.
Añadimos anotaciones para Hibernate: Entity identifica la clase con la tabla:

@Entity
public class Persona extends BaseObject {

Ahora indicamos cual es la PK (Primary Key) y como se generará:

@Id @GeneratedValue(strategy = GenerationType.AUTO) 
public Long getId() {
    return this.id;
}


El resto de campos se declaran con la anotacion Column:

@Column(name="first_name", length=50)
public String getFirstName() {
    return this.firstName;
}
...
@Column(name="last_name", length=50)
public String getLastName() {
    return this.lastName;
}


Con esto ya tenemos creado nuestro Pojo Persona, ahora mapeamos esta clase dentro del archivo de configuracion de Hibernate (src/main/resources/hibernate.cfg.xml):

<mapping class="com.mycompany.app.model.Persona"/>


Ahora si ejecutamos el siguiente comando maven, genera la tabla de la base de datos asociada a este POJO:

$ mvn compile hibernate3:hbm2ddl


Finalmente para que se genere la capa de servicio y las paginas web ejecutamos:

$ mvn appfuse:gen -Dentity
$ mvn appfuse:install -Dentity

Y probamos la aplicacion en la pagina http://localhost:8080 publicando el resultado con Jetty:
$ mvn jetty:run-war


Como diría Matt Raible ...

Yeah Baby, Yeah:

BUILD SUCCESSFUL
Total time: 9 seconds



by coffman - 00:24:31 |



CoffMan Site


Since July 2002
Victor Fariña Infante (aka CoffMan) creator of wIckle.com