<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CodingTube</title>
    <description>The latest articles on DEV Community by CodingTube (@codingithub).</description>
    <link>https://dev.to/codingithub</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F496004%2Fa827e9d1-5595-4d6d-81cd-2ac4db891495.png</url>
      <title>DEV Community: CodingTube</title>
      <link>https://dev.to/codingithub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codingithub"/>
    <language>en</language>
    <item>
      <title>¿Por qué uso punto y coma (;) en Javascript si no es obligatorio? 🤔</title>
      <dc:creator>CodingTube</dc:creator>
      <pubDate>Tue, 05 Jan 2021 11:07:09 +0000</pubDate>
      <link>https://dev.to/codingithub/por-que-uso-punto-y-coma-en-javascript-si-no-es-obligatorio-432m</link>
      <guid>https://dev.to/codingithub/por-que-uso-punto-y-coma-en-javascript-si-no-es-obligatorio-432m</guid>
      <description>&lt;h3&gt;
  
  
  Cuando Javascript acierta... 👍‍‍
&lt;/h3&gt;

&lt;p&gt;Si bien es cierto no es obligatorio poner el punto y coma (;) al final de cada sentencia en Javascript, ya que éste automáticamente detecta el final de cada línea de código e internamente le inserta un punto y coma, si es altamente recomendable su uso, ya que hay veces en que Javascript no logra interpretar bien el final de cada sentencia y produce errores. &lt;/p&gt;

&lt;p&gt;Analicemos este ejemplo para entenderlo mejor. Si escribimos el siguiente código, Javascript va a hacer la suma de estos números y luego, su resultado lo va a poner en pantalla:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert(2+3+2+5);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;el resultado será el siguiente: &lt;strong&gt;12&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hemos utilizado el punto y coma al final, pero si lo omitimos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert(2+3+2+5)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;vemos el mismo resultado: &lt;strong&gt;12&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aquí Javascript interpreta correctamente el final de la sentencia y ejecuta el código correctamente, de hecho, si ponemos algunos saltos de línea y dejamos el código de la siguiente forma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert(2+
    3+2
    +5)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;el resultado seguirá siendo &lt;strong&gt;12&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;No hay ninguna equivocación por parte de Javascript, ya que hay ciertas pistas en las que Javascript se basa para poder saber que el código aún continúa y no es el final de la sentencia. Como por ejemplo, al tener un signo "+" al final de la primera línea, Javascript sabe que el código continúa y no le pone un punto y coma. Al inicio de la última línea pasa lo mismo, con el signo "+", Javascript sabe que es la continuación de la línea anterior. &lt;/p&gt;

&lt;h3&gt;
  
  
  Cuando Javascript se equivoca... 👎‍‍
&lt;/h3&gt;

&lt;p&gt;Pero si analizamos el siguiente ejemplo, vamos a ver como Javascript si se puede equivocar al momento de determinar dónde poner un punto y coma. Vamos a utilizar la función &lt;strong&gt;alert&lt;/strong&gt; y otra función denominada &lt;strong&gt;forEach&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert("Hola");
["Bienvenidos a", "CodingTube"].forEach(alert);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lo que estamos haciendo aquí es mostrar al usuario un mensaje con la palabra "Hola", y luego la función &lt;strong&gt;forEach&lt;/strong&gt; va a mostrar las frases “Bienvenidos a” y luego “CodingTube” después de presionar el botón aceptar.&lt;/p&gt;

&lt;p&gt;Pero que pasa si omitimos los punto y coma de esta manera:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert("Hola")
["Bienvenidos a", "CodingTube"].forEach(alert)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En el navegador solamente se muestra el primer mensaje "Hola" y luego nada más. Es decir no está poniendo un punto y coma al final de la primera sentencia y esto es como si se tuviera este código en una línea de esta forma:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alert("Hola")["Bienvenidos a", "CodingTube"].forEach(alert)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si utilizamos la consola. La misma que se encuentra dentro del navegador presionando la tecla F12, vamos a ver un error luego de que se muestre el primer mensaje "Hola":&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Uncaught TypeError: Cannot read property 'CodingTube' of undefined&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Este error es el que no nos permite ejecutar la función &lt;strong&gt;forEach&lt;/strong&gt; y por eso no se muestran los siguientes mensajes en el navegador. El error se crea al no haber un punto y coma antes de los corchetes [] de la función &lt;strong&gt;forEach&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusiones 😊😊😊
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Si quieres escribir código Javascript de forma profesional siempre, siempre, siempre!! utiliza el punto y coma al final de cada sentencia. Es una buena práctica. 🙌‍‍&lt;/li&gt;
&lt;li&gt;En el ejemplo anterior encontrar el error es muy sencillo ya que el código es pequeño, pero si se trata de un proyecto mediano o grande con cientos o miles de líneas de código, encontrar el error puede ser una tarea agotadora, así que acostúmbrate al punto y coma que te puede ahorrar varias horas de trabajo. 😫&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si quieres ver esta explicación más a detalle, te recomiendo el siguiente video. Puedes ver todo el video que contiene varios temas o si quieres ver sólo la explicación del punto y coma, sáltate al minuto 10:22. 😉&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3oSeQb94Ga4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Si te interesó este contenido me puedes seguir mis redes sociales:&lt;/p&gt;

&lt;p&gt;✅ &lt;a href="https://twitter.com/codingtube"&gt;Twitter&lt;/a&gt;&lt;br&gt;
✅ &lt;a href="https://www.youtube.com/CodingTube"&gt;YouTube&lt;/a&gt;&lt;br&gt;
✅ &lt;a href="https://coding-tube.com/"&gt;WEB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Icono de portada diseñado por &lt;a href="https://www.flaticon.es/autores/freepik"&gt;Freepik&lt;/a&gt; from &lt;a href="https://www.flaticon.es/"&gt;www.flaticon.es&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>spanish</category>
      <category>devops</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Diseño responsivo con Media Queries</title>
      <dc:creator>CodingTube</dc:creator>
      <pubDate>Tue, 03 Nov 2020 03:13:01 +0000</pubDate>
      <link>https://dev.to/codingithub/diseno-responsivo-con-media-queries-34b0</link>
      <guid>https://dev.to/codingithub/diseno-responsivo-con-media-queries-34b0</guid>
      <description>&lt;h2&gt;
  
  
  ¿Qué son los &lt;em&gt;Media Queries&lt;/em&gt;? 🤔
&lt;/h2&gt;

&lt;p&gt;Cuando se trata de diseño responsivo, una de las mejores herramientas son los &lt;em&gt;Media Queries&lt;/em&gt;. Los &lt;em&gt;Media Queries&lt;/em&gt; te permiten aplicar estilos dependiendo de ciertas condiciones. Éstas condiciones, en un diseño responsivo, son los tamaños de las pantallas. &lt;/p&gt;

&lt;p&gt;Es decir, tu puedes condicionar el estilo de una página dependiendo del tamaño de la pantalla. Por ejemplo, si la pantalla donde se está viendo el contenido es de 375px o menor se puede especificar cierto color de fondo. Éste color de fondo puede cambiar si la pantalla es de 678px o mayor, y tener otro color completamente diferente si el tamaño es de 1080px en adelante, y así sucesivamente...&lt;/p&gt;

&lt;p&gt;La forma de aplicar un &lt;em&gt;Media Query&lt;/em&gt; dentro del archivo CSS es la siguiente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;only&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;768px&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
   &lt;span class="nt"&gt;body&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grey&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Donde:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;@media&lt;/strong&gt;: es la declaración inicial para indicar que lo que precede es un &lt;em&gt;Media Query&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;only&lt;/strong&gt;: indica que los cambios se van a ver solamente donde se especifica. Podemos omitirlo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;screen&lt;/strong&gt;: determina donde quiero ver los cambios, en este caso en pantalla, también puede llevar el valor de &lt;em&gt;print&lt;/em&gt;, donde aquí, los cambios se van a ver cuando presionamos &lt;em&gt;CTRL + P&lt;/em&gt; y se muestra la pantalla donde se previsualiza la página antes de enviar a imprimir.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;and&lt;/strong&gt;: conector lógico que indica al navegador que además de mostrar en pantalla también se debe cumplir la condición que está a continuación: &lt;em&gt;(max-width: 768px)&lt;/em&gt;. Este conector lógico también puede ser "&lt;strong&gt;or&lt;/strong&gt;".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;(max-width: 768px)&lt;/strong&gt;: Aquí estamos diciendo que los cambios que se encuentran dentro de las llaves "{}" se apliquen para pantallas cuyo tamaño sea menor o igual a los 768px. Así como hay &lt;em&gt;max-width&lt;/em&gt; también se puede usar &lt;em&gt;min-width&lt;/em&gt; donde el resultado va a ser el opuesto.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Se puede cambiar solamente el color de fondo? 🎨
&lt;/h2&gt;

&lt;p&gt;En realidad puede ser cualquier estilo, no solamente el fondo, absolutamente cualquier estilo, desde los colores, el tamaño, hasta la disposición de los elementos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quiero saber más... 🙋‍‍♀️🙋‍‍♂️
&lt;/h2&gt;

&lt;p&gt;Si quieres conocer más acerca del diseño responsivo con &lt;em&gt;Media Queries&lt;/em&gt; te recomiento el siguiente video: 📹&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/X47FTKldkZA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;👍‍‍Si te interesó este contenido me puedes seguir en: &lt;br&gt;
twitter: &lt;a href="https://twitter.com/codingtube"&gt;@CodingTube&lt;/a&gt; 👈‍‍  youtube: &lt;a href="https://www.youtube.com/CodingTube"&gt;CodingTube&lt;/a&gt; ❤️ &lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>frontend</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Cómo mejorar tus habilidades como desarrollador frontend construyendo páginas reales.</title>
      <dc:creator>CodingTube</dc:creator>
      <pubDate>Sun, 25 Oct 2020 13:01:36 +0000</pubDate>
      <link>https://dev.to/codingithub/como-mejorar-tus-habilidades-como-desarrollador-frontend-construyendo-paginas-reales-4jg3</link>
      <guid>https://dev.to/codingithub/como-mejorar-tus-habilidades-como-desarrollador-frontend-construyendo-paginas-reales-4jg3</guid>
      <description>&lt;p&gt;¿Sabes utilizar &lt;strong&gt;HTML&lt;/strong&gt;, &lt;strong&gt;CSS&lt;/strong&gt;, &lt;strong&gt;Javascript&lt;/strong&gt; o sus diferentes frameworks y aún no has creado ninguna página completa, con un diseño profesional?, ¿Estás cansado de ir de tutorial en tutorial haciendo piezas de código aisladas sin poner en práctica todos estos conocimientos en una página real? ¿Quisieras armar tu portafolio de proyectos para poderlo presentar aplicando a un trabajo?&lt;/p&gt;

&lt;h2&gt;
  
  
  La página 📰
&lt;/h2&gt;

&lt;p&gt;No te preocupes, en este post te voy a mostrar una página que te va a ayudar a solucionar estos problemas y muchos más. Ésta página se llama &lt;a href="https://www.frontendmentor.io"&gt;frontendmentor.io&lt;/a&gt;, que aunque está en su fase beta está muy avanzada y realmente cumple con lo que promete que básicamente es darte las herramientas necesarias para que subas de nivel tus habilidades cómo desarrollador con proyectos reales.&lt;/p&gt;

&lt;h2&gt;
  
  
  Los retos 💪
&lt;/h2&gt;

&lt;p&gt;Ésta página básicamente te brinda retos orientados al &lt;em&gt;frontend&lt;/em&gt;, es decir a lo que usuario final ve en pantalla, y se puede resumir en 4 pasos: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Eliges el reto que quieres hacer. &lt;/li&gt;
&lt;li&gt;Realizas el código y el diseño en tu computador con las herramientas y tecnologías que tú creas conveniente. &lt;/li&gt;
&lt;li&gt;Envías la solución a la página donde podrás recibir feedback de otras personas; y &lt;/li&gt;
&lt;li&gt;También podrás dar feedback a los demás.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Los diseños que se tiene como reto, son diseños profesionales, que no solamente te ayudarán a poner en práctica tus conocimientos, si no que también te ayudarán a engrosar tu portafolio de proyectos creados, que como sabes muy bien, un buen portafolio, es una excelente carta de recomendación que puedes presentar al momento que estés buscando trabajo como desarrollador web.&lt;/p&gt;

&lt;p&gt;Lo bueno es que estos retos no solamente están pensados para personas que dominan las tecnologías del desarrollo web si no que también existen niveles donde si estás empezando en este maravilloso mundo puedes seleccionar niveles como intermedio o &lt;em&gt;newbie&lt;/em&gt; que significa novato.&lt;/p&gt;

&lt;h2&gt;
  
  
  No es necesario suscripción 😍
&lt;/h2&gt;

&lt;p&gt;Si bien es cierto la página es de paga, tú tienes una gran variedad de retos que puedes empezar a hacer simplemente registrándote en la misma, sin la necesidad de ingresar datos de una tarjeta de crédito.&lt;/p&gt;

&lt;p&gt;Lo único que no incluye en la versión gratuita son los esquemáticos donde básicamente te va a decir cuantos pixeles de distancia debe haber entre los elementos, sin embargo esto lo puedes aproximar con herramientas que te permitan medir los píxeles en las imágenes de donde vas a tomar el diseño, así que tampoco lo veo tan necesario.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es lo que te provee la página para que empieces a crear los diseños?📎
&lt;/h2&gt;

&lt;p&gt;Una vez te hayas decidido por el reto le vas a dar click en &lt;em&gt;StartChallenge&lt;/em&gt; y se van a descargar los archivos que vas a necesitar: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La carpeta con los diseños en jpg.✔&lt;/li&gt;
&lt;li&gt;Otra carpeta con recursos como las imágenes que necesitas para el diseño, así como los fondos en caso de que se requiera, estos fondos tanto para móvil y escritorio.✔ &lt;/li&gt;
&lt;li&gt;El &lt;em&gt;gitignore&lt;/em&gt; que lo necesitarás para cuando trabajes con GIT.✔ &lt;/li&gt;
&lt;li&gt;Un archivo html que tiene todo el texto ya digitado, hay que darle un poco más de formato con más etiquetas.✔ &lt;/li&gt;
&lt;li&gt;El archivo readme donde encontarás información general de cómo podrás empezar a programar y que hacer una vez que ya tengas tu diseño listo.✔ &lt;/li&gt;
&lt;li&gt;Una guía de estilos básicas que te indicará colores, tipografía y tamaños.✔&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ¿Estas atorado con algún reto? 😵
&lt;/h2&gt;

&lt;p&gt;También puedes revisar soluciones hechas por otros usuarios y esto lo podrás revisar en la sección &lt;em&gt;solutions&lt;/em&gt; que se encuentra en la parte superior. Donde aquí podrás ver las soluciones a todos los retos que se han enviado, podrás darle al botón me gusta o ponerle una marca para que lo puedas encontrar más rápido después. &lt;/p&gt;

&lt;p&gt;De esta manera si estás enfrascado en alguna parte y quieres ver cómo lo han resuelto algunas personas esto te puede ser de mucha utilidad. Quieres saber más detalles checa el siguiente video:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/YfxS4LeFjV4"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Si te interesó este contenido me puedes seguir en twitter: &lt;a href="https://twitter.com/codingtube"&gt;@CodingTube&lt;/a&gt; o en youtube: &lt;a href="https://www.youtube.com/CodingTube"&gt;CodingTube&lt;/a&gt;&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
