<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Agit Rubar Demir</title>
    <description>The latest articles on Forem by Agit Rubar Demir (@agitrubard).</description>
    <link>https://forem.com/agitrubard</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1817436%2Fb583c30c-65da-4703-94fc-bb1bdc1d6db7.jpg</url>
      <title>Forem: Agit Rubar Demir</title>
      <link>https://forem.com/agitrubard</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/agitrubard"/>
    <language>en</language>
    <item>
      <title>Contacts Application with Microservices and Asynchronous Communication with RabbitMQ</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Sat, 22 Mar 2025 05:54:41 +0000</pubDate>
      <link>https://forem.com/agitrubard/contacts-application-with-microservices-and-asynchronous-communication-with-rabbitmq-2bc1</link>
      <guid>https://forem.com/agitrubard/contacts-application-with-microservices-and-asynchronous-communication-with-rabbitmq-2bc1</guid>
      <description>&lt;p&gt;Excited to announce my latest demo project published on GitHub! 🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Contacts Application demonstrates a modern approach to building microservices, structured with clear responsibilities and scalable architecture. This example project aims to provide developers with practical insights into implementing asynchronous communication, clean architecture principles, and real-world backend functionalities.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s a quick overview of what you’ll find:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Microservices Setup:&lt;/strong&gt;&lt;br&gt;
🔹Contact Service: Manages phone directory operations like creating contacts, adding communication details (email, phone, location), and maintaining organized data.&lt;br&gt;
🔹Report Service: Generates asynchronous, location-based statistical reports without bottlenecks, allowing status tracking and efficient data handling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Architecture &amp;amp; Tech Stack:&lt;/strong&gt;&lt;br&gt;
🔹Utilizes the HexaLayered Architecture, ensuring clean separation of concerns and high maintainability.&lt;br&gt;
🔹Built with modern technologies like Java 17, Spring Boot 3.4.x, RabbitMQ, PostgreSQL, Liquibase, Docker, Mapstruct, Lombok, and TDD.&lt;br&gt;
🔹API interaction and documentation through Postman, facilitating easier API management and testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Why Check It Out?&lt;/strong&gt;&lt;br&gt;
🔹Understand best practices in microservice communication.&lt;br&gt;
🔹Explore asynchronous message handling with RabbitMQ.&lt;br&gt;
🔹Gain inspiration on structuring clean, testable, and maintainable backend applications.&lt;br&gt;
🔹See practical usage of tools like Docker, Postman, and Liquibase in a realistic scenario.&lt;/p&gt;

&lt;p&gt;🌟 Explore the repository, get inspired, or use it as a reference to sharpen your backend development skills!&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/agitrubard/contacts-app" rel="noopener noreferrer"&gt;https://github.com/agitrubard/contacts-app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>java</category>
      <category>microservices</category>
    </item>
    <item>
      <title>Mastering Input Validation in Java with Guard Clauses 🚀</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Wed, 25 Dec 2024 15:19:58 +0000</pubDate>
      <link>https://forem.com/agitrubard/mastering-input-validation-in-java-with-guard-clauses-1in7</link>
      <guid>https://forem.com/agitrubard/mastering-input-validation-in-java-with-guard-clauses-1in7</guid>
      <description>&lt;p&gt;I’m excited to announce a new module in my Java Spring Best Practices repository! 🎉 &lt;/p&gt;

&lt;p&gt;This time, we’re diving into the Guard Clause Pattern and comparing it with the traditional Nested If-Else Statements. If you’ve ever struggled with deeply nested logic or unmaintainable validation checks, this is for you. 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  Why Use Guard Clauses? 🤔
&lt;/h1&gt;

&lt;p&gt;🎯 &lt;strong&gt;Readability:&lt;/strong&gt; Say goodbye to deeply nested conditions. Guard clauses simplify your logic, making your code clean and easy to follow.&lt;br&gt;
🎯 &lt;strong&gt;Maintainability:&lt;/strong&gt; Adding or updating validation rules becomes a breeze with isolated checks.&lt;br&gt;
🎯 &lt;strong&gt;Simplicity:&lt;/strong&gt; Each invalid condition is handled immediately, avoiding unnecessary complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of This Module
&lt;/h2&gt;

&lt;p&gt;✅ &lt;strong&gt;Real-Life Example:&lt;/strong&gt; Learn how to validate inputs like username, age, and roles with concise and effective guard clauses.&lt;br&gt;
✅ &lt;strong&gt;Comparison Table:&lt;/strong&gt; See a clear side-by-side comparison of guard clauses vs. nested if-else.&lt;br&gt;
✅ &lt;strong&gt;Code Samples:&lt;/strong&gt; Practical examples that you can use right away in your projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-Life Benefits
&lt;/h2&gt;

&lt;p&gt;💡 Avoid bugs caused by complex nested conditions.&lt;br&gt;
💡 Improve the readability and professionalism of your code.&lt;br&gt;
💡 Make input validation easier to write, debug, and maintain.&lt;/p&gt;

&lt;p&gt;🔗 Check out the repo for code samples and insights: &lt;a href="https://github.com/agitrubard/java-spring-best-practices/tree/main/guardclause" rel="noopener noreferrer"&gt;https://github.com/agitrubard/java-spring-best-practices/tree/main/guardclause&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💬 Let me know in the comments: Do you prefer Guard Clauses or Nested If-Else for input validation? Why? Let’s discuss! 👇&lt;/p&gt;

&lt;p&gt;⭐ Don’t forget to star the repo if you find it helpful!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>java</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>🏛️ HexaLayered Architecture Explained!</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Mon, 28 Oct 2024 07:08:07 +0000</pubDate>
      <link>https://forem.com/agitrubard/hexalayered-architecture-explained-23gd</link>
      <guid>https://forem.com/agitrubard/hexalayered-architecture-explained-23gd</guid>
      <description>&lt;p&gt;I am happy to announce HexaLayered Architecture, which I have been working on, experiencing and using in projects for a long time.&lt;/p&gt;

&lt;p&gt;🔍 What is HexaLayered Architecture?&lt;/p&gt;

&lt;p&gt;HexaLayered Architecture is an innovative approach to Spring Boot applications. An architectural approach that combines the best of Hexagonal (Ports and Adapters) and Layered architectures, focusing on modularity and simplicity.&lt;/p&gt;

&lt;p&gt;🧩 Modular structure for independent components&lt;br&gt;
🎯 Clear separation of concerns with distinct layers&lt;br&gt;
🔌 Flexible integration with external systems via ports and adapters&lt;br&gt;
💼 Domain-driven design at its core&lt;br&gt;
🔄 Enhanced flexibility for system interactions&lt;br&gt;
🧪 Improved testability with independent layers&lt;br&gt;
🛠️ Easier long-term maintenance&lt;br&gt;
📈 Better scalability for growing applications&lt;/p&gt;

&lt;p&gt;🚀 Real-world open source implementations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Afet Yönetim Sistemi APIs&lt;/li&gt;
&lt;li&gt;Gelecek Bilimde Community Science Platform APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dive deeper into HexaLayered Architecture and see how it can revolutionize your Spring Boot development process.&lt;/p&gt;

&lt;p&gt;🔗 Medium: &lt;a href="https://medium.com/@agitrubard/hexalayered-architecture-d49ffdc97bb8" rel="noopener noreferrer"&gt;https://medium.com/@agitrubard/hexalayered-architecture-d49ffdc97bb8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 SubStack: &lt;a href="https://agitrubard.substack.com/p/hexalayered-architecture" rel="noopener noreferrer"&gt;https://agitrubard.substack.com/p/hexalayered-architecture&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌟 Do you want to use HexaLayered Architecture in your projects? Share your experience in the comments!&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Java &amp; Spring Best Practices | Factory Pattern</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Wed, 23 Oct 2024 07:52:01 +0000</pubDate>
      <link>https://forem.com/agitrubard/java-spring-best-practices-factory-pattern-4hm</link>
      <guid>https://forem.com/agitrubard/java-spring-best-practices-factory-pattern-4hm</guid>
      <description>&lt;p&gt;I’m thrilled to announce the third module of my java-spring-best-practices repository: the Factory Pattern! 🌟&lt;/p&gt;

&lt;h1&gt;
  
  
  🔍 New Module: Factory Pattern
&lt;/h1&gt;

&lt;p&gt;In this module, we delve into the Factory Pattern, a creational design pattern that offers a flexible way to create objects. By using factories for object creation, you can maintain clean and scalable code, especially for handling complex object creation logic.&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Decoupled Object Creation:&lt;/strong&gt; Keep your codebase clean and decoupled by utilizing factories for object creation.&lt;br&gt;
🎯 &lt;strong&gt;Scalability:&lt;/strong&gt; Easily extend your application by introducing new object types without altering existing code. &lt;br&gt;
🎯 &lt;strong&gt;Improved Maintainability:&lt;/strong&gt; Centralize your object creation logic for easier management and updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ What You’ll Learn:
&lt;/h2&gt;

&lt;p&gt;🚀 The core principles and benefits of the Factory Pattern.&lt;br&gt;
🚀 Implementing the Factory Pattern in a Spring Boot application.&lt;br&gt;
🚀 Practical code examples showcasing the Factory Pattern in real-world scenarios.&lt;/p&gt;

&lt;p&gt;📘 &lt;strong&gt;Example Use Case:&lt;/strong&gt; Creating various types of authentications (Passkey, Email, SMS) dynamically based on user input without changing the client code.&lt;/p&gt;

&lt;p&gt;I’ve incorporated End-to-End tests in this module to allow you to validate how the Factory Pattern functions across all application layers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📌 Explore the Factory Pattern module in the repo: &lt;a href="https://github.com/agitrubard/java-spring-best-practices" rel="noopener noreferrer"&gt;https://github.com/agitrubard/java-spring-best-practices&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;⭐ Star the repo if you find it valuable and consider contributing to enhance Java Spring development’s robustness and efficiency!&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>First Money Transfer with SMS: How Did It Happen Without the Internet? 👀</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Fri, 11 Oct 2024 13:55:44 +0000</pubDate>
      <link>https://forem.com/agitrubard/first-money-transfer-with-sms-how-did-it-happen-without-the-internet-2pfp</link>
      <guid>https://forem.com/agitrubard/first-money-transfer-with-sms-how-did-it-happen-without-the-internet-2pfp</guid>
      <description>&lt;p&gt;M-PESA, the pioneer of mobile payment systems, was a revolutionary innovation that made it possible to transfer money via SMS without an internet connection. Launched in Kenya in 2007, this system enabled millions of people to make financial transactions, especially in areas where banking infrastructure was insufficient.&lt;/p&gt;

&lt;p&gt;How It Worked❓&lt;/p&gt;

&lt;p&gt;📲 SMS Via Transaction: M-PESA users could send money, pay bills and perform other transactions by accessing the mobile wallet on their phones with SMS commands. For this, simple SMS messages were used, not the internet.&lt;/p&gt;

&lt;p&gt;📲 Mobile Operator Verification: Money transfer was carried out through a platform managed by the user's mobile operator. Users forward the person they wanted to send money to using a specific short code and the amount via SMS, after which the transaction was carried out.&lt;/p&gt;

&lt;p&gt;📲 SIM Card Software: Transactions were made through software, which was usually placed on mobile SIM cards. This software would manage the money in the user's digital wallet and initiate transactions.&lt;/p&gt;

&lt;p&gt;How Security Was Ensured❓&lt;/p&gt;

&lt;p&gt;There were various security measures to make money transfer by SMS secure:&lt;/p&gt;

&lt;p&gt;🔢Protection with PIN Code: Users would access their accounts using a PIN code when starting their transactions with SMS.&lt;/p&gt;

&lt;p&gt;🔢Two-Factor Authentication: During the transaction, the identity of the user is verified and the security of the transaction is ensured.&lt;/p&gt;

&lt;p&gt;🌍 Who Used It?&lt;/p&gt;

&lt;p&gt;M-PESA has provided access to banking services to millions of people, especially in Kenya, Tanzania and other developing countries of Africa. People without a bank account were able to securely send and receive money through their mobile devices. This technology was quickly adopted as it offered a low-cost and practical financial solution.&lt;/p&gt;

&lt;p&gt;Money transfer without the internet with SMS has become a powerful example of increasing financial access in developing regions with the creative and innovative use of technology. 🌍🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>fintech</category>
      <category>programming</category>
      <category>web3</category>
    </item>
    <item>
      <title>Mastering the Craft of Naming for Better Software 🚀</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Tue, 08 Oct 2024 11:59:45 +0000</pubDate>
      <link>https://forem.com/agitrubard/mastering-the-craft-of-naming-for-better-software-46hj</link>
      <guid>https://forem.com/agitrubard/mastering-the-craft-of-naming-for-better-software-46hj</guid>
      <description>&lt;p&gt;When it comes to software development, effective naming is often overlooked but is critical for code readability and maintainability. Proper naming conventions not only make your code understandable but also enhance collaboration within development teams. &lt;/p&gt;

&lt;p&gt;🎯 Here’s why naming is so important:&lt;/p&gt;

&lt;p&gt;1️⃣ Improved Readability: Clear and descriptive names make it easier to understand the purpose of classes, methods, and variables. For example, instead of using a vague name like x, using totalAmount provides immediate context about what the variable represents.&lt;/p&gt;

&lt;p&gt;2️⃣ Ease of Maintenance: As projects grow, the need to update or extend code becomes inevitable. If proper naming conventions are not followed, understanding the code later can become a time-consuming task. Naming errors can lead to significant delays when debugging or implementing new features.&lt;/p&gt;

&lt;p&gt;3️⃣ Enhanced Team Communication: Working in a team requires a shared understanding of the codebase. Well-named classes, methods, and variables facilitate better communication among team members, leading to fewer misunderstandings and errors.&lt;/p&gt;

&lt;p&gt;4️⃣ Avoiding Complexity: Incorrect naming can lead to confusing and ambiguous code. A method named calculate() does not clarify what it calculates. Instead, naming it calculateTotalPrice() provides clarity and conveys its purpose more effectively.&lt;/p&gt;

&lt;p&gt;💬 In summary, naming is an integral part of software development that should not be neglected. Failure to adhere to good naming practices can lead to complexity and confusion, impacting both current and future developers working with the code.&lt;/p&gt;

</description>
      <category>java</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Mastering Date and Time in Java Spring Boot 🚀</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Wed, 02 Oct 2024 10:38:41 +0000</pubDate>
      <link>https://forem.com/agitrubard/mastering-date-and-time-in-java-spring-boot-2b5d</link>
      <guid>https://forem.com/agitrubard/mastering-date-and-time-in-java-spring-boot-2b5d</guid>
      <description>&lt;p&gt;I’ve just added a new module to my java-spring-best-practices repository, focusing on how to effectively handle date and time in Java using LocalDate, LocalTime, and LocalDateTime. 🎯&lt;/p&gt;

&lt;p&gt;In this module, I demonstrate the use of these powerful Java objects without any custom formatting or parsing, showing the best practices for managing date and time in your Spring Boot applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Use LocalDate, LocalTime, and LocalDateTime❓&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Immutability:&lt;/strong&gt; Once created, their values can’t be modified, ensuring thread safety.&lt;br&gt;
🎯 &lt;strong&gt;Type Safety:&lt;/strong&gt; Forget about handling date or time as String. These classes guarantee that your data is always in the correct format.&lt;br&gt;
🎯 &lt;strong&gt;No Time Zones:&lt;/strong&gt; LocalDate and LocalTime remove the complexity of time zones, making them perfect for use cases like event scheduling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎯 Effortless Date and Time Handling: Create events with LocalDate for date, LocalTime for time, and LocalDateTime for combined date and time values.&lt;/p&gt;

&lt;p&gt;🎯 No Manual Parsing or Formatting: Java’s java.time package takes care of everything out of the box.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📘 Real Life Use Case:&lt;/strong&gt;&lt;br&gt;
I use these classes to create and manage events, ensuring clean and reliable handling of date and time fields. No external libraries, just pure Java!&lt;/p&gt;

&lt;p&gt;📌 Check out the repo for code samples and more insights: &lt;a href="https://github.com/agitrubard/java-spring-best-practices" rel="noopener noreferrer"&gt;https://github.com/agitrubard/java-spring-best-practices&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔧 Whether you’re building an event scheduler or need precise date and time control in your app, this module has you covered.&lt;/p&gt;

&lt;p&gt;⭐ Give it a try, and don’t forget to star the repo if you find it useful!&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Is Code Development Possible Without Refactoring❓</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Wed, 25 Sep 2024 08:03:29 +0000</pubDate>
      <link>https://forem.com/agitrubard/is-code-development-possible-without-refactoring-3cde</link>
      <guid>https://forem.com/agitrubard/is-code-development-possible-without-refactoring-3cde</guid>
      <description>&lt;p&gt;Refactoring is an indispensable part of the software development process. However, in some projects, this process can be seen as a waste of time. &lt;/p&gt;

&lt;p&gt;Do you think it is possible to write quality code without refactoring?&lt;/p&gt;

&lt;p&gt;What do you pay attention to when refactoring? 🤔&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>refactorit</category>
      <category>coding</category>
    </item>
    <item>
      <title>Have you encountered a variable named "clazz" in Java before? 👀</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Mon, 16 Sep 2024 13:25:47 +0000</pubDate>
      <link>https://forem.com/agitrubard/have-you-encountered-a-variable-named-clazz-in-java-before-3oe0</link>
      <guid>https://forem.com/agitrubard/have-you-encountered-a-variable-named-clazz-in-java-before-3oe0</guid>
      <description>&lt;p&gt;It is quite common to use the “clazz” variable name among Java developers, and you can probably encounter this variable in many projects.&lt;/p&gt;

&lt;p&gt;So why “clazz”? 🤔&lt;/p&gt;

&lt;p&gt;StackOverflow has a lot of talk and debate about this. Because the word "class" is a reserved word in Java, developers are looking for an alternative that means the same thing but does not overlap in the code. Thus, the use of “clazz” has become widespread. This method both makes the code cleaner and more readable and prevents future complexities.&lt;/p&gt;

&lt;p&gt;If you also encounter "clazz" in Java projects, remember that this is not a typo, but actually a conscious choice.&lt;/p&gt;

&lt;p&gt;🔗 Many developers have shared their experiences on the details of this topic in StackOverflow: &lt;a href="https://stackoverflow.com/questions/2529974/why-do-java-programmers-like-to-name-a-variable-clazz" rel="noopener noreferrer"&gt;https://stackoverflow.com/questions/2529974/why-do-java-programmers-like-to-name-a-variable-clazz&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Java &amp; Spring Best Practices | Strategy Pattern</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Sat, 07 Sep 2024 20:47:51 +0000</pubDate>
      <link>https://forem.com/agitrubard/java-spring-best-practices-strategy-pattern-12pe</link>
      <guid>https://forem.com/agitrubard/java-spring-best-practices-strategy-pattern-12pe</guid>
      <description>&lt;p&gt;I'm excited to announce the second module in the &lt;code&gt;java-spring-best-practices&lt;/code&gt; repository! We're diving into the &lt;strong&gt;Strategy Pattern with Real Life Examples&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔍 &lt;strong&gt;New Module: Strategy Pattern&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this module, I explain how to implement the Strategy Pattern in a Spring application, demonstrating how to design your code for flexibility and extensibility.&lt;/p&gt;

&lt;p&gt;👨‍💻 &lt;strong&gt;Highlights:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strategy Pattern Implementation: Learn how to apply the Strategy Pattern to decouple algorithm selection from the main logic.&lt;/li&gt;
&lt;li&gt;Flexible and Extensible Code: See how this design pattern can make your codebase more adaptable to change.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 Explore the new module and star the repo if you find it useful! Contributions and feedback are welcome. Let’s continue to improve our Java, Spring development practices together. ⭐&lt;/p&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/agitrubard/java-spring-best-practices" rel="noopener noreferrer"&gt;https://github.com/agitrubard/java-spring-best-practices&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✨ Support by starring the repo and contributing to the project! ✨&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>🚀 I Improve Your IDEs: The Most Useful Plugins</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Fri, 06 Sep 2024 06:28:21 +0000</pubDate>
      <link>https://forem.com/agitrubard/i-improve-your-ides-the-most-useful-plugins-d25</link>
      <guid>https://forem.com/agitrubard/i-improve-your-ides-the-most-useful-plugins-d25</guid>
      <description>&lt;p&gt;JetBrains IDEs are already quite powerful, but with the right add-ons you can take that power to the next level. So, what are the best plugins that will make your coding experience more efficient, fast and enjoyable❓&lt;/p&gt;

&lt;p&gt;Here are my suggestions 👀&lt;/p&gt;

&lt;p&gt;🎯 SonarLint: Detects errors and vulnerabilities in your code in real time and offers fix suggestions. Code is an effective way to improve your quality.&lt;/p&gt;

&lt;p&gt;🎯 Rainbow Brackets: Makes the code more readable, separates different types of brackets in color, and allows you to quickly understand the structure of your code&lt;/p&gt;

&lt;p&gt;🎯Randomness: A handy tool for creating random data and test data, making your test processes more diverse and comprehensive.&lt;/p&gt;

&lt;p&gt;🎯 Key Promoter X: Makes it easy to learn keyboard shortcuts in IDE. In this way, your coding process accelerates and your efficiency increases.&lt;/p&gt;

&lt;p&gt;🎯 String Manipulation: Helps you quickly perform various operations related to strings; an ideal tool for converting and editing texts.&lt;/p&gt;

&lt;p&gt;🎯 Maven Helper: It is a useful helper to manage dependencies in Maven projects and to facilitate project configurations.&lt;/p&gt;

&lt;p&gt;These plugins not only make your work easier, but also speed up your software development process and improve your code quality 🎯&lt;/p&gt;

&lt;p&gt;Which plugins do you use? Are there any plugins that you think are missing from the list? Share in the comments! 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  jetbrains #ide #developertools #productivity #softwaredevelopment
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>java</category>
      <category>productivity</category>
      <category>jetbrains</category>
    </item>
    <item>
      <title>🌟 Spring AI: Integrating Artificial Intelligence into the Spring Ecosystem</title>
      <dc:creator>Agit Rubar Demir</dc:creator>
      <pubDate>Fri, 30 Aug 2024 11:45:27 +0000</pubDate>
      <link>https://forem.com/agitrubard/spring-ai-integrating-artificial-intelligence-into-the-spring-ecosystem-aec</link>
      <guid>https://forem.com/agitrubard/spring-ai-integrating-artificial-intelligence-into-the-spring-ecosystem-aec</guid>
      <description>&lt;p&gt;🎯 Excited to announce my latest article where I dive into the emerging world of Spring AI! As AI technologies continue to shape the future of software development, Spring AI simplifies the process of building AI-powered applications with the familiar Spring framework.&lt;/p&gt;

&lt;p&gt;🔍 What’s covered in the article?&lt;br&gt;
 • Overview of Spring AI and its key features.&lt;br&gt;
 • Core components of Spring AI architecture.&lt;br&gt;
 • Various use cases, from NLP to recommendation systems.&lt;br&gt;
 • The future roadmap of Spring AI and its growing potential.&lt;/p&gt;

&lt;p&gt;In my next article, I’ll be showcasing a real life application using Spring AI, providing a hands-on guide to integrating AI into your Spring projects. Stay tuned! 📅&lt;/p&gt;

&lt;p&gt;📖 Read the full article here: &lt;a href="https://medium.com/@agitrubard/spring-ai-integrating-artificial-intelligence-into-the-spring-ecosystem-5b10a2657ab8" rel="noopener noreferrer"&gt;https://medium.com/@agitrubard/spring-ai-integrating-artificial-intelligence-into-the-spring-ecosystem-5b10a2657ab8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s explore the power of AI together! 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>java</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
