<?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: Sergio Suárez</title>
    <description>The latest articles on DEV Community by Sergio Suárez (@sergiosuarezgil).</description>
    <link>https://dev.to/sergiosuarezgil</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%2F110420%2F328af251-09dc-44e0-adcc-fea9ff21da57.png</url>
      <title>DEV Community: Sergio Suárez</title>
      <link>https://dev.to/sergiosuarezgil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sergiosuarezgil"/>
    <language>en</language>
    <item>
      <title>🚀 Por fin he creado mi web personal</title>
      <dc:creator>Sergio Suárez</dc:creator>
      <pubDate>Sat, 09 May 2026 09:55:01 +0000</pubDate>
      <link>https://dev.to/sergiosuarezgil/por-fin-he-creado-mi-web-personal-2iin</link>
      <guid>https://dev.to/sergiosuarezgil/por-fin-he-creado-mi-web-personal-2iin</guid>
      <description>&lt;p&gt;Durante muchos años fui bastante reacio a crear una web personal o un portfolio.&lt;/p&gt;

&lt;p&gt;No porque no me gustase desarrollar cosas — de hecho, llevo años creando aplicaciones, experimentando con tecnologías frontend y backend, diseñando interfaces y aprendiendo constantemente — sino porque siempre tenía la sensación de que un portfolio debía estar “perfecto” antes de enseñarlo al mundo. Y la realidad es que ese momento nunca termina de llegar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hace poco decidí cambiar esa mentalidad.&lt;/strong&gt;&lt;br&gt;
Así que finalmente me animé a crear mi nueva web personal:&lt;/p&gt;

&lt;p&gt;🌐 &lt;a href="https://sergiosuarezgil.com" rel="noopener noreferrer"&gt;sergiosuarezgil.com&lt;/a&gt;￼&lt;/p&gt;

&lt;p&gt;Este proyecto no es solo una página donde listar tecnologías o proyectos.&lt;br&gt;
También es una forma de mostrar cómo entiendo el desarrollo de software y el diseño después de todos estos años trabajando en tecnología.&lt;/p&gt;

&lt;p&gt;He querido darle un estilo muy personal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;usando mis colores favoritos,&lt;/li&gt;
&lt;li&gt;diseños limpios y modernos,&lt;/li&gt;
&lt;li&gt;animaciones e interacciones cuidadas,&lt;/li&gt;
&lt;li&gt;y una estética que representa tanto mi lado técnico como creativo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La idea no era únicamente enseñar proyectos, sino también enseñar evolución, personalidad y pasión por crear productos digitales.&lt;/p&gt;

&lt;p&gt;Dentro de la web hay:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;proyectos en los que he trabajado,&lt;/li&gt;
&lt;li&gt;aplicaciones web,&lt;/li&gt;
&lt;li&gt;experimentos personales,&lt;/li&gt;
&lt;li&gt;desarrollo frontend y backend,&lt;/li&gt;
&lt;li&gt;ideas de diseño,&lt;/li&gt;
&lt;li&gt;y muchas de las tecnologías con las que más disfruto trabajando.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Muchas veces los desarrolladores pasamos años construyendo cosas para empresas, clientes o terceros… y se nos olvida construir algo para nosotros mismos.&lt;/p&gt;

&lt;p&gt;Esta vez decidí hacer justo eso.&lt;/p&gt;

&lt;p&gt;Y sinceramente, me alegro mucho de haber dado el paso.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>portfolio</category>
      <category>html</category>
      <category>programming</category>
    </item>
    <item>
      <title>NestJS 10 - Descubre las novedades</title>
      <dc:creator>Sergio Suárez</dc:creator>
      <pubDate>Wed, 10 Jul 2024 14:05:50 +0000</pubDate>
      <link>https://dev.to/sergiosuarezgil/nestjs-10-ya-esta-aqui-descubre-las-novedades-3am9</link>
      <guid>https://dev.to/sergiosuarezgil/nestjs-10-ya-esta-aqui-descubre-las-novedades-3am9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm0px11v2p0jwmzl3b2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm0px11v2p0jwmzl3b2x.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NestJS&lt;/strong&gt; ha lanzado hace unos meses su versión 10 y viene cargada de mejoras y nuevas funcionalidades que harán las delicias de los desarrolladores. &lt;/p&gt;

&lt;p&gt;Después de varios meses de pruebas y algunos que otro proyecto, te cuento las principales novedades de esta versión:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Integración con SWC&lt;/strong&gt;&lt;br&gt;
La nueva versión de NestJS incorpora SWC, un compilador y agrupador escrito en Rust que promete revolucionar los tiempos de compilación. Comparado con TypeScript, SWC ofrece una velocidad de compilación hasta 20 veces más rápida. Esto significa que los desarrolladores podrán disfrutar de una experiencia de desarrollo mucho más fluida y eficiente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Sobrescribir módulos en pruebas&lt;/strong&gt;&lt;br&gt;
NestJS 10 facilita aún más las pruebas unitarias al permitir sobrescribir módulos completos. Esta funcionalidad simplifica la creación de mocks y la configuración del entorno de pruebas, lo que resulta en un proceso de testing más limpio y manejable. Ahora, simular el comportamiento de servicios y componentes es más sencillo que nunca.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Suscripciones wildcard en Redis&lt;/strong&gt;&lt;br&gt;
Las suscripciones wildcard llegan a NestJS, mejorando significativamente la flexibilidad de los microservicios. Esta característica permite suscripciones basadas en patrones, lo cual es especialmente útil para sistemas que requieren una alta dinámica en la gestión de eventos y mensajes. Con esta mejora, los desarrolladores podrán diseñar arquitecturas más robustas y adaptables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. CacheModule independiente&lt;/strong&gt;&lt;br&gt;
El módulo de caché se ha convertido en un paquete independiente (@nestjs/cache-manager). Esto facilita su integración y uso en diferentes proyectos, proporcionando una mayor modularidad y permitiendo a los desarrolladores elegir de forma más precisa las herramientas que necesitan para optimizar sus aplicaciones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Compatibilidad y requisitos&lt;/strong&gt;&lt;br&gt;
Para aprovechar todas estas nuevas funcionalidades, es importante tener en cuenta los requisitos de compatibilidad. NestJS 10 requiere Node.js v16 o superior y TypeScript &amp;gt;= 4.8. Asegúrate de actualizar tus entornos de desarrollo para disfrutar de todas las ventajas que trae esta versión.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NestJS 10&lt;/strong&gt; es una actualización muy completa que promete mejorar significativamente la eficiencia y la flexibilidad del desarrollo con este framework. No dudes en probarlo y explorar todas sus nuevas capacidades!!&lt;/p&gt;

&lt;p&gt;Para más detalles y una &lt;strong&gt;lista completa de cambios&lt;/strong&gt;, puedes consultar el &lt;a href="https://trilon.io/blog/nestjs-10-is-now-available" rel="noopener noreferrer"&gt;anuncio oficial&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;O consultar sus &lt;strong&gt;últimas versiones en&lt;/strong&gt; &lt;a href="https://github.com/nestjs/nest/releases" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nestjs</category>
      <category>typescript</category>
      <category>backend</category>
    </item>
    <item>
      <title>Webinar: ¿Cómo crear un API con NestJs, GraphQL y MongoDB?</title>
      <dc:creator>Sergio Suárez</dc:creator>
      <pubDate>Fri, 29 Apr 2022 14:13:51 +0000</pubDate>
      <link>https://dev.to/sergiosuarezgil/webinar-como-crear-un-api-con-nestjs-graphql-y-mongodb-3189</link>
      <guid>https://dev.to/sergiosuarezgil/webinar-como-crear-un-api-con-nestjs-graphql-y-mongodb-3189</guid>
      <description>&lt;p&gt;&lt;strong&gt;¿Te gustaría aprender a crear un API con NestJs, GraphQL y MongoDB?&lt;/strong&gt; Este webinar es para ti.&lt;/p&gt;

&lt;p&gt;Link grabación en Youtube: &lt;a href="https://youtu.be/vsHRlt9cFwA" rel="noopener noreferrer"&gt;https://youtu.be/vsHRlt9cFwA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veremos una introducción a &lt;strong&gt;Nestjs&lt;/strong&gt;, un popular framework progresivo de &lt;strong&gt;Node.js&lt;/strong&gt; para la creación de aplicaciones eficientes, confiables y escalables del lado del servidor, el cual está construido y es completamente compatible con &lt;strong&gt;TypeScript&lt;/strong&gt;, combinando elementos de la programación orientada a objetos, programación funcional y reactiva.&lt;br&gt;
Junto a Nestjs también veremos &lt;strong&gt;GraphQL&lt;/strong&gt;, una alternativa a las API REST, que permite que los desarrolladores creen consultas para extraer datos de varias fuentes en una sola llamada a la API.&lt;/p&gt;

&lt;p&gt;Además usaremos &lt;strong&gt;MongoDB&lt;/strong&gt; que es un sistema de base de datos NoSQL orientado a documentos de código abierto. También usaremos junto a el, el ORM &lt;strong&gt;Mongoose&lt;/strong&gt;, que es una librería que nos permite crear consultas y con otras características como validaciones, construcción de queries, middlewares, conversión de tipos y muchas mas cosas.&lt;/p&gt;

&lt;p&gt;Crearemos una API sencilla para saber como usar el cli de NestJs, conoceremos como funcionan los modulos, servicios, resolvers, crearemos los modelos de datos de MongoDB y GraphQL de manera conjunta, crearemos relaciones entre 2 colecciones de Mongo distintas y veremos cómo usar la aplicación Altair GraphQL Client para probar nuestro API cómodamente.&lt;/p&gt;

</description>
      <category>keepcoding</category>
      <category>webinar</category>
      <category>nestjs</category>
      <category>graphql</category>
    </item>
    <item>
      <title>NestJS 8 ¿Qué hay de nuevo?</title>
      <dc:creator>Sergio Suárez</dc:creator>
      <pubDate>Sun, 19 Sep 2021 11:21:23 +0000</pubDate>
      <link>https://dev.to/sergiosuarezgil/nestjs-8-whats-new-nce</link>
      <guid>https://dev.to/sergiosuarezgil/nestjs-8-whats-new-nce</guid>
      <description>&lt;p&gt;Hace muy poco se ha anunciado el lanzamiento oficial de NestJS 8. &lt;/p&gt;

&lt;p&gt;Este es un lanzamiento importante que abarca mejoras en toda toda la plataforma, incluido el framework, numerosas mejoras en los paquetes &lt;strong&gt;@nestjs/graphql&lt;/strong&gt; y &lt;strong&gt;@nestjs/config&lt;/strong&gt;, &lt;strong&gt;CLI&lt;/strong&gt; y se ha actualizado toda la &lt;strong&gt;documentación&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Esta versión trae muchas características geniales y mejoras tan esperadas. Hay demasiados para enumerar aquí, pero echemos un vistazo de alto nivel a algunos de los mejores.&lt;/p&gt;

&lt;p&gt;Si quieres ver la lista completa, click aquí:  &lt;a href="https://github.com/nestjs/nest/releases" rel="noopener noreferrer"&gt;https://github.com/nestjs/nest/releases&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API versioning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tradicionalmente, en las aplicaciones Node.js (y NestJS), el control de versiones de API nunca ha tenido una "forma correcta" de realizarse, ya que hay muchas formas de lograrlo.&lt;/p&gt;

&lt;p&gt;En v8, podrás tener diferentes versiones de tus controladores o rutas individuales ejecutándose dentro de la misma aplicación. También se admiten 3 tipos diferentes de control de versiones: control de versiones de URI, control de versiones de encabezado y control de versiones de tipo de medio.&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="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Controller&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;cats&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 👈&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CatsController&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="nf"&gt;findAll&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;This action returns all cats for version 1&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="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Lazy-loading modules&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Por defecto, los módulos se cargan activamente, lo que significa que tan pronto como se carga la aplicación, al igual que todos los módulos, sean o no necesarios de inmediato. Si bien esto está bien para la mayoría de las aplicaciones, puede convertirse en un cuello de botella para las aplicaciones/workers que se ejecutan en el entorno sin servidor, donde la latencia de inicio es crucial.&lt;/p&gt;

&lt;p&gt;La carga "lazy loading" puede ayudar a disminuir el tiempo de arranque al cargar solo los módulos requeridos por la invocación de la función sin servidor específica. Además, también puede cargar otros módulos de forma asíncrona una vez que la función sin servidor esté "caliente" para acelerar aún más el tiempo de arranque para llamadas posteriores (conocido como: deferred modules registration).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Template literal types and ConfigService&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Con los tipos de literales de plantilla (template literals) ahora disponibles en TypeScript v4.2, podemos implementar una nueva función que nos permite inferir el tipo de propiedad de un objeto de configuración personalizado anidado, incluso cuando se usa la notación de puntos, como se muestra aquí:&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="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kr"&gt;private&lt;/span&gt; &lt;span class="nx"&gt;configService&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ConfigService&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;string&lt;/span&gt; &lt;span class="p"&gt;}&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="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dbHost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;configService&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;database.host&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="na"&gt;infer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="c1"&gt;// typeof dbHost === "string"&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;Upgraded dependencies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nest v8 finalmente ofrece soporte para Socket.io 4.0 y NATS v2 que no eran compatibles con v7. Además, Nest v8 utilizará la última versión de RxJS (v7).&lt;/p&gt;

&lt;p&gt;Más y mejor en el post oficial de Nest:  &lt;a href="https://trilon.io/blog/announcing-nestjs-8-whats-new" rel="noopener noreferrer"&gt;https://trilon.io/blog/announcing-nestjs-8-whats-new&lt;/a&gt; &lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>node</category>
      <category>nestjs</category>
    </item>
  </channel>
</rss>
