Ir al contenido principal

Entradas

Mostrando entradas de 2011

Instalar Tomcat 7, JBoss AS 7 y Subversion en CentOS

Instalando Tomcat 7 Este artículo lo explica muy bien: http://davidghedini.blogspot.com/2011/02/install-tomcat-7-on-centos-rhel.html Aunque el tutorial es para una de las primeras versiones de tomcat 7, también funciona con la mas reciente y les dejo el enlace: wget http://www.gtlib.gatech.edu/pub/apache/tomcat/tomcat-7/v7.0.23/bin/apache-tomcat-7.0.23.tar.gz Instalando JBoss 7 Primero recomiento leer una introducción a JBoss 7 Como no encontré un buen tutorial para JBoss 7, decidí seguir el de la version 6: http://davidghedini.blogspot.com/2011/03/install-jboss-6-on-centos.html y también este otro: http://community.jboss.org/wiki/StartJBossOnBootWithLinux . También sería bueno seguir las mejores prácticas: http://jboss.ociweb.com/wiki/JBossSupport/BestPractices Al intentar desplegar la aplicación me he encontrado con algunos problemitas. Errores: Cannot find scanner class. hibernate.ejb.resource_scanner=org.jboss.as.jpa.hibernate4.HibernateAnnotationScanner JBoss A

MTI se vuelve mas ágil

En la Oficina de Ingeniería y Sistemas del Ministerio de Transporte e Infraestructura estamos trabajando en un proyecto piloto implementando la metodología SCRUM. Es apenas nuestro primer Sprint y nos falta mucho por aprender pero estamos haciendolo lo mejor posible.  Scrum Board - Sprint 1 Stand-up Meeting (Reunion Diaria)    Scrum Team (Equipo Scrum) Scrum Master

Desplegar proyectos JSF y JPA automáticamente desde eclipse

Recientemente pasé varios dias compilando y recompilando un proyecto JPA y luego copiando el jar generado a la carpeta de librerías del servidor. Todo esto para ejecutar otro proyecto JSF que dependía del primero y no lograba hacer que el eclipse hiciero esto automáticamente. Al fin he dado con la configuración que hay que hacer en el eclipse , para que este lo haga automáticamente y es lo que presento a continación: Click derecho sobre el proyecto JSF y elegir el item Properties  Esto abrirá el cuadro de diálogo de propiedades, en la parte izquierda buscaremos el item Deployment Assembly , al clicarlo nos muestra la siguiente pantalla, de la cual eligiremos el botón Add que está en la parte derecha A continuación nos muestra la ventana New Assembly Directive con una serie de opciones de la cual eligiremos Project y presionamos el boton Next Finalmente seleccionamos el proyecto JPA que queremos enlazar y presionamos Finish Con esto eclipse

Trabajando con Icefaces 2.X

Algo muy útil si habias trabajado con versiones de icefaces anteriores: Guía de migración de la versión 1.8 a 2.x Error: GRAVE: Excepción enviando evento inicializado de contexto a instancia de escuchador de clase com.sun.faces.config.ConfigureListener java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: Parece que la versión JSP del contenedor es más antigua que la 2.1 y no se puede ubicar la fábrica de expresiones EL RI, com.sun.el.ExpressionFactoryImpl.  Si no utiliza JSP o EL RI, asegúrese de que el parámetro de inicialización de contexto, com.sun.faces.expressionFactory, esté definido correctamente. Solución: Incluir en el class_path de la aplicación y dentro del servidor las siguientes librerías: el-impl-2.2.0-SNAPSHOT.jar y el-api-2.2.0-SNAPSHOT.jar . Estas librerías extrañamente no vienen incluidas en el bundle de icefaces. Error: El Backing Bean se crea cada vez que se realiza un request aunque está marcado con @ViewScoped Solución: Agregar al w

TecnoUNI 2011

Feria Tecnológica - Universidad Nacional de Ingeniería Banco de simulación de turbina PELTON Programa de Proyectos Elécticos Control y monitoreo de ascensores mediante PLC y sistema SCADA PROTOTIPO DIDACTICO Brazo robótico Sistema y material constructivo para la mitigación del impacto de oleaje y la susceptibilidad de inundaciones en sitios habitacionales contiguos a rios y lagos Geotermia - Ministerio de Energía y Minas Geotermia Maquina de control numérico computarizado (cnc) de cuatro ejes, con comunicación usb, para la automatización de los procesos de grabado en madera, plástico y materiales no convencionales. Sistema Reforzado de Piedra Pómez Sistema Reforzado de Piedra Pómez Proyectos de Agroindustria, Alimentos e Ingeniería de Procesos Geotermia Parque Industrial Dirianes ARQUITECTURA DEL BAMBÚ DISEÑO DE VIVIENDA MÍNIMA UNI - INFIL Programa de Microturbinas del Proyecto PCH 

Tips semanales #2

Suma de Entradas y Salidas El problema reside en realizar una suma de dos campos en tablas distintas (entradas y salidas) con un enlace común (artículos), el DER correspondería a lo siguiente: Modelo de Bodega Pareciera fácil pero no lo es tanto pues tiene su truco. El código sería el siguiente: SELECT tipo_articulos_nombre_tipo, articulos_descripcion,  SUM(cantidad) AS entradas, SUM(cantidad_salida) AS salidas FROM ( (SELECT tipo_articulos.`nombre_tipo` AS tipo_articulos_nombre_tipo, articulos.`descripcion` AS articulos_descripcion, detalle_entradas.`cantidad` AS cantidad, 0.0 as cantidad_salida FROM `articulos` articulos LEFT JOIN `detalle_entradas` detalle_entradas ON detalle_entradas.`idarticulo` = articulos.`idarticulo` INNER JOIN `entradas` entradas on entradas.identrada=detalle_entradas.`identrada` INNER JOIN `tipo_articulos` tipo_articulos ON articulos.`idtipo_articulo` = tipo_articulos.`idtipo_articulo` ORDER entradas.`fecha_entrada` DE

Tips para desarrollo en Facebook

b is undefined Este error ocurre al tratar de usar la versión antigua del api javascript de facebook junto con la nueva. Como pasa en el siguiente código: <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script> <script src="http://connect.facebook.net/en_US/all.js"></script>; Comentariando o eliminando la primera fila corregirá el problema   FacebookApiException  :: CurlException SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed El problema es que cURL no ha sido configurado para confiar en el certificado HTTPS del servidor. Los conceptos de los certificados y PKI gira entorno a la confianza de los Certificados de Autoridades (Certificate Authorities (CAs))  y por defecto, cURL está configurado para no confiar en ningún CA, así que no confiará en ningún c

Error con Nimbus Look and Feel

java.lang.ClassNotFoundException: javax.swing.plaf.nimbus.NimbusLookAndFeel No establecer el lookandfeel Nimbus explícitamente invocando el método UIManager.setLookAndFeel por que no todas las versiones o implementaciones de Java SE 6 soportan Nimbus. Además, la ubicación del paquete Nimbus cambió entre las versiones JDK 6 Update 10 y JDK 7. Iterar a través de todas las implementaciones de lookandfeel instaladas es un enfoque mas robusto por que si Nimbus no está disponible, se usará el lookandfeel por defecto. Para la versión JDK 6 Update 10 el paquete Nimbus está localizado en com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel Agregar el siguiente código al hilo despachador de eventos antes de crear la interfaz gráfica de usuario: import javax.swing.UIManager.*; try { for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { UIManager.setLookAndFeel(info.getClassName()); break;

Como Implementar Scrum en 10 pasos fáciles - Paso #10: Revisa, Reflexiona, Repite

Continuando con la serie: Como implementar SCRUM en 10 pasos fáciles . Creación de Kelly Waters y traducida con la autorización correspondiente por su servidor. La entrada original de este artículo es: Step 10: Review, Reflect, Repeat Paso #10: Revisa, Reflexiona, Repite Así que tienes tu pila del producto en orden , has estimado la pila , esclarecido los requisitos , planeado tu sprint y has creado un espacio de trabajo colaborativo . Estás haciendo un Sprint para alcanzar tus metas y estás haciendo reuniones diarias y estás midiendo el progreso con un gráfico. Ahora vienes al final del Sprint y terminas cuando dijistes que lo harías . Todo lo que queda por hacer ahora, es la revisar , reflexionar y repetir ... Revisión del Sprint   Al final del Sprint haz una reunión para revisar el Sprint (Sprint Review) . Invita a todo el equipo. Invita a todos los tomadores de decisiones del negocio. Invita a tomadores de decisiones importantes incluyendo ejecutivos cuan

Como Implementar SCRUM en 10 pasos fáciles - Paso #9: Termina cuando dijistes que lo harías

Continuando con la serie: Como implementar SCRUM en 10 pasos fáciles . Creación de Kelly Waters y traducida con la autorización correspondiente por su servidor. La entrada original de este artículo es: Step 9: Finish when you said you would! Paso #9: Termina cuando dijiste que lo harías. Así que tienes tu pila del producto en orden , has estimado la pila , esclarecido los requisitos , planeado tu sprint y has creado un espacio de trabajo colaborativo . Estás haciendo un Sprint para alcanzar tus metas y estás haciendo reuniones diarias y estás midiendo el progreso con un gráfico. Ahora solo necesitas terminar cuando dijistes que lo harías. ¡Que gran idea! ¡Que visión! Si solo hubiera pensado en eso, mis proyectos de desarrollo nunca hubieran sido tan dificiles. Aunque seriamente, hay unos pocos principios de desarrollo ágil de software que ayudan con este paso. Aquí están: 'hecho' significa 'HECHO' *Completa* cada característica antes de mover

Tips y enlaces de la semana

json_encode y problemas con acentos. Según la documentación de la función json_encode , esta solo funciona con caracteres codificados en utf-8, así que si trabajamos con caracteres con otra codificación podemos convertirlos con la función utf8_encode. Asi: json_encode(utf8_encode($dato)); Si lo que queremos es pasar un arreglo a json, debemos pasar cada item del arreglo a utf8 y para esto usaremos la función array_map, quedando de la siguiente manera: json_encode(array_map("utf8_encode",$arreglo)); Esta función está disponible desde la versión 5.2 de PHP, asi que si usas una versión anterior intentalo con la versión de json_encode y json_decode para PHP4 Este archivo se usa de la siguiente forma: // create a new instance of Services_JSON require_once('JSON.php'); $json = new Services_JSON(); // convert a complex value to JSON notation $value = array(1, 2, ‘foo’); $output = $json->encode($value); print($output); // accept incoming POST data $input =

Como Implementar SCRUM en 10 pasos fáciles - Paso #8: Mide el progreso con un gráfico

Continuando con la serie: Como implementar SCRUM en 10 pasos fáciles . Creación de Kelly Waters y traducida con la autorización correspondiente por su servidor. La entrada original de este artículo es: Step 8: Track Progress With A Daily Burndown Chart Paso #8: Mide el progreso con un gráfico Así que tienes tu pila del producto en orden , has estimado la pila , esclarecido los requisitos , planeado tu sprint y has creado un espacio de trabajo colaborativo . Estás haciendo un Sprint para alcanzar tus metas y estás haciendo reuniones diarias . Ahora estás listo para medir el progreso con un gráfico. "¡Dios mío, parecía ir tan bien!" A menudo en proyectos de desarrollo tradicionales, todo parece ir tan bien, hasta la finalización del 80% o incluso más tarde. Luego las cosas se vuelven más difíciles. Las cosas empiezan a parecer cada vez menos probable que cumplan con la fecha de finalización prevista. Hasta que finalmente reconoces que no puedes alcanzar la f

Como implementar Scrum en 10 pasos fáciles. Paso #7: Ponte de pie y a contar!

Continuando con la serie: Como implementar SCRUM en 10 pasos fáciles . Creación de Kelly Waters y traducida con la autorización correspondiente por su servidor. La entrada original de este artículo es: Step 7: Stand Up And Be Counted! Paso #7: Ponte de pie y a contar! Así que tienes tu pila del producto en orden, has estimado la pila, esclarecido los requisitos, planeado tu sprint  y has creado un espacio de trabajo colaborativo. Estás haciendo el Sprint para lograr tus metas; ahora estás listo para el paso #7 – Ponte de pie y a contar! Mantén una reunión diaria de pie. Todo el equipo debe estar presente. No es opcional. Todo el equipo debe estar involucrado. Incluyendo, es muy importante, el Propietario del Producto. Y cualquier representante del negocio, cliente o usuario que este activamente involucrado. Y cualquier otro especialista activamente involucrado en el Sprint, incluso si ellos no son parte del núcleo del equipo. El equipo se mantiene en un semi-circulo alrede

Como implementar Scrum en 10 pasos fáciles. Paso #6: Sprint

Continuando con la serie: Como implementar SCRUM en 10 pasos fáciles . Creación de Kelly Waters y traducida con la autorización correspondiente por su servidor. La entrada original de este artículo es: Step 6: Sprint! Paso #6: Sprint Así que tienes tu pila del producto en orden , has estimado la pila , esclarecido los requisitos , planeado tu sprint y has creado un espacio de trabajo colaborativo . Estás listo para el paso #6: el Sprint. Scrum en realidad no prescribe como se debe hacer para la entrega de tus tareas en el Sprint. Scrum es una práctica de gestión ágil y no cubre realmente la ingeniería ágil. XP (Extreme Programming - Programación Extrema) por otro lado es una práctica de ingeniería ágil. Personalmente pienso que esta es la belleza de Scrum. Cualquier práctica de ingeniería que uses, desde vaquero a riguroso, desde RAD a RUP , desde XP hasta DIY , cualquiera, Scrum se puede colocar directamente en la parte superior. Ese es el porque digo que es fácil.