<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Moncef AOUDIA</title><link>https://www.maoudia.com/</link><description>Recent content on Moncef AOUDIA</description><image><title>Moncef AOUDIA</title><link>https://www.maoudia.com/</link><url>https://www.maoudia.com/images/logo.png</url><width>512</width><height>512</height></image><image><title>Moncef AOUDIA</title><link>https://www.maoudia.com/</link><url>https://www.maoudia.com/images/banners/banner-1200x600.png</url><width>1200</width><height>600</height></image><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright © 2021 Moncef AOUDIA</copyright><lastBuildDate>Mon, 20 May 2024 00:00:00 +0200</lastBuildDate><atom:link href="https://www.maoudia.com/index.xml" rel="self" type="application/rss+xml"/><webfeeds:accentColor>000A12</webfeeds:accentColor><webfeeds:cover image="https://www.maoudia.com/images/banners/banner-1200x600.png"/><webfeeds:icon>https://www.maoudia.com/images/favicons/favicon.ico</webfeeds:icon><webfeeds:logo>https://www.maoudia.com/images/logo.png</webfeeds:logo><webfeeds:related layout="card" target="browser"/><item><title>Reactor Disposable Management: Composite and Swap</title><link>https://www.maoudia.com/blog/reactor-disposable-management/</link><pubDate>Mon, 20 May 2024 00:00:00 +0200</pubDate><guid isPermaLink="true">https://www.maoudia.com/blog/reactor-disposable-management/</guid><description> Reactor Disposable provides a mechanism for managing resources, subscriptions, or actions in a reactive application. This guide explores three main types: Disposable, Disposable.Composite, and Disposable.Swap, with practical examples using Spring Boot.</description><media:thumbnail url="https://www.maoudia.com/images/blog/reactor-disposable-management/featured-image-en.svg"/><media:content url="https://www.maoudia.com/images/blog/reactor-disposable-management/featured-image-en.svg"/><categories><category>Tutorial</category><category>Reactive Programming</category></categories></item><item><title>Reactor Expand vs ExpandDeep: Directory Traversal Strategies</title><link>https://www.maoudia.com/blog/reactor-expand-vs-expanddeep/</link><pubDate>Wed, 10 Apr 2024 00:00:00 +0200</pubDate><guid isPermaLink="true">https://www.maoudia.com/blog/reactor-expand-vs-expanddeep/</guid><description> When exploring directory structures in a reactive programming environment, the strategies of breadth-first and depth-first traversal play a crucial role. This guide explores how to use Reactor’s expand and expandDeep operators to traverse and emit paths in a reactive stream.</description><media:thumbnail url="https://www.maoudia.com/images/blog/reactor-expand-vs-expanddeep/featured-image-en.svg"/><media:content url="https://www.maoudia.com/images/blog/reactor-expand-vs-expanddeep/featured-image-en.svg"/><categories><category>Tutorial</category><category>Reactive Programming</category></categories></item><item><title>Spring Boot Logback Async Logging</title><link>https://www.maoudia.com/blog/spring-boot-logback-async-logging/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0200</pubDate><guid isPermaLink="true">https://www.maoudia.com/blog/spring-boot-logback-async-logging/</guid><description> This guide demonstrates configuring asynchronous logging with Logback in a Spring Boot application. This approach provides improved performance, reduced latency, scalability, and fault tolerance.
By leveraging existing Spring logging configuration properties, we can customize the logging behavior according to your application’s requirements seamlessly based on the environment variables declared in Spring Boot’s default Logback configuration.</description><media:thumbnail url="https://www.maoudia.com/images/blog/spring-boot-logback-async-logging/featured-image-en.svg"/><media:content url="https://www.maoudia.com/images/blog/spring-boot-logback-async-logging/featured-image-en.svg"/><categories><category>Tutorial</category></categories></item><item><title>Spring Boot Error Server Configuration</title><link>https://www.maoudia.com/blog/spring-boot-error-server-configuration/</link><pubDate>Tue, 27 Feb 2024 00:00:00 +0200</pubDate><guid isPermaLink="true">https://www.maoudia.com/blog/spring-boot-error-server-configuration/</guid><description> Spring Boot provides flexible error handling configuration options that allow you to control what information is exposed in error responses. This is crucial for maintaining security in production while providing detailed debugging information in development environments.
This tutorial showcases varying error response behaviors across different deployment profiles using a REST controller that intentionally throws errors for demonstration purposes.</description><media:thumbnail url="https://www.maoudia.com/images/blog/spring-boot-error-server-configuration/featured-image-en.svg"/><media:content url="https://www.maoudia.com/images/blog/spring-boot-error-server-configuration/featured-image-en.svg"/><categories><category>Tutorial</category></categories></item><item><title>Homelab</title><link>https://www.maoudia.com/homelab/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">https://www.maoudia.com/homelab/</guid><description> My personal homelab infrastructure project, running since January 2023. A space for experimentation, learning, and developing IT skills without professional constraints.</description><media:thumbnail url="https://www.maoudia.com/images/page/homelab/featured-image-en.svg"/><media:content url="https://www.maoudia.com/images/page/homelab/featured-image-en.svg"/></item><item><title>Bulk Update With Spring Data MongoDB Reactive</title><link>https://www.maoudia.com/blog/bulk-update-with-spring-data-mongodb-reactive/</link><pubDate>Mon, 20 Jun 2022 00:00:00 +0200</pubDate><guid isPermaLink="true">https://www.maoudia.com/blog/bulk-update-with-spring-data-mongodb-reactive/</guid><description> In order to update documents in a MongoDB collection, we often use update requests, if the volume of data is too large, it could lead to performance issues and overconsumption of hardware resources.
We will implement a solution to enrich and update efficiently a large amount of data using Spring Data MongoDB Reactive.</description><media:thumbnail url="https://www.maoudia.com/blog/bulk-update-with-spring-data-mongodb-reactive/featured-image-en.png"/><media:content url="https://www.maoudia.com/blog/bulk-update-with-spring-data-mongodb-reactive/featured-image-en.png"/><categories><category>Tutorial</category><category>Reactive Programming</category></categories></item><item><title>Uses</title><link>https://www.maoudia.com/uses/</link><pubDate>Wed, 19 May 2021 08:30:00 +0000</pubDate><guid isPermaLink="true">https://www.maoudia.com/uses/</guid><description> Here are the software and hardware I use or have used.</description><media:thumbnail url="https://www.maoudia.com/images/banners/banner-1200x600.png"/><media:content url="https://www.maoudia.com/images/banners/banner-1200x600.png"/></item><item><title>About</title><link>https://www.maoudia.com/about/</link><pubDate>Wed, 19 May 2021 07:30:00 +0000</pubDate><guid isPermaLink="true">https://www.maoudia.com/about/</guid><description> I’m Moncef, a software engineer who enjoys working across the entire spectrum of system building, from architecture and backend logic to frontend interfaces, infrastructure. I like understanding how everything fits together so I can design solutions that are reliable, maintainable, and aligned with real business needs.
I take projects from idea to production with a strong focus on clarity, testing, and automation, because these foundations help teams ship faster and with confidence.
Outside of work, I experiment in my homelab, contribute to open source, stay curious through constant reading, and share what I learn whenever it might help someone.</description><media:thumbnail url="https://www.maoudia.com/images/banners/banner-1200x600.png"/><media:content url="https://www.maoudia.com/images/banners/banner-1200x600.png"/></item></channel></rss>