<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programación on Fernando Aparicio site</title>
    <link>https://www.fernandoaparicio.net/categories/programacion/</link>
    <description>Recent content in Programación on Fernando Aparicio site</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>es-es</language>
    <lastBuildDate>Thu, 06 Jan 2022 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.fernandoaparicio.net/categories/programacion/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Día 7 - Springboot con Kotlin - Manejo de excepciones</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-manejo-de-excepciones/</link>
      <pubDate>Thu, 06 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-manejo-de-excepciones/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 7. Manejo de excepciones en el controlador Ahora necesitamos poder manejar excepciones de forma controlada. Cualquier cosa que vaya mal en el flujo se puede capturar en en controlador y mostrar un mensaje coherente.</description>
    </item>
    
    <item>
      <title>Día 6 - Springboot con Kotlin - Migraciones. Flyway o Liquibase.</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-migraciones-flyway-o-liquibase/</link>
      <pubDate>Wed, 05 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-migraciones-flyway-o-liquibase/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 6. Migraciones. ¿Usar Flyway o Liquibase? Haciendo pruebas de cómo usar Kotlin con SpringBoot en su conjunto, buscaba una herramienta que me pudiera gestionar las migraciones.</description>
    </item>
    
    <item>
      <title>Día 5 - Springboot con Kotlin - Transaccionalidad</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-transaccionalidad/</link>
      <pubDate>Wed, 29 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-transaccionalidad/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 6. Haciendo el caso de uso transaccional Bueno&amp;hellip; Ya tenemos un caso de uso pequeño para trastear con la transaccionalidad.</description>
    </item>
    
    <item>
      <title>Día 4 - Springboot con Kotlin - Entidades y persistencia</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-entidades-y-persistencia/</link>
      <pubDate>Fri, 24 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-entidades-y-persistencia/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 4. Entidades y persistencia En el post anterior cubrimos la capa de UI de forma básica, con un test y una respuesta básica.</description>
    </item>
    
    <item>
      <title>Día 3 - Springboot con Kotlin - Endpoint básico</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-endpoint-basico/</link>
      <pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-endpoint-basico/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 3. Endpoint básico Bueno. Lo primero que tenemos que hacer es buscar la manera de hace un test de integración que nos ayude a nuestro cometido.</description>
    </item>
    
    <item>
      <title>Día 2 - Springboot con Kotlin - Proyecto inicial</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-proyecto-inicial/</link>
      <pubDate>Wed, 22 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-proyecto-inicial/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Primeros pasos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 2. Proyecto inicial Para crear un proyecto de springboot, lo más fácil es ir a Start Spring.
Le pediremos que sea un proyecto en Gradle, Kotlin como lenguaje, y como dependencia Spring Web, Spring Data JPA y el driver de PostgreSQL.</description>
    </item>
    
    <item>
      <title>Día 1 - Springboot con Kotlin - Primeros pasos</title>
      <link>https://www.fernandoaparicio.net/springboot-con-kotlin-primeros-pasos/</link>
      <pubDate>Mon, 20 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/springboot-con-kotlin-primeros-pasos/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial   3 Endpoint básico   4 Entidades y persistencia   5 Transaccionalidad   6 Migraciones   7 Manejo de excepciones    Día 1. Definiendo objetivos En este caso, vamos a revisitar las reglas que se usaron a la hora de aprender kotlin para empezar a aprender este framework y usarlo junto con kotlin.</description>
    </item>
    
    <item>
      <title>Día 6 - De PHP a Kotlin - Entities</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-entities/</link>
      <pubDate>Wed, 15 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-entities/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 6. Tratando con Entidades Las entidades ya son harina de otro costal. Son más complejas y requieren de más cariño.</description>
    </item>
    
    <item>
      <title>Día 5 - De PHP a Kotlin - Ampliando el uso del Enum</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-ampliando-el-uso-del-enum/</link>
      <pubDate>Tue, 14 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-ampliando-el-uso-del-enum/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 5. Agregando funcionalidad al Enum En el post anterior, os comentaba lo fácil que es agregar información al Enum.</description>
    </item>
    
    <item>
      <title>Día 4 - De PHP a Kotlin - Validando con Enum y Parameterized test</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-validando-con-enum-y-parameterized-test/</link>
      <pubDate>Mon, 13 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-validando-con-enum-y-parameterized-test/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 4. Validando un value object con Enum y Parameterized test Lo interesante de los Enum en Kotlin es que es muy fácil agregarle contexto.</description>
    </item>
    
    <item>
      <title>Día 3 - De PHP a Kotlin - Exceptions</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-exceptions/</link>
      <pubDate>Sun, 12 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-exceptions/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 3. Tratando con Excepciones Anteriormente, nuestro Value object validaba que el valor fuera el correcto.</description>
    </item>
    
    <item>
      <title>Día 2 - De PHP a Kotlin - Value Objects</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-value-objects/</link>
      <pubDate>Sat, 11 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-value-objects/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 2. Proyecto inicial y Value objects Primer obstáculo, buscar y comprender el equivalente de Composer en Kotlin.</description>
    </item>
    
    <item>
      <title>Día 1 - De PHP a Kotlin - Objetivos</title>
      <link>https://www.fernandoaparicio.net/de-php-a-kotlin-objetivos/</link>
      <pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/de-php-a-kotlin-objetivos/</guid>
      <description>Índice de temario    Día Tema a tratar     1 Definiendo objetivos   2 Proyecto inicial y value objects   3 Tratando con excepciones   4 Validando con Enum y parametrized test   5 Ampliando uso del Enum   6 Entidades    Día 1. Estableciendo objetivos y marco de trabajo Para cambiar de lenguaje, hay que descubrir su estructura y reglas.</description>
    </item>
    
    <item>
      <title>Saliendo de la zona de confort con Kotlin.</title>
      <link>https://www.fernandoaparicio.net/saliendo-de-la-zona-de-confort-con-kotlin/</link>
      <pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/saliendo-de-la-zona-de-confort-con-kotlin/</guid>
      <description>Pues aquí estamos. Realmente no quiero salir de PHP. Me da cosas muy buenas y tiene librerías realmente impresionantes. Pero si quiero crecer, debo abrazar otro lenguaje y ver si puedo plasmar lo que me hace feliz de PHP.
En esencia, el objetivo es ver si tengo las herramientas necesarias de arquitectura para conseguir el mismo resultado en otro lenguaje, con otras reglas y otra filosofía.
Tener Symfony con Messenger y Doctrine me facilita enormemente la vida, pero&amp;hellip; ¿y si no tuviera esas piezas de software?</description>
    </item>
    
    <item>
      <title>Cómo configurar PhpStorm para usar PHPUnit con xdebug en php-fpm y Docker</title>
      <link>https://www.fernandoaparicio.net/como-configurar-phpstorm-para-usar-phpunit-con-xdebug-en-php-fpm-y-docker/</link>
      <pubDate>Thu, 14 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/como-configurar-phpstorm-para-usar-phpunit-con-xdebug-en-php-fpm-y-docker/</guid>
      <description>Motivación Siguiendo el post anterior sobre cómo configurar PhpStorm y php con xdebug usando Docker el cual tenía en cuenta que usábamos php como módulo de apache, hoy vamos a explicar los ajustes necesarios para poder debugar usando php-fpm. Hay que hacer un par de cambios para que funcione.
Explicación paso a paso 1. Configurar xdebug El problema en este caso es que el puerto 9000 que usábamos antes para comunicarnos con xdebug ahora está ocupado por el servicio de php-fpm.</description>
    </item>
    
    <item>
      <title>Tipos de tests en desarrollo ágil ... ¿Cual usar?</title>
      <link>https://www.fernandoaparicio.net/tipos-de-test-desarrollo-agil-cual-usar/</link>
      <pubDate>Sat, 25 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/tipos-de-test-desarrollo-agil-cual-usar/</guid>
      <description>Existen infinidad de nombres, y cada uno se refiere a un tipo concreto de test, donde cubre un tipo concreto de necesidades, y si a eso le sumas el rol encargado de mantener el test, la cosa se complica. La verdad, si tuviéramos que cubrir todos los aspectos usando los tests, la cantidad de tarea sería ingente&amp;hellip; Entonces&amp;hellip; ¿qué hacer?
Lo primero es saber identificar los tipos de tests más genéricos y reconocer su utilidad y características.</description>
    </item>
    
    <item>
      <title>Cómo configurar PhpStorm para usar PHPUnit con xdebug y Docker</title>
      <link>https://www.fernandoaparicio.net/como-configurar-phpstorm-para-usar-phpunit-con-xdebug-y-docker/</link>
      <pubDate>Sun, 20 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/como-configurar-phpstorm-para-usar-phpunit-con-xdebug-y-docker/</guid>
      <description>Motivación Aunque no queramos, a veces la única forma de saber lo que está pasando es arrancar el debugger y seguir el flujo de proceso para descubrir sus secretos. Montamos los tests, y por alguna razón algo se mos resiste&amp;hellip;
En este caso vamos a activar el debug y configurar el PhpStorm para que pueda lanzar los tests en una instancia docker y debugar lo que stá sucediendo.
Para la configuración que voy a usar cuento con que las siguientes premisas se cumplen:</description>
    </item>
    
    <item>
      <title>Mock, Spy, Stub, Fake, Dummy... ¿Cual aplicar?</title>
      <link>https://www.fernandoaparicio.net/mock-spy-stub-fake-dummy-cual-aplicar/</link>
      <pubDate>Wed, 14 Aug 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/mock-spy-stub-fake-dummy-cual-aplicar/</guid>
      <description>En ocasiones puede parecer confuso saber exactamente qué doble de test aplicar en cada momento. Cuando empezamos descubrimos la API de mock de PHPUnit y lo usamos para todo… pero los dobles de tests esconden una vertiente algo más organizativa, la cual, si no intentamos aplicar el doble de test adecuado, nos perdemos una parte importante de aprendizaje sobre nuestro código y la dirección que está tomando.
TODO: HABLAR SOBRE PROCESO CREATIVO.</description>
    </item>
    
    <item>
      <title>Mostrar la rama de git en la consola de Linux</title>
      <link>https://www.fernandoaparicio.net/mostrar-la-rama-de-git-en-la-consola-de-linux/</link>
      <pubDate>Sat, 24 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/mostrar-la-rama-de-git-en-la-consola-de-linux/</guid>
      <description>Es muy útil tener presente en qué rama nos encontramos. A veces un despiste nos puede jugar una mala pasada.
Este script es algo que está muy publicado en la red… Pero creo que es mejor tenerlo más cerca de mí para cuando lo necesite…
Simplemente hay que añadir estas líneas en nuestro fichero de .bashrc.
# Show git branch name force_color_prompt=yes color_prompt=yes parse_git_branch() { git branch &amp;amp;gt; /dev/null | sed -e &#39;/^[^*]/d&#39; -e &#39;s/* \(.</description>
    </item>
    
    <item>
      <title>Deuda técnica y teoría de las ventanas rotas</title>
      <link>https://www.fernandoaparicio.net/deuda-tecnica-y-teoria-de-las-ventanas-rotas/</link>
      <pubDate>Mon, 04 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/deuda-tecnica-y-teoria-de-las-ventanas-rotas/</guid>
      <description>Qué es eso de deuda técnica&amp;hellip; Más o menos, antes o después nos topamos con ese término tan cool&amp;hellip; Deuda técnica. Todo el mundo conoce más o menos el concepto sobre el papel.
 Deuda técnica: Deuda de trabajo que se adquiere al producir código pobre, incumpliendo prácticas aconsejadas para el desarrollo de software.
 En principio está claro&amp;hellip; está claro que sucede, pero no está tan claro cómo se llega hasta allí&amp;hellip; hasta ese punto que se vuelve algo imposible de manejar.</description>
    </item>
    
    <item>
      <title>Uso básico de Vim</title>
      <link>https://www.fernandoaparicio.net/uso-basico-de-vim/</link>
      <pubDate>Fri, 06 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.fernandoaparicio.net/uso-basico-de-vim/</guid>
      <description>La verdad es que Vim es un editor muy potente cuando se le agregan funcionalidades.
El único inconveniente inicial y es por lo que a mucha gente se le atraganta (yo me incluía hasta hace poco) es la cantidad de combinaciones de teclas que es necesario recordar para realizar ediciones de texto.
Si es una herramienta tan versátil y potente, pero es complicado su uso intuitivo&amp;hellip; la solución al problema es&amp;hellip; práctica, práctica, práctica&amp;hellip;</description>
    </item>
    
  </channel>
</rss>