By odrarg
Subversion es un software de sistema de control de versiones diseñado específicamente para reemplazar al popular CVS, el cual posee varias deficiencias.
Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos. Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.
Procedi a realizar un manual seguiendo los pasos de diferentes manuales que me encontre en las siguientes páginas y que son excelente ayuda.
1. Instalación de SVNServe en Windows XP
2. Subversive, cliente de Subversion para Eclipse
3. Instalación de Subversion (SVN) en Windows XP
Si alguien quiere el manual que hice gracias a la ayuda de los anteriores mencionados dejeme un comentario.
By odrarg
Los Array son caracteristicas propias del lenguaje java, la sintaxis puede ser de la siguiente manera:
int[] a = new int[100];
Sin embargo , los ArrayList es una clase de biblioteca, definida en el paquete java.util. Es un tipo "en un tamaño encaja todo" que alberga elementos de tipo Object. Por tanto, tendrá que realizar un moldeado siempre que quiera extraer un elemento de un array de listas.
Una ventaja muy importante es que los ArrayList permite la expansión y reducción de los mismos, algo que con los array no se puede.
ArrayList()
Construye un array de listas vacío
ArrayList(int capacidadInicial)
Construye un array de listas vacío con la capacidad especificada
Boolean add(Object obj)
Anade un elemento al final del array de listas
Int size
Devuelve un número de elementos almacenados actualmente en el array de listas
void ensureCapacity(int capacidad)
Garantiza que el array de listas tiene la capacidad de almacenar el número de elementos indicados sin necesidad de reubicar el array de almacenamiento interno
void trimTosize()
Reduce la capacidad de almacenamiento del array de listas para ajustarlo a su tamaño real
void set(int posicion, Object obj)
Coloca en valor en el array de listas en la posicion especificada, sobreescribiendo además el contenido previo de dicha posición.
Object get
Recupera el valor almacenado en una posicion correcta
Combinacion de Array y ArrayList
En ocasiones, se puede obtener lo mejor de ambos mundos (crecimiento flexible y acceso sencillo a los elementos) con el siguiente truco. Primero, construya un array de listas y añada los elmentos:
ArrayList list = new ArrayList();
while (....){
x = ....;
list.add(x);
}
Una vez concluido el proceso, use el método toArray para copiar los elementos a un array:
X[] a = new X[list.size()];
list.toArray(a);
Fuente: Java 2 Fundamentos, Cay S. Horstmann / Gary Cornell
By odrarg
Para implementar seguridad y autentificación en un sistema web encontre un framework interesante, llamado ACEGI.
ACEGI es un framework de seguridad open source que permite mantener la
lógica de negocio libre de código de seguridad. ACEGI proporciona cuatro
opciones principales de seguridad:
La liga del pdf que encontre para inciar en acegi, en español: tecnoblog.entel.es
La página oficial del proyecto es la siguiente Acegi
By odrarg
Log4j
Es una librería de java con la que podemos escribir el log de nuestra aplicación, es decir, los errores, mensajes, avisos, etc.
Tiene muchas ventajas sobre System.out y Sytem.err.
- Podemos organizar la salida de log en grupos, incluso un log por cada clase que es lo habitual.
- Configuramos las salidas desde un fichero de configuración, sin necesidad de tocar el código. Este fichero nos permite:
- Decidir qué salidas queremos o no mostrar, en función de qué clase procede la salida, de qué paquete o de la "gravedad" de la salida (error, aviso, información o información de debug).
- Enviar la salida a otros sitios que no sean pantalla, por ejemplo, a través de un socket, base de datos, a un fichero, etc.
Con System.out y System.err sólo podemos tocar eso en el mismo código y, desde luego, no podemos con ellos enviar a sitios distintos de la pantalla.
Fuente: http://www.chuidiang.com
Ademas con log4j tambien podemos enviar via email cualquier error o excepción que ocurra en el sistema, algo muy interesante.
Bueno el archivo loggin.xml donde se coloca la configuración de los logs lo tuve que colocar en el directorio raiz de Tomcat.
By odrarg
El problema que se me presento a mi fue que al momento de importar el proyecto web a mi IDE eclipse éste no generaba el proyecto web sino un proyecto java el cual el tomcat no me reconocia para ejecutarlo via web.
Pasos a seguir para solucionarlo:
1. Nos posicionamos en la carpeta donde queremos crear el proyecto en mi caso fue:
C:\Archivos de programa\Apache Software Foundation\Apache Tomcat 6.0.14\webapps
2. Creamos el proyecto web con Maven
mvn archetype:create -DgroupId=com.empresa.ejemplos -DartifactId=SisWeb -DarchetypeArtifactId=maven-archetype-webapp
3. Creamos el paquete
mvn package
4. Instalamos
mvn install
5. Añadimos la variable del Repositorio local maven
mvn –Declipse.workspace= c:\eclipse\Workspace eclipse:add-maven-repo
6. En el Eclipse comprobamos en Java\Build path\Classpath variables si se ha dado de alta correctamente el repositorio de Maven
7. Añadimos el modulo al eclipse de la siguiente manera (esto es por lo que batalle y por lo cual no generaba correctamente el proyecto al momento de importarlo)
mvn -Dwtpversion=1.5 eclipse:eclipse
La linea de codigo anterior lo encontre gracias a un manual de adictos al trabajo
8.Importamos el proyecto al eclipse
mediante el menu File\Import…\Existing proyect into Workspace...
8. Otra manera de importarlo es utilizando el plugin de Q4e