<?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: Engineering Expert</title>
    <description>The latest articles on DEV Community by Engineering Expert (@engineeringexpert).</description>
    <link>https://dev.to/engineeringexpert</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%2F1150406%2F893809b3-5f32-4f2c-92c3-f84f831cb046.png</url>
      <title>DEV Community: Engineering Expert</title>
      <link>https://dev.to/engineeringexpert</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/engineeringexpert"/>
    <language>en</language>
    <item>
      <title>Inter component communication in React.</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Thu, 06 Jun 2024 01:49:32 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/inter-component-communication-in-react-300b</link>
      <guid>https://dev.to/engineeringexpert/inter-component-communication-in-react-300b</guid>
      <description>&lt;p&gt;In the React ecosystem, building complex applications often involves breaking down the UI into reusable components. However, this modularity raises a crucial question: How do these components effectively communicate and share data?&lt;/p&gt;

&lt;p&gt;This article explores the various mechanisms available in React to ensure smooth and efficient communication between your components.&lt;/p&gt;

&lt;p&gt;Understanding the Need for Communication&lt;br&gt;
Before diving into the techniques, let's clarify why inter-component communication is essential:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Data Sharing:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Components often need to access and modify data that exists outside their local state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Event Handling:&lt;/strong&gt;&lt;br&gt;
 User interactions (clicks, form submissions, etc.) might trigger changes that need to be communicated to other components.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;- State Management: *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In larger applications, centralized state management can simplify complex data flows.&lt;/p&gt;

&lt;p&gt;`JavaScript&lt;br&gt;
function Parent() {&lt;br&gt;
    const handleChildClick = (data) =&amp;gt; {&lt;br&gt;
        // Do something with data&lt;br&gt;
    };&lt;br&gt;
    return ;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function Child({ onClick }) {&lt;br&gt;
    return  onClick("Data from child")}&amp;gt;Click me;&lt;br&gt;
}`&lt;/p&gt;

&lt;p&gt;`JavaScript&lt;br&gt;
// Parent component&lt;br&gt;
function Parent() {&lt;br&gt;
    const message = "Hello from parent!";&lt;br&gt;
    return ;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Child component&lt;br&gt;
function Child({ message }) {&lt;br&gt;
    return &lt;/p&gt;
&lt;p&gt;{message}&lt;/p&gt;;&lt;br&gt;
}`

&lt;p&gt;References: &lt;a href="https://www.frontendeng.dev/blog/5-tutorial-how-to-communicate-between-two-components-in-react"&gt;https://www.frontendeng.dev/blog/5-tutorial-how-to-communicate-between-two-components-in-react&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Cloud Computing Interview Questions</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Fri, 10 May 2024 21:27:34 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/cloud-computing-interview-questions-j8a</link>
      <guid>https://dev.to/engineeringexpert/cloud-computing-interview-questions-j8a</guid>
      <description>&lt;p&gt;&lt;a href="https://cloud-authority.com/azure-functions-interview-questions-and-answers?source=more_articles_bottom_blogs"&gt;Azure Functions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud-authority.com/azure-devops-interview-questions-and-answers"&gt;Azure Devops&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud-authority.com/study-guide-and-resources-for-microsoft-ai-102-certification-exam-azure-ai"&gt;Study Guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Preparing for an Azure cloud engineer interview involves a multi-faceted approach. First, solidify your foundational knowledge of cloud computing concepts such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Familiarize yourself with Azure's core services like Virtual Machines, Storage Accounts, Virtual Networks, and App Services. Understanding Azure's security features and identity management through Azure Active Directory is crucial.&lt;/p&gt;

&lt;p&gt;Hands-on experience is paramount. Build and deploy applications on Azure, experiment with different services, and troubleshoot common issues. Consider earning relevant Azure certifications like AZ-900 (Azure Fundamentals) and AZ-104 (Azure Administrator) to demonstrate your expertise.&lt;/p&gt;

&lt;p&gt;Prepare for a wide range of interview questions. Expect technical questions about Azure services, architecture design, and troubleshooting scenarios. Be ready to discuss your past experiences with cloud projects, highlighting your problem-solving skills and ability to work in a team. Research the company and its cloud infrastructure to tailor your answers and demonstrate your understanding of their specific needs.&lt;/p&gt;

&lt;p&gt;Finally, practice your communication skills. Clearly articulate your technical knowledge, explain your thought process, and ask clarifying questions when needed. Show enthusiasm for Azure and cloud technology, and demonstrate your ability to learn and adapt to new challenges.&lt;/p&gt;

</description>
      <category>cloud</category>
    </item>
    <item>
      <title>What are web components ?</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Fri, 10 May 2024 16:04:02 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/what-are-web-components--1odl</link>
      <guid>https://dev.to/engineeringexpert/what-are-web-components--1odl</guid>
      <description>&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components"&gt;Web components&lt;/a&gt; are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. These custom components and widgets built on the &lt;a href="https://www.frontendeng.dev/blog/48-what-are-web-components"&gt;Web Component&lt;/a&gt; standards work across modern browsers and can be used with any JavaScript library or framework that works with HTML.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components"&gt;1&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.frontendeng.dev/blog/48-what-are-web-components"&gt;2&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Authority : Follow the blog</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Fri, 05 Apr 2024 05:25:51 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/ai-authority-follow-the-blog-1714</link>
      <guid>https://dev.to/engineeringexpert/ai-authority-follow-the-blog-1714</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is AI Authority?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aiauthority.dev/"&gt;AI Authority&lt;/a&gt; is your go-to source for all the latest news, insights, and analysis on artificial intelligence advancements. We cut through the noise and deliver the information you need to know in a clear, concise, and engaging way. Whether you're an AI enthusiast, a tech professional, or simply someone curious about this transformative technology, AI Authority is your essential resource.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What You'll Find on AI Authority&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aiauthority.dev/"&gt;AI Authority&lt;/a&gt; covers a wide range of topics related to artificial intelligence:&lt;/p&gt;

&lt;p&gt;The Latest Research: We delve into groundbreaking research papers and reports to give you a behind-the-scenes look at what's happening at the cutting edge of AI.&lt;br&gt;
Real-World Applications: AI is no longer just a lab experiment. We highlight the most exciting ways AI is being used in industries like healthcare, finance, transportation, and more.&lt;/p&gt;

&lt;p&gt;Tools and Resources: We provide curated guides to the best AI tools, datasets, and online courses to help you learn and build in this space.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why You Need AI Authority&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Staying informed about AI is crucial for anyone who wants to understand the future. AI is poised to change how we live, work, and interact with the world around us. AI Authority gives you the knowledge you need to navigate this exciting and complex landscape.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aiauthority.dev/"&gt;Source&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Deploy Spring Boot on Cloud run ?</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Thu, 08 Feb 2024 04:41:44 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/deploy-spring-boot-on-cloud-run--5em</link>
      <guid>https://dev.to/engineeringexpert/deploy-spring-boot-on-cloud-run--5em</guid>
      <description>&lt;p&gt;Spring boot is an excellent framework and it is well suited for Cloud Run. The startup time of Spring boot application can be well managed and it can run with very little resources. &lt;/p&gt;

&lt;p&gt;Check out this &lt;a href="https://www.frontendeng.dev/blog/31-step-by-step-guide-to-deploy-spring-boot-app-on-google-cloud-run"&gt;guide to deploying spring boot apps on cloud run&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud Run documentation for Java applications: &lt;a href="https://cloud.google.com/run/docs/tips/java"&gt;https://cloud.google.com/run/docs/tips/java&lt;/a&gt;&lt;br&gt;
Spring Boot on Cloud Run example: &lt;a href="https://spring-gcp.saturnism.me/getting-started/helloworld/cloud-run"&gt;https://spring-gcp.saturnism.me/getting-started/helloworld/cloud-run&lt;/a&gt;&lt;br&gt;
Quickstart: Deploy a Java service to Cloud Run: &lt;a href="https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-java-service"&gt;https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-java-service&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>spring</category>
    </item>
    <item>
      <title>Firebase hosting does not support custom cookies</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Wed, 07 Feb 2024 17:21:10 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/firebase-hosting-does-not-support-custom-cookies-2h8g</link>
      <guid>https://dev.to/engineeringexpert/firebase-hosting-does-not-support-custom-cookies-2h8g</guid>
      <description>&lt;p&gt;Firebase hosting is useful now just for simple websites but it is also possible and sometimes cheaper to use as frontend for Google Cloud Run. It is a very common usage pattern to simply map your &lt;a href="https://www.frontendeng.dev/blog/36-firebase-cookies-sessions"&gt;firebase domain name&lt;/a&gt; to a another service running on Google cloud.&lt;/p&gt;

&lt;p&gt;Firebase has not documented this but firebase will strip all cookies from the incoming request except on. "__session" cookie. This means if your backend is say Spring Boot which uses SESSION cookie by default or PHP or something else, you will not be able to maintain sessions when using firebase hosting.&lt;/p&gt;

&lt;p&gt;The quick workaround for this is to either not use Firebase if you care about this a lot OR modify your service to only use __session cookie.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.frontendeng.dev/blog/36-firebase-cookies-sessions"&gt;https://www.frontendeng.dev/blog/36-firebase-cookies-sessions&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Can spring boot be used for front end rendering as well ?</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Sat, 27 Jan 2024 20:29:47 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/can-spring-boot-be-used-for-front-end-rendering-as-well--47lk</link>
      <guid>https://dev.to/engineeringexpert/can-spring-boot-be-used-for-front-end-rendering-as-well--47lk</guid>
      <description>&lt;p&gt;Everyone knows that Spring boot might be the most popular framework to build powerful backend services. However can it be also used for front ends ?&lt;/p&gt;

&lt;p&gt;The short answer appears to be yes. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.frontendeng.dev/blog/35-spring-boot-for-front-end-development"&gt;Spring boot can be used for front ends but its key strength is backend development&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
    </item>
    <item>
      <title>Google cloud run : Things you should know before deploying your frontends</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Thu, 25 Jan 2024 07:03:34 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/google-cloud-run-things-you-should-know-before-deploying-your-frontends-69e</link>
      <guid>https://dev.to/engineeringexpert/google-cloud-run-things-you-should-know-before-deploying-your-frontends-69e</guid>
      <description>&lt;p&gt;Our article about deploying Next.js on Cloud Run is one of the most popular articles on our blog. Many readers have reached out to express how helpful they found it. However, some people also encountered various issues that I believe are worth addressing in a separate blog post.&lt;/p&gt;

&lt;p&gt;When you create a VM, or Virtual Machine, you have a server allocated to you 24x7. It has a processor that sits idle, waiting for work, and memory that is ready to be used. Regardless of whether you utilize it or not, you pay for the entire thing 24x7. The costs of these machines can range from $5 to $5000 a month or even more.&lt;/p&gt;

&lt;p&gt;However, it's not just the cost of the machine. You need to spend time setting it up, ensuring it's working, and occasionally adjusting resources yourself. What if you get more traffic and want to add more machines? You can do that too. But when traffic decreases, you have to reduce the number of machines. This process can be automated, and tools like Kubernetes exist for this purpose.&lt;/p&gt;

&lt;p&gt;The real issue arises when you have a small site with around 100 users a day, and you don't want to waste your time on a fragile $5-a-month server that keeps going down or a $45 robust server that is expensive. Nor do you want to spend $500 a month on running a full-fledged cluster of machines.&lt;/p&gt;

&lt;p&gt;What you want is something much cheaper and extremely simple, even if it's not as fast as you'd like it to be.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://www.frontendeng.dev/blog/34-know-this-before-you-use-cloud-run"&gt;https://www.frontendeng.dev/blog/34-know-this-before-you-use-cloud-run&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Do not use cloud run</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Sat, 20 Jan 2024 18:15:44 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/do-not-use-cloud-run-14hb</link>
      <guid>https://dev.to/engineeringexpert/do-not-use-cloud-run-14hb</guid>
      <description>&lt;p&gt;&lt;a href="https://www.frontendeng.dev/blog/34-know-this-before-you-use-cloud-run"&gt;Nextjs on Google cloud run&lt;/a&gt; is pretty cheap but do not use it for anything other than a small website which you just want to showcase. &lt;/p&gt;

&lt;p&gt;It had high latency, terrible pricing model and overall it is good for small testing purposes and useless for production grade deployments. &lt;/p&gt;

</description>
      <category>google</category>
      <category>coud</category>
    </item>
    <item>
      <title>An LLM Agent Swarm</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Fri, 19 Jan 2024 08:48:05 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/an-llm-agent-swarm-9kk</link>
      <guid>https://dev.to/engineeringexpert/an-llm-agent-swarm-9kk</guid>
      <description>&lt;p&gt;&lt;a href="https://aiauthority.dev/strengthening-the-security-of-llm-models"&gt;One of the remarkable security of LLMs post &lt;/a&gt; on this blog basically made me realize that we are not thinking enough about using an army of LLM agent swarm and rather focusing too much on single large model doing everything right. &lt;/p&gt;

&lt;p&gt;In real world good things happen when people with different specializations come together to build something together. Sometimes there are trade offs between two departments competing for different conflicting goals. &lt;/p&gt;

&lt;p&gt;Consider an automobile company where one team wants bigger engine and another team wants better fuel efficiency. Either ways both are at odds and they have to figure out how to resolve it. &lt;/p&gt;

&lt;p&gt;We need to adapt a similar approach for LLM agent deployments as well. Have multiple agents solving the problem together instead of one large model solving it. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
    </item>
    <item>
      <title>Android Compose API is pretty good</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Fri, 12 Jan 2024 01:06:37 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/android-compose-api-is-pretty-good-1dba</link>
      <guid>https://dev.to/engineeringexpert/android-compose-api-is-pretty-good-1dba</guid>
      <description>&lt;p&gt;Both Android Compose and Flutter are UI frameworks used for building mobile applications, but they have some key differences:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Android Compose:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Native Android development: Focuses on native Android development, providing tight integration with Android APIs and tooling.&lt;br&gt;
Kotlin-based: Uses Kotlin, a statically typed language, which can be appealing for developers familiar with the language.&lt;br&gt;
Declarative syntax: Uses a declarative syntax where you describe the UI state and Compose takes care of rendering it, leading to less boilerplate code and potentially cleaner code.&lt;br&gt;
Still in its early stages: While stable for production use, Compose is still evolving and adding features, so some functionalities might be missing compared to Flutter.&lt;/p&gt;

&lt;p&gt;Both Android Compose and Flutter are UI frameworks used for building mobile applications, but they have some key differences:&lt;/p&gt;

&lt;p&gt;Android Compose:&lt;/p&gt;

&lt;p&gt;Native Android development: Focuses on native Android development, providing tight integration with Android APIs and tooling.&lt;br&gt;
Kotlin-based: Uses Kotlin, a statically typed language, which can be appealing for developers familiar with the language.&lt;br&gt;
Declarative syntax: Uses a declarative syntax where you describe the UI state and Compose takes care of rendering it, leading to less boilerplate code and potentially cleaner code.&lt;br&gt;
Still in its early stages: While stable for production use, Compose is still evolving and adding features, so some functionalities might be missing compared to Flutter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flutter:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cross-platform development: Aims for cross-platform development, allowing you to build the same app for Android and iOS (and web and desktop) with a single codebase.&lt;br&gt;
Dart-based: Uses Dart, an object-oriented language created by Google specifically for Flutter.&lt;br&gt;
Imperative UI: Uses an imperative approach to UI development, which might be more familiar to some developers but can lead to more boilerplate code compared to Compose.&lt;br&gt;
Mature and feature-rich: More mature and established than Compose, with a wider range of features and widgets available.&lt;/p&gt;

&lt;p&gt;Cross-platform development: Aims for cross-platform development, allowing you to build the same app for Android and iOS (and web and desktop) with a single codebase.&lt;br&gt;
Dart-based: Uses Dart, an object-oriented language created by Google specifically for Flutter.&lt;br&gt;
Imperative UI: Uses an imperative approach to UI development, which might be more familiar to some developers but can lead to more boilerplate code compared to Compose.&lt;br&gt;
Mature and feature-rich: More mature and established than Compose, with a wider range of features and widgets available.&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://randomdraw.hashnode.dev/android-compose-and-flutter"&gt; https://randomdraw.hashnode.dev/android-compose-and-flutter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://androidauthority.dev/android-compose-api-flutter"&gt;https://androidauthority.dev/android-compose-api-flutter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>android</category>
      <category>compose</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Understanding coroutines in Android and Kotlin</title>
      <dc:creator>Engineering Expert</dc:creator>
      <pubDate>Sun, 31 Dec 2023 06:41:28 +0000</pubDate>
      <link>https://dev.to/engineeringexpert/understanding-coroutines-in-android-and-kotlin-bp3</link>
      <guid>https://dev.to/engineeringexpert/understanding-coroutines-in-android-and-kotlin-bp3</guid>
      <description>&lt;p&gt;&lt;a href="https://androidauthority.dev/android-kotlin-coroutines"&gt;Authoritative tutorial that comprehensively covers the concept of coroutines and how they work&lt;/a&gt; &lt;/p&gt;

</description>
      <category>kotlin</category>
      <category>android</category>
    </item>
  </channel>
</rss>
