# data[].attributes.headline
         Arquitectura                         

# data[].attributes.subject
         Arquitectura                         

# data[].attributes.body
Cliente/Servidor

# data[].attributes.body
Son las iniciales que identifican a la expresión inglesa World Wide Web, el sistema de documentos de hipertexto que se encuentran enlazados entre sí y a los que se accede por medio de Internet.

# data[].attributes.body
Un sitio web, portal,​ o cibersitio, es una colección de páginas web relacionadas y comunes a un dominio de internet.

# data[].attributes.body
El sistema de nombres de dominio (Domain Name System o DNS, por sus siglas en inglés)​ es un sistema de nomenclatura jerárquico descentralizado para dispositivos conectados a redes IP como Internt o una red privada.

# data[].attributes.body
Apache es un servidor web HTTP de código abierto para plataformas Unix-like (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual.

# data[].attributes.body
World Wide Web Consortium (W3C), es un consorcio internacional que genera recomendaciones y estándares que aseguran el crecimiento de la World Wide Web a largo plazo.

# data[].attributes.headline
       Paginas Web                    (estática y dinámica)

# data[].attributes.subject
       Paginas Web                    (estática y dinámica)

# data[].attributes.body
Los sitios Web estáticos son aquellos sitios enfocados principalmente a mostrar una información permanente, donde el navegante se limita a obtener dicha información.
Los sitios web dinámicos son aquellos que permiten crear aplicaciones dentro de la propia web, otorgando una mayor interactividad con el navegante.

# data[].attributes.body
Es un conjunto de números que identifica, de manera lógica y jerárquica, a una Interfaz en red (elemento de comunicación/conexión) de un dispositivo.

# data[].attributes.body
En la ingeniería de software se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de internet o de una intranet mediante un navegador

# data[].attributes.body
Un localizador de recursos uniforme, cuyos recursos referidos pueden cambiar, esto es, la dirección puede apuntar a recursos variables en el tiempo.

# data[].attributes.body
HTTP:  es el protocolo de comunicación que permite las transferencias de información en la World Wide Web.

# data[].attributes.body
Sistema de interacción entre el ordenador y el usuario, caracterizado por la utilización de iconos y elementos gráficos en su concepción.

# data[].attributes.body
Es un lenguaje de marcado utilizado para definir la estructura y contenido de una página o documento web. La idea es utilizar un lenguaje para hacer referencia a otros documentos, como archivos, imágenes, video, audio, etc.

# data[].attributes.body
Se trata de una tecnología utilizada para dotar de cualidades visuales y estéticas a una página web

# data[].attributes.body
Es un lenguaje de programación interpretado, por lo que no es necesario compilar los programas para ejecutarlos. En otras palabras, los programas escritos con JavaScript se pueden probar directamente en cualquier navegador sin necesidad de procesos intermedios.

# data[].attributes.body
es un lenguaje de programación de propósito general de código del lado del servidor originalmente diseñado para el preprocesado de texto plano en UTF-8.

# data[].attributes.attachment_link.readable_text
¿Has notado que todas las personas que quieren empezar a desarrollar hablan de react, angular, vuejs y nodejs?

¿Sabías que en el pasado existieron otros frameworks y librerías que eran lo máximo para el desarrollo front end?

¿Sabías que antes de usar npm, los desarrolladores front end preferían bower?

¿Conociste Yeoman, gulp o grunt?

Si has oído o leído acerca de estas tecnologías, probablemente estés pensando, uy! este tipo está en la prehistoria! 😞 Anciano!!!

Si no has oído o leído acerca de esas tecnologías probablemente estés pensando, oh no! más cosas que debo de aprender!!!

Pero no es así, o bueno, no tienes que aprender cosas tan viejas, pero quería decirte algo sobre ellas.

Primero que son tecnologías/herramientas que han perdido momentum o tracción, porque a través del tiempo se han creado herramientas mejores o que generaron más simpatía entre los desarrolladores.

Segundo, antes de este punto quiero preguntarte algo más...

¿Qué tienen en común estas tecnologías/herramientas?

Anda, haz un intento!

Vamos, tú puedes!

.... Exacto!!!

Lo que estas tecnologías tienen en común es.....

Muy bien, a lo que quiero llegar es a lo siguiente. Muchas veces has empezado y tal vez terminado algún tutorial de nodeJS, de React o angular, pero pasas de la parte básica y llegas a la parte intermedia/avanzada y dices:

¿Qué carajos?

no entiendo!!!

callbacks? y eso qué es?

promesas? closures? scope? this? WTF???

No te preocupes, no estás mal, todos hemos pasado por eso (aún me pasa y llevo 10 años trabajando con javascript).

A veces queremos saltarnos pasos, eso está bien, pero llegamos a callejones sin salida en donde esos frameworks o librerías con los que hacemos listas de tareas (to do) en menos de 5 segundos no nos solucionan los problemas que tenemos!

Un poco de mi historia

Hace 10 años descubrí el maravilloso mundo de javascript, pero al poco tiempo de haber entrado, llegó jquery haciendome la vida más fácil, luego que esa librería empezó a perder la simpatía de los desarrolladores me dí cuenta de que no sabía javascript, me sentía obsoleto.

De todas las tecnologías que mencioné todas tienen en común a javascript, pero de lo que quiero que te des cuenta es que todas han perdido terreno y el único que ha sobrevivido es javascript

Una invitación

Sé que con Angular haces maravillas, sé que react JSX te hacen sentir genial!! sé que loopback te hace sentir que puedes hacerlo todo en nodeJS, pero déjame darte el consejo más valioso que te puedo dar. Aprende aquello que es la base de todas tus herramientas, aprende javascript.

Si! javascript puro y duro, aprende patrones del lenguaje, aprende del por qué y cómo funciona el event bubbling and capturing, cómo funciona el event loop, cómo puedes crear listeners, manejar streams, acceder a periféricos, grabar vídeo, acceder a datos remotos... etc.

Pero no sólo te muestro tus oportunidades de mejora, también quiero ayudarte!

Hace poco he estado creando comunidad, tal vez habrás escuchado de nodeCo, bueno, allí me di cuenta de que muchas personas ingresan directamente a lo que más genera demanda, y con pocas bases de javascript, es decir, ingresan directamente al mundo de los frameworks. Eso no está mal, pues quieren empezar a construir cosas lo más rápido posible y conseguir ese trabajo como desarrollador rápido.

Bueno, al ver esas dudas que se generan en las personas y la pasión que me ha generado enseñar a programar, he decidido crear un espacio online "Hablemos de javascript con Camilo Montoya", en donde podamos todos aprender de este maravilloso lenguaje.

¿Por qué online?

Porque así podemos llegar a más personas, porque no todos viven en hubs tecnológicos y porque internet abarca mucho más territorio del que podemos hacer físicamente.

¿Qué pretendo con esto?

Pretendo ayudar a muchas más personas, siento que lo importante es qué conocimiento puedo ayudarte a adquirir, sin importar si te conozco o no. Porque alguna vez estuve en tu lugar y quiero ser tu mentor, aquel que yo nunca tuve. Quiero que esa burbuja tecnológica explote y que muchas más personas se beneficien de ella. Quiero que la tecnología te ayude a mejorar tu vida, en cualquier aspecto que sea.

¿Cómo puedo acceder a Hablemos de javascript? ¿cuánto cuesta?

Hablemos de javascript no tiene ni tendrá ningún costo.

El evento se llevará a cabo todos los miércoles* de 8pm a 9:30pm COT (hora Colombia) y puedes inscribirte en el calendario que está en http://bit.ly/hablemos-de-js, l̶a̶s̶ ̶i̶n̶s̶c̶r̶i̶p̶c̶i̶o̶n̶e̶s̶ ̶s̶e̶ ̶a̶b̶r̶e̶n̶ ̶4̶8̶ ̶h̶o̶r̶a̶s̶ ̶a̶n̶t̶e̶s̶ ̶d̶e̶ ̶c̶a̶d̶a̶ ̶s̶e̶s̶i̶ó̶n̶,̶ ̶e̶s̶ ̶d̶e̶c̶i̶r̶,̶ ̶d̶e̶s̶d̶e̶ ̶e̶l̶ ̶l̶u̶n̶e̶s̶ ̶a̶ ̶l̶a̶s̶ ̶8̶:̶0̶0̶p̶m̶ . (actualización 07/03/2019 4:26pm) Puedes inscribirte en el mismo link en cualquier momento.

(̶a̶c̶t̶u̶a̶l̶i̶z̶a̶c̶i̶ó̶n̶ ̶2̶0̶/̶0̶2̶/̶2̶0̶1̶9̶ ̶9̶:̶4̶0̶a̶m̶)̶ ̶P̶o̶r̶ ̶e̶l̶ ̶m̶o̶m̶e̶n̶t̶o̶ ̶d̶e̶b̶e̶s̶ ̶i̶n̶s̶c̶r̶i̶b̶i̶r̶t̶e̶ ̶a̶ ̶c̶a̶d̶a̶ ̶s̶e̶s̶i̶ó̶n̶,̶ ̶p̶e̶r̶o̶ ̶e̶s̶t̶o̶y̶ ̶p̶e̶n̶s̶a̶n̶d̶o̶ ̶e̶n̶ ̶l̶a̶ ̶f̶o̶r̶m̶a̶ ̶d̶e̶ ̶e̶n̶v̶i̶a̶r̶t̶e̶ ̶r̶e̶c̶o̶r̶d̶a̶t̶o̶r̶i̶o̶s̶.̶

(Actualización 26/03/2019 08:01am) ¿Cómo puedo estar enterad@?

He creado una mailing list para enviarte toda la información de los temas, tranquil@ no te llenaré de spam, solamente enviaré la información una vez por semana. Inscríbete aquí http://bit.ly/hdjslista

¿Cuál es la dinámica de las sesiones?

Hablaremos de un tema específico de 8 a 9pm luego hacemos 30 minutos de preguntas y respuestas.

¿Cuántos cupos hay disponibles?

Durante el 2018 hice ensayos de varias plataformas de video llamada, en mi humilde opinión zoom fue la ganadora, por el momento sólo estoy pagando la licencia premium y sólo permite hasta 100 personas conectadas simultáneamente por sesión, así que los cupos por ahora están limitados a ese número. Más adelante revisaré cómo podemos hacer que ese número crezca, Zoom webinars me parece muy buena opción ya que permite hasta 1000 personas en simultáneo, pero vamos a ir un poco despacio con ello.

¿Si no consigo cupo para la sesión, qué puedo hacer?

Todas las sesiones serán grabadas y posteriormente colgadas en mi canal de youtube.

(Actualización 22/02/2019 12:01am) Si no alcanzaste lugar en zoom, puedes verlo en simultáneo por youtube aquí

¿Qué temas se tratarán?

Vamos a empezar con javascript desde cero, el cronograma será dado en periodos de 3 meses, para esta primera temporada estos serán los temas y fechas:

Capítulo 1: Javascript básico primera parte (Miércoles 20 de febrero de 2019)

Para esta sesión usaremos el tutorial de javascript de Jeremy Thomas (no, no lo vamos a hacer en el tiempo que él dice) y estos son los temas:

Los poderes de ser desarrollador web

Presentación del programa

Documentación

Funciones

Parámetros

Manejo de texto (String)

Manejo de números (Number)

Objetos

Métodos

Arrays

Booleans

Variables

Preguntas

Capítulo 2: Javascript básico segunda parte (Miércoles 27 de febrero de 2019)

Continuaremos con el tutorial de javascript de Jeremy Thomas y en esta ocasión veremos:

Condicionales

operadores de igualdad

else y else if

loops

loops con arrays

crear funciones

Preguntas

Capítulo 3: Primeros pasos en Front end (Miércoles 06 de marzo de 2019)

qué es html?

qué es css?

qué es front end?

Document Object Model (DOM)

Manipular elementos html con javascript

Preguntas

Capítulo 4: Ecmascript 6 y javascript moderno (Miércoles 13 de marzo de 2019)

Breve historia de javascript

Qué es ecmascript?

Preguntas

Capítulo 5: Algunos cambios que vinieron ecmascript 6 (Miércoles 20 de marzo de 2019)

var, let y const

Destructuración de objetos

Funciones de flecha (arrow functions)

Capítulo 6: Loops o ciclos en profundidad (Miércoles 27 de marzo de 2019)

Capítulo 7: Arrays en profundidad (Martes 2 de abril de 2019)

Introducción a los arrays

Filtrar arrays

Algunos array methods

Preguntas

Capítulo 8: Javascript orientado a objetos (Miércoles 10 de abril de 2019)

Capítulo 9: Vamos a crear un piano en javascript (Miércoles 17 de abril de 2019)

Haremos un ejercicio de crear un piano con javascript, en el cual aprenderemos cómo asociar eventos a elementos de html que ejecutan código javascript

Preguntas

Capítulo 10: Javascript asíncrono: callbacks (Miércoles 24 de abril de 2019)

diferencia entre javascript síncrono y asíncrono

event loop

Qué son los callbacks?

callback hell o el triángulo de la muerte

Preguntas

Si tienes dudas o sugerencias por favor hazlas en los comentarios más abajo.

* el capítulo 7 no se hará el miércoles 3 de abril, sino el martes 2 de abril

# data[].attributes.attachment_link.description
¿Has notado que todas las personas que quieren empezar a desarrollar hablan de react, angular, vuejs y nodejs? ¿Sabías que en el pasado existieron otros frameworks y librerías que eran lo máximo para el desarrollo front end? ¿Sabías que antes de usar npm, los desarrolladores front end preferían bower?