<?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: Manu Martinez</title>
    <description>The latest articles on DEV Community by Manu Martinez (@whitehatdevv).</description>
    <link>https://dev.to/whitehatdevv</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%2F760259%2F8567c9e5-47b0-4bb9-a534-c26bf9d3fbbb.jpeg</url>
      <title>DEV Community: Manu Martinez</title>
      <link>https://dev.to/whitehatdevv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/whitehatdevv"/>
    <language>en</language>
    <item>
      <title>Trabajo basura y precariedad</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Thu, 17 Feb 2022 18:09:43 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/trabajo-basura-y-precariedad-42dg</link>
      <guid>https://dev.to/whitehatdevv/trabajo-basura-y-precariedad-42dg</guid>
      <description>&lt;p&gt;Hoy me apetece un poco hablar sobre la precariedad laboral que se vive en este y muchos otros países. Si te das cuenta, desde que comenzó la pandemia, se ha hecho más evidente la existencia de contratos basura y la falta laboral que sufren muchos sectores: médico, construcción, educación, restauración y hostelería... y la lista llega a casi cualquier rincón. Durante estos casi dos años que llevamos en esta situación (aunque todavía parece que hay gente que no se ha enterado), el reto de la mayoría de personas ha sido mantener como ha podido su puesto de trabajo a refugio de los golpes con los que ha ido llegando cada nueva ola. Aunque eso significase tener que renunciar a ciertos derechos y beneficios. 🤐  &lt;/p&gt;

&lt;p&gt;A raíz de la pandemia hemos descubierto nuestra gran resiliencia, para que negarlo (incluso hemos descubierto el significado de la propia palabra) dándonos cuenta de la fuerza que tenemos para resistir los golpes de una ola tras otra. Al fin y al cabo, somos humanos, y podemos con todo lo que nos echen. Pero al mismo tiempo, también hay que decirlo, nos hemos dado cuenta qué hay cosas en nuestros trabajos que no funcionan como deberían. 🔥 &lt;/p&gt;

&lt;p&gt;Por ejemplo, la hostelería y el comercio viven con interminables jornadas abusivas y sin dos días seguidos de fiesta que les permita conciliar la vida laboral con la social/familiar (y lo digo desde la propia experiencia 😵). El sector médico se dedica a hacer malabares entre contratos basura y recortes mientras cuidan de nuestros enfermos. La educación se mata a enseñar a las nuevas generaciones entre cuarentenas y falta de docentes (y no porque no los haya, sino porque no los contratan). El sector del turismo se ha convertido en el nuevo marginado del grupo... Y qué decir de las empresas que no vemos, que se permiten el lujo de explotar a sus trabajadores porque no hay un control más exhaustivo sobre ellas.  &lt;/p&gt;

&lt;p&gt;Y por qué los gobiernos permiten esto? Tal vez sea porque tanta poca educación y sanidad les ha recortado y podrido el cerebro, qué sé yo. 🤢 O quizás es porque no estamos lo suficientemente informados y no llegamos a leer la letra pequeña de las ofertas y contratos. Te imaginas que en las ofertas a las que aplicases saliera un pequeño aviso en rojo “cuidado, posible contrato basura!”. Sería tremendo. Quizás las cosas funcionarían un poco mejor y conseguiríamos dar un buen toque de atención a algunas personas y empresas.&lt;/p&gt;

&lt;p&gt;En mi opinión, a raíz de la pandemia, la población se siente desanimada, desmotivada por encontrar un trabajo debido a la precariedad de estos. En otros países, como EEUU, millones de trabajadores han decidido renunciar a sus trabajos debido a las condiciones en las que se encontraban, con la esperanza de lograr algo mejor. Durante la pandemia la gente estaba contenta solo por tener trabajo, pero con el tiempo, la desmotivación ha ido creciendo sin freno hasta el punto, que muchos profesionales se plantean abandonar.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>¿Cuál es la diferencia entre un líder y un jefe?</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Fri, 11 Feb 2022 06:31:41 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/cual-es-la-diferencia-entre-un-lider-y-un-jefe-382c</link>
      <guid>https://dev.to/whitehatdevv/cual-es-la-diferencia-entre-un-lider-y-un-jefe-382c</guid>
      <description>&lt;p&gt;Esta es una de las clásicas preguntas que siempre se suelen hacer en las empresas y en la sociedad en general. La respuesta, a simple vista, puede parecer evidente: un líder suele ser esa figura o rol que sabe dirigir y motivar a todo el equipo sin imponer sus ideas como si se tratase de una autoridad inmutable, mientras que el jefe es todo lo contrario, se trata de alguien que utiliza el poder que tiene dada su jerarquía para mandar a otros e imponer, aquí sí, sus ideas, sin tener en consideración la de los demás. Pero, actualmente, podemos decir que existe una diferencia tan clara entre ambos roles? 🧐&lt;/p&gt;

&lt;p&gt;En el contexto actual, las empresas están tendiendo a organizarse en nuevas formas de trabajo enfocadas a un liderazgo mucho más sistemático y participativo. Los “jefes” están desapareciendo, y ahora ya no hay un único líder, sino un equipo guiado por una persona del mismo nivel, pero con mayor contexto de la situación. Poniendo un ejemplo, hay empresas tecnológicas en las que el propio CEO es también, miembro del equipo de desarrollo de software, y a pesar de que el resto del equipo pueda tener un nivel igual o mayor de conocimiento, la diferencia radica en que el CEO conoce más el contexto y camino en el que va todo el proyecto. 🚀&lt;/p&gt;

&lt;p&gt;Ahora bien, quizás este ejemplo se adapte a pequeñas empresas o startups recién creadas. Pero y que ocurre en las grandes industrias, esas que llevan años de historia en funcionamiento, donde sus metodologías se basan en la experiencia y tradición? Ahí sí que podemos ver realmente la figura del jefe destacada por encima de los demás. Esa figura de omnipresencia que ningún empleado ha visto jamás, pero que todos ellos conocen de su existencia, y a su vez, le temen. Y a pesar de ser una figura tan dominante y en declive, ahí sigue, gestionando cientos de personas y equipos, facturando millones cada año. Cómo es eso posible?&lt;/p&gt;

&lt;p&gt;Quizás es que, estos jefes, han sabido reinventarse y absorber ciertos aspectos de las nuevas metodologías sin que por ello, pierdan ni un ápice de lo que les hace ser como son. Para que otros nos guíen, deben haber figuras a las que queramos seguir. Al final, se mire por donde se mire, tanto al líder como al jefe, la clave principal que les da ese “poder”, radica en el equipo, y sobre todo en la voluntad de estos de ser guiados por esa persona. Con todo esto, que es lo que quiero hacerte entender? Pues que a pesar del título de este post, da igual jefe o líder, mesías o guía espiritual, rey o rebelde. Al final, todo dependerá de nosotros mismos, y por tanto, somos nosotros quienes tenemos el poder de hacer que un jefe sea líder y viceversa, y del mismo modo, tenemos el poder de crearlos o reemplazarlos. 💪&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>HTML 5 and the Yellow Sword</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Wed, 02 Feb 2022 18:37:50 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/html-5-and-the-yellow-sword-3m8b</link>
      <guid>https://dev.to/whitehatdevv/html-5-and-the-yellow-sword-3m8b</guid>
      <description>&lt;p&gt;Hello tribe, how are you?🤗&lt;/p&gt;

&lt;p&gt;Remember last week when we talked about how to embed CSS in HTML ? 🤔  well in this post we will learn how to do it but with JS! yes the last pillar of web development has been revealed! hahaha. Alright let's get started! &lt;/p&gt;

&lt;p&gt;There are two ways through external files or embedding it directly in the document. FOR REAL 😱&lt;/p&gt;

&lt;p&gt;The first way to embed JavaScript in HTML is the direct way, but its use is discouraged, as it slows down the loading of the site, and can be placed either in the head of the document or in the body. You can do this by using the*** SCRIPT*** tag which should wrap all the JS code you write.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;.....&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="p"&gt;......&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second way is through a linked file that is placed in the body like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!--at the end of the body--&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"/myfile.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🤩Bonus! the &lt;strong&gt;NOSCRIPT&lt;/strong&gt; tag:🤩&lt;br&gt;
The noscript tag is used to display a text for all those browsers that have js disabled or don't support it at all.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;noscript&amp;gt;&lt;/span&gt;active js please!&lt;span class="nt"&gt;&amp;lt;/noscript&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well tribe I think that's all for today I'll get to work to bring you more interesting stuff in the next post! remember to always be the best version of you bye bye bye!🥴🥴&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>html</category>
      <category>programming</category>
    </item>
    <item>
      <title>La titulitis, una pandemia sin mascarillas</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Tue, 01 Feb 2022 13:05:34 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/la-titulitis-una-pandemia-sin-mascarillas-45ke</link>
      <guid>https://dev.to/whitehatdevv/la-titulitis-una-pandemia-sin-mascarillas-45ke</guid>
      <description>&lt;p&gt;Retomando la línea de los &lt;a href="https://dev.to/whitehatdevv/el-club-de-la-precariedad-absoluta-4jjn"&gt;anteriores posts&lt;/a&gt;, hoy te vengo a hablar de una de las pandemias más conocidas, pero a la vez, menos valoradas que padecen muchas empresas. Casi podríamos decir que este síndrome (por llamarlo de algún modo), afecta a tantas personas que ya casi hemos aprendido a vivir con ello, hasta el punto de olvidarnos de ponerle remedio. Te hablo de la tan temida &lt;em&gt;titulitis&lt;/em&gt;. 😷&lt;/p&gt;

&lt;p&gt;La &lt;em&gt;titulitis&lt;/em&gt; es un síndrome que suele afectar principalmente a departamentos de recursos humanos, aunque también se han visto casos de puestos ejecutivos presentando algunos de sus síntomas. Se trata de un síndrome que afecta directamente a la región del cerebro encargada de la toma de decisiones, lo que bloquea la capacidad electiva del departamento o equipo afectado. Es altamente contagioso y siempre se transmite de cargos de mayor nivel hacia los de menor. 🧠&lt;/p&gt;

&lt;p&gt;Desde el momento de contagio hasta el pico máximo suelen pasar entre 4 y 8 entrevistas, aunque para los casos más graves se han reportado períodos de incubación que oscilan entre las 2 y 3 entrevistas. Normalmente, la velocidad de propagación dependerá del número de miembros en el equipo, así como del tamaño de la empresa y las tareas de cada persona. Sin embargo, una vez que se ha extendido entre más de un miembro, la posibilidad de solucionarlo disminuye drásticamente con cada nuevo candidato entrevistado. 🤒&lt;/p&gt;

&lt;p&gt;En cuanto a su sintomatología, aunque hay catalogado un gran número de afecciones, hay algunos síntomas que se repiten con más frecuencia: rechazo masivo de candidatos por falta de estudios oficiales (universitarios o máster), obsesión compulsiva por realizar las entrevistas en diferentes idiomas... Algunos de los afligidos también se dedican a centrar su búsqueda en las conocidas como hard skills dejando de lado las soft skills y capacidades innatas de los candidatos. &lt;/p&gt;

&lt;p&gt;Ahora bien, dejando a un lado la broma y el humor, la &lt;em&gt;titulitis&lt;/em&gt; es realmente un problema que hemos visto, e incluso, vivido muchos de nosotros. Es totalmente entendible que las empresas prefieran escoger a candidatos por sus estudios, al fin y al cabo, un título es un recibo reconocido y de garantía, que asegura que dicha persona tendrá al menos las capacidades mínimas para desarrollarse en el puesto profesional al que está aplicando. Pero a pesar de esto, hay un gran número de personas muy capaces para los roles que se quedan fuera de los procesos de selección por la falta de estos títulos. Hay que entender también, que siempre existe la posibilidad que por muchos título que tengamos, no sepamos hacer el trabajo que nos piden.&lt;/p&gt;

&lt;p&gt;Por ello, y entre todos, debemos esforzarnos para mejorar este tipo de procesos de selección, para hacerlos más dinámicos, más detallados y prácticos, buscando siempre la comodidad y la confianza de los candidatos y los entrevistadores. Los candidatos deben saber y entender que si invertimos nuestro tiempo en ellos es porque han demostrado tener algo que les hace diferentes, y por tanto, especiales para el puesto. Y a su vez, los entrevistadores deben buscar, más allá de un CV y cuatro preguntas, conocer la verdadera forma de ser de las personas a las que entrevistan. 🤗&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>“El club de la precariedad absoluta”</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Thu, 27 Jan 2022 14:55:09 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/el-club-de-la-precariedad-absoluta-4jjn</link>
      <guid>https://dev.to/whitehatdevv/el-club-de-la-precariedad-absoluta-4jjn</guid>
      <description>&lt;p&gt;En uno de mis &lt;a href="https://dev.to/whitehatdevv/what-is-it-really-like-to-look-for-a-job-in-the-21st-century-3h74"&gt;anteriores posts&lt;/a&gt;, un buen hombre llamado Anton, comentaba sobre las precariedades de la gente de mayor edad para conseguir un trabajo. A pesar de ser un comentario de poco más de una frase, Anton fue capaz de juntar seis palabras que hasta el día de hoy no me he podido sacar de la cabeza: “El club de la precariedad absoluta”. Pues sabes qué, hoy este post va por ti. ✌️&lt;/p&gt;

&lt;p&gt;Se puede saber qué es lo que nos ha pasado? En qué momento nos convertimos en una sociedad que rechaza profesionalmente a la gente de mayor edad? En qué momento decidimos que el tope para contratar trabajadores no podía pasar de los 40 o 50 años? Aquí sinceramente hay algo que no funciona. Y no funciona nada bien. Es vergonzoso ver como profesionales que han estado más de media vida trabajando, se encuentran impotentes ante un sistema de contratación que los señala como no aptos por algo tan incontrolable como es la edad. No me jodas, te crees que envejecemos por gusto, o qué?&lt;/p&gt;

&lt;p&gt;Debemos tener en cuenta un pequeño dato, y es que ser mayor no significa convertirse en alguien inútil. El único inútil aquí, es el que juzga por edad (o cualquier otra razón fuera de lo laboral: género, política, religión...). Qué coño te importa a ti la edad que tenga mientras sepa hacer el trabajo por el que me contratas? Di la verdad, sé valiente, prefieres una persona joven porque puedes aprovecharte de ella, porque sabes que puedes pagarle una miseria, porque puedes moldearla a tu gusto y semejanza y esta no será capaz de quejarse por miedo a irse a la calle. Y sabes muy bien, que eso no ocurre con alguien que lleva más experiencia que canas a sus espaldas. A toro viejo no hay quien lo toree. 🐃&lt;/p&gt;

&lt;p&gt;Hablando de este tema, recuerdo un momento de mi vida en el cual andaba un poco perdido. Había dejado la universidad en pleno año de segundo de carrera, sin saber que hacer, sin saber hacia donde ir, ni que es lo que quería continuar haciendo. Al  haber renunciado en medio del curso, se me hacía imposible iniciar otros estudios, y la idea de estar seis meses tirado en casa sin hacer nada lo complicaba todo aún más. Mi familia, que es muy sabia (de algo sirve tener edad y experiencia parece ser) me aconsejó que le echara un vistazo a los cursos que por aquel entonces ofrecía el Servicio de Ocupación de Cataluña (vendría a ser algo así como el SEPE) para gente en paro, y decidí cursar una formación técnica que casualmente se realizaba a pocas semanas después de haber dejado los estudios universitarios.&lt;/p&gt;

&lt;p&gt;Todavía recuerdo el día en que entré por primera vez a clase, y me vi rodeado de un puñado de peculiares personajes, todos ellos mayores que yo. Fíjate, que el más joven de ellos tenía 10 años más que yo, así que imagínate el resto los años que rondaban. Pero a pesar de ello, a día de hoy, te puedo decir que nunca he aprendido tanto en mi vida. Esos personajes, a los que terminé conociendo como compañeros y amigos, tenían entre 32 y 58 años, y eran los tíos más listos y más apañados que te puedas echar en cara. Cada uno tenía su vida, pero nunca dudaron ni un momento en contarla para que formase parte de ella. Siempre estuvieron ahí desde el primer día para enseñar al más inexperto (que era yo) todo lo que la vida, o más bien, la experiencia, les había ido mostrando. Podría decir que casi me adoptaron como un hijo y me mostraron todos los trucos que sabían, todas sus cicatrices, y todas sus historias.&lt;/p&gt;

&lt;p&gt;En 6 meses de formación técnica con esas personas, llegué a aprender mucho más que en dos años de ingeniería en una carrera universitaria. Y te lo alto y claro, y te lo reconozco bien orgulloso. 🙂 &lt;/p&gt;

&lt;p&gt;Pero me enerva, que a pesar de todo lo que sabían y lo que podían llegar a enseñar, las empresas y el sistema no les ofrecieran una oportunidad tan solo por su edad. Da lástima vivir en un lugar donde no se valoran estas cosas, donde lo que vale es la apariencia y la &lt;em&gt;titulitis&lt;/em&gt; que llevas contigo. Y luego tienen el valor de andar quejándose de que no hay trabajadores, o de que la gente se va fuera del país. No me extraña coño, si es que los tenéis delante pidiendo trabajo y pasáis de ellos: ay es que no tienes una carrera, ay es que eres muy mayor, ay es que tal, ay es que cuál... &lt;/p&gt;

&lt;p&gt;Sabes, deberíamos montar un club, un club en el que formasen parte todas las personas como Anton, como Joaquín, Jaime, Xavi y el resto de compañeros de la formación técnica. En el que pudieran formar parte todos aquellos que se han sentido rechazados alguna vez en el empleo por cualquier cosa fuera de lo laboral y profesional. Deberíamos formar parte todos. Incluso yo formaría parte. Deberíamos escogernos un nombre pegadizo como “El club de la precariedad absoluta”, y salir a la calle. Deberíamos salir a protestar, y demostrar, que valemos como trabajadores, y que somos mucho más que una edad, un género, o una ideología.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>life</category>
      <category>webdev</category>
      <category>software</category>
    </item>
    <item>
      <title>HTML ⇒ The color Cape</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Wed, 26 Jan 2022 18:48:17 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/html-the-color-cape-2l8m</link>
      <guid>https://dev.to/whitehatdevv/html-the-color-cape-2l8m</guid>
      <description>&lt;p&gt;Hello tribe, how are you? Today we're going to talk about how to start giving colour to all this stuff we've been talking about since this madness started! give it sugar baby! 👻😈&lt;/p&gt;

&lt;h2&gt;
  
  
  Give colour?
&lt;/h2&gt;

&lt;p&gt;Yes, I mean using css in html! so, from this post on, we are going to rotate the Wednesday topics between html and css.&lt;/p&gt;

&lt;h2&gt;
  
  
  Very nice but how do we do it? 🤔
&lt;/h2&gt;

&lt;p&gt;There are three ways to incorporate css into html documents: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inline styles(deprecated)&lt;/li&gt;
&lt;li&gt;Styles in the head(deprecated)&lt;/li&gt;
&lt;li&gt;Styles in a style sheet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inline styles have this form and their use is not recommended:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color: red;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; red text&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Styles that were placed in the head of the document did so in this way and their practice is also discouraged:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Styles with a link:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"mydoc.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This last one is recommended as it allows a huge improvement when loading the page as it means fewer lines in the html document as opposed to the first ones that I mentioned, so the performance of the page goes up like crazy.😜&lt;/p&gt;

&lt;p&gt;Well guys raise your swords because CSS is coming! .⚔😎&lt;br&gt;
Thanks for reading today's post and remember to be the best version of you&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>webdev</category>
      <category>html</category>
    </item>
    <item>
      <title>“Esclavos de las plataformas de empleo”</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Tue, 25 Jan 2022 09:55:24 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/esclavos-de-las-plataformas-de-empleo-43ge</link>
      <guid>https://dev.to/whitehatdevv/esclavos-de-las-plataformas-de-empleo-43ge</guid>
      <description>&lt;p&gt;Qué sencilla era la vida hace unos años, cuando para encontrar empleo lo único que tenías que hacer era ir entregando tu currículum empresa por empresa y esperar a que alguna de ellas decidiera llamarte. Hoy en día, por culpa de las plataformas de búsqueda de empleo, hemos llegado a un punto, en el que somos capaces de arrastrarnos por un trabajo y sueldo de mierda. 💩&lt;/p&gt;

&lt;p&gt;Pues no señor. Que quieres que te diga, yo estoy hasta los cojones, así dicho de malas maneras. Hoy en día se ha permitido tanto el uso de estas aplicaciones, que si no estás en ellas, es muy poco probable que logres encontrar un trabajo a menos que tengas contactos o habilidades que te libren de ello. Pero para una persona normal y corriente, estar en las plataformas de búsqueda de empleo es un &lt;em&gt;must&lt;/em&gt;. Al igual que lo es ahora saber inglés, alemán y francés, tener dos carreras, un máster, un posgrado, y ya puestos a pedir, ser alguien muy trabajador y que cuanto menos cobre, mejor. &lt;/p&gt;

&lt;p&gt;Tampoco estoy tratando de comparar plataformas como LinkedIn, Indeed o Infojobs con el mismo Satanás, pero han llegado a tener un poder y una influencia sobre la sociedad, que se han olvidado de lo que verdaderamente importa de su aplicación, que es lograr que la gente encuentre un trabajo, y a poder ser, uno digno (en vez de hacer perder el tiempo a las personas). El problema es, que con este alcance, han permitido a las empresas (a cambio de dinero) jugar con ese poder a su antojo: publicar ofertas fantasma para recabar datos, procesos de selección que atrapan a los usuarios en ruedas eternas, permitir ofertas con sueldos absurdamente bajos, &lt;a href="https://dev.to/whitehatdevv/superando-el-algoritmo-de-infojobs-9l6"&gt;escaneo de currículum&lt;/a&gt;, y lo que a mi parecer es peor de todo, una grave obsesión por la &lt;em&gt;titulitis.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;No hace falta ser un genio para saber que Infojobs o LinkedIn se gastan más en publicidad que en desarrollo de software, y que por ello, sus algoritmos de búsqueda son más simples que el mecanismo de un botijo. Pero hay que entender una cosa; las personas somos mucho más que un título, tenemos habilidades y capacidades que nos hacen ser únicos y distintos a los demás. Y ese tipo de cosas no se pueden escribir en un papel, pero se pueden demostrar (incluso a través de una plataforma digital, sino mira TikTok o YouTube lo llenos de vídeos que están demostrando lo increíbles que llegan a ser las personas). Ya solo por eso, cada usuario se convierte en alguien realmente valioso. 💎&lt;/p&gt;

&lt;p&gt;Estoy seguro de que habrá gente que esté en contra de mi opinión (más faltaría, hola bienvenido al mundo de la libre expresión). Incluso algunos me echarán en cara que gracias a este tipo de plataformas, puedes darte a conocer a empresas a las que quizás nunca tendrías acceso y que te valoran por todo lo que eres. Es cierto, en eso tienes toda la razón. Pero porque tú hayas tenido la suerte de dar con una empresa que piensa en ti por encima de sus beneficios no quiere decir que el resto de personas lo haya tenido tan fácil. Además, estoy seguro de que si haces algo de retrospectiva, habrás vivido (o conocerás) alguna experiencia digna de calificar como una “mierda bien gorda”.  &lt;/p&gt;

&lt;p&gt;Pero sé de personas que trabajan en lograr una manera de librarse de esta esclavitud, para conseguir darles a las personas más poder sobre sí mismas. Al menos demostrémosle al mundo que somos algo más que un título en un papel. &lt;/p&gt;

&lt;p&gt;Estad al tanto, ya puedo oír el cambio llegar. ☄️&lt;/p&gt;

</description>
      <category>empleo</category>
      <category>beginners</category>
      <category>programming</category>
      <category>lifes</category>
    </item>
    <item>
      <title>HTML 5 - The Brainstorm!</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Wed, 19 Jan 2022 17:44:36 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/html-5-the-brainstorm-188n</link>
      <guid>https://dev.to/whitehatdevv/html-5-the-brainstorm-188n</guid>
      <description>&lt;p&gt;Hello tribe! today we are going to talk about the html tags that go inside the head of the document! Bring out the umbrella because it's raining brains! halleluyah! 🎼&lt;/p&gt;

&lt;p&gt;As we had mentioned so far, in the structure of an HTML document there are two main HTML tags: "head" and "body" . The head tag contains the metadata tags (information about the document) as well as making connections or relationships with other documents and the body tag allows us to display the content.&lt;/p&gt;

&lt;h2&gt;
  
  
  "Connection" tags:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Title : title of the web page&lt;/li&gt;
&lt;li&gt;meta: where you set data such as the language developed on the page. &lt;/li&gt;
&lt;li&gt;Script: to load js &lt;/li&gt;
&lt;li&gt;Style: to load css on the current page &lt;/li&gt;
&lt;li&gt;Link:In my opinion the most important because it allows to load css, improves SEO, establishes relationships with other pages, or alternative versions of our website etc...  It is the Swiss knife of tags! &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;My cute page&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"alternate"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"document-en.html"&lt;/span&gt; &lt;span class="na"&gt;hreflang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt; //create a alternative page
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👁  Script is best placed in the body and Style with a link.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meta tag:
&lt;/h2&gt;

&lt;p&gt;Perhaps the tag with the greatest number of possibilities in the header of an HTML document is the  tag. In it, and through attributes, we can indicate a large amount of metadata to the document.&lt;/p&gt;

&lt;p&gt;Meta has the following attributes: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;description&lt;/li&gt;
&lt;li&gt;keywords&lt;/li&gt;
&lt;li&gt;author&lt;/li&gt;
&lt;li&gt;language&lt;/li&gt;
&lt;li&gt;generator&lt;/li&gt;
&lt;li&gt;theme-color
&lt;/li&gt;
&lt;li&gt;viewport&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want me to go deeper into tags, let me know in the comments! Well tribe that's all for now, see you in the next post and remember to always be the best version of you!&lt;/p&gt;

</description>
      <category>html</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>“Tu perfil se ajusta a este empleo”</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Tue, 18 Jan 2022 09:23:07 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/tu-perfil-se-ajusta-a-este-empleo-2dc7</link>
      <guid>https://dev.to/whitehatdevv/tu-perfil-se-ajusta-a-este-empleo-2dc7</guid>
      <description>&lt;p&gt;Cuántas veces habrás leído en una oferta de trabajo la frase “Tu perfil se ajusta a este empleo”, para luego descubrir que lo único que se ajusta en ella es tan solo una palabra que coincide con tu currículum profesional? &lt;/p&gt;

&lt;p&gt;El otro día, como de costumbre, andaba perdiendo el tiempo haciendo scroll infinito en LinkedIn y ya que estaba, mi curiosidad me llevó a investigar algunas ofertas de trabajo (no sé que tiene esta plataforma, que terminas entrado una o dos veces al día y antes que te des cuenta, has malgastado 20 minutos de tu tiempo en publicaciones sobre fotos de bodas y packs de bienvenida de empresa, así como artículos en los que se glorifica hasta la obtención de la licencia de conducir... pero no te preocupes que de esto ya hablaremos otro día 😂).&lt;/p&gt;

&lt;p&gt;Quizás te haya comentando en los &lt;a href="https://dev.to/whitehatdevv/series/16158"&gt;anteriores post&lt;/a&gt; que trabajo como desarrollador, así que lo más normal es que estuviera investigando ofertas sobre mi campo profesional, pero en vez de buscar por el nombre de mi profesión, decidí buscar directamente por mi ubicación (que quieres que te diga, a veces la pereza lleva a límites insospechados). Si bien es cierto que la mayoría de las ofertas estaban dentro de mi sector profesional (desarrollador, ingeniero de software, etc), de entre todas ellas hubo una que me llamó la atención en particular: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Abogado bilingüe español-alemán”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Y justo debajo, aparecía la foto de mi perfil con el siguiente comentario: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Tu perfil se ajusta a este empleo”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En ese preciso momento me di cuenta de lo desastroso que puede llegar a ser LinkedIn recomendando ofertas. Y es que se puede saber que tengo yo que ver con la Abogacía? Y lo mismo digo del Alemán. En lo único que coincidía con ese título era el español, pero nada más. Si bien es cierto que sé algo de leyes (como las de tráfico o que no hay que hacer ruido pasadas las 22h de la noche) de ahí a decirme que encajo en un puesto de abogado es dar un salto más grande que Neil Armstrong llegando a la luna. 🚀 &lt;/p&gt;

&lt;p&gt;Sé puede saber que te he hecho LinkedIn para que me recomiendes ofertas que parecen salidas de la chistera de un mago? 🐰&lt;/p&gt;

&lt;p&gt;Tengo que decir, que tras mi asombro inicial, decidí leer más acerca de aquella oferta, no fuera a ser que se tratase de la mayor oportunidad profesional de mi vida y que ni siquiera yo conocía. Pero tras leer una y otra vez toda la descripción y requisitos que ofrecía el anuncio, no logré a ver que palabras clave había utilizado el algoritmo de LinkedIn para relacionarme con ese empleo. Entiendo que su objetivo principal sea ser una red social, pero la mayoría de usuarios que entran en la plataforma lo hacen para buscar trabajo. Trabajo de lo suyo. &lt;/p&gt;

&lt;p&gt;Ahora bien, desde ese día en que me metí a leer la oferta para abogado, me van llegado de vez en cuando mensajes de LinkedIn al correo, recomendándome empleos similares. Todos ellos sobre abogacía, claro está. 😐 Tal vez deba hacer caso y hacer un drástico cambio de profesión. Al fin y al cabo, me lo está recomendado LinkedIn. Qué mal podría hacerme? &lt;/p&gt;

&lt;p&gt;Con lo sencillo que es comparar varias preferencias y habilidades, y a partir de ahí, ir mostrando ofertas que se ajusten a uno mismo. Pero siempre tiene que haber alguien que lo complique todo más de la cuenta. Y parece ser que hoy LinkedIn repite en el primer puesto. Si no fuera por la cantidad de memes sobre programación que puedo ver, ya me habría vuelto a Instagram hace tiempo! Esta claro que todas estas plataformas para encontrar trabajo (tales como Infojobs, Indeed, etc) necesitan un cambio drástico en sus funciones, necesitan centrarse en lograr cumplir con aquello que promulgan. Eso es al menos lo que dice la ley que se debe hacer. Créeme, sé de lo que hablo, al fin y al cabo, podría ser abogado bilingüe español-alemán.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>HTML THE GOLDEN LUTE </title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Wed, 12 Jan 2022 07:06:36 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/html-the-golden-lute-2e49</link>
      <guid>https://dev.to/whitehatdevv/html-the-golden-lute-2e49</guid>
      <description>&lt;p&gt;Hello, tribe! Today we are going to talk about the multimedia that HTML allows us to have in our web pages! let's start:&lt;/p&gt;

&lt;p&gt;In case we want to put a video we have to use the &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; tag and in case of audio &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt;, which shares almost the same attributes and functions as video. &lt;/p&gt;

&lt;h2&gt;
  
  
  Video
&lt;/h2&gt;

&lt;p&gt;has the following attributes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;src &lt;/li&gt;
&lt;li&gt;poster&lt;/li&gt;
&lt;li&gt;preload&lt;/li&gt;
&lt;li&gt;mediagroup&lt;/li&gt;
&lt;li&gt;autoplay &lt;/li&gt;
&lt;li&gt;loop&lt;/li&gt;
&lt;li&gt;muted&lt;/li&gt;
&lt;li&gt;controls &lt;/li&gt;
&lt;li&gt;width&lt;/li&gt;
&lt;li&gt;height&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Audio
&lt;/h2&gt;

&lt;p&gt;has the following attributes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;src&lt;/li&gt;
&lt;li&gt;preload&lt;/li&gt;
&lt;li&gt;mediagroup&lt;/li&gt;
&lt;li&gt;autoplay&lt;/li&gt;
&lt;li&gt;loop&lt;/li&gt;
&lt;li&gt;muted&lt;/li&gt;
&lt;li&gt;control&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;video src="..." &amp;gt;&amp;lt;/video&amp;gt;

&amp;lt;videos&amp;gt;
  &amp;lt;source src="..." type="video/mp4" /&amp;gt;
  &amp;lt;source src="..." type="video/webm" /&amp;gt;
&amp;lt;/videos&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Formats
&lt;/h2&gt;

&lt;p&gt;For audio:&lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MP3&lt;/li&gt;
&lt;li&gt;AAC&lt;/li&gt;
&lt;li&gt;Ogg&lt;/li&gt;
&lt;li&gt;Opus&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For video:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MP4,&lt;/li&gt;
&lt;li&gt;WebM&lt;/li&gt;
&lt;li&gt;AV1 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are some examples of formats, they are not the only ones, nor all of them. &lt;/p&gt;

&lt;h3&gt;
  
  
  👽⚡ Curious facts:
&lt;/h3&gt;

&lt;p&gt;if we drag a video to the browser window, we will see that it starts to play in it!&lt;br&gt;
If you want to insert videos from Youtube or another alternative service, you should use the HTML iframe tag instead of the &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Well guys I think that's all for today! Thanks for following my blog and always remember to be the best version of you!  💪 &lt;/p&gt;

</description>
      <category>html</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Superando el algoritmo de Infojobs</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Tue, 11 Jan 2022 09:02:01 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/superando-el-algoritmo-de-infojobs-9l6</link>
      <guid>https://dev.to/whitehatdevv/superando-el-algoritmo-de-infojobs-9l6</guid>
      <description>&lt;p&gt;Si, lo has leído bien, he superado el algoritmo de Infojobs y he logrado que empresas me llamen para tener una entrevista. Y seguro que te preguntarás cómo, o incluso, de que va eso del algoritmo de Infojobs. Empecemos por el principio. 🧙🏼‍♂️&lt;/p&gt;

&lt;p&gt;Como quizás hayas leído en &lt;a href="https://dev.to/whitehatdevv/what-is-it-really-like-to-look-for-a-job-in-the-21st-century-3h74"&gt;entradas anteriores&lt;/a&gt;, llevo un tiempo metido en esto de buscar trabajo, y para ello, hago uso de todo un sinfín de plataformas de búsqueda de trabajo, que en mi opinión, te hacen perder más el tiempo que ayudarte. Y hoy, como puedes leer en el título, me ha tocado pelearme con Infojobs. 💥 &lt;/p&gt;

&lt;p&gt;Para el que no lo sepa, Infojobs es una plataforma de empleo que nació hace más de dos décadas y que se estableció como la plataforma referente a nivel español para la búsqueda de trabajo. Pero desde entonces las cosas han cambiado (y mucho), pero parece que Infojobs se ha quedado tan atrasado como los peajes en carretera. Ambos son un proceso largo y tedioso para algo muy simple, y lo único que consiguen es hacernos perder el tiempo tras una cola infinita de personas. Aunque a pesar de las claras semejanzas, hay una diferencia abrumadora entre ellos dos, y es que en los peajes sabes con seguridad que, tarde o temprano, terminarás llegando al otro lado. 🙄&lt;/p&gt;

&lt;p&gt;Pero no me quiero enrollar con analogías. Yo he venido hoy a contarte la última de mis peripecias para conseguir un trabajo en Infojobs (o al menos conseguir entrevistas con empresas). Verás, en el momento que empecé a buscar empleo, opté por utilizar Infojobs, ya que es (o quizás ya podemos decir que era) la plataforma más utilizada para ello. &lt;/p&gt;

&lt;p&gt;Reconozco que todo el proceso en Infojobs es muy sencillo, pero hay un pequeño detalle en todo ello que siempre me inquietaba un poco, y era la velocidad con la que las empresas me rechazaban. Estoy seguro que a ti también te ha pasado, verdad? Aplicar a una oferta y en poco menos de cinco minutos, recibir un mensaje de Infojobs diciendo que el currículum ha sido descartado, y lo peor de todo, sin saber el motivo. Pero vaya, que te rechace una empresa tampoco es algo extraño, lo extraño es cuando estás aplicando a ofertas a las 2 de la madrugada y recibes la respuesta de que no has sido seleccionado, y piensas: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Ok, vale, o yo tengo el reloj mal configurado o aquí pasa algo raro, porque no me creo que haya nadie de RRHH trabajando a estas horas&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;Y ahí es cuando empieza toda la investigación y descubro que no son las empresas quien te descartan, sino el programa de clasificación de Infojobs. Así es. Parece ser que desde hace un tiempo, empresas y plataformas emplean programas de escaneado para revisar los currículums de los candidatos en busca de coincidencias llamadas keywords (palabras clave). Si en tu currículum no aparecen las palabras que buscan, es casi seguro que te vas a ir directo a la carpeta de spam juntos con los mensajes de “Enhorabuena, has ganado un Iphone 8. Click aquí!” 😱  &lt;/p&gt;

&lt;p&gt;Pero quizás te preguntes, y cómo logré superar este algoritmo de clasificación? Pues modificando las palabras clave, amigo mío. Como si fuera un científico, me dediqué a realizar experimentos de prueba y error, en los que iba modificando determinadas palabras para así calibrar el algoritmo. Y cuál fue la conclusión de este experimento? Terminé añadiendo en mi currículum casi toda la información de la oferta publicada. Incluso en el mismo orden! De esta forma, Infojobs al escanear mi currículum, me permite saltar al siguiente paso del proceso sin miedo a ser rechazado cinco minutos después de aplicar a cualquier oferta. 💃🏼&lt;/p&gt;

&lt;p&gt;Este proceso no es una ciencia exacta, para que engañarnos, pero si existieran otras plataformas que se enfocasen en mejorar todo este proceso, personas como yo no tendríamos que perder el tiempo en como lograr traspasar absurdos algoritmos y podríamos invertir nuestro tiempo en lo que realmente importa de todo esto: encontrar un empleo. 💪&lt;/p&gt;

&lt;p&gt;Las cosas deben cambiar, eso está claro. Y cambiarán. Manteneros al tanto.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Arrays management using JS</title>
      <dc:creator>Manu Martinez</dc:creator>
      <pubDate>Mon, 10 Jan 2022 12:28:57 +0000</pubDate>
      <link>https://dev.to/whitehatdevv/arrays-management-using-js-3p93</link>
      <guid>https://dev.to/whitehatdevv/arrays-management-using-js-3p93</guid>
      <description>&lt;p&gt;This is one of the &lt;em&gt;most important&lt;/em&gt; lesson 😤 you should start learning when you it's your first time *&lt;em&gt;writing some code. *&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;As you know, an array is a typical data structure in JS, it's mainly a element chain, doesn't matter the type of their elements, the only important thing is to be &lt;em&gt;consistence&lt;/em&gt;, let's see an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Look's at the example, doesn't matter the child types, it's the best characteristic on arrays here, but it's not the aim of this post, let's see how to manage that using JS and &lt;strong&gt;functional programming&lt;/strong&gt; 🥰:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;val&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;undefined&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;key&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;&lt;strong&gt;Woow&lt;/strong&gt;!! 😏, yes I know, I'm so crazy, here I have use the most advance &lt;em&gt;functional programming&lt;/em&gt;, let's try to see each part:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First: the array start filtering using &lt;code&gt;filter&lt;/code&gt;, it looks like the result array will have all the values without possibles &lt;strong&gt;undefined&lt;/strong&gt;, it means to remove all values which their type are undefined. As you know 😉, filter return an array after applying the filter indicated in the &lt;code&gt;callback&lt;/code&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Second: The result of the filter (an array) is passed to a &lt;code&gt;map&lt;/code&gt; function, it's an actor who allows us to move between two context, it allow us to transform an array to an array of object with the structure provided on the &lt;code&gt;body&lt;/code&gt; of this map.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's see each part separately:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;val&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;undefined&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// the result will be [1, "2", 3, null]&lt;/span&gt;
&lt;span class="c1"&gt;// after you can apply a map separately &lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;secondResult&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// the secondResult will be [{value: 1, index: 0}, &lt;/span&gt;
&lt;span class="c1"&gt;// {value: "2", index: 1}, {value: 3, index: 2}, {value: null, index: 3}&lt;/span&gt;
&lt;span class="c1"&gt;// it's the same result as the example before&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the same, we can mix all these &lt;code&gt;array functions&lt;/code&gt; one after another, to get the result which we are looking for 😉. &lt;/p&gt;

&lt;p&gt;The idea of this post is to bring you the first approach to the &lt;em&gt;functional programming&lt;/em&gt; using &lt;code&gt;declarative methods&lt;/code&gt; (it means say what we want not how to do that).&lt;/p&gt;

&lt;p&gt;In the following post we will go into more detail about this functions and how to extract all the &lt;strong&gt;power&lt;/strong&gt; that it has on JS. If you like this post 🧡, please don't forget to share it with your &lt;em&gt;friends&lt;/em&gt; and give us a &lt;em&gt;comment&lt;/em&gt;, we really appreciate that.&lt;/p&gt;

&lt;p&gt;See you 🙏&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
