<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tutorials Archives - A N M Bazlur Rahman</title>
	<atom:link href="https://bazlur.ca/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>https://bazlur.ca/category/tutorial/</link>
	<description>Java Champion 🏆 Empowering Developers through Speaking 🗣️ Writing ✍️ Mentoring 🤝 &#38; Community Building 🌍 Published Author 📖 Contributing Editor at InfoQ and Foojay.IO</description>
	<lastBuildDate>Sun, 22 Jun 2025 04:29:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://i0.wp.com/bazlur.ca/wp-content/uploads/2022/07/cropped-klara-and-sun.jpeg?fit=32%2C32&#038;ssl=1</url>
	<title>Tutorials Archives - A N M Bazlur Rahman</title>
	<link>https://bazlur.ca/category/tutorial/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">207159250</site>	<item>
		<title>Building Robust AI Applications with LangChain4j Guardrails and Spring Boot</title>
		<link>https://bazlur.ca/2025/06/21/building-robust-ai-applications-with-langchain4j-guardrails-and-spring-boot/</link>
					<comments>https://bazlur.ca/2025/06/21/building-robust-ai-applications-with-langchain4j-guardrails-and-spring-boot/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Sat, 21 Jun 2025 16:29:56 +0000</pubDate>
				<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ai application security]]></category>
		<category><![CDATA[ai best practices]]></category>
		<category><![CDATA[ai guardrails]]></category>
		<category><![CDATA[ai safety]]></category>
		<category><![CDATA[hallucination detection]]></category>
		<category><![CDATA[input validation]]></category>
		<category><![CDATA[java ai]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[LangChain4j]]></category>
		<category><![CDATA[llm security]]></category>
		<category><![CDATA[openai api]]></category>
		<category><![CDATA[output validation]]></category>
		<category><![CDATA[prompt injection]]></category>
		<category><![CDATA[spring boot]]></category>
		<category><![CDATA[spring boot ai]]></category>
		<guid isPermaLink="false">https://bazlur.ca/?p=114012</guid>

					<description><![CDATA[<p>As AI applications become increasingly complex, ensuring that language models behave predictably and safely is paramount. LangChain4j&#8217;s guardrails feature provides a powerful framework for validating both the inputs and outputs of your AI services. This article demonstrates how to implement comprehensive guardrails in a Spring Boot application, with practical examples that you can adapt to ... <a title="Building Robust AI Applications with LangChain4j Guardrails and Spring Boot" class="read-more" href="https://bazlur.ca/2025/06/21/building-robust-ai-applications-with-langchain4j-guardrails-and-spring-boot/" aria-label="Read more about Building Robust AI Applications with LangChain4j Guardrails and Spring Boot">Read more</a></p>
<p>The post <a href="https://bazlur.ca/2025/06/21/building-robust-ai-applications-with-langchain4j-guardrails-and-spring-boot/">Building Robust AI Applications with LangChain4j Guardrails and Spring Boot</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2025/06/21/building-robust-ai-applications-with-langchain4j-guardrails-and-spring-boot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">114012</post-id>	</item>
		<item>
		<title>Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond</title>
		<link>https://bazlur.ca/2023/08/17/exploring-file-storage-solutions-in-spring-boot-database-local-systems-cloud-services-and-beyond/</link>
					<comments>https://bazlur.ca/2023/08/17/exploring-file-storage-solutions-in-spring-boot-database-local-systems-cloud-services-and-beyond/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Thu, 17 Aug 2023 05:16:16 +0000</pubDate>
				<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[Azure Blob Storage]]></category>
		<category><![CDATA[BLOBs]]></category>
		<category><![CDATA[block storage]]></category>
		<category><![CDATA[cloud storage]]></category>
		<category><![CDATA[content delivery network (CDN)]]></category>
		<category><![CDATA[database storage]]></category>
		<category><![CDATA[distributed file systems]]></category>
		<category><![CDATA[file storage]]></category>
		<category><![CDATA[local file systems]]></category>
		<category><![CDATA[managed file storage services]]></category>
		<category><![CDATA[object storage]]></category>
		<category><![CDATA[spring boot]]></category>
		<guid isPermaLink="false">https://bazlur.ca/?p=101822</guid>

					<description><![CDATA[<p>When building a web application, managing file uploads properly is a common requirement. After receiving, files can be stored in several places: in a file system, in a database or, more commonly, in a cloud storage service. In this article, we will cover how to store files in a database using Spring Boot and discuss ... <a title="Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond" class="read-more" href="https://bazlur.ca/2023/08/17/exploring-file-storage-solutions-in-spring-boot-database-local-systems-cloud-services-and-beyond/" aria-label="Read more about Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond">Read more</a></p>
<p>The post <a href="https://bazlur.ca/2023/08/17/exploring-file-storage-solutions-in-spring-boot-database-local-systems-cloud-services-and-beyond/">Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2023/08/17/exploring-file-storage-solutions-in-spring-boot-database-local-systems-cloud-services-and-beyond/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">101822</post-id>	</item>
		<item>
		<title>Sealed Interfaces and Pattern Matching: A Quick Dive into Java&#8217;s Modern Capabilities</title>
		<link>https://bazlur.ca/2023/08/09/sealed-interfaces-and-pattern-matching-a-quick-dive-into-javas-modern-capabilities/</link>
					<comments>https://bazlur.ca/2023/08/09/sealed-interfaces-and-pattern-matching-a-quick-dive-into-javas-modern-capabilities/#comments</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Wed, 09 Aug 2023 07:01:51 +0000</pubDate>
				<category><![CDATA[Java Core]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Code Practices]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Java Language Features]]></category>
		<category><![CDATA[Object-Oriented Programming]]></category>
		<category><![CDATA[Pattern Matching]]></category>
		<category><![CDATA[Programming Tutorial]]></category>
		<category><![CDATA[Sealed Classes]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[Subclasses]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=101649</guid>

					<description><![CDATA[<p>Sealed classes and interfaces, together with pattern matching, provide powerful new tools for more explicit, controlled, and flexible design in Java</p>
<p>The post <a href="https://bazlur.ca/2023/08/09/sealed-interfaces-and-pattern-matching-a-quick-dive-into-javas-modern-capabilities/">Sealed Interfaces and Pattern Matching: A Quick Dive into Java&#8217;s Modern Capabilities</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2023/08/09/sealed-interfaces-and-pattern-matching-a-quick-dive-into-javas-modern-capabilities/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">101859</post-id>	</item>
		<item>
		<title>Dive into the OpenJDK: Top 10 Reads on Foojay.io</title>
		<link>https://bazlur.ca/2023/07/19/dive-into-the-openjdk-top-10-reads-on-foojay-io/</link>
					<comments>https://bazlur.ca/2023/07/19/dive-into-the-openjdk-top-10-reads-on-foojay-io/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Wed, 19 Jul 2023 07:45:04 +0000</pubDate>
				<category><![CDATA[Java Core]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[BLD]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[event-driven]]></category>
		<category><![CDATA[Foojay.io]]></category>
		<category><![CDATA[IntelliJ IDEA]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Java Articles]]></category>
		<category><![CDATA[Java Build System]]></category>
		<category><![CDATA[Java Community]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Java Insights]]></category>
		<category><![CDATA[Java Language Features]]></category>
		<category><![CDATA[Java Tutorials]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Learning Java]]></category>
		<category><![CDATA[mobile apps]]></category>
		<category><![CDATA[OpenJDK]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Project Panama]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[spring boot]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=101054</guid>

					<description><![CDATA[<p>Foojay.io is a community platform dedicated to the needs of developers who use the OpenJDK and related technologies.</p>
<p>The post <a href="https://bazlur.ca/2023/07/19/dive-into-the-openjdk-top-10-reads-on-foojay-io/">Dive into the OpenJDK: Top 10 Reads on Foojay.io</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2023/07/19/dive-into-the-openjdk-top-10-reads-on-foojay-io/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">101054</post-id>	</item>
		<item>
		<title>Exploring Java 21&#8217;s Intriguing Additions: Unveiling New Features (Part 1)</title>
		<link>https://bazlur.ca/2023/06/20/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/</link>
					<comments>https://bazlur.ca/2023/06/20/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Tue, 20 Jun 2023 13:40:21 +0000</pubDate>
				<category><![CDATA[Java Core]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Character]]></category>
		<category><![CDATA[Collections]]></category>
		<category><![CDATA[HashMap]]></category>
		<category><![CDATA[hashset]]></category>
		<category><![CDATA[indexOf]]></category>
		<category><![CDATA[Java 21]]></category>
		<category><![CDATA[newSequencedSetFromMap]]></category>
		<category><![CDATA[repeat]]></category>
		<category><![CDATA[SequencedCollection]]></category>
		<category><![CDATA[SequencedMap]]></category>
		<category><![CDATA[shuffle]]></category>
		<category><![CDATA[splitWithDelimiters]]></category>
		<category><![CDATA[StringBuffer]]></category>
		<category><![CDATA[StringBuilder]]></category>
		<category><![CDATA[unmodifiableSequencedCollection]]></category>
		<category><![CDATA[unmodifiableSequencedMap]]></category>
		<category><![CDATA[unmodifiableSequencedSet]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=98790</guid>

					<description><![CDATA[<p>Learn about a few notable features that stand out in the upcoming Java 21, in an overview of their functionalities and potential use cases.</p>
<p>The post <a href="https://bazlur.ca/2023/06/20/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/">Exploring Java 21&#8217;s Intriguing Additions: Unveiling New Features (Part 1)</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2023/06/20/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">98808</post-id>	</item>
		<item>
		<title>5 ways to improve your communication skills</title>
		<link>https://bazlur.ca/2022/08/06/5-ways-to-improve-your-communication-skills/</link>
					<comments>https://bazlur.ca/2022/08/06/5-ways-to-improve-your-communication-skills/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Sat, 06 Aug 2022 17:34:18 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[skills]]></category>
		<guid isPermaLink="false">https://bazlur.ca/?p=56477</guid>

					<description><![CDATA[<p>Communication is the key to everything. Humans invented languages to communicate with other human beings, and the endeavour went beyond just talking; it&#8217;s in every aspect of our life. Failure to communicate can even lead to catastrophe. Certainly, it&#8217;s true for software developers as well. Software development is solving problems and creating values for human ... <a title="5 ways to improve your communication skills" class="read-more" href="https://bazlur.ca/2022/08/06/5-ways-to-improve-your-communication-skills/" aria-label="Read more about 5 ways to improve your communication skills">Read more</a></p>
<p>The post <a href="https://bazlur.ca/2022/08/06/5-ways-to-improve-your-communication-skills/">5 ways to improve your communication skills</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2022/08/06/5-ways-to-improve-your-communication-skills/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">56477</post-id>	</item>
		<item>
		<title>Java Thread Programming (Part 9)</title>
		<link>https://bazlur.ca/2021/12/14/java-thread-programming-part-9/</link>
					<comments>https://bazlur.ca/2021/12/14/java-thread-programming-part-9/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Tue, 14 Dec 2021 11:14:33 +0000</pubDate>
				<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[concurrent collections]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[learning thread programming]]></category>
		<category><![CDATA[Thread safety]]></category>
		<category><![CDATA[threads]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=50958</guid>

					<description><![CDATA[<p>Let's continue the discussion and share a few more thread-safe classes that we can use in our day-to-day coding!</p>
<p>The post <a href="https://bazlur.ca/2021/12/14/java-thread-programming-part-9/">Java Thread Programming (Part 9)</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2021/12/14/java-thread-programming-part-9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">50958</post-id>	</item>
		<item>
		<title>Java Thread Programming (Part 8)</title>
		<link>https://bazlur.ca/2021/12/07/java-thread-programming-part-8/</link>
					<comments>https://bazlur.ca/2021/12/07/java-thread-programming-part-8/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Tue, 07 Dec 2021 18:15:09 +0000</pubDate>
				<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[atomicInteger]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[learning thread programming]]></category>
		<category><![CDATA[Thread safety]]></category>
		<category><![CDATA[threads]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=50890</guid>

					<description><![CDATA[<p>The term thread safety is a frequently and commonly pronounced word among Java developers. However, it is still one of the misunderstood terms as well. In this article, I will try to explain in a very simplified way what it is and how we can achieve it while we write our day-to-day code. The idea ... <a title="Java Thread Programming (Part 8)" class="read-more" href="https://bazlur.ca/2021/12/07/java-thread-programming-part-8/" aria-label="Read more about Java Thread Programming (Part 8)">Read more</a></p>
<p>The post <a href="https://bazlur.ca/2021/12/07/java-thread-programming-part-8/">Java Thread Programming (Part 8)</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2021/12/07/java-thread-programming-part-8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">50890</post-id>	</item>
		<item>
		<title>Java Thread Programming (Part 7)</title>
		<link>https://bazlur.ca/2021/11/23/java-thread-programming-part-7/</link>
					<comments>https://bazlur.ca/2021/11/23/java-thread-programming-part-7/#comments</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Tue, 23 Nov 2021 10:10:53 +0000</pubDate>
				<category><![CDATA[Getting Started]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[learning thread programming]]></category>
		<category><![CDATA[ThreadPool]]></category>
		<category><![CDATA[threads]]></category>
		<guid isPermaLink="false">https://foojay.io/?p=50806</guid>

					<description><![CDATA[<p>Can we create as many Java threads as we want? I will try to come up with an answer via an exercise, so bear with me!</p>
<p>The post <a href="https://bazlur.ca/2021/11/23/java-thread-programming-part-7/">Java Thread Programming (Part 7)</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2021/11/23/java-thread-programming-part-7/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">50806</post-id>	</item>
		<item>
		<title>Coding and collaboration skills a junior developer should have to get hired – Part 2</title>
		<link>https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/</link>
					<comments>https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/#respond</comments>
		
		<dc:creator><![CDATA[A N M Bazlur Rahman]]></dc:creator>
		<pubDate>Tue, 21 Nov 2017 18:38:40 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[code reading skills]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[skills]]></category>
		<guid isPermaLink="false">https://bazlur.ca/?p=56481</guid>

					<description><![CDATA[<p>Today, I met Bruno Souza online and ask him the following question- Recently I&#8217;m getting a lot of questions from junior software developers and a common one is that what are the skills( e.g. coding skills, collaboration skills) needed to get hired. As you may have experienced in hiring or working with junior software developers, I believe, ... <a title="Coding and collaboration skills a junior developer should have to get hired – Part 2" class="read-more" href="https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/" aria-label="Read more about Coding and collaboration skills a junior developer should have to get hired – Part 2">Read more</a></p>
<p>The post <a href="https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/">Coding and collaboration skills a junior developer should have to get hired – Part 2</a> appeared first on <a href="https://bazlur.ca">A N M Bazlur Rahman</a>.</p>
]]></description>
		
					<wfw:commentRss>https://bazlur.ca/2017/11/21/interview-with-bruno-souza-coding-and-collaboration-skills-a-junior-developer-should-have-to-get-hired/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">56481</post-id>	</item>
	</channel>
</rss>
