<?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: AkK</title>
    <description>The latest articles on DEV Community by AkK (@akk_dev).</description>
    <link>https://dev.to/akk_dev</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%2F934605%2F0ec4a9f0-f7ba-4f47-9e24-074667047dad.png</url>
      <title>DEV Community: AkK</title>
      <link>https://dev.to/akk_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akk_dev"/>
    <language>en</language>
    <item>
      <title>Building a Chrome Extension: Key Concepts Explained</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Tue, 15 Apr 2025 19:08:44 +0000</pubDate>
      <link>https://dev.to/akk_dev/building-a-chrome-extension-key-concepts-explained-1f4</link>
      <guid>https://dev.to/akk_dev/building-a-chrome-extension-key-concepts-explained-1f4</guid>
      <description>&lt;p&gt;Creating a Chrome Extension may seem overwhelming at first — but once you understand its 3 main building blocks, it becomes much easier. Here's a quick breakdown of the core components:&lt;/p&gt;

&lt;p&gt;✨ manifest.json&lt;br&gt;
🔧 Content Script&lt;br&gt;
🧠 Background Script&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%2Fq3ethm19yql1oluv8q2m.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%2Fq3ethm19yql1oluv8q2m.png" alt=" " width="592" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;manifest.json – The Blueprint of Your Extension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the heart of your Chrome Extension. It tells Chrome everything it needs to know:&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%2Fwv6tihi5eb6svztkto4j.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%2Fwv6tihi5eb6svztkto4j.png" alt=" " width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Name, version &amp;amp; description&lt;/li&gt;
&lt;li&gt; What files it uses (scripts, icons, HTML)&lt;/li&gt;
&lt;li&gt; Permissions needed (like tabs, storage, etc.)&lt;/li&gt;
&lt;li&gt; Background behavior, UI elements, and more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 Why it matters: Chrome reads this file first to understand how your extension works.&lt;/p&gt;

&lt;p&gt;🧾 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "manifest_version": 3,
  "name": "Simple Page Color Changer",
  "version": "1.0",
  "description": "Changes background color of any webpage.",
  "permissions": ["scripting", "tabs"],
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [
    {
      "matches": ["&amp;lt;all_urls&amp;gt;"],
      "js": ["content.js"]
    }
  ],
  "action": {
    "default_popup": "popup.html",
    "default_icon": "icon.png"
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2️⃣** Content Script – The Eyes &amp;amp; Hands of the Extension**&lt;br&gt;
Content scripts are JS files that run inside the web pages you visit.&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%2F7udkgkw1f94jc7tdaxf6.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%2F7udkgkw1f94jc7tdaxf6.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔍 They can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Access &amp;amp; manipulate HTML (DOM)&lt;/li&gt;
&lt;li&gt; Style elements&lt;/li&gt;
&lt;li&gt; React to user interaction on the page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚫 They can’t:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Directly use Chrome APIs&lt;/li&gt;
&lt;li&gt; Access browser features like tabs or bookmarks (they talk to the background script instead)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📄 Example – content.js&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.body.style.backgroundColor = "yellow";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would change the background color of any webpage to yellow.&lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Background Script – The Brain Behind the Scenes&lt;/strong&gt;&lt;br&gt;
The background script runs independently of any webpage.&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%2F72z75kubjyj8i04ewb8j.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%2F72z75kubjyj8i04ewb8j.png" alt=" " width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧠 It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Listen to browser events (like installation, tab updates)&lt;/li&gt;
&lt;li&gt; Communicate with content scripts and popups&lt;/li&gt;
&lt;li&gt; Handle global data and logic&lt;/li&gt;
&lt;li&gt; In Manifest V3, it runs as a service worker — meaning it's event-based and more efficient.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Example – background.js&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chrome.runtime.onInstalled.addListener(() =&amp;gt; {
  console.log("Extension installed!");
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔁 Communication Between Scripts&lt;br&gt;
Since content scripts and background scripts run in different environments, they talk using message passing.&lt;/p&gt;

&lt;p&gt;➡️ From content to background:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chrome.runtime.sendMessage({ greeting: "hello" }, (response) =&amp;gt; {
  console.log(response.reply);
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⬅️ From background to content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chrome.runtime.onMessage.addListener((request, sender, sendResponse) =&amp;gt; {
  if (request.greeting === "hello") {
    sendResponse({ reply: "hi there!" });
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🧰 Optional But Useful Parts&lt;br&gt;
🎯 popup.html – A small UI when the extension icon is clicked&lt;br&gt;
⚙️ Options page – User settings &amp;amp; preferences&lt;br&gt;
🖼️ Icons – Toolbar &amp;amp; branding visuals&lt;/p&gt;

</description>
      <category>chromeextension</category>
      <category>programming</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>Placeholder Contributor</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Thu, 02 Nov 2023 03:34:24 +0000</pubDate>
      <link>https://dev.to/akk_dev/placeholder-contributor-4fbb</link>
      <guid>https://dev.to/akk_dev/placeholder-contributor-4fbb</guid>
      <description>&lt;p&gt;Intro&lt;br&gt;
Hey there! I'm excited to share my Hacktoberfest journey with you. This isn't my first time participating in Hacktoberfest, and I'm thrilled to be part of this vibrant open-source community once again. You can check out my GitHub profile &lt;a href="https://github.com/AthulKkumar" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
(&lt;a href="https://github.com/godkingjay/LeetCode/pulls?q=is%3Apr+is%3Aclosed+author%3AAthulKkumar" rel="noopener noreferrer"&gt;PR's which I made&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Highs and Lows&lt;br&gt;
During Hacktoberfest 2023, I experienced some incredible highs and, of course, a few lows. One of the biggest accomplishments for me was merging my first pull request (PR) into an open-source project. It was a fantastic feeling to see my code being accepted and integrated into a real-world project. It was like a light-bulb moment, and I gained confidence in my coding abilities.&lt;/p&gt;

&lt;p&gt;However, it wasn't all smooth sailing. There were moments when I encountered problems that seemed impossible to fix. I remember spending hours trying to debug an issue, and at times, it was frustrating. But, here's the beauty of the open-source community – I reached out to the project maintainers and other contributors for help. Their guidance and collaborative spirit made the seemingly impossible problems surmountable. It taught me the importance of perseverance and seeking help when needed.&lt;/p&gt;

&lt;p&gt;Growth&lt;br&gt;
Before Hacktoberfest 2023, my skillset was decent, but I wasn't actively contributing to open-source projects. This event has been a game-changer for me. I improved my coding skills significantly by working on real-world projects and collaborating with experienced developers. I learned about version control, best coding practices, and how to work within a team, which will undoubtedly benefit my career.&lt;/p&gt;

&lt;p&gt;My learning and career goals have evolved through this experience. I've realized that contributing to open source is not just about writing code; it's about teamwork, documentation, and communication. I plan to continue contributing to open-source projects and maybe even start my own. My goals now include becoming a more active member of the open-source community and mentoring others who are new to this exciting world.&lt;/p&gt;

&lt;p&gt;Hacktoberfest 2023 has been an incredible journey of learning, growth, and making new friends in the open-source community. I can't wait to see where this path leads me in the future, and I encourage anyone who hasn't participated in Hacktoberfest to give it a try next year. It's a rewarding experience that can shape your career and expand your horizons in ways you can't imagine.&lt;/p&gt;

</description>
      <category>hack23contributor</category>
    </item>
    <item>
      <title>Complete the HacktOberfest23</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Fri, 20 Oct 2023 09:33:51 +0000</pubDate>
      <link>https://dev.to/akk_dev/complete-the-hacktoberfest23-afk</link>
      <guid>https://dev.to/akk_dev/complete-the-hacktoberfest23-afk</guid>
      <description>&lt;p&gt;I successfully completed Hacktoberfest this year, marking my second participation in the event. While the primary distinction from last year's experience was the swag, I'd like to emphasize the valuable experience I gained from actively contributing to various repositories.&lt;/p&gt;

&lt;p&gt;This journey allowed me to dive into open source projects, collaborate with fellow developers, and improve my coding skills. The sense of community and learning that Hacktoberfest fosters was truly remarkable. It's not just about the rewards; it's about the knowledge and connections that come from participating.&lt;/p&gt;

&lt;p&gt;If you're looking to boost your programming expertise, learn from others, and build a strong portfolio, I highly recommend making open source contributions a regular part of your coding journey. I'm excited to continue this positive momentum and contribute even more in the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(&lt;a href="https://github.com/godkingjay/LeetCode/pulls?q=is%3Apr+is%3Aclosed+author%3AAthulKkumar" rel="noopener noreferrer"&gt;PR's which I made&lt;/a&gt;)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Career building</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Sun, 13 Aug 2023 16:53:20 +0000</pubDate>
      <link>https://dev.to/akk_dev/career-building-3ggm</link>
      <guid>https://dev.to/akk_dev/career-building-3ggm</guid>
      <description>&lt;p&gt;The things which I done in this week is done some DSA questions from hackerrank and studies some concepts in mongodb, I'm trying to maintain an streak which is trying to learn new things in an week. For the DSA section, which is done to improving the coding skill basically done questions from hackerrank, If any one want to refer it the github repo link : &lt;a href="https://github.com/Z-M-Zero-to-Mastery/DSA-problem_solving" rel="noopener noreferrer"&gt;https://github.com/Z-M-Zero-to-Mastery/DSA-problem_solving&lt;/a&gt; &lt;br&gt;
In this repo which consist of problems and solutions for it in different ways both efficient, non-efficient, shorthand way etc. In mongodb section, which I'm trying to learn some more advance topics in it like, normalization and denormalization , database design, relations, aggregation, scaling of the db etc. where I'm currently in my learning path. the topic which I learned in this week is about relations like one to one, one to many etc. For the next week I'm planning to cover more topics....&lt;/p&gt;

</description>
      <category>weeklyblog</category>
      <category>dsa</category>
    </item>
    <item>
      <title>Daily Blog #2</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Mon, 31 Jul 2023 15:25:32 +0000</pubDate>
      <link>https://dev.to/akk_dev/daily-blog-2-2od8</link>
      <guid>https://dev.to/akk_dev/daily-blog-2-2od8</guid>
      <description>&lt;p&gt;Today an exciting thing is happen which is 2nd round of my interview. I applied to this company through linked in, I applied to many companies through linked in but some company will not give reply and some of them will reply but they will be ghosted. I'm happy that they are considering me for 2nd round. I'm applied for the position Full stack intern, the first round was technical round which they give an question in React which is a form we need to print an error message if the form is empty otherwise print an success message. Hopefully I passed the first round and the second round which is culture round which they ask situational based questions like :&lt;br&gt;
How will handle the major error while working in an project ?&lt;br&gt;
Is the any situation that makes coding a job worse if it is how will you overcome it. &lt;br&gt;
How you come into coding ?&lt;br&gt;
What are you expecting while working with the company ?&lt;br&gt;
And after all of these they explained the work culture of the company. It was an great experience to attending this interview process. As an fresher this was not my first time attending the interview, By attending each of the interview I'm improving myself to present me in an better way, comparing with my past I can feel lot of changes happens to me.... "Learn from the mistakes" - as everybody says.&lt;/p&gt;

</description>
      <category>dailyblog</category>
    </item>
    <item>
      <title>Daily Blog #1</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Sun, 30 Jul 2023 15:34:29 +0000</pubDate>
      <link>https://dev.to/akk_dev/daily-blog-1-44og</link>
      <guid>https://dev.to/akk_dev/daily-blog-1-44og</guid>
      <description>&lt;p&gt;Today onwards I'm planning to start write blog on daily basis. I don't know how much this daily blog lasts but I will try to keep it updated. The main motive for writing this is to improve my skills like writing, English etc. I'm an developer who develop some projects based on the area which I studied. Now I'm building an protfolio website to showcase my projects and works, currently I'm on it's building stage. I will be deploy soon ... That's all for today, I think this will be an great start for my daily blog.&lt;/p&gt;

</description>
      <category>dailyblog</category>
    </item>
    <item>
      <title>Cloud Bootcamp 2023</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Mon, 27 Mar 2023 15:08:32 +0000</pubDate>
      <link>https://dev.to/akk_dev/cloud-bootcamp-2023-5gj2</link>
      <guid>https://dev.to/akk_dev/cloud-bootcamp-2023-5gj2</guid>
      <description>&lt;p&gt;Excited to start new journey in the cloud. Just started an 2 weeks bootcamp by &lt;a href="https://www.linkedin.com/company/thecloudfolk/" rel="noopener noreferrer"&gt;cloud community&lt;/a&gt;, I'm excited to learn new things. They have been organized in three tracks like AWS, Azure, GCP and provide an mentors for each of this...&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%2Fh5pk05rvs6un6cnx7cwn.jpeg" 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%2Fh5pk05rvs6un6cnx7cwn.jpeg" alt=" " width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>github</category>
      <category>kubernetes</category>
      <category>azure</category>
    </item>
    <item>
      <title>Completed HacktoberFest -22</title>
      <dc:creator>AkK</dc:creator>
      <pubDate>Sat, 22 Oct 2022 04:43:36 +0000</pubDate>
      <link>https://dev.to/akk_dev/completed-hacktoberfest-22-4hgn</link>
      <guid>https://dev.to/akk_dev/completed-hacktoberfest-22-4hgn</guid>
      <description>&lt;p&gt;I just completed my first hacktoberfest...&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
