Estadísticas para repositorios GIT

Tags: , , ,

Git es un repositorio de datos que esta ganándole mucho terreno a SVN, existe una comunidad (GIT HUB) donde se podrán encontrar muchos proyectos en Git para practicar lo que vamos hablar a continuación.

Para descargar un proyecto solo debes clonarlo de la siguiente manera.

git clone git://github.com/jquery/jquery.git

Gitstats

Gitstats es un proyecto de Heikki Hokkanen que podrás encontrar en http://gitstats.sourceforge.net/ , este proyecto esta desarrollado en Python y es muy sencillo de usar, necesitas tener instalado Git y Gnuplot para poder generar los gráficos como el de abajo.

Para generar las estadisticas solo debes ejecutar lo siguiente:

./gitstats /pathToGitRepo/ pathToGenerateHTMLStats/

Gitstat

Un proyecto parecido al anterior, pero en este caso es algo diferente, esta desarrollado en PHP y Perl y lo puedes encontrar en http://sourceforge.net/projects/gitstat/, solo debes crear una base de datos y preparar el archivo de configuracion config.pl que luego deberás poner en un Cron para que el actualice periódicamente las estadísticas, el almacena los cambios en la base de datos. Lo curioso de este proyectos es que esta alojado en un repositorio CVS, como dice el refran, en casa de herrero, cuchillo de palo.

Subversion ya es un proyecto más de la Fundación Apache

Tags: , , ,

subversionapache

El dia de hoy se ha anunciado al publico que el proyecto de Codigo Abierto Subversion, del cual estoy seguro de sus bondades, se ha unido para formar parte de la Fundacion Apache , beneficiándose con la Administración y Tecnología de la Comunidad Apache. Como un punto de interés es de que antes de esta unión ya existía cierta historia entre ambos proyectos , trabajando en estrecha colaboración.

Cómo crear el schema de la base datos con Anotaciones de Hibernate y Spring

Tags: , , , ,

A veces es necesario hacer cambios a nuestra base de datos, y siempre estaremos lidiando con las herramientas gráficas o desde la consola, con los cambios en la base de datos, pero existen formas de hacer este trabajo “sucio” mucho más rapido y ahorrando tiempo.

En nuestro caso, usaremos Spring 2.5 y Hibernate 3.3 y MySQL, donde es necesario ya tengas armado los beans de conexión a la base de datos. El siguiente código es un array de cadenas, si en nuestro caso tenemos segmentado los xml de spring, los añadiremos de la siguiente manera.

// array de string para agregar todos tus archivos de configuración de spring
private static final String[] SPRING_CONFIG_FILES =
new String[]{"source/spring/config/xxxxxx-db-context.xml", "source/spring/config/xxxxxxx-param-context.xml"};

A continuación, el código necesario para generar nuestra base de datos, el FileSystemXmlApplicationContext carga el Contexto de la Aplicación, y una vez teniendo el contexto obtenemos el SessionFactory, que en nuestro caso usamos Anotaciones, creamos el bean en base a la clase AnnotationSessionFactoryBean , esto es importante pues en base a esta clase usaremos los metodos dropDatabaseSchema(); para borrar el actual schema (tablas, relaciones , etc) y luego ejecutamos createDatabaseSchema(); para crear el nuevo schema.

// carga el application context de Spring
 FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext(SPRING_CONFIG_FILES);
// Obtiene el bean del session factory
 AnnotationSessionFactoryBean annotationSF = (AnnotationSessionFactoryBean)  appContext.getBean("&sessionFactory");
// si quieres eliminar el schema de la base de datos
 annotationSF.dropDatabaseSchema();
// para crear nuevamente el schema de la base de datos
 annotationSF.createDatabaseSchema();

Los archivos de configuración de Spring, deben lucir de la siguiente manera, hay que destacar el hibernate.dialect donde indicamos el dialecto que usaremos para crear el schema, en el caso de MySQL puede ser MySAM o InnoDB, luego el parametro hibernate.hbm2ddl.delimiter que también indicamos el tipo de tablas que usaremos en mi caso usaré type=InnoDB.

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${datasource.classname}" />
        <property name="url" value="${datasource.urldb}" />
        <property name="username" value="${datasource.userbd}" />
        <property name="password" value="${datasource.pass}" />
    </bean>
 
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="annotatedClasses">
          <list>
              <value>Clase1</value>
              <value>Clase2</value>
          </list>
        </property>
        <property name="hibernateProperties">
           <props>
                <!-- <prop key="hibernate.hbm2ddl.auto">update</prop> -->
                <prop key="hibernate.dialect">${datasource.dialect}
                </prop>
                <prop key="hibernate.show_sql">${datasource.showsql}</prop>
                <prop key="hibernate.hbm2ddl.delimiter">${datasource.delimited}</prop>
            </props>
        </property>
      </bean>

IntelliJ IDEA se libera como Open Source

Tags: , , ,

logo_intellij_idea

Los IDE’s Eclipse y NetBeans reciben un nuevo competidor open source, hace unos dias en el blog de JetBrains el IDE comercial IntelliJ IDEA será dividido en dos productos a partir de su próxima versión 9: una Community Edition, gratis y de código abierto amparado bajo la licencia de Apache 2.0, y una Ultimate Edition, que seguirá siendo cerrada y comercial.

Community Edition: Libre, Open Source

  • Soporta Java, Groovy, XML, and Regexp
  • JUnit and TestNG testing
  • Subversion and Git support
  • Ant and Maven build integration

Ultimate Edition: Licencia Personal $249, Licencia Comercial $599

  • Supports Ruby, SQL, HTML, PHP, JavaScript, etc.
  • Task management, Structural search & replace, and JavaScript debugger
  • Grails, Rails, Servlets 3.0, Hibernate frameworks available
  • Apache Tomcat, Glassfish v2 and v3 application server support
  • OSGi backing and PHP support.

Para ver en detalle las diferencias entre las dos opciones visiten la tabla de comparación.

© 2009 JotaDeveloper. Nuestros contenidos están bajo licencia Creative Commons mientras no se indique lo contrario,
y pueden reproducirse libremente sin más que mencionar la fuente ("JotaDeveloper") y la URL concreta del artículo original. .

This blog is powered by Wordpress and JotaDeveloperTheme.