lunes, 26 de diciembre de 2016

Entrenamiento - Charla Gratuita sobre Desarrollo de Software Ligero y Desconectado

Charla Gratuita sobre Desarrollo de Software Ligero y Desconectado

A los interesados en conocer de cerca mi arquitectura y metodología de desarrollo de software ligero y desconectado basado en Performance, les comunico que estaré dando una Charla Gratuita de 3 horas el día Domingo 8 de Enero del 2017 de 10:00 am a 1:00 pm y el lugar se estará enviando solo a los registrados.

Esta charla es solo para nuevos participantes, es decir, los alumnos que ya están llevando el Taller no sería recomendable que se inscriban para darle oportunidad a nuevas personas, ya sea profesionales o estudiantes de poder conocer las ventajas de mi forma de trabajo,

El procedimiento para registrarse es enviar un mail a Luis.duenash@gmail.com con la siguiente información:
- Nombre Completo
- Tipo Perfil: Profesional / Estudiante / Otro
- Lugar de Trabajo o Estudio (Nombre de la Universidad o Instituto)
- Ha sido ex-alumno (PECI, Web Developer, Carrera, etc)

Recuerden que las vacantes son limitadas por la capacidad del lugar y esta es la única forma de participar en mis Talleres, es decir, solo invito a los que constantemente muestran interés y no a cualquiera que tenga plata para pagar.

El Libro del Día: WebGL Programming Guide

El Libro del Día: 2016-12-26

Titulo: WebGL Programming Guide
Autor: Kouichi Matsuda, Rodger Lea
Editorial: Addison Wesley
Nro Paginas: 544

Capítulos:
1. Overview of WebGL
2. Your First Step with WebGL
3. Drawing and Transforming Triangles
4. More Transformations and Basic Animation
5. Using Colors and Texture Images
6. The OpenGL ES Shading Language (GLSL ES)
7. Toward the 3D World
8. Lighting Objects
9. Hierarchical Objects
10. Advanced Techniques
Anexos:
A. No Need to Swap Buffers in WebGL
B. Built-in Functions of GLSL ES 1.0
C. Projection Matrices
D. WebGL/OpenGL: Left or Right Handed
E. The Inverse Transpose Matrix
F. Load Shader Programs from Files
G. World Coordinate System Versus Local Coordinate System
H. Web Browser Settings for WebGL

Descarga:
WebGL_Programming_Guide

sábado, 24 de diciembre de 2016

El Libro del Día: Learning Virtual Reality

El Libro del Día: 2016-12-24

Titulo: Learning Virtual Reality
Autor: Tony Parisi
Editorial: O'Reilly
Nro Paginas: 128

Capítulos:
1. Introduction
2. Virtual Reality Hardware
3. Going Native: Developing for Oculus Rift on the Desktop
4. Going Mobile: Developing for Gear VR
5. WebVR: Browser-Based Virtual Reality in HTML5
6. VR Everywhere: Google Cardboard for Low-Cost Mobile Virtual Reality

Descarga:
Learning_Virtual_Reality

miércoles, 21 de diciembre de 2016

Presentación - Desarrollo de Software Ligero y Desconectado

Desarrollo de Software Ligero y Desconectado

Introducción

Comparto con ustedes una de mis presentaciones de este año sobre la Necesidad de una Nueva Arquitectura de Software de Alto Rendimiento (ASAR): Ligera, Desconectada, Segura y Disponible (LDSD) que busca cambiar el paradigma del desarrollo que actualmente esta orientado a la Reusabilidad (N-Capas, Servicios, Frameworks, Librerías, Plantillas, etc) y No a la Performance (que es algo que se necesita Urgente).

La actual arquitectura y los temas que se aprenden en todas partes del mundo solo llevan a que las Aplicaciones sean demasiado lentas ya que se conectan constantemente y ocupan todo el ancho de banda con los formatos existentes (XML, JSON), por lo cual es necesario desconectarse y usar un formato mas ligero (CSV).

En estos últimos años vengo trabajando mucho en este tema y mi intención es compartir con la mayor cantidad de personas mi visión sobre lo que debería corregirse en los Sistemas sino los problemas continuaran, es por eso comparto esta Presentación donde comento los Problemas de los Sistemas, las Causas y la Solución.

Presentación

Diapositiva 1

Diapositiva 2

Diapositiva 3

Diapositiva 4

Diapositiva 5

Diapositiva 6

Diapositiva 7

Diapositiva 8

Diapositiva 9

Diapositiva 10

Diapositiva 11

Diapositiva 12

Diapositiva 13

Diapositiva 14

Diapositiva 15

Diapositiva 16

Diapositiva 17

Diapositiva 18

Diapositiva 19

Comentario Final

Si su objetivo principal es que las aplicaciones sean rápidas, nada de lo que se enseña te va a ayudar en dicho objetivo, es decir, si aprendes el uso de Frameworks, Librerías, Plantillas, Patrones, etc, más el enfoque conectado, solo conseguirán que sus páginas sean mas lentas.

Mi aporte para resolver estos problemas los puedo resumir en lo siguiente:
1. Enviar la menor cantidad de archivos: La página, un solo JS, un solo CSS y un solo paquete con las imágenes.
2. Trabajar en forma desconectada para reducir el número de conexiones.
3. Usar CSV como formato de datos para el transporte y así reducir el ancho de banda.
4. Eliminar el uso de capas y bucles en el Back-End
5. Serializar los datos en el Servidor de Datos (SQL Server, Oracle, etc).
6. Trabajar con JavaScript la presentación, búsquedas, filtros, ordenaciones, paginaciones, exportaciones, importaciones, previews de archivos, etc.
7. Actualizar en tiempo real usando Sockets y no Servicios ni llamar constantemente al servidor, etc.

Este breve resumen es la implementación de mi Arquitectura Ligera y Desconectada que considero la alternativa mas eficiente para resolver el problema de la performance que es el "Gran Problema" y el más urgente de resolver.

La mayoría de desarrolladores solo piensan en "Crear" y aprenden muchas cosas que No servirán de nada y solo contribuirán a los problemas descritos en la presentación, los cuales pueden evitarse si uno entiende como funciona una aplicación.

Solo me queda aconsejar a los más jóvenes, sobre todo que recién empiezan, que no se dejen guiar por la moda y las "nuevas formas de desarrollar" que al final cuando trabajen se darán cuenta de que todo lo que estudiaron y las plantillas de arquitectura que les dieron para seguir No fueron las mejores.

En el colmo de la ignorancia, mucha gente que sigue el "Modelo Equivocado" y todavía se pregunta "Pero si ya aumentamos las características del Servidor (CPU, RAM, Disco, etc), porque las Aplicaciones siguen Lentas". La respuesta es simple: "NO es problema de Hardware, pero si de Software, en este caso de Aplicación" y la capacitación que seguiste, la arquitectura que elegiste y todo lo que aprendiste "No resolverá dicho problema".

Los que han visto mi trabajo en este último año y basta como prueba lo que hicimos este Domingo en el Seminario de JavaScript saben que en todos los extremos desde el Back-End hasta el Front-End mejoramos el tiempo de respuesta convirtiendo a la aplicación en "Super Rápida".

Para finalizar, quiero agradecer a todos mis alumnos que durante este año me permitieron mostrar mi trabajo y compartir muchos momentos de reflexión los cuales dieron sus frutos creando una arquitectura sólida en cuanto a performance, la cual vamos a mejorar al próximo año aumentando la seguridad, que son los principales problemas al cual debemos enfocarnos y en el cual trato de aportar algo.

El Libro del Día: WebRTC Cookbook

El Libro del Día: 2016-12-21

Titulo: WebRTC Cookbook
Autor: Andrii Sergiienko
Editorial: Packt
Nro Paginas: 230

Capítulos:
Chapter 1: Peer Connections
Chapter 2: Supporting Security
Chapter 3: Integrating WebRTC
Chapter 4: Debugging a WebRTC Application
Chapter 5: Working with Filters
Chapter 6: Native Applications
Chapter 7: Third-party Libraries
Chapter 8: Advanced Functions

Descarga:
WebRTC_Cookbook

martes, 20 de diciembre de 2016

El Libro del Día: Getting Started with WebRTC

El Libro del Día: 2016-12-20

Titulo: Getting Started with WebRTC
Autor: Rob Manson
Editorial: Packt
Nro Paginas: 114

Capítulos:
Chapter 1: An Introduction to Web-based Real-Time Communication
Chapter 2: A More Technical Introduction to Web-based Real-Time Communication
Chapter 3: Creating a Real-time Video Call
Chapter 4: Creating an Audio Only Call
Chapter 5: Adding Text-based Chat
Chapter 6: Adding File Sharing
Chapter 7: Example Application 1 – Education and E-learning
Chapter 8: Example Application 2 – Team Communication

Descarga:
Getting_Started_with_WebRTC

sábado, 22 de octubre de 2016

Entrenamiento - Seminarios de JavaScript

Seminarios de JavaScript

Como muchos saben ya no pienso dictar Cursos ni Talleres Semanales de ASP.NET MVC & JavaScript, pero en el último Taller que acaba mañana Domingo 23 de Octubre hay temas que no pudimos ver que me gustaría tratarlos detalladamente por lo cual los voy a tocar a manera de Seminarios.

Temas de los Seminarios

1. WebRTC
2. WebGL
3. Maps (Google, Yahoo, Bind, etc)
4. Asynchronous & Parallel Programming (Promises, WebWorkers y ServiceWorkers)
5. Web Components (Polymer)
6. Functional Programming: map, filter, reduce (Elm, ReactiveX)
7. Reactive Programming (React, Flux y Redux)
8. Chrome Apps & Progressive Web Apps (Google)
9. Mobile Native Apps (iOS, Andorid, Xamarin)
10. Hybrid Mobile Apps (Titanium, NativeScript, PhoneGap)
11. Security (Obfuscation, XSS, CSRF, etc)
12. Image File Formats (BMP, JPG, PNG, WebP)
13. Native Data Export (XLSX, DOCX, PPTX, PDF)
14. High Performance Web Site (The Definitive Rules)

Observación

Todos los temas son de nivel avanzado, sobre todo los 4 últimos.

Información

Frecuencia: 1 vez al mes
Día: Último Domingo de cada mes
Horario: 9:00 am a 2:00 pm.
Inicio: 27 de Noviembre del 2016
Duración: 5 horas
Inversión: 100 Soles cada Seminario
Inscripciones: Luis.duenash@gmail.com 
Mínimo de Participantes: 15
Máximo de Participantes: 30
Lugar: Por confirmar (se enviará una semana antes a los registrados)

Comentario Final

Los interesados en participar en el Taller tienen que registrarse enviándome un correo con el Asunto: "Seminarios de JavaScript" e indicar su Nombre Completo y si es ex-alumno o no.

Además quiero resaltar que es obligatorio participar en todos los seminarios, no se puede faltar a ninguno, el que falta quedará retirado para los siguientes seminarios y se le dará la oportunidad a otros interesados.

Los que nunca han llevado algún curso conmigo, es su oportunidad para que vean la diferencia de nivel y profundidad de los temas tratados.

Cada seminario tendrá su PPT y sus respectivos demos o ejemplos muy interesantes y reales.

Para los que estaban pidiendo participar en algún curso o taller solo queda estos Seminarios una vez al mes con lo cual estaría cubriendo casi todo el "Desarrollo Web Desconectado con JavaScript orientado a Performance" que iniciamos hace unos años y donde cubrimos casi todas las APIs hasta la actualidad.