LAMPP


Instalación y configuración LAMPP PRERREQUISITOS 1. Crear un usuario aplicativo lampp sudo adduser lampp –disabled­login 2. Crear un FS para la instalación de xampp en /opt/lampp sudo vi /etc/fstab /dev/xvdb  /opt/lampp  ext4  defaults 1 INSTALACIÓN Descarga la versión que corresponda de 32-bits o de 64-bits desde sourceforge Cambiamos los permisos al instalador chmod 755 xampp­linux­*­installer.run […]

Result-Only Work Environment (ROWE)


En alguna entrevista de trabajo me preguntaban cuáles son las estrategias que uso para llevar con éxito un Proyecto, una de ellas en mi experiencia es, combinar Scrum y llevar a cabo la gestión del proyecto bajo el marco definidos por el PMI; sin embargo, casi siempre es una inquietud de mis entrevistadores, el cómo se logra en una cultura como la mexicana, no tener “mano dura” y con todo lograr que las personas alcancen sus objetivos, algo que comento es que finalmente podemos constatar que la manera “tradicional” no sólo ha generado una crisis en las TIs con porcentajes de más del 80%  de retrasos en la entrega y proyectos inconclusos, lo que originó la necesidad de nuevas metodologías como la de Scrum, que sin entrar en más detalles Scrum toca el tema de fondo, y es la necesidad de personas cualificadas, así es, en qué? ese es otro tema, del cual sólo vale la pena comentar, que un equipo altamente capacitado y pobremente cualificado, está altamente propenso a terminar siendo uno de tantos proyectos con grandes atrasos, muchas otras extras, etc, etc; claro, a menos que éste sea un Proyecto individual, que desde luego no es el caso, razón de más para tomarse unos minutos en evaluar otra dirección en la típica forma de gestionar.
El fragmente del artículo que abajo anoto, apunta a otra de las claves en el éxito de cualquier proyecto, espero se den el tiempo para leer el artículo y dejarme sus comentarios, buen día.

The next generation wants to work this way naturally. They start off entrepreneurial and nimble, and they know how to work fast and communicate globally. Growing up, they did more group project than the rest of did. They know how to drive an outcome.Now, they’re entering an old-fashioned, 20th century system, and what we’re telling them doesn’t fit with how they think and how they move stuff along. Millennials are motivated. If you’re clear with them about what they need to deliver, they’re going to do it every time. But if you say, “Shut up. Get in your cube. And don’t forget to go to the team-building event at 3,” you’re going to lose them.They may stay for a while, but they will be complacent, unmotivated and uninspired. Then, they will start looking elsewhere for a progressive organization. They’re not going to waste their time sitting around for eight hours, just because somebody said that that’s how work is supposed to happen. They will start looking for an organization that’s first and foremost interested in the results they can — and will — deliver.” – Pavao K.

http://www.oracle.com/us/corporate/profit/opinion/022013-jthompson-1910615.html?goback=%2Egde_4636455_member_218426203
 

 

Configuring Sprint Dashboard


 

2   Sprint Board

2.1        Steps Description

 

  • The steps defined below shall be met in their entirety.

 

Step Description
Create Custom Page Click the Home icon to display the Create Custom Page option (fig. 1).
Configure Page Name Write the page name in Page Name field, check Iteration option and click Save and Close button (fig. 2).
Add application Select Start Adding Apps option (fig. 3).
Select application Select Kanban Board option and click Add This App (fig. 4).
Configure Swimlanes Select Settings icon and click Settings option (fig. 5). Check Swinlanes and select Owner list option (fig. 6)
Ready to go. Verify your assignments (fig. 7).

1
Fig. 1

4

Fig. 2

2

Fig. 3

3

Fig. 4

 5

Fig. 5 

6

 Fig. 6

7

Fig. 7

CONFIGURING USER STORY CARDS

Steps Description

 

Step Description
Display the Card’s Data List Click the Show on Cards icon to display the Card’s data list (fig. 1).
Select the Card’s Data Verify that only are selected the options listed below and click Apply button (fig. 2).

9a

Fig. 1

  • Defects (User Story)
  • Feature (User Story)
  • In Progress Date
  • Schedule State
  • State (Defect)
  • Task Est
  • Tasks
  • Test Cases

9

Fig. 2

10

Fig. 3

Configuring Release Dashboard

Apache Tomcat


Instalación Java 8
sudo apt-get install oracle-java8-installer

Configuración

wget http://www.eu.apache.org/dist/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz

Copiamos los archivos a las ubicaciones que se listan y copia de los jars a ext de cuerdo a la imagen anterior.

Desde: target/tomcat8x

  1. shared/lib/*.jar

  2. conf/context.xml

  3. conf/catalina.properties

  4. common/lib/*.jar

Hacia /opt/apache-tomcat-8.0.32/lib/ext y /opt/apache-tomcat-8.0.32/lib/conf

cp /CODIGO/workspace/myhippoproject/target/tomcat8x/conf/catalina.properties /opt/apache-tomcat-8.0.32/conf/
cp /CODIGO/workspace/myhippoproject/target/tomcat8x/conf/context.xml /opt/apache-tomcat-8.0.32/conf/
cp /CODIGO/workspace/myhippoproject/target/tomcat8x/common/lib/*.jar /opt/apache-tomcat-8.0.32/lib/ext/
cp /CODIGO/workspace/myhippoproject/target/tomcat8x/shared/lib/*.jar /opt/apache-tomcat-8.0.32/lib/ext/

Configuración VARS ENV

source /.profile

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

export PATH=$PATH:$JAVA_HOME

export MAVEN_HOME=/usr/share/maven

export M2_HOME=/usr/share/maven

export PATH=$PATH:$MAVEN_HOME/bin:$M2_HOME/bin

export CATALINA_HOME=/opt/apache-tomcat-8.0.32

export CATALINA_BASE=$CATALINA_HOME

export PATH=$PATH:$CATALINA_HOME/bin:$CATALINA_BASE/bin

echo $CATALINA_HOME/bin

cd $CATALINA_HOME/bin

tar xvfz commons-daemon-native.tar.gz

cd commons-daemon-1.0.15-native-src/

cd unix

./configure

make

./bin/jsvc -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar -outfile $CATALINA_BASE/logs/catalina.out -errfile $CATALINA_BASE/logs/catalina.err -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties org.apache.catalina.startup.Bootstrap

Verificamos la instalación y ejecutamos el servisor

$CATALINA_HOME/bin/daemon.sh start

Eclipse


 

Ejecución de Proyecto Prueba MonitorUI desde Eclipse.

Creación de clase UiApplication

package mx.com.yjm.monitor.ui;
import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class UiApplication {
@RequestMapping("/resource")
 public Map<String,Object> home() 
 {
 Map<String,Object> model = new HashMap<String,Object>();
 model.put("idMx", "Monitor MX");
 model.put("contentMx", "http://my.url.01/");
 model.put("imageUrlMx", "img/mexico.jpg");
 
 model.put("idCl", "Monitor CL");
 model.put("contentCl", "http://my.url.02/");
 model.put("imageUrlCl", "img/chile.jpg");
 
 model.put("idCo", "Monitor CO");
 model.put("contentCo", "http://my.url.03/");
 model.put("imageUrlCo", "img/colombia.jpg");
 
 model.put("idPe", "Monitor PE");
 model.put("contentPe", "http://my.url.04/");
 model.put("imageUrlPe", "img/peru.jpg");
 
 return model;
 }
public static void main(String[] args) {
 SpringApplication.run(UiApplication.class, args);
 }
}

 

Index.html

codigo1codigo2

 

Ejecución proyecto desde Run As -> Run Configurations

run.png

Configuración de argumentos

–spring.config.location=classpath:/application.proporties

 

params

Configuración variables del application.properties: security.user.password y server.port

enviroment.png

Consola

run.png

Navegador

localhost

 

Spring CLI


Spring Boot CLI es una herramienta de línea de comandos que puede ser usada para rápidamente crear un prototipo de Spring.

INSTALACIÓN SPRING CLI

Descargamos el tar o zip

Descomprimos el paquete y de acuerdo a las instrucciones en INSTALL.txt procedemos a configurar.

Ejemplo:

  • Configuramos las variables de ambiente:
SPRING_HOME= \spring-1.2.5.RELEASE
PATH=%PATH%;%SPRING_HOME%\bin
  • Ejecutamos el script correspondiente que se encuentra en \spring-1.2.5.RELEASE\bin
./spring
spring.bat
  • Verificamos la instalación:
 spring --version

Creamos un folder con el nombre del proyecto y un archivo llamado app.groovy.

app.groovy.

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        "Hello World!"
    }
}

Ejecutamos el comando:

spring run app.groovy

test

Verificamos que se despliegue correctamente la app en  http://localhost:8080/

Hello

Clúster


Verificando la configuración

Para asegurar que el clúster ha sido correctamente  configurado, utilizamos las utilerías ubicadas en /usr/sbin

Probamos la accesibilidad a las particiones compartidas.

/usr/sbin/shutil -v

Las particiones compartidas se deberán referir al mismo dispositivo físico. Si el comando anterior funciona correctamente entonces ejecutamos en cada uno de los nodos para desplegar el encabezado de la estructura de datos para la partición compartida.

/usr/sbin/shutil -p /cluster/header

Si la salida es diferente en cada miembro, entonces hay un error, pues no están apuntando todos a la misma partición compartida.

Varificar que los dispositivos de memoria como tal existen y están correctamente indicados en el archivo /etc/sysconfig/rawdevices

Determinar cada bus en cada miembro, examinamos el sistema de mensajes de inicio ejecutando

dmesg |less

Verificar que el miembro no esta tratando de montar un FS en la partición compartida, verificando que el dispositivo actual no esta incluido en el /etc/fstab

Volvemos a ejecutar para verificar

/usr/sbin/shutil -p

Probamos la operación de los interruptores de alimentación

Si se están usando interruptores de alimentación en la configuración del hardware, ejecutamos el comando confluence en cada miembro puede remotamente encender el ciclo hacia otro miembro. No ejecutar el comando mientras se esta ejecutando algún SW.

clufence

  • -d — Turn on debugging
  • -f — Fence (power off) member
  • -u — Unfence (power on) member
  • -r — Reboot (power cycle) member
  • -s — Check status of all switches controlling member

Asegurar que todos los miembros están ejecutando la misma versión del software

Para desplegar el resultado de la revisión de los RPM´s instalados en el clúster, ejecutamos en cada miembro el comando:

rpm -q clumanager

rpm -q redhat-config-cluster

Git


Instalación

  1. sudo yum install git
  2. git --version

 

Uso

Clonando un repositorio.

git clone <repository-name.git>

Verificación del estatus del repositorio local, indicandonos si está sincronizado

git status

Como buena práctica, antes verificamos que nuestro repo LOCAL tenga todos los cambios en el MASTER.

git pull origin master

Se agregan todos los cambios locales al listado de los cambios por subir.

git add .

En caso de haber elimidado algunos archivos, deberemos utilizar:

git add --all

Enviamos los cambios y hacemos commit

git push origin master
git commit -m "Comentarios"

Comparto contigo algunos proyectos en https://gitahub.com/yanellyjm

Vagrant


Versión en español de …

Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados.

Desde la versión 1.1 Vagrant es capaz de trabajar con múltiples proveedores, como VMwareAmazon EC2LXCDigitalOcean, etc. Y se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHPPythonJavaC# y JavaScript.

¿Por qué VAGRANT?

Vagrant provee configuraciones fáciles, reproducibles y portables a través de distintos ambientes de trabajo, construidos con los mejores estándares de la industria de la tecnología y controlados por un único y consistente flujo para ayudar a maximizar la productividad y flexibilidad.

Para lograr esto, Vagrant soporta sobre sus hombros a gigantes. Las máquinas son aprovisionadas dentro de distintos proveedores de servicios de virtualización como son, Virtual Box, AWS y cualquier otro proveedor. Luego entonces, herramientas de aprovisionamiento  estándar en la industria como Shell Scripts, Chef, Puppet; pueden ser utilizadas para automatizar la instalación y configuración del software en las máquinas.

COMO VAGRANT TE BENEFICIA

Si se es Desarrollador, Vagrant va a aislar dependencias y su configuración dentro de un único entorno disponible, consistente y sin sacrificar ninguna de las herramientas que se tiene acostumbrado utilizar como editores, debuggers, etc. Una vez que se crea el vagrantfile, sólo es necesario ejecutar el comando vagrant up y todo es instalado y configurado para trabajar; y así otros miembros del quipo pueden crear sus ambientes usando la misma configuración incluso en sistemas operativos diferentes, ejecutando código en el mismo ambiente, contra las mismas dependencias, todo configurado de la misma manera; diciendo así, adiós a resolver “los bugs en mi máquina”.

Si tu eres un Ingeniero de Operaciones, Vagrant da un ambiente disponible y un workflow consistente para desarrollar y probar scripts de gestión de infraestructura. Rápidamente se pueden probar cosas como Shell Scripts, Chef cookbooks, módulos de Puppet y más, utilizando virtualización local con Virtual Box o VMware. Luego entonces, con la misma configuración, se podrán probar los mismos scripts en la nube, como en AWS o RackSpace con el mismo workflow.

Deshazte de tus encargos de scripts para distintas instancias, detener vía SSH varios equipos, etc etc. y comienza a utilizar Vagrant para traer sanidad a tu vida. (Acaso es el pare de sufrir de los Desarrolladores??? jajajaa continuará … )

Herramienta muy útil dentro de los ambientes de desarrollo, que permite la automatización del aprovisionamiento de MV. Dentro del contexto de Storm.

WINDOWS

Instalación

VBOX_MSI_INSTALL_PATH = C:\Program Files\Oracle\VirtualBox\