<?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>DEV Community: Mohamed El Laithy</title>
    <description>The latest articles on DEV Community by Mohamed El Laithy (@mellaithy).</description>
    <link>https://dev.to/mellaithy</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%2F1415177%2Feac18e7c-6c25-4fca-a0ef-5c5027a0da29.jpeg</url>
      <title>DEV Community: Mohamed El Laithy</title>
      <link>https://dev.to/mellaithy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mellaithy"/>
    <language>en</language>
    <item>
      <title>🚀 100+ Spring Boot Tools You Should Know in 2026 (Complete Ecosystem Guide)</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Thu, 09 Apr 2026 12:30:35 +0000</pubDate>
      <link>https://dev.to/mellaithy/100-spring-boot-tools-you-should-know-in-2026-complete-ecosystem-guide-482n</link>
      <guid>https://dev.to/mellaithy/100-spring-boot-tools-you-should-know-in-2026-complete-ecosystem-guide-482n</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjrtzxosnf4rgjt8gex0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjrtzxosnf4rgjt8gex0.png" alt=" " width="800" height="992"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most developers think they understand Spring Boot…&lt;/p&gt;

&lt;p&gt;Until they try to build something that actually runs in production.&lt;/p&gt;

&lt;p&gt;You start with a simple REST API…&lt;br&gt;
Then suddenly you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Messaging&lt;/li&gt;
&lt;li&gt;Monitoring&lt;/li&gt;
&lt;li&gt;Deployment pipelines&lt;/li&gt;
&lt;li&gt;Scaling strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And everything gets complicated fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Why This Matters
&lt;/h2&gt;

&lt;p&gt;Spring Boot alone is &lt;strong&gt;not enough&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you want to become a &lt;strong&gt;Senior Backend Engineer&lt;/strong&gt;, you need to understand the &lt;em&gt;entire ecosystem&lt;/em&gt; around it.&lt;/p&gt;

&lt;p&gt;That’s exactly why I created this 👇&lt;/p&gt;

&lt;p&gt;👉 A simplified map of &lt;strong&gt;100+ Spring Boot ecosystem tools&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This helps you see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What tools exist&lt;/li&gt;
&lt;li&gt;Where they fit&lt;/li&gt;
&lt;li&gt;What you actually need to learn&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧩 The Spring Boot Ecosystem (Simplified)
&lt;/h2&gt;

&lt;p&gt;Let’s break it down into the most important areas:&lt;/p&gt;




&lt;h3&gt;
  
  
  🌐 1. Web &amp;amp; APIs
&lt;/h3&gt;

&lt;p&gt;This is where most developers start.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Web (REST APIs)&lt;/li&gt;
&lt;li&gt;Spring WebFlux (Reactive systems)&lt;/li&gt;
&lt;li&gt;GraphQL Java&lt;/li&gt;
&lt;li&gt;OpenAPI / Swagger&lt;/li&gt;
&lt;li&gt;WebSockets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 These tools define how your services communicate.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔐 2. Security &amp;amp; Authentication
&lt;/h3&gt;

&lt;p&gt;No real system works without security.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Security&lt;/li&gt;
&lt;li&gt;OAuth2&lt;/li&gt;
&lt;li&gt;JWT&lt;/li&gt;
&lt;li&gt;Keycloak&lt;/li&gt;
&lt;li&gt;Vault&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is how you protect users and data.&lt;/p&gt;




&lt;h3&gt;
  
  
  🗄️ 3. Data Access
&lt;/h3&gt;

&lt;p&gt;Managing data safely is critical.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Data JPA&lt;/li&gt;
&lt;li&gt;Hibernate&lt;/li&gt;
&lt;li&gt;Flyway&lt;/li&gt;
&lt;li&gt;Liquibase&lt;/li&gt;
&lt;li&gt;JDBC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This ensures consistency and reliability.&lt;/p&gt;




&lt;h3&gt;
  
  
  📩 4. Messaging &amp;amp; Event-Driven Systems
&lt;/h3&gt;

&lt;p&gt;This is where systems become scalable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apache Kafka&lt;/li&gt;
&lt;li&gt;RabbitMQ&lt;/li&gt;
&lt;li&gt;Apache Pulsar&lt;/li&gt;
&lt;li&gt;ActiveMQ&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Async communication = better performance &amp;amp; scalability.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚙️ 5. DevOps &amp;amp; Infrastructure
&lt;/h3&gt;

&lt;p&gt;Your code must run somewhere.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;Kubernetes&lt;/li&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;Jenkins&lt;/li&gt;
&lt;li&gt;CircleCI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is how you deploy and scale.&lt;/p&gt;




&lt;h3&gt;
  
  
  ☁️ 6. Cloud &amp;amp; Microservices
&lt;/h3&gt;

&lt;p&gt;Modern systems are distributed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Cloud (AWS, GCP, Azure)&lt;/li&gt;
&lt;li&gt;Netflix Eureka&lt;/li&gt;
&lt;li&gt;API Gateway&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is how services discover and talk to each other.&lt;/p&gt;




&lt;h3&gt;
  
  
  📊 7. Observability (Most Ignored Skill 🚨)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prometheus&lt;/li&gt;
&lt;li&gt;Grafana&lt;/li&gt;
&lt;li&gt;ELK Stack&lt;/li&gt;
&lt;li&gt;Micrometer&lt;/li&gt;
&lt;li&gt;Spring Boot Actuator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 If you can’t monitor it… you can’t fix it.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧪 8. Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;JUnit 5&lt;/li&gt;
&lt;li&gt;Mockito&lt;/li&gt;
&lt;li&gt;Testcontainers&lt;/li&gt;
&lt;li&gt;RestAssured&lt;/li&gt;
&lt;li&gt;WireMock&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is how you build confidence in your system.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧰 9. Utilities &amp;amp; Productivity
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lombok&lt;/li&gt;
&lt;li&gt;MapStruct&lt;/li&gt;
&lt;li&gt;Jackson&lt;/li&gt;
&lt;li&gt;Guava&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 These tools save time and reduce boilerplate.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What Most Developers Get Wrong
&lt;/h2&gt;

&lt;p&gt;They focus only on:&lt;/p&gt;

&lt;p&gt;👉 Controllers&lt;br&gt;
👉 Services&lt;br&gt;
👉 Repositories&lt;/p&gt;

&lt;p&gt;But ignore:&lt;/p&gt;

&lt;p&gt;❌ Monitoring&lt;br&gt;
❌ Deployment&lt;br&gt;
❌ Scaling&lt;br&gt;
❌ Failure handling&lt;/p&gt;

&lt;p&gt;That’s why many apps fail in production.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 How to Actually Learn This
&lt;/h2&gt;

&lt;p&gt;Don’t try to learn everything at once.&lt;/p&gt;

&lt;p&gt;Instead:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Master Spring Boot basics&lt;/li&gt;
&lt;li&gt;Add Security&lt;/li&gt;
&lt;li&gt;Add Database + Migrations&lt;/li&gt;
&lt;li&gt;Add Docker&lt;/li&gt;
&lt;li&gt;Add Observability&lt;/li&gt;
&lt;li&gt;Then move to Microservices&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 Learn in layers, not chaos.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Want a Production-Ready Setup?
&lt;/h2&gt;

&lt;p&gt;If you want to skip the trial-and-error…&lt;/p&gt;

&lt;p&gt;I built a &lt;strong&gt;complete Spring Boot Microservices package&lt;/strong&gt; that includes:&lt;/p&gt;

&lt;p&gt;✅ Real-world architecture&lt;br&gt;
✅ API Gateway + Service Discovery&lt;br&gt;
✅ Security implementation&lt;br&gt;
✅ Docker setup&lt;br&gt;
✅ Monitoring (Prometheus + Grafana)&lt;br&gt;
✅ Clean and scalable structure&lt;/p&gt;

&lt;p&gt;👉 Get it here:&lt;br&gt;
&lt;a href="https://mohamedmind11.gumroad.com" rel="noopener noreferrer"&gt;https://mohamedmind11.gumroad.com&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📢 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Spring Boot is just the beginning.&lt;/p&gt;

&lt;p&gt;The real skill is understanding:&lt;/p&gt;

&lt;p&gt;👉 How systems behave in production&lt;br&gt;
👉 How to scale&lt;br&gt;
👉 How to debug failures&lt;/p&gt;

&lt;p&gt;That’s what separates:&lt;/p&gt;

&lt;p&gt;🧑‍💻 Junior Developers&lt;br&gt;
from&lt;br&gt;
🧠 Senior Engineers&lt;/p&gt;




&lt;p&gt;If this helped you, leave a ❤️ and follow me — I share content about &lt;strong&gt;System Design &amp;amp; Backend Engineering&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>spring</category>
      <category>springboot</category>
    </item>
    <item>
      <title>How does a data ecosystem support executive management and decision-makers?</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Thu, 22 Jan 2026 09:24:57 +0000</pubDate>
      <link>https://dev.to/mellaithy/how-does-a-data-ecosystem-support-executive-management-and-decision-makers-32h4</link>
      <guid>https://dev.to/mellaithy/how-does-a-data-ecosystem-support-executive-management-and-decision-makers-32h4</guid>
      <description>&lt;p&gt;The real challenge today in data ecosystems is not the theoretical definition, but translating it into a logic that decision-makers understand and creating tangible value for the organization.&lt;/p&gt;

&lt;p&gt;The model in the attached image provides a practical concept that shows a data ecosystem is not a single layer, but a multi-layered system. It starts with a comprehensive operating model that links data strategy to organizational strategy and ends with transforming data into a final product that drives operational and strategic decisions.&lt;/p&gt;

&lt;p&gt;⭐️ A data ecosystem consists of multiple layers:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0t92k7hum7442yp8ivp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0t92k7hum7442yp8ivp.jpg" alt=" " width="800" height="767"&gt;&lt;/a&gt;&lt;br&gt;
Data Operating Model&lt;br&gt;
▪️ Represents the broader strategic framework for data management across the organization and connects data strategy with organizational strategy.&lt;br&gt;
▪️ Links data with governance, responsibilities, and decision-making structure.&lt;br&gt;
▪️ Ensures coordination between departments instead of isolated work in silos.&lt;br&gt;
💡 Main goal: Make data part of daily institutional operations.&lt;/p&gt;

&lt;p&gt;Data Governance&lt;/p&gt;

&lt;p&gt;Data Governance is the decision-making and accountability layer.&lt;br&gt;
It answers essential questions such as:&lt;/p&gt;

&lt;p&gt;✅ Who owns the data?&lt;br&gt;
✅ Who decides how it is used?&lt;br&gt;
✅ Who is responsible for its quality?&lt;/p&gt;

&lt;p&gt;It focuses on:&lt;br&gt;
✅ Defining decision-making authority&lt;br&gt;
✅ Establishing data ownership at the domain level&lt;br&gt;
✅ Implementing policies, controls, and standards&lt;br&gt;
✅ Building trust in numbers and reports&lt;/p&gt;

&lt;p&gt;Data Management&lt;/p&gt;

&lt;p&gt;Data Management is the execution layer that applies governance decisions practically.&lt;br&gt;
It answers the question: “How do we manage data within systems and platforms?”&lt;/p&gt;

&lt;p&gt;It includes:&lt;br&gt;
✅ Data quality monitoring&lt;br&gt;
✅ Reference and master data management&lt;br&gt;
✅ Data lineage tracking&lt;br&gt;
✅ Metadata management&lt;br&gt;
✅ Access controls and permissions&lt;/p&gt;

&lt;p&gt;Data Products&lt;/p&gt;

&lt;p&gt;Data Products are the final outputs seen by users and decision-makers.&lt;br&gt;
They include reports, dashboards, and analytical datasets.&lt;/p&gt;

&lt;p&gt;Data becomes valuable when it is:&lt;br&gt;
✅ Reliable&lt;br&gt;
✅ Reusable&lt;br&gt;
✅ Linked to clear decision-making and operational scenarios&lt;/p&gt;

&lt;p&gt;⭐️ Why is this important for decision-makers?&lt;br&gt;
Because it shifts the conversation from “How do we implement data governance?” to “How does data enable decisions and reduce risks?”&lt;/p&gt;

&lt;p&gt;This directly impacts:&lt;br&gt;
✅ Higher trust in reports&lt;br&gt;
✅ Stronger regulatory compliance&lt;br&gt;
✅ Better readiness for AI applications&lt;br&gt;
✅ Unified performance indicators&lt;br&gt;
✅ Shared decisions across departments&lt;/p&gt;

&lt;p&gt;💡 Conclusion:&lt;br&gt;
The clearer and more governed this sequence is, the better an organization can transform data from an operational burden into a strategic asset that supports business efficiency and directly reflects on performance and institutional trust.&lt;/p&gt;

&lt;p&gt;📌 Follow me for more AI content &lt;a href="https://www.linkedin.com/in/mohamed-el-laithy-0155b2173/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>🚀 Understanding Java Threading with Two Powerful Cheat Sheets to Remember All Java Thread Topics</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Mon, 05 Jan 2026 18:19:02 +0000</pubDate>
      <link>https://dev.to/mellaithy/keep-forgetting-java-thread-concepts-heres-a-clear-concurrency-cheat-sheet-55e4</link>
      <guid>https://dev.to/mellaithy/keep-forgetting-java-thread-concepts-heres-a-clear-concurrency-cheat-sheet-55e4</guid>
      <description>&lt;p&gt;🧠 Keep forgetting Java thread concepts?&lt;br&gt;
These cheat sheets help lock them into your memory.&lt;/p&gt;

&lt;p&gt;💼 Download the complete Java Cheat Sheets Pack 👇&lt;br&gt;
🔗 &lt;a href="https://mohamedmind11.gumroad.com/l/dev-cheatsheets" rel="noopener noreferrer"&gt;https://mohamedmind11.gumroad.com/l/dev-cheatsheets&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0qpehv22h0c2d2ackqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0qpehv22h0c2d2ackqr.png" alt=" " width="800" height="960"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1x6j47uyi6echbxxxgya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1x6j47uyi6echbxxxgya.png" alt=" " width="800" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>virtualthreads</category>
      <category>javathreads</category>
    </item>
    <item>
      <title>Deploy Java Microservices on AWS Elastic Beanstalk</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Wed, 03 Dec 2025 08:37:12 +0000</pubDate>
      <link>https://dev.to/mellaithy/how-to-deploy-java-microservices-on-aws-elastic-beanstalk-1nbg</link>
      <guid>https://dev.to/mellaithy/how-to-deploy-java-microservices-on-aws-elastic-beanstalk-1nbg</guid>
      <description>&lt;p&gt;AWS Elastic Beanstalk is a fully managed service that makes it easy to deploy, operate, and scale web applications in the AWS Cloud. It’s especially well-suited for Spring Boot projects because it provides a simple, cost-effective way to run and grow Java applications—without the need to manage servers, load balancers, or infrastructure.&lt;/p&gt;

&lt;p&gt;In this article, we’ll walk through how to create a simple Spring Boot web application and deploy it to AWS Elastic Beanstalk.&lt;/p&gt;

&lt;p&gt;Creating the Spring Boot Application&lt;br&gt;
&lt;strong&gt;Step 1: Generate a Basic Spring Boot Project&lt;/strong&gt;&lt;br&gt;
Start by creating a simple Spring Boot application using the spring-boot-starter-web dependency.&lt;br&gt;
The easiest way to generate the project structure is by using Spring Initializr, where you can configure your project settings, add dependencies, and download a ready-to-use application template.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr78lmfnjo75x630fl2mh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr78lmfnjo75x630fl2mh.png" alt=" " width="770" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Make a new package called com.example.demo.controller and create a HelloWorldController controller class. We've constructed a REST API that outputs a "Hello" message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@GetMapping("/")
public String helloWorld() {
return "hello ";
}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Add the configuration property shown below to the application.properties file of the spring boot application located in the src/main/resources folder. AWS Elastic Beanstalk anticipates that our app will listen on port 5000. This variable must be set in order for our spring boot application to listen on port 5000.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;server.port=5000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; The spring boot application's final project structure is shown below.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg1bd77l19urel5w95pfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg1bd77l19urel5w95pfh.png" alt=" " width="526" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Step 5: **We can run the application locally by Right-clicking on the project &amp;gt; Run as &amp;gt; Spring boot app in our IDE. The application runs locally, and we can access our REST API at &lt;a href="http://localhost:5000/" rel="noopener noreferrer"&gt;http://localhost:5000/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1806z2d17h9zztb4fnlm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1806z2d17h9zztb4fnlm.png" alt=" " width="466" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploy Spring Boot App to AWS Elastic Beanstalk&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; We must create the spring boot jar file, which includes the integrated Tomcat server.  We can start the Maven build in STS or Eclipse by Right-clicking on the project and selecting Run as &amp;gt; Maven install.  The maven build tool will generate our application as a jar file in the project's target/ subdirectory.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10ao3fivgxapc3p4qgnh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10ao3fivgxapc3p4qgnh.png" alt=" " width="352" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; To deploy our application, we have to navigate on the Elastic Beanstalk service, as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1f7fzz131hivk11h43e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1f7fzz131hivk11h43e.png" alt=" " width="762" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Click on the Create Application button to create a new application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmeki900for3mzkqhrka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flmeki900for3mzkqhrka.png" alt=" " width="593" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Fill up the application name field with a name. In this case, we will call our application my-spring-app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pzvvclvtfwlnqpvdw28.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pzvvclvtfwlnqpvdw28.png" alt=" " width="592" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Then, under the platform section, select the platform details. We chose Java as the platform since we want to launch a Java application.&lt;br&gt;
Select the &lt;strong&gt;Upload your code&lt;/strong&gt; option beneath the &lt;strong&gt;Application code area as well.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe3sgxvrok6i6j31p941i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe3sgxvrok6i6j31p941i.png" alt=" " width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Finally, choose the spring boot application jar file created by the maven build, as shown below.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9l87radscq82g5h540yn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9l87radscq82g5h540yn.png" alt=" " width="605" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7:&lt;/strong&gt; When you click the Create application button, the application begins to be deployed into the AWS elastic beanstalk.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl67qurkhsaul4nvbkhod.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl67qurkhsaul4nvbkhod.png" alt=" " width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8:&lt;/strong&gt; When the application is successfully deployed, an entry appears under Environments, as seen below.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyyk6v6wie4fdxcl0kj6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyyk6v6wie4fdxcl0kj6.png" alt=" " width="800" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**Step 9: **We can also observe that the application's health is OK and that the Recent events are displayed on the screen.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xx0axwyv7e24pn35bbd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xx0axwyv7e24pn35bbd.png" alt=" " width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10:&lt;/strong&gt; Our application is handled via AWS elastic beanstalk. The application URL produced by the AWS Beanstalk allows us to visit our application. As indicated in the above image, the URL can be discovered on the application instance screen. To access the spring boot application, open the application URL.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8hro02lpoetkmp1oqgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8hro02lpoetkmp1oqgr.png" alt=" " width="800" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj7nhmr7cg5jrk2w9xlxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj7nhmr7cg5jrk2w9xlxc.png" alt=" " width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>microservices</category>
      <category>java</category>
      <category>springboot</category>
    </item>
    <item>
      <title>🧠 Spring Boot Annotations — All in One Cheat Sheet</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Tue, 25 Nov 2025 11:24:40 +0000</pubDate>
      <link>https://dev.to/mellaithy/spring-boot-annotations-all-in-one-cheat-sheet-1koa</link>
      <guid>https://dev.to/mellaithy/spring-boot-annotations-all-in-one-cheat-sheet-1koa</guid>
      <description>&lt;p&gt;🚀 Your Quick Visual Guide to the Most Important Spring Boot Annotations&lt;/p&gt;

&lt;p&gt;Learning Spring Boot doesn’t have to be overwhelming — especially when you focus on using the annotations, not memorizing them.&lt;/p&gt;

&lt;p&gt;That’s exactly why I created this clean, visual cheat sheet to help you understand what each annotation actually does at a glance.&lt;/p&gt;

&lt;p&gt;I’ll keep publishing more sheets to make learning Java &amp;amp; Spring easier for everyone.&lt;br&gt;
Follow me if you want to stay updated! 🙌&lt;/p&gt;

&lt;p&gt;📘 Download the Complete Java Cheat Sheets Pack&lt;/p&gt;

&lt;p&gt;If you want all my sheets in one organized place, you can grab them here: &lt;a href="https://mohamedmind11.gumroad.com/l/dev-cheatsheets" rel="noopener noreferrer"&gt;download the complete Java Cheat Sheets Pack here&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj0ux745y9ufk4uwayu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj0ux745y9ufk4uwayu8.png" alt=" " width="800" height="960"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>cheatsheet</category>
    </item>
    <item>
      <title>Artificial General Intelligence (AGI): Are We Getting Closer to Human-Level Intelligence?</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Fri, 07 Nov 2025 13:45:55 +0000</pubDate>
      <link>https://dev.to/mellaithy/artificial-general-intelligence-agi-are-we-getting-closer-to-human-level-intelligence-2d88</link>
      <guid>https://dev.to/mellaithy/artificial-general-intelligence-agi-are-we-getting-closer-to-human-level-intelligence-2d88</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosp1xevr4db60jag732q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosp1xevr4db60jag732q.jpg" alt=" " width="800" height="610"&gt;&lt;/a&gt;&lt;br&gt;
The talk of the world today is General Artificial Intelligence (AGI), what is its definition, where has it reached today, and what awaits us tomorrow?&lt;/p&gt;

&lt;p&gt;In a recent scientific paper published 3 days ago, in which more than 26 researchers participated, the concept of Artificial General Intelligence (AGI) has become a measurable scientific definition, after decades of being a philosophical idea and an open debate among scientists and intellectuals.&lt;/p&gt;

&lt;p&gt;⭐️ In this paper, a clear framework for defining this type of intelligence has been presented, and what it actually means to reach the level of human intelligence.&lt;/p&gt;

&lt;p&gt;🔍 What is General AI?&lt;br&gt;
⭐️ According to the paper, general AI is defined as a system that is able to match an adult and well-educated human in ten basic cognitive abilities including:&lt;br&gt;
General Knowledge, Language, Mathematics, Inference, Working Memory, Long-Term Memory, Information Retrieval, Visual, Auditory, and Processing Speed.&lt;/p&gt;

&lt;p&gt;⭐️ This definition puts a line between general intelligence and the "narrow" AI we use today, such as ChatGPT, Claude, and Gemini.&lt;br&gt;
These models remain limited in their scope of tasks, no matter how precise, while general intelligence seeks to integrate and balance various human skills.&lt;/p&gt;

&lt;p&gt;⭐️ The most important findings of the study:&lt;br&gt;
✅ The results show that modern models are closer than ever to the concept of general intelligence, but they are still halfway there:&lt;br&gt;
▪️ The GPT-4 model achieved about 27% of the capabilities required to reach AGI.&lt;br&gt;
▪️ The GPT-5 model jumped to around 58%.&lt;/p&gt;

&lt;p&gt;✅ Despite this significant progress, the paper notes that current models are still strong in knowledge and language, but weak in:&lt;br&gt;
▪️ Building long-term memory,&lt;br&gt;
▪️ Gain cumulative experience,&lt;br&gt;
▪️ and the integration of the senses (language, sound, image).&lt;/p&gt;

&lt;p&gt;⭐️ Current Challenges:&lt;br&gt;
▪️ The obstacles to accessing general intelligence are not just about zooming in on models or augmenting data, but about the nature of intelligence itself.&lt;br&gt;
▪️ Current systems lack:&lt;br&gt;
1️⃣ A real, long-lasting memory that preserves knowledge over time.&lt;br&gt;
2️⃣ Ability to continuously learn from experience without extensive retraining.&lt;br&gt;
3️⃣ Causal thinking and sensory integration that allows her to understand the world in a human-like way and to be able to understand situations, events, and feelings.&lt;/p&gt;

&lt;p&gt;💡 The Road to the Future:&lt;br&gt;
✅ The next step is not just in computing power, but in building a balanced artificial mind, which thinks, learns, remembers, and evolves itself over time.&lt;br&gt;
✅ Today we are living through the stage of transformation from "intelligence that executes" to "intelligence that plans, understands, thinks, executes, and learns by itself."&lt;br&gt;
✅ With this rapid progress, focusing on governance, safety, and ethical responsibility becomes a necessity rather than an option, so that AI remains a means of human empowerment... No to replacement.&lt;br&gt;
✅ The future requires a focus on developing critical and creative thinking skills in humans to complement — not compete — with general AI.&lt;/p&gt;

&lt;p&gt;🔗For more information on the scientific paper link: &lt;a href="https://lnkd.in/dhaG5kHf" rel="noopener noreferrer"&gt;https://lnkd.in/dhaG5kHf&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Npm Supply Chain Attack: 18 Popular Packages Compromised (2B+ Weekly Downloads) And How to Protect Yourself and Your Project</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Tue, 09 Sep 2025 08:46:35 +0000</pubDate>
      <link>https://dev.to/mellaithy/npm-supply-chain-attack-18-popular-packages-compromised-2b-weekly-downloads-and-how-to-protect-2dj4</link>
      <guid>https://dev.to/mellaithy/npm-supply-chain-attack-18-popular-packages-compromised-2b-weekly-downloads-and-how-to-protect-2dj4</guid>
      <description>&lt;p&gt;On &lt;strong&gt;September 8th, 13:16 UTC&lt;/strong&gt;, Aikido’s intel feed detected something alarming:&lt;br&gt;
 A wave of updates was published to &lt;strong&gt;18 widely used npm packages&lt;/strong&gt; — but these weren’t just ordinary updates. They contained &lt;strong&gt;malicious code&lt;/strong&gt; designed to hijack browser-based crypto and web3 activity.&lt;/p&gt;

&lt;p&gt;These weren’t obscure packages either. Together, they account for &lt;strong&gt;over 2 billion weekly downloads&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Affected Packages
&lt;/h2&gt;

&lt;p&gt;The following packages were compromised, with their approximate weekly downloads:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;backslash&lt;/code&gt; (0.26m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;chalk-template&lt;/code&gt; (3.9m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;supports-hyperlinks&lt;/code&gt; (19.2m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;has-ansi&lt;/code&gt; (12.1m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;simple-swizzle&lt;/code&gt; (26.26m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;color-string&lt;/code&gt; (27.48m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;error-ex&lt;/code&gt; (47.17m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;color-name&lt;/code&gt; (191.71m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-arrayish&lt;/code&gt; (73.8m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;slice-ansi&lt;/code&gt; (59.8m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;color-convert&lt;/code&gt; (193.5m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;wrap-ansi&lt;/code&gt; (197.99m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ansi-regex&lt;/code&gt; (243.64m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;supports-color&lt;/code&gt; (287.1m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;strip-ansi&lt;/code&gt; (261.17m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;chalk&lt;/code&gt; (299.99m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;debug&lt;/code&gt; (357.6m)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ansi-styles&lt;/code&gt; (371.41m)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, these represent &lt;strong&gt;the backbone of many JavaScript projects&lt;/strong&gt;, from CLIs to frameworks.&lt;/p&gt;


&lt;h2&gt;
  
  
  What Happened?
&lt;/h2&gt;

&lt;p&gt;Attackers published &lt;strong&gt;new versions of trusted packages&lt;/strong&gt; that included a malicious payload which:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intercepts crypto/web3 interactions in the browser.&lt;/li&gt;
&lt;li&gt;Silently manipulates wallet approvals and transactions.&lt;/li&gt;
&lt;li&gt;Rewrites payment destinations to attacker-controlled addresses.&lt;/li&gt;
&lt;li&gt;Does all this without raising obvious red flags for the user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a &lt;strong&gt;classic supply chain attack&lt;/strong&gt;. If your project depends on one of these packages, you could have unknowingly pulled in malicious code.&lt;/p&gt;


&lt;h2&gt;
  
  
  Example of one attached packages: &lt;code&gt;is-arrayish&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Normally, &lt;code&gt;is-arrayish&lt;/code&gt; is a tiny utility package with ~70m weekly downloads.&lt;br&gt;
 But in the compromised version, malicious code was injected to execute in browsers, intercepting and tampering with wallet interactions.&lt;/p&gt;

&lt;p&gt;What should have been a harmless utility effectively became a &lt;strong&gt;crypto-drainer&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  How To Protect Yourself and Your Project
&lt;/h2&gt;

&lt;p&gt;Supply chain attacks like this are hard to spot, but there are practical steps you can take to reduce risk:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Pin Dependencies
&lt;/h3&gt;

&lt;p&gt;Don’t let your project automatically pull the “latest” version. Pin to a known safe version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# install a specific version instead of latest
npm install chalk@4.1.2
yarn add chalk@4.1.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This prevents your project from auto-updating to potentially malicious releases.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Enable Lockfiles in CI/CD
&lt;/h3&gt;

&lt;p&gt;Always commit your &lt;code&gt;package-lock.json&lt;/code&gt; or &lt;code&gt;yarn.lock&lt;/code&gt; and enforce strict installs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# verify lockfile consistency
npm ci
yarn install --frozen-lockfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This ensures &lt;strong&gt;all environments use exactly the same versions&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Audit Regularly
&lt;/h3&gt;

&lt;p&gt;Check your project for known vulnerable or malicious versions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm audit --production
yarn audit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For deeper checks, integrate tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snyk&lt;/strong&gt; (&lt;code&gt;snyk test&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aikido Safe-Chain&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OWASP Dependency-Check&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. Monitor Transitive Dependencies
&lt;/h3&gt;

&lt;p&gt;Even if you trust your direct dependencies, nested ones can carry malicious code. Use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm ls
yarn list --pattern ansi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This reveals which versions of &lt;code&gt;ansi-styles&lt;/code&gt;, &lt;code&gt;chalk&lt;/code&gt;, etc. are in your dependency tree.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Use Security Gatekeeping in CI
&lt;/h3&gt;

&lt;p&gt;Configure your CI pipeline to fail if unverified dependency upgrades are introduced.&lt;br&gt;
 This blocks “drive-by” dependency updates from sneaking into builds.&lt;/p&gt;




&lt;h3&gt;
  
  
  6. Stay Informed
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Subscribe to npm and GitHub security advisories.&lt;/li&gt;
&lt;li&gt;Follow trusted feeds (Aikido intel, snyk.io, etc.).&lt;/li&gt;
&lt;li&gt;Be cautious of sudden version bumps in usually stable libraries.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;The compromised packages aren’t just utilities — they are &lt;strong&gt;foundational dependencies&lt;/strong&gt; in the JavaScript ecosystem.&lt;br&gt;
 Even if you don’t use them directly, your project may still be exposed through &lt;strong&gt;transitive dependencies&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means the &lt;strong&gt;blast radius of this attack is enormous&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This incident is another reminder that &lt;strong&gt;supply chain security matters&lt;/strong&gt;. With attackers increasingly targeting package registries, the question isn’t &lt;em&gt;if&lt;/em&gt; but &lt;em&gt;when&lt;/em&gt; your dependencies will be attacked.&lt;/p&gt;

&lt;p&gt;👉 Stay vigilant.&lt;br&gt;
👉 Audit your dependencies.&lt;br&gt;
👉 Use tools that provide visibility into package updates.&lt;/p&gt;

&lt;p&gt;Your project’s security depends not only on your own code — but also on the thousands of packages you rely on.&lt;/p&gt;

</description>
      <category>npm</category>
      <category>npmattack</category>
    </item>
    <item>
      <title>Design Patterns Every Developer Should Know</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Mon, 18 Aug 2025 07:05:34 +0000</pubDate>
      <link>https://dev.to/mellaithy/design-patterns-every-developer-should-know-junior-senior-1gk9</link>
      <guid>https://dev.to/mellaithy/design-patterns-every-developer-should-know-junior-senior-1gk9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmtds6udv34ftyylg0d2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmtds6udv34ftyylg0d2.gif" alt=" " width="825" height="1050"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Software development is not just about writing code — it’s about writing clean, scalable, and maintainable code. One of the best tools we have for that is Design Patterns.&lt;/p&gt;

&lt;p&gt;Design patterns give us reusable solutions to common problems in software engineering. They help us organize complexity, reduce duplication, and future-proof our applications.&lt;/p&gt;

&lt;p&gt;Here’s a quick breakdown of design patterns you should know as you grow from Junior → Senior Developer:&lt;/p&gt;

&lt;p&gt;🟢 Junior Level&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus: Object creation &amp;amp; organization&lt;/li&gt;
&lt;li&gt;Builder → Build complex objects step by step&lt;/li&gt;
&lt;li&gt;Factory Method → Hide object creation details&lt;/li&gt;
&lt;li&gt;Singleton → Only one instance exists across the system&lt;/li&gt;
&lt;li&gt;Decorator → Add new features without touching old code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 These patterns help you create and extend objects cleanly.&lt;/p&gt;

&lt;p&gt;🔴 Middle Level&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus: Flexibility &amp;amp; modularity&lt;/li&gt;
&lt;li&gt;Strategy → Swap algorithms without changing the caller&lt;/li&gt;
&lt;li&gt;Adapter → Connect classes with different interfaces&lt;/li&gt;
&lt;li&gt;Abstract Factory → Create families of objects&lt;/li&gt;
&lt;li&gt;Template Method → Let subclasses change specific steps&lt;/li&gt;
&lt;li&gt;Facade → Hide system complexity under a simple API&lt;/li&gt;
&lt;li&gt;Bridge → Separate abstraction from implementation&lt;/li&gt;
&lt;li&gt;Command → Wrap actions, allow undo/redo&lt;/li&gt;
&lt;li&gt;Mediator → Reduce direct links between classes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Here, you start writing modular, reusable, and testable code.&lt;/p&gt;

&lt;p&gt;⚪ Senior Level&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus: Complex structures &amp;amp; optimization&lt;/li&gt;
&lt;li&gt;Prototype → Copy objects without rebuilding them&lt;/li&gt;
&lt;li&gt;Composite → Treat a group of objects like a single one&lt;/li&gt;
&lt;li&gt;Chain of Responsibility → Pass requests along handlers&lt;/li&gt;
&lt;li&gt;State → Encapsulate states in their own classes&lt;/li&gt;
&lt;li&gt;Flyweight → Share data to save memory&lt;/li&gt;
&lt;li&gt;Proxy → Control access and hide complexity&lt;/li&gt;
&lt;li&gt;Visitor → Add new actions without changing classes&lt;/li&gt;
&lt;li&gt;Interpreter → Run a small language or rule set&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 These patterns are about system-level thinking and performance.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>designpatterns</category>
    </item>
    <item>
      <title>For Anyone Curious About How Companies Deploy Enterprise Projects</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Mon, 07 Jul 2025 08:07:09 +0000</pubDate>
      <link>https://dev.to/mellaithy/for-anyone-curious-about-how-companies-deploy-enterprise-projects-15j0</link>
      <guid>https://dev.to/mellaithy/for-anyone-curious-about-how-companies-deploy-enterprise-projects-15j0</guid>
      <description>&lt;p&gt;Hi everyone!&lt;/p&gt;

&lt;p&gt;I wanted to share a visual guide that shows the end-to-end flow of how companies typically deliver code to production.&lt;/p&gt;

&lt;p&gt;This is especially useful if you're wondering how companies deploy large-scale or enterprise projects, regardless of tech stack.&lt;/p&gt;

&lt;p&gt;From planning and development to testing, deployment, and monitoring, this diagram highlights typical stages and common tools used in real-world pipelines.&lt;/p&gt;

&lt;p&gt;Overview&lt;br&gt;
Here's a high-level process many companies follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Planning &amp;amp; Story Creation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using tools like Jira to create and pick stories.&lt;/li&gt;
&lt;li&gt;Product Owners define requirements.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Development &amp;amp; Code Commit&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers pick stories and commit code.&lt;/li&gt;
&lt;li&gt;Code review and feedback cycles.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build &amp;amp; Store Artifacts&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tools like SonarQube, JUnit, Jacoco for static analysis and testing.&lt;/li&gt;
&lt;li&gt;Builds stored in repositories like JFrog Artifactory.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deploy to Environments&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dev Environment (Docker, Cloud).&lt;/li&gt;
&lt;li&gt;QA Environment.&lt;/li&gt;
&lt;li&gt;UAT Environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Production Deployment&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports advanced strategies like Feature Toggles, Canary Deployments, A/B Testing.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Monitoring &amp;amp; Alerting&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using tools like Prometheus, SkyWalking.&lt;/li&gt;
&lt;li&gt;SRE teams ensure reliability.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example Tools &amp;amp; Technologies&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Planning: Jira&lt;/li&gt;
&lt;li&gt;Code Quality: SonarQube, JUnit, Jacoco &lt;/li&gt;
&lt;li&gt;Build/Artifact Storage: JFrog Artifactory&lt;/li&gt;
&lt;li&gt;Containers: Docker&lt;/li&gt;
&lt;li&gt;Cloud Platforms: AWS, GCP, Azure&lt;/li&gt;
&lt;li&gt;Monitoring: Prometheus, SkyWalking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 Who Is This For?&lt;br&gt;
This kind of process is essential for:&lt;/p&gt;

&lt;p&gt;✔️ New developers learning CI/CD and release workflows&lt;br&gt;
✔️ Teams improving their delivery pipelines&lt;br&gt;
✔️ SREs &amp;amp; DevOps refining deployment strategies&lt;br&gt;
✔️ AI/ML teams productionizing models&lt;/p&gt;

&lt;p&gt;💬 Discussion&lt;br&gt;
What does your delivery pipeline look like?&lt;br&gt;
Which tools do you use at each stage?&lt;br&gt;
How does your team manage releases to production?&lt;/p&gt;

&lt;p&gt;👇 Share your thoughts in the comments. Let’s learn from each other!&lt;/p&gt;

&lt;p&gt;✨ Follow Me&lt;br&gt;
If you found this helpful, follow me here on DEV for more interesting topics about software engineering, DevOps, CI/CD, and tech workflows!&lt;/p&gt;

&lt;p&gt;📸 Image&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqebadjvfaras4jwjhmn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdqebadjvfaras4jwjhmn.gif" alt=" " width="600" height="764"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>software</category>
    </item>
    <item>
      <title>7 Spring Boot Lifecycle Stages</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Fri, 20 Jun 2025 14:22:10 +0000</pubDate>
      <link>https://dev.to/mellaithy/7-spring-boot-lifecycle-stages-34do</link>
      <guid>https://dev.to/mellaithy/7-spring-boot-lifecycle-stages-34do</guid>
      <description>&lt;p&gt;Hello devs! 👋&lt;br&gt;
If you’re working with Spring Boot, understanding its lifecycle stages will help you build more maintainable and production-ready applications. In this post, I’ll break down the 7 key stages — with a simple diagram I created — so you can hook your code at the right time!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foayk9uepvyllaotj0fqk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foayk9uepvyllaotj0fqk.gif" alt=" " width="1024" height="768"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌟 The 7 Stages of Spring Boot Lifecycle&lt;/p&gt;

&lt;p&gt;1️⃣ Application Startup&lt;br&gt;
The entry point — Spring Boot starts initializing the application, setting up essential resources.&lt;/p&gt;

&lt;p&gt;2️⃣ Environment Preparation&lt;br&gt;
Spring Boot prepares the environment, loading properties and profiles that affect the app's configuration.&lt;/p&gt;

&lt;p&gt;3️⃣ ApplicationContext Creation&lt;br&gt;
The ApplicationContext is created — the heart of Spring's DI container.&lt;/p&gt;

&lt;p&gt;4️⃣ Bean Creation and Dependency Injection&lt;br&gt;
Beans are instantiated, dependencies are injected, and Spring wires your app together.&lt;/p&gt;

&lt;p&gt;5️⃣ Bean Initialization&lt;br&gt;
Post-construct methods, @PostConstruct, and custom initialization logic are triggered.&lt;/p&gt;

&lt;p&gt;6️⃣ Application Ready and Running&lt;br&gt;
Your application is fully started — listeners like ApplicationReadyEvent are fired. Time to serve requests!&lt;/p&gt;

&lt;p&gt;7️⃣ Graceful Shutdown&lt;br&gt;
When you stop the app, Spring ensures resources are cleaned up properly (e.g., closing connections).&lt;/p&gt;

&lt;p&gt;💡 Why Care About the Lifecycle?&lt;br&gt;
✅ It helps you hook logic at the right phase (e.g., environment setup, bean post-processing).&lt;br&gt;
✅ You can write cleaner startup and shutdown code.&lt;br&gt;
✅ You gain insight into Spring Boot internals, making debugging easier.&lt;/p&gt;

&lt;p&gt;📝 Final Thoughts&lt;br&gt;
👉 Understanding these stages is essential for creating robust and maintainable Spring Boot applications.&lt;br&gt;
👉 Next time you build a Spring Boot app, think about where your code fits into this lifecycle!&lt;/p&gt;

&lt;p&gt;💬 What lifecycle stage do you hook into most often? Let me know in the comments!&lt;/p&gt;

</description>
      <category>springboot</category>
      <category>java</category>
      <category>softwareengineering</category>
      <category>spring</category>
    </item>
    <item>
      <title>Why SOLID Principles Made Me Love Clean Code</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Mon, 09 Jun 2025 09:34:05 +0000</pubDate>
      <link>https://dev.to/mellaithy/why-solid-principles-made-me-love-clean-code-385b</link>
      <guid>https://dev.to/mellaithy/why-solid-principles-made-me-love-clean-code-385b</guid>
      <description>&lt;p&gt;When I first started coding professionally, I wrote what "worked." But I didn’t write what could last.&lt;/p&gt;

&lt;p&gt;That changed when I discovered SOLID.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpahj57nhg7rrmd3pzwg4.gif" class="article-body-image-wrapper"&gt;&lt;img width="800" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpahj57nhg7rrmd3pzwg4.gif" height="971"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔍 A Quick Breakdown&lt;br&gt;
🔹 S - Single Responsibility: Every class should only do one thing. Keeps your code lean and readable.&lt;/p&gt;

&lt;p&gt;🔹 O - Open/Closed: Extend it? Yes. Modify it? No.&lt;/p&gt;

&lt;p&gt;🔹 L - Liskov Substitution: Subtypes should behave like their parents.&lt;/p&gt;

&lt;p&gt;🔹 I - Interface Segregation: Don’t make classes implement what they don’t use.&lt;/p&gt;

&lt;p&gt;🔹 D - Dependency Inversion: Depend on abstractions, not concrete things.&lt;/p&gt;

&lt;p&gt;💬 My Tip?&lt;br&gt;
If you ever feel like your code is getting “too messy,” revisit SOLID. It's not just for architects—it’s for everyone who writes code that grows.&lt;/p&gt;

</description>
      <category>cleancode</category>
      <category>programmingtips</category>
      <category>softwaredesign</category>
      <category>solidprinciples</category>
    </item>
    <item>
      <title>Maven Lifecycle Simplified – Animated Visual Guide</title>
      <dc:creator>Mohamed El Laithy</dc:creator>
      <pubDate>Mon, 02 Jun 2025 16:09:21 +0000</pubDate>
      <link>https://dev.to/mellaithy/maven-lifecycle-simplified-animated-visual-guide-575</link>
      <guid>https://dev.to/mellaithy/maven-lifecycle-simplified-animated-visual-guide-575</guid>
      <description>&lt;p&gt;Understanding the &lt;strong&gt;Maven build lifecycle&lt;/strong&gt; is crucial for every Java developer—but let’s be honest, the official documentation can feel a bit overwhelming.&lt;/p&gt;

&lt;p&gt;So, I created a clean and simple &lt;strong&gt;animated diagram&lt;/strong&gt; that breaks it all down visually! 📊✨&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw880zezxj3wdkuqequk2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw880zezxj3wdkuqequk2.gif" alt="Maven Lifecycle Visual" width="760" height="967"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What is the Maven Default Lifecycle?
&lt;/h2&gt;

&lt;p&gt;Maven has 3 main lifecycles, but the one most developers use daily is the &lt;strong&gt;default lifecycle&lt;/strong&gt;, which handles the project build and deployment process.&lt;/p&gt;

&lt;p&gt;Here are the key phases you should know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔹 &lt;strong&gt;validate&lt;/strong&gt; – Check project structure and readiness
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;compile&lt;/strong&gt; – Build the source code
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;test&lt;/strong&gt; – Run unit tests
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;package&lt;/strong&gt; – Bundle the code into a JAR/WAR
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;verify&lt;/strong&gt; – Ensure the package is valid and passes integration rules
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;install&lt;/strong&gt; – Save the artifact to your local repository
&lt;/li&gt;
&lt;li&gt;🔹 &lt;strong&gt;deploy&lt;/strong&gt; – Push the package to a remote repo for sharing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These phases are executed in order when you run commands like &lt;code&gt;mvn install&lt;/code&gt; or &lt;code&gt;mvn package&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 Why It Matters
&lt;/h2&gt;

&lt;p&gt;Whether you're working on Spring Boot microservices or large-scale enterprise applications, understanding &lt;strong&gt;what happens behind the scenes&lt;/strong&gt; helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Speed up debugging build issues
&lt;/li&gt;
&lt;li&gt;✅ Automate CI/CD pipelines more effectively
&lt;/li&gt;
&lt;li&gt;✅ Pass technical interviews with confidence&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎁 Free Resource – Animated Diagram Gallery
&lt;/h2&gt;

&lt;p&gt;If you found this helpful, I have more visuals like this!&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;Access my full gallery of animated software diagrams for FREE (limited time):&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://buymeacoffee.com/mohamed547h" rel="noopener noreferrer"&gt;https://buymeacoffee.com/mohamed547h&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I release &lt;strong&gt;a new animated visual every week&lt;/strong&gt;, covering topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Software architecture
&lt;/li&gt;
&lt;li&gt;Design patterns
&lt;/li&gt;
&lt;li&gt;DevOps workflows
&lt;/li&gt;
&lt;li&gt;Framework internals (Spring, Maven, etc.)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💬 Let’s Talk
&lt;/h2&gt;

&lt;p&gt;What’s a topic you’d love to see visualized next?&lt;br&gt;&lt;br&gt;
Drop your suggestions below or connect with me on &lt;a href="https://www.linkedin.com/in/mohamed-el-laithy-0155b2173/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; 👇&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;#Java #Maven #SpringBoot #BuildTools #DeveloperTools #CleanCode #Diagrams&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>spring</category>
      <category>developers</category>
    </item>
  </channel>
</rss>
