domingo, 11 de junio de 2017

Angular 2 - 3) Evento Clicks


Objetivo:
  • Evento clicks


  1. Abrir el archivo users.component.html y actualizar el div donde muestra el listado de usuario, ya que ahora va a ser un elemento ul

<header>
    Mi Angular One Framework!
</header>
<main>
<div>
    <h1>{{message}}</h1>
</div>
<div *ngIf="users">
  <ul>
    <li *ngFor="let u of users">
        {{u.name}} {{u.username}}
    </li>
  </ul>
</div>
</main>



  1. Abrir el archivo users.component.ts and agregar un atributo público y un método para manejar el evento clicks:


export class UsersComponent implements OnInit {
message:string;
users: Array<any>;
activeUser;

constructor() { }

ngOnInit() {
  this.message = "Bienvenidos";
  this.users = [
    {id: "25", name: "Leo", username:"Leonel"},
    {id: "26", name: "Diego", username:"Diegote"},
    {id: "27", name: "Martin", username:"tincho"}
  ];
}

selectUser(user) {
  this.activeUser = user;
}
}


  1. Abrir el archivo users.component.html y actualizar el ul con la información del usuario de la siguiente manera:

  <ul>
    <li *ngFor="let u of users" (click)="selectUser(u)">
        {{u.name}} {{u.username}}
    </li>
  </ul>


  1. Abrir el archivo user.component.html y actualizar la información de como se muestra el usuario seleccionado:
<header>
    Mi Angular One Framework!
</header>
<main>
<div>
    <h1>{{message}}</h1>
</div>
<div *ngIf="users">
  <ul>
    <li *ngFor="let u of users" (click)="selectUser(u)">
        {{u.name}} {{u.username}}
    </li>
  </ul>
</div>
<div>
  <div *ngIf="activeUser">
    <h2>{{activeUser.name}} <small>{{activeUser.username}}</small></h2>
  </div>
  <div *ngIf="!activeUser">
    <h2>Choose a User</h2>
  </div>
</div>
</main>




  1. Abrir una consola y posicionarse en la raíz del proyecto y ejecutar ng serve






sábado, 10 de junio de 2017

Angular 2 - 2) Primer componente


Objetivo:
  • Crear el primer component
  • Utilizar ngIf y ngFor


  1. Crear un nuevo componente llamado users utilizando el proyecto que se creó anteriormente. Para eso abrir una consola y nos posicionamos en el proyecto que creamos anteriormente y ejecutamos:

ng generate component users



La salida de consola debería ser algo parecido a esto:



2. Abrir el archivo llamado users.component.ts y agregar información de los usuarios que vamos a lista. El componente debería quedar de la siguiente manera:  

import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-users',
templateUrl: './users.component.html',
styleUrls: ['./users.component.css']
})
export class UsersComponent implements OnInit {
message:string;
users: Array<any>;

constructor() { }

ngOnInit() {
  this.message = "Bienvenidos";
  this.users = [
    {id: "25", name: "Leo", username:"Leonel"},
    {id: "26", name: "Diego", username:"Diegote"},
    {id: "27", name: "Martin", username:"tincho"}
  ]
}

}


3. Abrir el archivo llamado users.component.html y actualizar con la siguiente información:


<header>
    Mi Angular One Framework!
</header>
<main>
<div>
    <h1>{{message}}</h1>
</div>
<div *ngIf="users">
  <div *ngFor="let u of users">
      {{u.name}} {{u.username}}
  </div>
</div>
</main>


4. Abrir el archivo llamado app.component.html y agregar el selector de usuario que se creó en el paso anterior:

<app-users></app-users>


5. Abrir una consola o terminal en la raíz del proyecto  y ejecutar el comando ng serve. La salida debería ser parecida a esto:












Angular 2 - 1) Configurar nuestro primer proyecto utilizando Angular-Cli


Objetivo:



  1. Tomando como información los requisitos necesarios para instalar Angular-Cli (https://github.com/angular/angular-cli#prerequisites). Necesitamos:

Both the CLI and generated project have dependencies that require Node 6.9.0 or higher, together with NPM 3 or higher.

Instalar estos requisitos previos.

  1. Abrir una consola y ejecutar el siguiente comando:

npm install -g @angular/cli

Esto puede tardar unos minutos.

  1. Ejecutar el siguiente comando para crear un nuevo proyecto en Angular:

ng new angular-fastest

  1. En el paso anterior se creó un directorio llamado angular-fastest, posicionarse en esa ruta y ejecutar lo siguiente:


ng serve


5. Abrir en un browser localhost:4200 y deberíamos ver algo similar a esto:






viernes, 21 de octubre de 2016

JMeter - Usar parámetros



Necesitamos crear un test plan que pueda recibir parámetros de manera dinámica al momento de correrlo por consola.

Para esto creamos un nuevo test plan de la siguiente manera:



jmeter -n -t  path_to_test_plan\test_plan.jmx -Jusers=4


Con esto ya podemos asignar de manera dinámica el numero de hilos a ejecutar.

JMeter - Usar parámetros



Necesitamos crear un test plan que pueda recibir parámetros de manera dinámica al momento de correrlo por consola.

Para esto creamos un nuevo test plan de la siguiente manera:



jmeter -n -t  path_to_test_plan\test_plan.jmx -Jusers=4


Con esto ya podemos asignar de manera dinámica el numero de hilos a ejecutar.

miércoles, 11 de mayo de 2016

Angular - Actualizar a la ultima version proyecto generado con yeoman


El generador de proyecto de Angular que podemos encontrar en yeoman(https://github.com/yeoman/generator-angular#readme) esta utilizando varias versiones viejas o deprecadas.

Por eso para poder actualizar todo el proyecto a las ultimas versiones tanto de dependencias bower como de los plugins de grunt debemos seguir los siguientes pasos posicionados en el proyecto en cuestion:

1- Installar npm-check-updates 

npm install -g npm-check-updates

2- Actualizar el archivo package.json

ncu -u

3- Actualizar el archivo bower.json

ncu -m bower -u

4- Actualizar las dependencias manejadas por npm

npm update

5- Actualizar las depdencias de bower

bower update

De esa manera ya tenemos toda la aplicaciones utilizando las ultimas versiones.

Cuando intentamos levantar la aplicación como lo hacemos habitualmente utilizando el comando:

grunt serve

Nos encontramos con el siguiente error:

Running "connect:livereload" (connect) task
Warning: connect.static is not a function Use --force to continue.

Esto es porque la ultima versión de grunt-contrib-connect modifico el objecto connect(https://github.com/gruntjs/grunt-contrib-connect/issues/191) y no tiene mas disponible el método static.

Por lo anterior tenemos que actualizar el Gruntfile.js de la siguiente manera:

6 -

Agregar el modulo server-static de la siguiente manera:  

var serveStatic = require('serve-static');

Modificar el connect option como sigue:

Antes:
            return [
                connect.static('.tmp'),
                connect().use(
                    '/bower_components',
                    connect.static('./bower_components')
                ),
                connect.static(appConfig.app)
            ];

Ahora:
            return [
                serveStatic('.tmp'),
                connect().use(
                    '/bower_components',
                    serveStatic('./bower_components')
                ),
                serveStatic(appConfig.app)
            ];


Y con esto podemos utilizar el proyecto con las ultimas versiones de todas las dependencias.