JAVA: RECORRIDO DE UNA LISTA

JAVA: RECORRIDO DE UNA LISTA
CONTEXTO
Las listas son muy utilizadas para manejar colecciones de datos, su ventaja es que puedes agregar elementos y eliminarlos de manera dinámica.
En este articulo, te muestro como recorrer listas genericas.
Existen varias opciones para recorrer una lista:
  • Recorrido indexado.
  • Recorrido tipo colección.
  • Expresiones Lambda
RECORRIDO INDEXADO
A continuación tienes un ejemplo de cómo realizar un recorrido indexado:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba01 {
  
  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido indexado de la lista
    for (int i = 0; i < lista.size(); i++) {
      System.out.println(i + ".- " + lista.get(i));      
    }
    
  }
  
}
RECORRIDO TIPO COLECCIÓN
Conocido como for each. A continuación tienes un ejemplo de como usar el recorrido tipo colección:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba02 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    for (Object o : lista) {
      System.out.println(o);
    }
    
  }
  
}
EXPRESIONES LAMBDA
A continuación tienes un ejemplo de cómo usar las expresiones lambda en el recorrido de una lista:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba03 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    lista.stream()
      .forEach(o -> System.out.println(o));
    
  }
  
}
La ventaja de las expresiones lambda, es que puedes aplicar operaciones, como por ejemplo filtros. A continuación tienes un ejemplo:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba04 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    lista.stream()
       .filter(o -> o.toString().length() < 7)
       .forEach(o -> System.out.println(o));
    
  }
  
}
Utilizando expresiones lambda, puedes encontrar muchas más ventajas.
CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR desarrollada con Java y Oracle.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



JAVA: RECORRIDO DE UN ARREGLO

JAVA: RECORRIDO DE UN ARREGLO
CONTEXTO
Una de las tareas más comunes en programación, es el trabajo con arreglos. Y en este contexto, lo que necesitamos es recorrer sus elementos.
Existen varias opciones para recorrer un arreglo:
  • Recorrido indexado.
  • Recorrido tipo colección.
  • Expresiones Lambda
RECORRIDO INDEXADO
A continuación tienes un ejemplo de como usar el recorrido indexado:
/**
 *
 * @author Gustavo Coronel
 */
public class Prueba01 {

  public static void main(String[] args) {
    
    int[] notas = {56,43,56,12,89,65,23};
    
    // Recorrido indexado de un arreglo
    for (int i = 0; i < notas.length; i++) {
      int nota = notas[i];
      System.out.println(i + ".- " + notas[i]);
    }

  }

}
RECORRIDO TIPO COLECCIÓN
Conocido como for each. A continuación tienes un ejemplo de como usar el recorrido tipo colección:
/**
 *
 * @author Gustavo Coronel
 */
public class Prueba02 {

  public static void main(String[] args) {
    
    int[] notas = {56,43,56,12,89,65,23};
    
    // Recorrido tipo colección
    for (int nota : notas) {
      System.out.println("nota: " + nota);
    }
    
  }
  
}
EXPRESIONES LAMBDA
A continuación tienes un ejemplo de cómo usar las expresiones lambda en el recorrido de un arreglo:
/**
 *
 * @author Gustavo Coronel
 */
public class Prueba03 {

  public static void main(String[] args) {
    
    int[] notas = {56,43,56,12,89,65,23};
    
    // Usando Programación Funcional
    Arrays.stream(notas)
      .forEach(n -> System.out.println("Nota: " + n) );
     
  }

}
La ventaja de las expresiones lambda, es que puedes aplicar operaciones, como por ejemplo filtros. A continuación tienes un ejemplo:
/**
 *
 * @author Gustavo Coronel
 */
public class Prueba04 {

  public static void main(String[] args) {
    
    int[] notas = {56,43,56,12,89,65,23};
    
    // Usando Programación Funcional
    Arrays.stream(notas)
      .filter(n -> n > 50)
      .forEach(n -> System.out.println("Nota: " + n) );
     
  }

}
Utilizando expresiones lambda, puedes encontrar muchas mas ventajas.
JAVA ORIENTADO A OBJETOS
Aprenderás a aplicar de manera correcta la PROGRAMACIÓN EN CAPAS en la creación de SISTEMAS EMPRESARIALES.
Aprenderás a aplicar la ORIENTACIÓN A OBJETOS en la creación de SISTEMAS EMPRESARIALES.
Aprenderás a aplicar PATRONES DE SOFTWARE y BUENAS PRACTICAS en la creación de SISTEMAS EMPRESARIALES.
Aprenderás a aplicar CRITERIOS DE USABILIDAD para mejorar la EXPERIENCIA DEL USUARIO en la construcción de INTERFACES DE USUARIO.



GLOBALIZACIÓN DE LAS COMUNICACIONES

GLOBALIZACIÓN DE LAS COMUNICACIONES
CONTEXTO
La globalización es un tema que nos afecta a todos, de una manera directa o indirecta, pero nos afecta.
Razón por la cual, todos debemos estar informados de que se trata, y no solo eso, también debemos estar interesados en cómo sacarle provecho.
Te voy a mencionar algunos casos para que entendamos mejor este tema:
  • Si tienes una tarjeta de crédito y viajas al extranjero, puedes usarla para pagar tus pasajes y todos tus consumos. Esto es algo muy bueno.
  • Si el precio internacional del petróleo sube, eso se refleja inmediatamente en lo grifos, eso es algo que nos perjudica a todos.
  • Si quieres comprar un producto de otro país, puedes hacerlo por internet, haciendo uso de tu tarjeta de crédito.
  • Si quieres vender a personas de otros países, puedes hacerlo a través de internet, y el pago sería con tarjeta de crédito, hay varias opciones para implementar el medio de pago.
REALIDAD
Pienso que en muchos países como el nuestro, la mayoría de personas no pueden sacarle provecho a la globalización.
Se pueden ensayar varias razones, pero creo que la más importante es la comunicación.
Las mejores oportunidades la tienen los que hablan varios idiomas, porque pueden comunicarse con personas de todo el mundo, esto realmente es fantástico.
En internet busque la siguiente frase:
"analfabetos del siglo XXI"
Y encontré muchas páginas que tienen artículos al respecto, y hay una corriente que apunta al monolingüismo, liderada por Gregg Roberts, a continuación tienes un artículo al respecto:
https://goo.gl/5fuPai
También se encuentran algunas frases, por ejemplo:
"Si no sabes inglés, tienes que esperar a que alguien te lo cuente"
Esto nos puede llevar a muchas reflexiones, como:
Saber otro idioma se ha convertido en una necesidad, pero, saber inglés debe ser una obligación.
PROPUESTA
Pienso, que como país, el gobierno debería tener una política para que desde los niveles iniciales se enseñe el idioma INGLES, me parece que es el idioma universal.
Mínimo, nuestros hijos deberían recibir por lo menos 2 horas diarias de inglés, en todos los niveles.
Pero no solo eso, deberían rendir exámenes internacionales, así estaríamos garantizando que, una mayor cantidad de personas puedan aprovechar las oportunidades que nos da la globalización.
CÓDIGO FUENTE
En esta sección te presento un video que una aplicación JAVA WEB.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



EUREKA-WEB-ORACLE-JDBC

CÓDIGO FUENTE DE UNA APLICACIÓN JAVA WEB CON MVC
DESCRIPCIÓN
En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.
CÓMO OBTENER EL CÓDIGO FUENTE
ABONO O TRANSFERENCIA A CUENTA BANCARIA
Si estas interesado en el código fuente, el costo es de 100.0 Soles.
El abono lo puedes hacer en una de las siguientes cuentas:
  • BCP: 191-10378619-0-52
Luego envías un correo a egcc.fuente@gmail.com con los siguientes datos:
  1. Foto del voucher.
  2. Identificador del código fuente: EUREKA-WEB-ORACLE-JDBC
Luego te respondere en el mismo correo, indicando el enlace para que descargues el código fuente.
PAGO POR PAYPAL
Si estás interesado en el código fuente, su costo es de 35 Dólares.
Debes tener cuenta en PayPal.
Después de realizar el pago, tienes acceso al código fuente.


JQUERY: AGREGANDO Y ELIMINANDO CLASES CSS

JQUERY: AGREGANDO Y ELIMINANDO CLASES CSS
PRESENTACIÓN
Una de las tareas comunes que hacemos cuando trabajamos con JQuery, es agregar y eliminar clases CSS, por ejemplo de un DIV.
En este articulo veras lo fácil que resulta hacerlo con JQUERY.
EJEMPLO
Se tiene el siguiente div:
<div id="divMensaje"></div>
Si lo que quieres es agregarle la clase CSS de nombre egcc_success, este es el código JavaScript utilizando JQuery:
$("#divMensaje").addClass("egcc_success");
Si lo que quieres es eliminar la clase CSS de nombre egcc_success, este es el código JavaScript utilizando JQuery:
$("#divMensaje").removeClass("egcc_success");
Se pueden agregar o eliminar varias clases en una sola instrucción:
// Agregar varias clases
$("#divMensaje").addClass("clase1 clase2 clase3");

// Eliminar varias clases
$("#divMensaje").removeClass("clase1 clase2 clase3");

También puedes eliminar todas las clases con una sola instrucción:
// Eliminar todas las clases
$("#divMensaje").removeClass();



CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR desarrollada con Java y Oracle.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



PROGRAMANDO PENSANDO EN SERVICIOS - Parte 2

PROGRAMANDO PENSANDO EN SERVICIOS – EJEMPLO 1
EJEMPLO 1
Este primer ejemplo tiene como finalidad entender el concepto de programación en capas y programar pensando en servicios.
REQUERIMIENTO
Crear un programa para calcular la suma y el producto de dos números.
ANÁLISIS
Se necesita un componente con dos servicios:
  1. Calcular la suma de dos números.
  2. Calcular el producto de dos números.
IMPLEMENTACIÓN
En el próximo articulo estare desarrollando el patrón DTO.


CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



PROGRAMANDO PENSANDO EN SERVICIOS – Parte 1

PROGRAMANDO PENSANDO EN SERVICIOS – PARTE 1
PENSANDO EN SERVICIOS
Como docente de programación, una de las preguntas que los estudiantes realizan con mucha frecuencia es:
¿Cómo empiezo el proyecto?
La mayoría que se inicia en programación, como es lógico, no tiene claro cómo debe iniciar su proyecto, esto se complica aún más cuando su primer profesor le indica que realice una ventana, y para programarla debe hacer doble click en el botón y empiece a programar.
Pienso, que una parte del problema está en que lo primero que se enseña a los futuros programadores es poner el código de la lógica de un requerimiento en el evento click de un botón, por lo tanto, creen que es así como se debe programar todas las ventanas que requiere su aplicación.
Este estilo de programación no creo que sea el más adecuado, tiene muchos problemas, como por ejemplo:
  1. Repites bloques de código en varias partes de tu aplicación, esto dificulta su mantenimiento.
  2. El mantenimiento de la aplicación rápidamente se vuelve complicado, en muy poco tiempo, tu aplicación se parece más al juego de Jenga.
  3. Escalar tu aplicación, por ejemplo, de Cliente-Servidor a Web se hace prácticamente imposible.
  4. Si cuando estas a la mitad de un proyecto, te cambian de motor de base de datos, actualizar el código se hace una tarea muy complicada.
Voy hacer referencia a Danny Thorpe:
Programar sin una arquitectura en mente es como explorar una gruta sólo con una linterna: no sabes dónde estás, dónde has estado ni a dónde vas.
Pienso que primero debemos pensar en una arquitectura, por ejemplo, pensar en dos capas, una capa de servicios (service) donde se implemente la solución del problema a resolver, y una capa para la interfaz de usuario (view).
Pensar en una capa de servicios para implementar la solución de un requerimiento o problema da muchas ventajas, entre las cuales tenemos:
  1. Permite concentrarnos en la solución.
  2. Facilita las pruebas, algo que no debes dejar de hacer.
  3. Tu solución puedes escalarla fácilmente.
  4. El mantenimiento del código es más fácil.
En el siguiente artículo estaré desarrollando un ejemplo ilustrativo.


CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



EUREKA-CS-ORACLE-JDBC

SQL SERVER ORACLE MYSQL JAVA JAVAEE JDBC MVC DAO PATRONES ANDROID SERVLETS JSP WEB
DESCRIPCIÓN
En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Cliente-Servidor desarrollada con Java, JDBC y base de datos Oracle XE 11g.
CÓMO OBTENER EL CÓDIGO FUENTE
ABONO O TRANSFERENCIA A CUENTA BANCARIA
Si estás interesado en el código fuente, su costo es de 100.0 Soles.
El abono lo puedes hacer en una de las siguientes cuentas:
  • BCP: 191-10378619-0-52
Luego envías un correo a egcc.fuente@gmail.com con los siguientes datos:
  1. Foto del voucher.
  2. Identificador del código fuente: EUREKA-CS-ORACLE-JDBC
Luego te respondere en el mismo correo, indicando el enlace para que descargues el código fuente.
PAGO POR PAYPAL
Si estás interesado en el código fuente, su costo es de 35 Dólares.
Debes tener cuenta en PayPal.
Después de realizar el pago, tienes acceso al código fuente.


Java Web Lección 04: JSTL

JAVA WEB - LECCIÓN 04: JSTL
INTRODUCCIÓN

La dificultad de programar páginas JSP, es el uso de los scriptlets, ya que se esta combinando etiquetas HTML y código Java.

En esta oportunidad aprenderás a desarrollar páginas JSP utilizando las etiquetas JSTL.

JSTL es un conjunto de etiquetas que hace el desarrollo de páginas JSP mucho más fácil. También define un lenguaje de expresiones (EL) que junto a las etiquetas JSTL te ayudarán a que realices páginas JSP mucho mas estructuradas y fácil de entender.

DIAPOSITIVA
CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC

En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.

Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.



Java Web Lección 00: Contexto

SQL SERVER ORACLE MYSQL JAVA JAVAEE JDBC MVC DAO PATRONES ANDROID SERVLETS JSP WEB
INTRODUCCIÓN

Desarrollar aplicaciones web con tecnología Java EE es una excelente alternativa, y te brinda muchas posibilidades de desarrollo en grandes empresas.

En esta oportunidad veremos un contexto para desarrollar soluciones bajo la plataforma Java EE.



DIAPOSITIVA
CÓDIGO FUENTE

En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.

Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.



SEPARATA JAVA ORIENTADO A OBJETOS

JAVA ORIENTADO A OBJETOS
PRESENTACIÓN

Pretender hacer la programación una actividad muy rentable, implica elegir bien el lenguaje, pienso que Java es una excelente elección.

Java lo utilizan las empresas mas grandes del mundo para desarrollar el core de sus negocios, las empresas de comunicación, etc.

En este manual encontrarás información importante para poder empezar con este maravilloso lenguaje. Este es el material que utilizo en el curso que imparto en SistemasUNI.

Accede al portal de SistemasUNI
MANUAL
CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS

En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS en UDEMY.

CÓDIGO FUENTE

En esta sección te presento un vídeo de una aplicación CLIENTE-SERVIDOR.

Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.




OPEN SHIFT - PARTE I

OPEN SHIFT- PARTE I
INTRODUCCIÓN

Hoy en día, tener aplicaciones en la nube se está convirtiendo en una necesidad. Red Hat, te permite probar su nube de manera gratuita.

En la nube de Red Hat puedes tener aplicaciones con varios de los lenguajes más conocidos, como Java por ejemplo, y que pueden interactuar con bases de datos MySQL.

En este manual encontrarás una guía práctica para empezar a probar esta nube de Red Hat, denominada Open Shift.

MANUAL
CODIGO FUENTE

En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.

Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.




GIT Y GITHUB

GIT Y GITHUB
FUNDAMENTOS

Manejar un programa para la gestión de versiones de tus proyectos de software es fundamental.

GIT es quizás en este momento el software para manejar versiones mas utilizado.

GitHub es un repositorio en web que te permite manejar proyectos gratuitos y privados. Existen otras versiones pero GitHub creo que es el mas utilizado.

En esta oportunidad te presento una manual del uso de Git y GitHub, espero que te sea útil.

MANUAL
CODIGO FUENTE

En esta sección te presento un video que una aplicación JAVA WEB.

Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.


Haz click aquí para acceder al código fuente