Java Forensics

  • Desarrollo
  • curso
  • 20
  • Finalizado

Todos hemos desarrollado aplicaciones y, en general, siempre creemos que lo hemos hecho bien. Luego aprendemos, avanzamos en nuestra profesión, y nos damos cuenta de las cosas que podemos mejorar. Se trata de un aprendizaje continuo, que refina nuestro código y hace que nuestras aplicaciones funcionen mejor.

Por desgracia, o quizá por fortuna, este proceso no es tan natural como puede parecer. Las prisas, los proyectos estimados muy por debajo de su valor e incluso el desconocimiento de lo que es realmente desarrollar un software decente provocan que muchos proyectos se derrumben como un castillo de naipes.

Las consecuencias son graves. Primero, el prestigio de la empresa queda en entredicho. Y quizás también el tuyo. No es solo el dinero que se ha dejado de ganar con ese proyecto, o los proyectos que ya no se harán con ese cliente. Puede convertirse en una mancha demasiado visible, que se recuerde, y puede afectar a la adquisición de nuevos clientes. En segundo lugar, las consecuencias legales. Esto es especialmente grave con empresas grandes, que aplican sanciones por cada día de retraso en la entrega del proyecto, y establecen condiciones de aceptación basadas en métricas objetivas, como por ejemplo % de CPU o tiempo de respuesta de la aplicación. Esto está cada vez más presente por consecuencia de la adopción de técnicas Cloud, que engordan la factura en función de los recursos utilizados (Amazon EC2, Azure, Bluemix, etc…)

Por desgracia, o quizá por fortuna, desarrollar software de calidad, y óptimo, no está al alcance de cualquiera. Es necesario conocimiento, y experiencia. Y pasión.

En este curso profundizaremos en los problemas más habituales en aplicaciones Java. Exploraremos las causas, y encontraremos las soluciones, a través de ejemplos prácticos, con código real. Nunca un curso tan práctico sobre rendimiento y técnicas de performance.

Talk is cheap. Show me the code.

Objetivos:

Los alumnos deberán adquirir las siguientes competencias:

  • Conocer las causas por las cuales una aplicación tiene un rendimiento indeseable
  • Analizar un proyecto Java y encontrar las causas concretas que provocan el problema.
  • Corregir una implementación de rendimiento deficiente
  • Utilizar técnicas para el aumento del rendimiento y software que apoye en la búsqueda y en el análisis

Público objetivo:

Profesionales técnicos, administradores gestores/jefes de proyecto , analistas, consultores técnicos y desarrolladores interesados en desarrollar aplicaciones altamente eficientes y en detectar los problemas de rendimiento en aplicaciones ya existentes.

Observaciones:

Profesionales con conocimientos básicos de programación y del lenguaje Java, conocimientos básicos de bases de datos, especialmente modelo relacional. Se recomienda tener conocimientos sobre el ecosistema Java (Spring, JPA, Hibernate, etc.) aunque no es indispensable para la correcta realización del curso.

1. Introducción a Java Forensics

a. Do or do not. There is no try
b. El Performance Cycle
c. Mega Construcciones que salieron mal. Casos prácticos
d. El ecosistema Java
e. Problemas más comunes en aplicaciones Java
f. La filosofía Trust no-one
g. Herramientas de diagnóstico libres y comerciales

2. Procesador

a. Uso de CPU de aplicaciones JAVA
b. Cómo escribir “código performante” enfocado al uso de CPU
c. Cómo encontrarlos (Análisis y herramientas)
d. Cómo solucionarlos
e. Ejemplo práctico

3. Memoria

a. Esquema de memoria de Java
b. El Garbage Collector
c. Configuración de la JVM
d. Cómo escribir “código performante” enfocado a la memoria
e. Cómo encontrarlos (Análisis y herramientas)
f. Cómo solucionarlos
g. Ejemplo práctico

4. Bases de datos y ORMs.

a. Conceptos previos
b. JPA vs JDBC
c. Configuración y obtención de métricas
d. Tipos de bases de datos
e. Buenas prácticas en JPA
i. Weaving y el problema N+1
ii. Interbloqueos
iii. Paginación
iv. Bulk operations y Caché
f. Cómo encontrarlos (Análisis, medición y herramientas)
g. Cómo solucionarlos
h. Ejemplo práctico

5. Arquitectura
6. Conclusiones

Este curso puede ser bonificado a través de los créditos de formación de la Fundación Tripartita, siendo el ITI la entidad Organizadora del curso. Para ello, la inscripción debe realizarse con al menos 7 días de antelación. Inscripciones posteriores no podrán bonificarse. Si necesita que dicha gestión la realice el ITI, póngase en contacto con nosotros aquí.

Todos los cursos tienen un precio base específico. Sobre el precio base, se podrán aplicar una
serie de descuentos en los siguientes casos:

  • Inscripción anticipada (30, 20 y 10 días antes de la fecha de fin de inscripción).
  • Inscripción de más de un alumno de una misma organización.
  • Ser asociados del ITI o disponer de un acuerdo de colaboración con el ITI.

El precio final tras los descuentos deberá incrementarse con el correspondiente IVA (21%).

Consulta nuestra política de precios

 


Inscribirse

Rellena los datos de este formulario y nos pondremos en contacto contigo para confirmar la inscripción a este curso

Datos del participante



Datos de la empresa


Empresa asociada al ITI SiNo

Datos Básicos

Inscripción: Del 08/05/2017 al 10/05/2017
Inicio: 18/04/2017
Fin: 02/06/2017
Duración: 20
Horario: Martes y jueves de 16 a 20h horas
Lugar: Instituto Tecnológico de Informática (ITI). Ciudad Politécnica de la Innovación, Edificio 8G, Cuarta Planta

Este sitio web utiliza cookies para que tengas una mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de cookies y la aceptación de nuestra Política de cookies.

ACEPTAR
Aviso de cookies
Share This