

<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://loiane.com/</id>
  <title>Loiane Groner</title>
  <subtitle>Java, Spring Boot, Spring AI, AI, Angular, Typescript, JavaScript</subtitle>
  <updated>2026-05-23T11:44:38-04:00</updated>
  <author>
    <name>Loiane Groner</name>
    <uri>https://loiane.com/</uri>
  </author>
  <link rel="self" type="application/atom+xml" href="https://loiane.com/feed.xml"/>
  <link rel="alternate" type="text/html" hreflang="en"
    href="https://loiane.com/"/>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <rights> © 2026 Loiane Groner </rights>
  <icon>/assets/img/favicons/favicon.ico</icon>
  <logo>/assets/img/favicons/favicon-96x96.png</logo>


  
  <entry>
    <title>Specs-Driven Development in Practice: End-to-End Delivery with Spring Boot and Angular</title>
    <link href="https://loiane.com/2026/05/specs-driven-development-end-to-end-with-spring-boot-angular/" rel="alternate" type="text/html" title="Specs-Driven Development in Practice: End-to-End Delivery with Spring Boot and Angular" />
    <published>2026-05-23T08:00:00-04:00</published>
  
    <updated>2026-05-23T08:00:00-04:00</updated>
  
    <id>https://loiane.com/2026/05/specs-driven-development-end-to-end-with-spring-boot-angular/</id>
    <content type="text/html" src="https://loiane.com/2026/05/specs-driven-development-end-to-end-with-spring-boot-angular/" />
    <author>
      <name>Loiane Groner</name>
    </author>

  
    
    <category term="AI" />
    
    <category term="Angular" />
    
    <category term="Spring Framework" />
    
  

  <summary>Prompt-first AI work is great for exploration. It is not enough for delivery.  When the work starts to matter, the questions change. We need to know what the feature is supposed to do, what is out of scope, how the backend and frontend fit together, how we validate the flow, and how we keep the AI inside the boundaries we actually want. That is where specs-driven development helps.  One of the ...</summary>

  </entry>

  
  <entry>
    <title>Modern Angular 15: Add to Cart with output()</title>
    <link href="https://loiane.com/2026/04/modern-angular-add-to-cart-output/" rel="alternate" type="text/html" title="Modern Angular 15: Add to Cart with output()" />
    <published>2026-04-21T08:00:00-04:00</published>
  
    <updated>2026-04-21T08:00:00-04:00</updated>
  
    <id>https://loiane.com/2026/04/modern-angular-add-to-cart-output/</id>
    <content type="text/html" src="https://loiane.com/2026/04/modern-angular-add-to-cart-output/" />
    <author>
      <name>Loiane Groner</name>
    </author>

  
    
    <category term="Angular Course" />
    
  

  <summary>This is lesson 15 of the Modern Angular Course. In the previous lesson, we used computed() to filter products reactively. Now we add child-to-parent communication so clicking “Add to Cart” in a product card notifies the parent grid component.  In this post, we cover:     The parent-to-child and child-to-parent communication model   Declaring a typed output() in ProductCard   Emitting events fro...</summary>

  </entry>

  
  <entry>
    <title>Spring Boot 3 EOL to Spring Boot 4: A Production Upgrade Playbook (Including Jackson 2 to 3)</title>
    <link href="https://loiane.com/2026/04/spring-boot-3-eol-to-4-upgrade-playbook-jackson-3/" rel="alternate" type="text/html" title="Spring Boot 3 EOL to Spring Boot 4: A Production Upgrade Playbook (Including Jackson 2 to 3)" />
    <published>2026-04-19T07:00:00-04:00</published>
  
    <updated>2026-04-19T07:00:00-04:00</updated>
  
    <id>https://loiane.com/2026/04/spring-boot-3-eol-to-4-upgrade-playbook-jackson-3/</id>
    <content type="text/html" src="https://loiane.com/2026/04/spring-boot-3-eol-to-4-upgrade-playbook-jackson-3/" />
    <author>
      <name>Loiane Groner</name>
    </author>

  
    
    <category term="Spring Framework" />
    
  

  <summary>Spring Boot 4 is not a routine version bump.  This migration touches platform baselines (Java/Jakarta/Servlet), dependency structure, test infrastructure, and JSON behavior — all at once.  If your services are still on Spring Boot 3.x, I wrote this as a practical, production-oriented playbook to move to Spring Boot 4 safely, with explicit attention to end-of-life (EOL) risk, CVE exposure, and J...</summary>

  </entry>

  
  <entry>
    <title>Modern Angular 14: Filtering Products with Computed Signals</title>
    <link href="https://loiane.com/2026/04/modern-angular-filtering-products-computed-signals/" rel="alternate" type="text/html" title="Modern Angular 14: Filtering Products with Computed Signals" />
    <published>2026-04-16T08:00:00-04:00</published>
  
    <updated>2026-04-16T08:00:00-04:00</updated>
  
    <id>https://loiane.com/2026/04/modern-angular-filtering-products-computed-signals/</id>
    <content type="text/html" src="https://loiane.com/2026/04/modern-angular-filtering-products-computed-signals/" />
    <author>
      <name>Loiane Groner</name>
    </author>

  
    
    <category term="Angular Course" />
    
  

  <summary>This is lesson 14 of the Modern Angular Course. In the previous lesson, we introduced a writable signal for the search input. Now we build on that foundation by deriving filtered state with computed(), so the grid reacts automatically as the user types.  In this post, we cover:     Reusing the existing searchTerm writable signal   Creating filteredProducts with computed()   Rendering filtered r...</summary>

  </entry>

  
  <entry>
    <title>Harness Engineering: The Missing Layer in Specs-Driven AI Development</title>
    <link href="https://loiane.com/2026/04/harness-engineering-missing-layer-specs-driven-ai-development/" rel="alternate" type="text/html" title="Harness Engineering: The Missing Layer in Specs-Driven AI Development" />
    <published>2026-04-14T08:00:00-04:00</published>
  
    <updated>2026-04-14T08:00:00-04:00</updated>
  
    <id>https://loiane.com/2026/04/harness-engineering-missing-layer-specs-driven-ai-development/</id>
    <content type="text/html" src="https://loiane.com/2026/04/harness-engineering-missing-layer-specs-driven-ai-development/" />
    <author>
      <name>Loiane Groner</name>
    </author>

  
    
    <category term="AI" />
    
  

  <summary>Many teams are still using AI like an intern.  We give instructions, review every output, request fixes, and repeat. It works for quick experiments. It does not work as a long-term delivery model.  As soon as AI becomes part of real software delivery, the intern model starts to crack:     It does not scale   It is hard to standardize   It creates fragile outcomes that depend too much on constan...</summary>

  </entry>

</feed>


