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

jueves, 28 de julio de 2016

Artículo - Silicon Valley

Silicon Valley

La misión principal de este blog es la cultura en computación, programación, sistemas y TI en general, es por eso que he elaborado este artículo sobre uno de los sitios más importantes del mundo donde se han desarrollado durante décadas muchas empresas (Start-ups) y muchos productos o servicios innovadores, a continuación un resumen sobre Silicon Valley, extraído de diferentes fuentes: Wikipedia, SiliconValley.com, GoodReads.com, YouTube, etc.

1. Ubicación e Importancia (fuente: Wikipedia)

Silicon Valley o Valle de Silicio es el nombre que recibe la zona sur del Área de la Bahía de San Francisco, en el norte de California, Estados Unidos.4 La región cuyo nombre proviene del Valle de Santa Clara, incluye la mitad sur de la Península de San Francisco, abarcando aproximadamente desde Menlo Park hasta San José y cuyo centro se situaría en Sunnyvale. Sin embargo, con el rápido aumento de la cantidad de puestos de trabajo relacionados con la tecnología en la zona metropolitana de San Francisco, las fronteras tradicionales de Silicon Valley se han expandido hacia el norte incluyendo el condado de San Mateo y la ciudad de San Francisco, como también partes del condado de Marin.

El Silicon Valley aloja muchas de las mayores corporaciones de tecnología del mundo y miles de pequeñas empresas en formación (start-ups). Originalmente la denominación se relacionaba con el gran número de innovadores y fabricantes de chips de silicio fabricados allí, pero definitivamente acabó haciendo referencia a todos los negocios de alta tecnología establecidos en la zona; en la actualidad es utilizado como un metónimo para el sector de alta tecnología de los Estados Unidos (a la manera de Hollywood para el cine estadounidense).

A pesar del desarrollo de otros centros económicos de alta tecnología en Estados Unidos y por el mundo, Silicon Valley continúa siendo el centro líder para la innovación y desarrollo de alta tecnología, recibiendo un tercio (1/3) del total de la inversión de capital de riesgo en Estados Unidos.

2. Historia (fuente: Wikipedia)

La ubicación de las industrias de alta tecnología en el valle se debió, en gran medida, a William Shockley y Frederick Terman.

Terman, profesor de la Universidad de Stanford, consideró que una vasta zona sin utilizar de propiedad de la universidad sería perfecta para el desarrollo inmobiliario e intelectual y estableció un programa para incentivar a los estudiantes graduados a quedarse allí, proveyéndoles de capital de riesgo. Uno de los principales éxitos en la historia del programa fue que logró convencer a dos graduados: William Hewlett y David Packard, quienes conformarían la empresa Hewlett-Packard, la cual se convertiría en una de las primeras firmas tecnológicas que no estaban directamente relacionadas con la NASA o la Marina estadounidense.

En 1951 el programa se amplió nuevamente, creando el "Parque Industrial de Stanford" (Stanford Industrial Park en inglés), que consistía en una serie de pequeños edificios industriales que eran alquilados a muy bajo coste a compañías técnicas. En 1954 se instituyó The Honors Cooperative Program, actualmente llamado coop, para permitirle a los empleados a tiempo completo de las compañías obtener títulos universitarios estudiando en un régimen de media jornada. Las primeras compañías firmaron acuerdos de cinco años en los cuales establecían que pagarían el doble de la matrícula por cada estudiante para cubrir los gastos. Hacia mediados de los 50 la estructura de lo que posteriormente permitiría la creación del "valle" se encontraba en una etapa ascendente gracias a los esfuerzos de Terman.

Fue en esta atmósfera en la que un antiguo californiano decidió mudarse allí. William Shockley, quien había abandonado Bell Labs en 1953 por un desacuerdo sobre la forma en que se había presentado el transistor al público, ya que debido a los intereses de patentes, se relegó su nombre a un segundo plano en favor de los coinventores John Bardeen y Walter Houser Brattain. Tras divorciarse de su mujer, volvió al Instituto de Tecnología californiano donde se graduó en Ciencias, pero se trasladó a Mountain View para crear la empresa Shockley Semiconductor como parte de Beckman Instruments y vivir más cerca de su madre.

A diferencia de otros investigadores que utilizaban germanio como material semiconductor, Shockley creía que el silicio era un mejor material para fabricar transistores. Shockley se propuso mejorar el transistor con un diseño de tres elementos (hoy se le conoce como el diodo Shockley) que obtendría éxito comercial, pero cuyo diseño era considerablemente más difícil de construir que el diseño convencional. A medida que el proyecto pasó por varias dificultades, Shockley se volvió cada vez más paranoico. Exigió que los empleados se sometieran a un detector de mentiras, anunció sus salarios públicamente y, en general, se enemistó con todo el mundo, y en 1957, Shockley decide finalizar el trabajo relacionado con el transistor de silicio, todos factores que ayudaron a que en 1957, ocho de los ingenieros más brillantes, que él mismo había contratado, lo abandonaran para formar la compañía Fairchild Semiconductor. Shockley los llamaba los "ocho traidores". Dos de los empleados del grupo original de Fairchild Semiconductor, Robert Noyce y Gordon Moore, a su vez luego fundarían Intel.

Durante los años siguientes este hecho se repetiría varias veces; a medida que los ingenieros perdían el control de las compañías que crearon al caer en manos de directivas exteriores, las abandonaban para formar sus propias empresas. AMD, Signetics, National Semiconductor e Intel surgieron como vástagos de Fairchild o, en otros casos, como vástagos de vástagos.

A comienzos de 1970, toda la zona estaba llena de compañías de semiconductores que abastecían a las compañías de computadores y estas dos, a su vez, a las compañías de programación y servicios. El espacio industrial era abundante y el alojamiento aún barato. El crecimiento se vio potenciado por el surgimiento de la industria de capitales de riesgo en Sand Hill Road que fundó Kleiner Perkins en 1972; la disponibilidad de estos capitales estalló tras el éxito de 1300 millones de dólares por la OPA (oferta pública de acciones) de Apple Computer en diciembre de 1980.

3. Ciudades de Silicon Valley (por principales empresas)

- Palo Alto: Hewlett-Packard, Xerox, Facebook, VMWare, Pinterest, Tesla Motors

- San José: eBay, PayPal, Adobe Systems Inc, Cisco Systems, Sunpower Corp.

- Mountain View: Google, Intuit, LinkedIn, Symantec Corp.

- San Francisco: Twitter, Zynga

- Sunnyvale: Juniper Networks, Yahoo

- Menlo Park: Facebook, Kleiner Perkins Caufield & Byers

- Redwood City: Electronic Arts, Oracle Corp.

- Cupertino: Apple Inc.

- Los Gatos: Netflix

- Santa Clara: Intel Corp.

- Otras Ciudades: Alviso, Atherton, Belmont, Burlingame, Campbell, Foster City, Fremont, Hillsborough, Los Altos, Millbrae, Monte Sereno, Milpitas, Newark, San Carlos, San Mateo, Saratoga, Union City, Woodside.

4. Empresas mas importantes de Silicon Valley (por año de fundación)

- Hewlett-Packard (HP) (1939): Empresa de tecnologías de la información fundada por Bill Hewlett y David Packard en 1939. Tiene 349,600 empleados y un beneficio neto de 7,070 millones de dólares.

- Intel (1968): Compañia tecnológica de semiconductores fundada por Robert Noyce y Gordon Moore en 1968. Tiene 107,300 empleados y un beneficio neto de 11.4 billones de dólares.

- Kleiner Perkins Caufield & Byers (KPCB) (1972): Empresa de capital de riesgo fundada por Eugene Kleiner, Tom Perkins, Frank J. Caufield y Brook Byers en 1972. Tiene personas muy importantes como John Doerr, Raymond J. Lane y Bill Joy (Sun Microsystems).

- Microsoft (1975): Empresa de Software fundada por Bill Gates y Paul Allen en 1975. Tiene 118,584 empleados y un beneficio neto de 13,490 millones de dólares.

- Apple (1976): Empresa de equipos electrónicos y software fundada por Steve Jobs y Steve Wozniak en 1976. Tiene 80,000 empleados y un beneficio neto de 39,510 millones de dólares.

- Oracle (1977): Compañía de software que desarrolla bases de datos y herramientas de programación fundada por Larry Ellison, Ed Oates y Bob Miner en 1977. Tiene 105,000 empleados y un beneficio neto de 3,381 millones de dólares.

- Symantec (1982): Es una compañía de software de seguridad fundada por Gary Hendrix en 1982. En 1990 compra Peter Norton Computing. Tiene 21,500 empleados y un beneficio neto de 878 millones de dólares.

- Adobe Systems (1982): Empresa de Software de edición y video fundada por John Warnock y Charles Geschke en 1982. Tiene 14,154 empleados y un beneficio neto de 987 millones de dólares.

- Electronic Arts (1982): Empresa de Video Juegos fundada por Trip Hawkins en 1982. Tiene 9,370 empleados y un beneficio neto de 76 millones de dólares.

- Intuit (1983): Empresa de software empresarial fundada por Scott Cook y Tom Proulx en 1983.

- Cisco Systems (1984): Empresa de equipos de telecomunicaciones fundada por los esposos Leonard Bosack y Sandra Lerner en 1984. Tiene 74,000 empleados e ingresos de 47,100 millones de dólares.

- SunPower (1985): Compañia de energía solar que diseña y fabrica celdas fotovoltaicas de silicio cristalino de alta calidad, fundada por Richard Swanson en 1985.

- Yahoo (1994): Es una empresa global de medios o sofwtare para Internet fundada por Jerry Yang y David Filo en 1994. Tiene 11,000 empleados y un beneficio neto de 7,520 millones de dólares.

- eBay (1995): Empresa de comercio electrónico fundada por Pierre Omidyar en 1995. Tiene 34,600 empleados e ingresos netos de 1.72 billones de dólares.

- Juniper Networks (1996): Compañia de sistemas de redes y seguridad fundada en 1996. Es la competencia de Cisco sobre todo en Europa.

- Netflix (1997): Empresa de software de entretenimiento fundada por Reed Hastings y Marc Randolph en 1997. Tiene 2,189 empleados y un beneficio neto de 226 millones de dólares.

- Google (1998): Compañia de software para Internet fundada por Serguéi Brin y Larry Page en 1998. Actualmente es subsidiria de Alphabet Inc. la cual tiene 55,419 empleados y un beneficio neto de 14,444 millones de dólares.

- VMWare (1998): Es una empresa de software de virtualización fundada por Diane Greene en 1998. Es una filial de EMC Corporation que a su vez es propiedad de Dell Inc.

- Salesforce (1999): Compañía de computación en la nube fundada en Marc Benioff y Parker Harris en 1999. Tiene 19,000 empleados y ventas por 111 millones de dólares.

- LinkedIn (2002): Empresa de servicios de redes sociales fundada por Reid Hoffman y miembros del equipo de PayPal en el 2002. Este año fué adquirida por Microsoft por 26.2 billones de dólares. Tiene 9,732 empleados y 106 millones de usuarios.

- Tesla Motors (2003): Compañía que diseña, fabrica y vende coches eléctricos, fue fundada por Elon Musk, Martin Eberhard y JB Straubel en el 2003. Tiene 14,000 empleados e ingresos por 4076 millones de dólares.

- Facebook (2004): Empresa de servicios de redes sociales fundada por Mark Zuckerberg en el 2004. Tiene 12,691 empleados y un beneficio neto de 3,688 billones de dólares. Además tiene 1.65 billones de usuarios.

- SolarCity (2006): Empresa proveedor de servicios de energía fundada por Elon Musk en el 2006. Tiene 2,510 empleados.

- Twitter (2006): Compañía de servicios de microblogging fundada por Jack Dorsey, Noah Glass, Biz Stone y Evan Williams en el 2006. Tiene 3,638 empleados e ingresos por 2.21 billones de dólares. Además tiene 332 millones de usuarios.

- Zinga (2007): Empresa de Video Juegos y servicios de redes sociales fundado por Mark Pincus en 2007. Tiene 1,974 empleados e ingresos por 690,410 millones de dólares.

5. Personas mas importantes de Silicon Valley (por año de nacimiento)

- Larry Ellison (1944, USA): Fundador de Oracle Corp.

- T.J. Rodgers (1948, USA): Fundador de Cypress Semiconductor, varias patentes y premios.

- John Chambers (1949, USA): CEO Cisco Systems.

- Paul Otellini (1950, USA): Ex CEO Intel, Junta Directiva Google.

- John Doerr (1951, USA): Kleiner Perkins Caufield & Byers.

- Ron Conway (1951, USA): Inversor Angel en Google, Ask Jeeves, PayPal, etc.

- Eric Schmidt (1955, USA): CEO Google, Alphabet Inc.

- Vinod Khosla (1955, India): Fundador de Sun Microsystems.

- Bill Gates (1955, USA): Fundador de Microsoft.

- Meg Whitman (1956, USA): CEO HP, Ex CEO eBay.

- Mark Hurd (1957, USA): Co-CEO Oracle Corp. Ex CEO de NCR Corp. y HP.

- Tim Cook (1960, USA): CEO Apple Inc.

- Reed Hastings (1960, USA): Fundador de Netflix.

- Brian Krzanich (1960, USA): CEO Intel.

- Safra Ada Catz (1961, Israel): Co-CEO Oracle Corp.

- Devin Wenig (1966, USA): Presidente y CEO de eBay.

- Peter Thiel (1967, USA): Co-Fundador de PayPal. Socio de The Founders Fund (VC).

- Reid Hoffman (1967, USA): Fundador de LinkedIn, Trabajo en Paypal, Inversor en Facebook,
Zynga.

- Sheryl Sandberg (1969, USA): COO Facebook.

- Marc Andreessen (1971, USA): Fundador de Netscape Communications Corp, co-creador de Mosaic, diseñador de SSL.

- Elon Musk (1971, Sudafrica): PayPal, Tesla Motors, SpaceX, SolarCity, Hyperloop y OpenAI.

- Larry Page (1973, USA): Co-Fundador de Google.

- Sergey Brin (1973, Rusia): Co-Fundador de Google.

- Marissa Mayer (1975, USA): CEO Yahoo.

- Mark Zuckerberg (1984, USA): Fundador de Facebook.

6. Principales Universidades en Computación y TI en Silicon Valley (por año de fundación)

- Santa Clara University (1851)

- San José State University (1871)

- Stanford University (1885)

- College of San Mateo (1922)

- California State University, East Bay (CSUEB) (1957)

- University of California, Santa Cruz (1965)

- De Anza College (1967)

- International Technological University (ITU) (1994)

- Silicon Valley University (SVU) (1997)

7. Principales Libros sobre Sillicon Valley (extraido de goodreads) (por año de publicación)

- Libro: Hackers: Heroes of the Computer Revolution
  Autor: Steven Levy
  Año: 1984

- Libro: Only the Paranoid Survive
  Autor: Andrew S. Grove
  Año: 1988

- Libro: Hard Drive: Bill Gates and the Making of the Microsoft Empire
  Autor: James Wallace
  Año: 1992

- Libro: The New New Thing: A Silicon Valley Story
  Autor: Michael Lewis
  Año: 1999

- Libro: Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age
  Autor: Michael A. Hiltzik
  Año: 1999

- Libro: Softwar: An Intimate Portrait of Larry Ellison and Oracle
  Autor: Matthew Symonds
  Año: 2003

- Libro: Hackers & Painters: Big Ideas from the Computer Age
  Autor: Paul Graham
  Año: 2004

- Libro: Revolution in The Valley: The Insanely Great Story of How the Mac Was Made
  Autor: Andy Hertzfeld
  Año: 2004

- Libro: Bill & Dave: How Hewlett and Packard Built the World's Greatest Company
  Autor: Michael S. Malone
  Año: 2007

- Libro: The Accidental Billionaires: The Founding of Facebook, a Tale of Sex, Money,
  Genius and Betrayal.
  Autor: Ben Mezrich
  Año: 2009

- Libro: An Engineer's Guide to Silicon Valley Startups
  Autor: Piaw Na
  Año: 2010

- Libro: The Facebook Effect: The Inside Story of the Company That is Connecting the World
  Autor: David Kirkpatrick
  Año: 2010

- Libro: In the Plex: How Google Thinks, Works, and Shapes Our Lives
  Autor: Steven Levy
  Año: 2011

- Libro: I, Steve: Steve Jobs In His Own Words
  Autor: George Beahm
  Año: 2011

- Libro: Steve Jobs
  Autor: Walter Isaacson
  Año: 2011

- Libro: The Circle
  Autor: Dave Eggers
  Año: 2013

- Libro: Hatching Twitter: A True Story of Money, Power, Friendship, and Betrayal
  Autor: Nick Bilton
  Año: 2013

- Libro: Fearless Genius: The Digital Revolution in Silicon Valley 1985-2000
  Autor: Doug Menuez
  Año: 2014

- Libro: How Google Works
  Autor: Eric Schmidt
  Año: 2014

- Libro: Chaos Monkeys: Obscene Fortune and Random Failure in Silicon Valley
  Autor: Antonio Garcia Martinez
  Año: 2016

- Libro: Zero to One: Notes on Startups, or How to Build the Future
  Autor: Peter Thiel
  Año: 2016

8. Videos de Entrevistas a Personajes de Silicon Valley

- Steve Jobs and Bill Gates Face Off



- Mark Zuckerberg at Startup School 2013



- Copy of In Tech We Trust? A Debate with Peter Thiel and Marc Andreessen


- Peter Thiel: being contrarian & right, AI, Elon, drug reform, overrated trends & wealth polarization



- Devin Wenig, CEO eBay | Full interview | Code Conference 2016


- Elon Musk | Full interview | Code Conference 2016


- Google's push to improve Nexus phones | Sundar Pichai, CEO Google | Code Conference 2016


- Jeff Bezos vs. Peter Thiel and Donald Trump | Jeff Bezos, CEO Amazon | Code Conference 2016


- Philanthropy can be innovative | Bill Gates and Melinda Gates | Code Conference 2016



miércoles, 9 de diciembre de 2015

Artículo - Pruebas de Performance

Pruebas de Performance

En este artículo veremos un caso práctico de pruebas del software: las pruebas de performance, que son las más necesarias en los sistemas web, debido al creciente incremento de usuarios y sobre todo de dispositivos que se pueden conectar a una aplicación web.

1. Criterios para Medir la Performance

Primero debemos entender que la medición de la performance de un sitio web se realiza a nivel de cada página, es decir, para medir la performance de todo el sitio web debemos medir la performance de cada página y luego hacer un promedio.

Entre las principales métricas para medir la performance de una página tenemos:
  • Tiempo de carga (Load Time)
  • Tiempo del primer byte recibido (First Byte)
  • Índice de velocidad (Speed Index)
  • Elementos del Modelo de Objetos del Documento (DOM Elements)
Por otra parte, estas métricas deben aplicarse en 2 momentos
  • La primera vez (First View)
  • Las demás veces (Repeat View)
Solo para recordar, hay que mencionar que los principales factores que afectan a la performance son:
  • Cantidad de solicitudes hechas por la página (Request)
  • Cantidad de datos enviados al cliente (Bytes)
Para obtener un buen puntaje debemos hacer la menor cantidad de solicitudes en cada página, es decir, usando pocos archivos CSS, JavaScript, Imágenes y Fuentes.

Además cada archivo debe tener la menor cantidad de datos, es decir, solo lo que se va a usar; en el caso de CSS las clases, en el caso de JavaScript las funciones y en el caso de las imágenes y las fuentes tienen que estar optimizadas.

2. Herramientas para Pruebas de Performance

Existen muchas herramientas para medir la performance, entre las más usadas en el mundo tenemos:

2.1. YSlow

Esta herramienta fue la primera en medir la performance y la primera versión fue creada por Steve Souders en Yahoo en el 2007, actualmente está disponible la versión 2.0 mantenida por Marcel Duran de Twitter.

YSlow es un complemento que se agrega al navegador (Browser) y está disponible para casi todos los navegadores (Firefox, Chrome, Safari, Opera, etc.) menos para Microsoft Internet Explorer.

URL: http://yslow.org/

Página Web de YSlow

Esta herramienta, identifica 34 criterios claves de los cuales actualmente usa 23 criterios para medir la performance de la página, los cuales se muestran en la siguiente figura.

Criterios para Medir Performance de YSlow V2.0

2.2. PageSpeed Insights

Esta herramienta desarrollada por Google en el 2013, inicialmente estaba disponible como una extensión para los navegadores, pero actualmente está disponible como una página web dentro del sitio de desarrolladores de Google.

Una de las ventajas de esta herramienta es que analiza la performance tanto para Desktop como para dispositivos móviles.

URL: https://developers.google.com/speed/pagespeed/insights/

Página Web de PageSpeed Insights

2.3. WebPageTest

Es una herramienta inicialmente desarrollada por AOL en el 2008 y actualmente mantenida por Google. 

Es una de las más usadas actualmente ya que muestra información completa de todas las métricas de performance vistas anteriormente.

URL: http://www.webpagetest.org/

Página Web de WebPageTest

3. Página de Prueba: Login del Sistema

Para las pruebas con las 3 herramientas hemos tomado la página de login de un sistema ubicado en la siguiente dirección.

URL: http://red.hteperu.com/test/Incentivos.Appweb/

Página Web de Prueba

Solo hay que resaltar que la página está en ASP.NET MVC y se compone de lo siguiente:
  • 1 archivo html para la página
  • 1 archivo de hoja de estilo: Login.css
  • 2 archivos de JavaScript: md3.js y Login.js
  • 2 archivos de fuentes: regular.woff y regular.woff2
Las pruebas se harán usando Google Chrome V46.0.2490.86 m (64 bits)

4. Pruebas de Performance usando YSlow

Después de descargar el complemento YSlow V2.0 abrir la herramienta y realizar los siguientes pasos:
  • Ir a la dirección URL: http://red.hteperu.com/test/Incentivos.Appweb/.
  • Clic al botón “Run Test” de la ficha “Home” similar a lo mostrado en la figura.
Ficha Inicio de YSlow V2.0

  • Automáticamente se irá a la ficha “Grade” similar a lo mostrado en la figura.
Ficha Grado de YSlow V2.0

  • En esta ficha se aprecia el puntaje obtenido por la página, en este caso “93 puntos” obteniendo el grado “A” que significa un buen resultado.
  • Para mejorar el puntaje necesitamos usar CDN (grado C), usar cabeceras de expiración (grado E), configurar Entity Tags (grado D).
  • Si deseamos ver el detalle por tipo de archivos seleccionamos la ficha “Components” y se mostrará algo similar a la siguiente figura.
Ficha Componentes de YSlow V2.0
  • En la figura notamos que aparece un mensaje de color rojo indicando que No se encuentra el archivo favicon (icono de la página web).
  • Si deseamos ver una estadística de archivos por tipos seleccionamos la ficha “Statistics” y se mostrará algo similar a la siguiente figura.
Ficha Estadística de YSlow V2.0

Finalmente, en esta ficha podemos darnos cuenta de que solo se está guardando en cache los archivos de hojas de estilos (css) y de JavaScript (js) pero no la página principal y el icono de inicio (ya que éste no existe).

En términos generales, diremos que hemos pasado la prueba de performance usando YSlow V2.0 de Yahoo.
5. Pruebas de Performance usando PageSpeed Insights

Para realizar las pruebas con esta herramienta realizar los siguientes pasos:
  • Ir a la dirección URL: 
https://developers.google.com/speed/pagespeed/insights/.
  • Ingresar la dirección de la página web con el login:
http://red.hteperu.com/test/Incentivos.Appweb/
  • Clic al botón “Analize” tal como se muestra en la siguiente figura.
Página principal de PageSpeed Insights
  • Automáticamente aparecerá los resultados de la ficha “Mobile” que tiene 2 partes: Velocidad y Experiencia de Usuario.
  • A continuación se muestra un gráfico con la sección de “Velocidad” de la ficha “Mobile”.

Sección Velocidad de la ficha Mobile de PageSpeed Insights

  • Aquí se aprecia que se ha fallado en 2 reglas y se ha pasado 8 reglas. Los 2 temas a mejorar son cargar asíncronamente el archivo CSS y el otro es usar cabeceras de expiración para guardar en cache los archivos JS y CSS.
  • A continuación se muestra un gráfico con la sección de “Experiencia de Usuario” de la ficha “Mobile”.
Sección Experiencia de Usuario de la ficha Mobile de PageSpeed Insights
  • En esta se aprecia que no hay ningún problema de experiencia de usuario si la página se ve en un dispositivo móvil.
  • Si cambiamos a la ficha “Desktop” ésta tiene solo la parte de Velocidad que es exactamente la misma que la de la ficha Mobile.
  • A continuación se muestra un gráfico con la sección de “Velocidad” de la ficha “Desktop”.
Sección Velocidad de la ficha Desktop de PageSpeed Insights
  • En términos generales, podemos decir que también hemos pasado la prueba de performance usando PageSpeed Insights de Google.
6. Pruebas de Performance usando WebPageTest

Para realizar las pruebas con esta herramienta realizar los siguientes pasos:
  • Ir a la dirección URL: 
http://www.webpagetest.org/.
  • Ingresar la dirección de la página web con el login:
http://red.hteperu.com/test/Incentivos.Appweb/
  • Clic al botón “Start Test” tal como se muestra en la siguiente figura.
Página principal de WebPageTest
  • Aparece un mensaje de probando (Testing) y luego se muestra el resultado del test similar al de la siguiente figura.
Página de Resultado de la Prueba en WebPageTest
  • Nuevamente apreciamos que la página web está casi bien excepto que debe usar Cache para archivos JS y CSS (F) y usar CDN (X).
  • Podemos analizar la primera ficha “Summary” que muestra un resumen con una tabla con los tiempos de carga y un par de gráficos con la primera vista y la vista repetida, similar a la siguiente figura.
Ficha Resumen del Resultado de WebPageTest
  • La segunda ficha “Details” muestra mayor detalle de los tiempos de carga, un gráfico de cascada, un gráfico de conexiones y una tabla con las solicitudes realizadas por la página.
  • El gráfico de cascada o “Waterfall View” muestra los tiempos de carga por cada recurso de la página, similar a la siguiente figura.
 Vista Cascada de la Ficha Detalle del Resultado de WebPageTest
  • El gráfico de conexión o “Connection View” muestra los tiempos de carga por conexiones realizadas al servidor, similar a la siguiente figura.
Vista Conexión de la Ficha Detalle del Resultado de WebPageTest
  • Finalmente en la sección de Detalles la tabla “Request Details” muestra los detalles de las solicitudes realizadas por la página, similar a la siguiente figura.
Detalles de Solicitud de la Ficha Detalle del Resultado de WebPageTest
  • Las filas pintadas de color rojo indican peligro, en este caso, el archivo de fuentes woff2 no ha sido registrado en el servidor como extensión conocida (MIME) y el otro problema es que la página no cuenta con un icono de inicio.
  • La tercera ficha “Performance Review” permite mostrar una revisión de las métricas de performance, para lo cual presenta una tabla con la lista de verificación a mejorar, el detalle y un glosario.
Lista de verificación de la Ficha Revisión del Resultado de WebPageTest
  • En el “CheckList” se aprecia claramente los temas que se pueden mejorar (color rojo), el archivo de fuente woff2 y el archivo de icono, además de usar caché para contenido estático (CSS, JS) y usar un servidor CDN.
Detalles de la Ficha Revisión del Resultado de WebPageTest

Glosario de la Ficha Revisión del Resultado de WebPageTest
  • La cuarta ficha “Content Breakdown” permite desglosar el contenido por tipo de recurso, mostrando 4 gráficos: por tipo MIME y por Conexión, tanto para la primera vista como para las vistas repetidas.
Gráfico por Tipo MIME (Primera Vista) de la Ficha Desglosar Contenido del Resultado de WebPageTest

Gráfico por Conexión (Primera Vista) de la Ficha Desglosar Contenido del Resultado de WebPageTest

Gráfico por Tipo MIME (Vista Repetida) de la Ficha Desglosar Contenido del Resultado de WebPageTest

Gráfico por Conexión (Vista Repetida) de la Ficha Desglosar Contenido del Resultado de WebPageTest
  • La quinta ficha “Domains” muestra 2 gráficos de desglose de contenido pero por dominio, tanto para la primera vista como para las vistas repetidas.
  • Solo hay que mencionar que No es necesario tenar varios Dominios (incluyendo CDN) cuando el número de archivos es poco, por ejemplo en nuestro caso, la página de login tiene solo 6 archivos.
  • A continuación se muestra los gráficos de la ficha “Domains” conteniendo el desglose de contenidos para la primera vista y para las vistas repetidas.
Gráfico de desglose de contenido (Primera Vista) de la Ficha Dominio del Resultado de WebPageTest
Gráfico de desglose de contenido (Vista Repetida) de la Ficha Dominio del Resultado de WebPageTest

  • Finalmente, revisaremos la sexta y última ficha llamada “Screen Shot” que muestra 2 gráficos con las pantallas de la página totalmente cargada y otra con el Documento Completado, además también los mensajes de consola del Log.
  • A continuación se muestra los gráficos de la ficha “Screen Shot” y los mensajes del Log.
Gráfico de la Pantalla Totalmente Cargada de la Ficha Captura de Pantalla del Resultado de WebPageTest
Gráfico de la Pantalla con Documento Completado de la Ficha Captura de Pantalla del Resultado de WebPageTest
Gráfico de Log de la Ficha Captura de Pantalla del Resultado de WebPageTest

  • En términos generales, podemos decir que también hemos pasado la prueba de performance usando WebPageTest de Google.
Finalmente, si hacemos caso de las sugerencias de estas 3 herramientas de performance nuestro sitio será muy rápido.

Descarga del documento completo
Pruebas_Performance

martes, 13 de enero de 2015

Personajes de la Computación - Yahoo!

Personajes de la Computación - Yahoo!

Prólogo

Durante casi 2 décadas la plataforma de Desarrollo es la Web, teniendo 2 grandes componentes:
- Front End: HTML, CSS, JavaScript, Data (XML, JSON, etc).
- Back End: Servidor Web, Páginas del Servidor, Base de Datos, etc.

En este contexto, existe mucha literatura sobre como desarrollar aplicaciones para la web, pero pocas dan énfasis a los 3 temas mas importantes en aplicaciones web y móviles:
- Seguridad
- Performance
- Escalabilidad

En este post presento una compilación de algunos personajes que han trabajado para Yahoo! los cuales nos han dejado una gran obra sobre todo en el tema de "Performance Web Sites" y "Buenas Practicas de Desarrollo", empezando por grandes maestros como Douglas Crockford y Steve Souders, asi como nuevos talentos, tales como Nicholas C. Zakas y Stoyan Stefanov, entre otros.

En mi blog he posteado mas de 250 libros hasta el momento, pero los que voy a publicar a continuación son los mas importantes, los pioneros y casi únicos libros sobre el tema de "Performance" y  "Buenas Prácticas en JavaScript".

En el Perú todavía tenemos roles tradicionales en el área de desarrollo como: programador, analista, arquitecto, tester, soporte, etc. En USA, cada vez cobra mas importancia los roles de:
- Ingeniero y Arquitecto JavaScript
- Ingeniero y Arquitecto en Web Performance

Para todos los que quieren convertirse en Ingenieros (nivel inicial) y Arquitectos (siguiente nivel) de JavaScript y Web Performance, les dejo los libros que son indispensables leer y en donde esta como mejorar nuestros sitios web y nuestras aplicaciones.

Sobre Yahoo

Yahoo! es una empresa de medios globales creada en 1994 por dos estudiantes de postgrado de la Universidad de Stanford: Jerry Jang (Taiwan) y David Filo (USA), pero recién se constituyo como empresa en 1995.

Entre sus productos principales tenemos:
- Yahoo Search
- Yahoo Mail
- Yahoo Messenger
- Yahoo Grupos
- Yahoo Juegos
- Yahoo Compras
- Yahoo Subastas

En cuanto a desarrollo crearon una Librería de JavaScript llamada YUI Library que lamentablemente dejo de tener soporte desde el año pasado y en los últimos años no le fue también a Yahoo! y dejo ir a sus principales ingenieros y arquitectos.

Nota: Actualmente, ante el convenio con Mozilla firmado a finales del 2014, en el cual Firefox tiene como buscador predeterminado a Yahoo Search y No a Google Search, su participación en el mercado ha mejorado.

Jerry Yang y David Filo

Pais Origen: Taiwan y USA
Año de Nacimiento: 1968 y 1966
Fundadores de: Yahoo (1995)


Enlaces
Yahoo
Jerry_Yang
David_Filo

Douglas Crockford

País Origen: USA
Creador de: JSON (2001)
Especialista en: JavaScript
Trabajo Actual: PayPal


Enlaces
Douglas_Crockford
Videos_Crockford_YUI_Library

Libros
DouglasCrockford_2008_JavaScriptTheGoodParts


Steve Souders

País Origen: USA
Especialista en: Web Performance
Creador de: YSlow, HTTP Archive, Cuzillion, jDrop, SpriteMe, ControlJS, BrowserScope
Co-Fundador: Firebug Working Group
Trabajo Actual: Google


Enlaces
Google+
Sitio_Web
Amazon

Libros
SteveSouders_2007_HighPerformanceWebSites



SteveSouders_2009_EvenFasterWebSites



Nicholas C. Zakas

Pais Origen: USA
Especialista en: Web Performance, JavaScript
Contribuidor de: YUI Library
Creador de: Cookie Utilitie, Profiler, YUI Test
Trabajo Actual: Box


Enlaces
Blog
Linked In
Twitter

Libros
NicholasZakas_2007_O'Reilly_ProfessionalAjax



NicholasZakas_2010_O'Reilly_HighPerformanceJavaScript



NicholasZakas_2012_O'Reilly_MaintainableJavaScript



NicholasZakas_2012_Wrox_ProfessionalJavascriptForWebDevelopers


NicholasZakas_2014_NoStarchPress_ThePrinciplesObjectOrientedJavaScript


Stoyan Stefanov

Pais Origen: USA
Especialista en: Web Performance, JavaScript
Co Creador de: Smush.it, YSlow 2.0
Trabajo Actual: Yahoo


Enlaces
Google+
Blog
Twitter

Libros
StoyanStefanov_2008_Packt_ObjectOrientedJavaScript


StoyanStefanov_2010_O'Reilly_JavaScriptPatterns


StoyanStefanov_2012_O'Reilly_WebPerformanceDaybookVolume2


Cal Henderson

Pais Origen: Inglaterra
Año de Nacimiento: 1981
Especialista en: Web Performance, Scalability
Co-Fundador de: B3ta
Trabajo Actual: Tiny Speck


Enlaces
Cal_Henderson

Libros
CalHenderson_2006_O'Reilly_BuildingScalableWebSites


Kyle Loudon

Pais Origen: USA
Especialista en: Web-Mobile Apps, Scalability
Co-Creador: Apple iPod (2011 Pixo)
Trabajo Actual: Realtor.com


Enlaces
Sitio_Web

Libros
KyleLoudon_2010_O'Reilly_DevelopingLargeWebApplications



Comentario Final

Mi comentario final, es que este post pudo haberse llamado "Performance Web Sites" ya que tiene los pocos libros que hay sobre el tema escritos por expertos que trabajaron en Yahoo y que la mayoría esta actualmente en otras empresas, pero nos dejaron sus experiencias en estos libros.

Se que para la mayoría de personas, incluyendo muchos visitantes del blog, consideran que lo mas importante son los Demos que publico, los cuales son los post mas vistos, pero la idea del blog era mejorar el nivel de los desarrolladores, sobre todo de los "expertos" y justamente los Libros que publico son la principal materia prima para lograrlo, aunque muchos parecen no entender y luego están preguntando:
- Como hago que mi sitio sea seguro
- Como hago para dar velocidad a mis paginas
- Como hago para que no se bloquee el acceso a las paginas, etc.

La respuesta la encontrarás en la teoría de los grandes maestros (gurus, super expertos o como quieran llamarles).

Este post costo mucho tiempo en compilarlo, esperando que sea de su agrado y colaborar con un poco de historia y material de estudio obligatorio.

Finalmente, les comento una frase: "Dime que lees y te diré como quien quieres ser".

PD: "Y si no lees nada no quieres ser nada".