<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Development on Neat Guy Coding</title><link>https://neatguycoding.com/categories/development/</link><description>Recent content in Development on Neat Guy Coding</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 NeatGuyCoding</copyright><lastBuildDate>Wed, 06 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://neatguycoding.com/categories/development/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Coding Agents on Spring Projects: Live Pipelines, Verifiable Loops, and Context Governance</title><link>https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</guid><description>For engineers already shipping services on the JVM and web stacks, this article starts from a typical Spring Boot + Kotlin real-time interactive application, traces the data path from database signals through reactive SSE to the browser, and breaks human–agent collaboration into three verifiable layers: compile-and-test closure, versioned project memory (CLAUDE.md, rules, Skills), and Hooks plus MCP on the tool-call path. The second half covers gaps in tests and state machines caused by spec-less iteration, how structured clarification (Interview) writes navigation and security decisions into the specification, and how cross-cutting steps can be silently dropped in long conversations—with ideas for segmented execution.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/cover.png"/></item><item><title>Gradually Adopting Spring Boot for Legacy Servlet Apps: Build, Auto-Configuration, and Dual WAR Modes</title><link>https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</guid><description>Before a large-scale Spring Boot migration, establish repeatable integration verification and a controlled dependency baseline; then advance in layers—Starter, auto-configuration troubleshooting, Spring context inside an external container, transitional Holder, beanification, Servlet annotation migration, and executable WAR. The article is organized by dependency and runtime layers, contrasts demo-style bootstrap paths with the reference manual’s recommended path, and where official docs do not spell out behavior (for example process lifecycle when only a non-web context starts), leaves engineering-level uncertainty explicit.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/cover.png"/></item><item><title>Spring Boot 4 Stack Overview: Starter Granularity, MVC Version Negotiation, and Security Evolution</title><link>https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</guid><description>With Spring Boot 4 and Spring Framework 7, dependencies split into finer starters by capability; outbound HTTP clients can be isolated from server-side MVC. The same codebase can enable built-in API version negotiation in Spring MVC alongside Spring Data JDBC and &lt;code>RestClient&lt;/code> / declarative &lt;code>@HttpExchange&lt;/code> clients. Spring Security 7 emphasizes composable &lt;code>Customizer&amp;lt;HttpSecurity&amp;gt;&lt;/code>, one-time token login, WebAuthn, and annotation-driven multi-factor authentication.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/cover.png"/></item><item><title>Supercharging Spring Boot Tests with Kotlin Expressiveness: Assertions, Fixtures, and Reactive Boundaries</title><link>https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</guid><description>Spring Boot and Kotlin interoperate maturely on the JVM; teams often introduce Kotlin first in &lt;code>src/test&lt;/code>, applying extension functions, default parameters, type-safe DSLs, and assertion styles such as Kotest in integration tests and &lt;code>MockMvc&lt;/code> scenarios to cut boilerplate and tighten failure messages. Meanwhile, Java builders, overloaded static helpers, and Project Reactor’s &lt;code>StepVerifier&lt;/code> each carry their own cognitive cost; the article organizes common motivations by dependency layer, alignable public APIs, and semantic boundaries to watch (e.g. JVM type erasure, whether reactive verification truly completes subscription).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/cover.png"/></item><item><title>WebAssembly as an embedding layer for the JVM ecosystem: models, runtimes, and engineering leverage</title><link>https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</guid><description>WebAssembly is not only compact bytecode in the spec—it is an execution model that pins guest modules to host boundaries. Running Wasm on the JVM forces trade-offs between attaching native runtimes versus pure bytecode hosting for distribution, observability, and fault isolation; Chicory, QuickJS4J, OPA Wasm, protobuf4j, Lumis4j, and related stacks illustrate one idea from many angles—wrapping existing C/Rust/JS assets in versioned artifacts exposed through Java APIs to Spring Gateway, build plugins, or CLIs.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/cover.png"/></item><item><title>Maximizing Request Throughput to Third-Party APIs: A Practical Testing Approach</title><link>https://neatguycoding.com/posts/http-client/</link><pubDate>Thu, 18 Apr 2024 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/http-client/</guid><description>Learn how to develop and test high-performance API clients using WebClient, TestContainers, and toxicproxy. This comprehensive guide covers asynchronous request handling, isolated testing environments, and realistic failure simulation for robust microservice development.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/http-client/featured.jpg"/></item></channel></rss>