Author Archive

Como configurar VNCSERVER en Centos 6

miércoles, septiembre 5th, 2012

Una guía rápida de configuración de vncserver en Centos 6 sería, primero descargar el grupo gnome que en Centos 6 cambia de nombre a «Desktop»

yum groupinstall "Desktop"

Luego descargar el vnc server

yum install tigervnc-server xorg-x11-fonts-Type1

Con esto ya hecho como usuario (que es el que quiere compartir su escritorio) debes ejecutar

vncserver

La primera ejecución te establecerá el password que será el que utilizarás de ahí en adelante. Es util saber que para entrar a la sesision te dara un numero, y en el cliente vnc debes establecer este numero, o sea,

En donde :1 significa que es el primer escritorio disponible.
Para terminar la ejecución del vncserver en tu sesión debes ejecutar

vncserver -kill :1

Donde nuevamente el :1 es el numero que te otorgo a ti. Esto ultimo es porque si tres personas ejecutan vncserver, la última recibirá por ejemplo el escritorio numero 3 y tendra que ingresar con :3 como sufijo.

Exportar DDL de un esquema desde DB2

miércoles, septiembre 5th, 2012

Para exportar un esquema desde DB2 debe hacerse con una de las herramientas que trae consigo db2, llamada db2look. Con ella puedes exportar el DDL de un esquema sin problemas, basicamente podrías ejecutar

db2look -e -d nombreEsquema -o db2look.sql 

Con lo que obtendrás basicamente la información de las tablas, con sus indices y claves primarias. Esto en conjunto con otras herramientas te pueden ayudar a exportar una base de datos desde un servidor a otro.

Instalar lisbstdc++.so.5 en Centos 6

miércoles, septiembre 5th, 2012

Para lograr compatibilidad de algunas aplicaciones antiguas que quieras instalar en Centos 6, como en mi caso DB2 9.1, debes primero instalar el paquete de compatibilidad que contiene esta librería.

yum install compat-libstdc++-33

Workflow de desarrollo de una funcionalidad

jueves, agosto 23rd, 2012

En el proceso de desarrollo normal se deben seguir ciertas pautas cuando estas estan estructuradas es mejor, debido a que todos saben a que atenerse.

En muchos casos, en las empresas de desarrollo se usan herramientas de versionamiento, por ejemplo subversion. En estas herramientas existen problematicas no asociadas con la heramienta, sino que asociada a la forma en que se desarrolla. El ejemplo clásico que doy de escritura de código es

if(x){
    y = y + 1;
}

y el codigo

if(x)
{
    y = y + 1;
}

son equivalentes, pero uno tiene una linea más de codigo que la otra, esto implica que estadisticas relacionadas con ello, pueden producir conclusiones erroneas, en el sentido de, por ejemplo, la productividad de un programador medido en lineas de código.

Para ello en Java, .NET y otros existen herramientas para la verificación de codigo, para Java: Checkstyle, PMD y Findbugs; para .NET: Stlecop, FxCop y Gendarme. Cada una de las cuales explicaré en otros post. Lo que me preocupó hoy es presentar un workflow, o serie de actividades, para proceder al desarrollo de una funcionalidad. Este implica revision de estilo, revision de errores potenciales y revision de programación. Todo ello también va de la mano con la arquitecturas de las aplicaciones aplicadas.

El workflow en cuestion:

Listar las conexiones activas en DB2

jueves, agosto 16th, 2012

Uno de los comando para listar las conexiones que estan activas en DB2 es

db2 list applications # show detail 

Con esto aparecerá la lista de todas las conexiones, entre aplicaciones y usuarios directos.

Auth Id  Application    Appl.      Application Id                                                 DB       # of
         Name           Handle                                                                    Name    Agents
-------- -------------- ---------- -------------------------------------------------------------- -------- -----
DB2INST1 db2bp          742        *LOCAL.db2inst1.120817020005                                   AROSAMP  1    
AROSAMP  db2jccPrograma 699        NF000001.JCD5.120817013230                                     AROSAMP  1    
AROSAMP  db2jccserver.s 697        NF000001.JBD5.120817013229                                     AROSAMP  1    
AROSAMP  db2jccVerifica 695        NF000001.JAD5.120817013228                                     AROSAMP  1    
AROSAMP  db2jccVerifica 698        NF000001.J9D5.120817013227                                     AROSAMP  1    
AROSAMP  db2jccserver.s 694        NF000001.J8D5.120817013226                                     AROSAMP  1    
AROSAMP  db2jccWebConta 211        NF000001.HD83.120816192305                                     AROSAMP  1    
AROSAMP  db2jccImp_AI_F 939        NF000001.FD8D.120816121516                                     AROSAMP  1    
AROSAMP  db2jccImDI1F61 940        NF000001.FC8D.120816121515                                     AROSAMP  1    
AROSAMP  db2jccImDI1F52 857        NF000001.NAC3.120815003417                                     AROSAMP  1    
DB2INST1 db2evmg_DB2DET 10         *LOCAL.DB2.120806024420                                        AROSAMP  1    
AROSAMP  db2taskd       9          *LOCAL.DB2.120806024418                                        AROSAMP  1    
AROSAMP  db2stmm        8          *LOCAL.DB2.120806024417                                        AROSAMP  1    

Workflow básico de documentación

jueves, agosto 16th, 2012

Recurrentemente se establecen formas de trabajar con la documentación debido a que tiene que pasar por una serie de aprobaciones antes de ver la luz. Para un grupo más bien pequeño, sin pensar en editores y editores de editores un workflow básico de documentación sería como el siguiente.

Workflow Básico

En el método de trabajo que tengo un cliente esta especificado con un acronimo de al menos tres letras (caracterizado aqui por CCC) al igual que un proyecto (aqui como PPP). Entonces un cliente tendría un documento con Titulo, más una version X, que es la que irá incrementando. Si es la primara version Y sería cero(0) por lo que no la establezco a menos que haya una modificación a posteriori.

El incremento de X es cuando existe la necesidad de generar otra versión debido a modificaciones o grandes adiciones que incrementen el documento, si solo son correcciones a lo ya existente entonces se incrementa sólo Y.