Mostrando las entradas con la etiqueta Optimization. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Optimization. Mostrar todas las entradas

domingo, 29 de mayo de 2022

Los 10 Mandamientos de la Performance en Desarrollo Web por Luis Duenas (Versión Posters)

 Poster en Castellano


Poster en Ingles



Los 10 Mandamientos de la Performance en Desarrollo Web por Luis Duenas

Comentario Inicial

Un problema frecuente en la programación es la falta de rendimiento o velocidad (Performance) en aplicaciones web y esto se debe a que existen principios que si no los sigues te esperan muchos problemas (aunque al programador no le afecta directamente sino mas bien a los usuarios).

Muchos creen conocer o programar bien pero desconocen estas reglas esenciales en el desarrollo web, por este motivo voy a publicar los 10 mandamientos de la performance en el desarrollo web que te ayudaran a mejorar tus aplicaciones.

Síntomas que indican que los programadores no conocen sobre Performance Web

A continuación te listo algunos síntomas que indican que los programadores no conocen sobre performance web:

1. Las paginas web demoran en cargar

2. Las consultas demoran en mostrarse, sobre todo si tienen cientos o miles de registros

3. La grabación de un registro con muchos campos demora

4. La grabación de varios registros demora

5. La subida de un archivo grande se demora mucho y sobre todo cuando tiene muchos Megabytes nunca se sube y se cae

6. Cuando hay poco ancho de banda no carga la data.

7. Si son muchas imágenes se muestran con lentitud, etc.

Los 10 Mandamientos del Compendio del Catecismo de la Iglesia Católica

Antes de iniciar con la lista, recordemos los 10 Mandamientos del Compendio del Catecismo de la Iglesia Católica:

1. Amarás a Dios sobre todas las cosas.

2. No tomarás el nombre de Dios en vano.

3. Santificarás las fiestas.

4. Honrarás a tu padre y a tu madre.

5. No matarás.

6. No cometerás actos impuros.

7. No robarás.

8. No darás falsos testimonios ni mentirás.

9. No consentirás pensamientos ni deseos impuros.

10. No codiciarás los bienes ajenos.

Los 10 Mandamientos de la Performance en Desarrollo Web

1. En desarrollo Web, elegirás la Performance sobre todas las demás características, tales como Seguridad, Reusabilidad, Mantenibilidad, Responsividad, etc.

2. No harás request en vano. Ni al Servidor Web ni a la Base de Datos, ni a cualquier recurso del Backend. Para esto debes agrupar llamadas al Servidor Web y agrupar lógica en solo un Procedimiento Almacenado en vez de varios.

3. Ahorraras al máximo el ancho de banda. Al hacer get (recibir) o post (enviar) debes reducir los datos seleccionando el mejor formato entre los cuales están: HTML, XML, JSON, CSV, Bytes. A veces es necesario comprimir y descomprimir si no demora.

4. Honrarás la simplicidad en vez de la complejidad y la generalidad en vez de la especificidad del desarrollo. Esto te permitirá reducir el código y te servirá para muchos casos de uso.

5. No matarás la Memoria usando decenas o cientos de variables de todo tipo y funciones en la pila usando excesivas capas de código. También, no matarás la CPU usando bucles excesivos ni recursividad sobre todo en el servidor.

6. No cometerás exceso en el uso de librerías y frameworks que harán mas pesado tu desarrollo. Es preferible crear solo la funcionalidad que necesites en vez de usar algo que viene con cientos de funciones que no las vas a usar y te consumirán mucha memoria.

7. No bloquearas los recursos del backend en llamadas concurrentes al servidor web, base de datos y sistema de archivos. Para esto debes hacer uso de programación asíncrona, paralela y trabajar en memoria en vez de disco.

8. No mentirás a tus usuarios diciendo que las aplicaciones web demoran porque no están locales y hay que viajar hasta el servidor web justificando la demora por falta de conocimiento de técnicas de performance.

9. No consentirás que ninguna tarea demore aunque el ancho de banda sea reducido, para lo cual debes hacer uso de trabajo por bloques sea al enviar o recibir. Puedes optimizar imágenes, crear paquetes de bytes, comprimir, etc.

10. No codiciarás ni envidiarás el código de terceros tales como Librerias y/o Frameworks aunque sea de grandes empresas. Lo mejor es que aprendas a crear tus propios recursos y el desarrollo será cada vez mas rápido. No te dejes influenciar por lo que la mayoría hace y trata de comprobar si es verdad lo que se dice.

Comentario Final

Los que no respeten dichos mandamientos serán considerados pecadores del desarrollo web y les espera el infierno de la lentitud de su aplicación, quejas de los usuarios y la consiguiente perdida para el negocio.

Al igual que en la religión donde la mayoría de personas no cumplen los mandamientos de la Iglesia Católica (siendo católicos), en el desarrollo web los programadores no cumplen ninguna de estas reglas y después se quejan de que sus sistemas están lentos.

Sino quieres que a ti o algún conocido le espere el Infierno de la web comparte esta publicación para que los programadores lo tengan en cuenta.

lunes, 1 de febrero de 2016

El Libro del Día: Mobile Web Performance Optimization

El Libro del Día: 2016-02-01

Titulo: Mobile Web Performance Optimization
Autor: S. S. Niranga
Editorial: Packt
Nro Paginas: 151

Capítulos:
Chapter 1: Pillars of Mobile Web Performance Optimization
Chapter 2: Mobile Web Optimization Essentials
Chapter 3: How to Optimize Your Mobile Website
Chapter 4: Caching and Optimizing
Chapter 5: Monitoring and Debugging Our Website
Chapter 6: Managing Third-Party Components
Chapter 7: Tips and Tricks

Descarga:
Mobile_Web_Performance_Optimization

viernes, 30 de octubre de 2015

El Libro del Día: 52 Tips & Tricks to Boost .NET Performance

El Libro del Día: 2015-10-30

Titulo: 52 Tips & Tricks to Boost .NET Performance
Autor: Giorgi Dalakishvili, Louis Somers, Rob Karatzas, Zijian Huang, ...
Editorial: Red Gate
Nro Paginas: 38

Capítulos:
Tips 01-06 : General performance advice
Tips 07-17 : .NET performance improvements
Tips 18-26 : ASP.NET
Tips 27-40 : Database access
Tips 41-47 : Memory usage
Tips 48-52 : General hints

Descarga:
52_Tips_&_Tricks_to_Boost_.NET_Performance

miércoles, 14 de octubre de 2015

El Libro del Día: The Responsive Web

El Libro del Día: 2015-10-14

Titulo: The Responsive Web
Autor: Matthew Carver
Editorial: Manning
Nro Paginas: 193

Capítulos:
PART 1 THE RESPONSIVE WAY
1 Learning to work responsively
2 Design for mobile first
PART 2 DESIGNING FOR THE RESPONSIVE WEB
3 Using style tiles to communicate design
4 Responsive user experience design patterns
5 Responsive layouts
6 Adding content modules and typography
PART 3 EXPANDING THE DESIGN WITH CODE
7 Adding graphics in the browser with CSS
8 Progressive enhancement and obsolescence control with Modernizr
9 Testing and optimization for responsive websites

Descarga:
The_Responsive_Web

martes, 25 de agosto de 2015

El Libro del Día: Learning WebRTC

El Libro del Día: 2015-08-25

Titulo: Learning WebRTC
Autor: Dan Ristic
Editorial: Packt
Nro Paginas: 186

Capítulos:
Chapter 1: Getting Started with WebRTC
Chapter 2: Getting the User's Media
Chapter 3: Creating a Basic WebRTC Application
Chapter 4: Creating a Signaling Server
Chapter 5: Connecting Clients Together
Chapter 6: Sending Data with WebRTC
Chapter 7: File Sharing
Chapter 8: Advanced Security and Large-scale Optimization
Appendix: Answers to Self-test Questions

Descarga:
Learning_WebRTC

miércoles, 3 de junio de 2015

El Libro del Día: Pro .NET Performance

El Libro del Día: 2015-06-03

Titulo: Pro .NET Performance
Autor: Sasha Goldshtein, Dima Zurbalev, Ido Flatow
Editorial: Apress
Nro Paginas: 361

Capítulos:
Chapter 1: Performance Metrics
Chapter 2: Performance Measurement
Chapter 3: Type Internals
Chapter 4: Garbage Collection
Chapter 5: Collections and Generics
Chapter 6: Concurrency and Parallelism
Chapter 7: Networking, I/O, and Serialization
Chapter 8: Unsafe Code and Interoperability
Chapter 9: Algorithm Optimization
Chapter 10: Performance Patterns
Chapter 11: Web Application Performance

Descarga:
Pro_NET_Performance

martes, 24 de febrero de 2015

El Libro del Día: Learning AngularJS Animations

El Libro del Día: 2015-02-24

Titulo: Learning AngularJS Animations
Autor: Richard Keller
Editorial: Packt
Nro Paginas: 182

Capítulos:
Chapter 1: Getting Started
Chapter 2: Understanding CSS3 Transitions and Animations
Chapter 3: Creating Our First Animation in AngularJS
Chapter 4: JavaScript Animations in AngularJS
Chapter 5: Custom Directives and the $animate Service
Chapter 6: Animations for Mobile Devices
Chapter 7: Staggering Animations
Chapter 8: Animations' Performance Optimization

Descarga:
Learning_AngularJS_Animations

miércoles, 10 de diciembre de 2014

El Libro del Día: Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions

El Libro del Día: 2014-12-10

Titulo: Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions
Autor: Itzik Ben-Gan
Editorial: Microsoft
Nro Paginas: 244

Capítulos:
Chapter 1 SQL Windowing
Chapter 2 A Detailed Look at Window Functions
Chapter 3 Ordered Set Functions
Chapter 4 Optimization of Window Functions
Chapter 5 T-SQL Solutions Using Window Functions

Descarga:
Microsoft_SQL_Server_2012_High_Performance_TSQL_Using_Window_Functions

viernes, 10 de octubre de 2014

El Libro del Día: Fast ASP.NET Websites

El Libro del Día: 2014-10-10

Titulo: Fast ASP.NET Websites
Autor: Dean Alan Hume
Editorial: Manning
Nro Paginas: 210

Capítulos:
PART 1 DEFINING PERFORMANCE
1 High-speed websites
2 First steps toward a faster website
PART 2 GENERAL PERFORMANCE BEST PRACTICES
3 Compression
4 Caching: The sell-by date
5 Minifying and bundling static files
6 HTML optimization tips
7 Image optimization
8 ETags
9 Content Delivery Networks
PART 3 ASP.NET-SPECIFIC TECHNIQUES
10 Tweaking ASP.NET MVC performance
11 Tweaking ASP.NET Web Forms performance
12 Data caching

Descarga:
Fast_ASPNET_Websites

viernes, 11 de julio de 2014

El Libro del Día: Releasing HTML5 Games for Windows 8

El Libro del Día: 2014-07-11

Titulo: Releasing HTML5 Games for Windows 8
Autor: Jesse Freeman
Editorial: O'Reilly
Nro Paginas: 159

Capítulos:
1. Getting Started with Windows 8
2. Getting Started with Visual Studio
3. Screen Resolution and Artwork
4. Handling Game Controls On Windows 8
5. Debugging and Optimization
6. Publishing Your Game to the Windows 8 Store
7. Monetization
8. Back to the Web
9. Case Study: Heroine Dusk
10. Windows 8 Resources

Descarga:
Releasing_HTML5_Games_Windows8