<?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: 𐌔𐋅𐌀𐌍𐌊𐌔</title>
    <description>The latest articles on DEV Community by 𐌔𐋅𐌀𐌍𐌊𐌔 (@taytay836).</description>
    <link>https://dev.to/taytay836</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%2F2167366%2F8983f18e-dd07-43bf-92fa-9a9b41556762.JPG</url>
      <title>DEV Community: 𐌔𐋅𐌀𐌍𐌊𐌔</title>
      <link>https://dev.to/taytay836</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/taytay836"/>
    <language>en</language>
    <item>
      <title>Test Driven Development</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Mon, 07 Apr 2025 13:42:10 +0000</pubDate>
      <link>https://dev.to/taytay836/test-driven-development-56hk</link>
      <guid>https://dev.to/taytay836/test-driven-development-56hk</guid>
      <description>&lt;p&gt;Imagine writing code that's clean, reliable and almost free of bugs. Sounds like a dream? It's achievable through methods like &lt;strong&gt;Test Driven Development&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Basics&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;&lt;u&gt;Test Driven Development&lt;/u&gt;&lt;/em&gt; might seem counterintuitive at first write tests before the code? but it's one of the most effective ways to ensure your software does exactly what you intend. The core principle of TDD is simple: Red/Green/Refactor. You start by writing a test that fails (Red), write just enough code to pass the test (Green), and finally improve or clean up your code without breaking the tests (Refactor). It's like having a safety net under your development process encouraging confidence and agility..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cool Random FAct&lt;/strong&gt;&lt;br&gt;
TDD was popularized by &lt;u&gt;Kent Beck&lt;/u&gt; as part of Extreme Programming (XP)fundamentally changing how agile teams approach coding.&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%2Fs1btbbtun1ltoyncxa9u.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%2Fs1btbbtun1ltoyncxa9u.png" alt="Image description" width="489" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATDD &amp;amp; BDD&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;ATDD&lt;/u&gt; shifts the focus from just "working code" to "accepted code." &lt;em&gt;&lt;u&gt;Acceptance Test Driven Development&lt;/u&gt;&lt;/em&gt; or (ATDD) defines acceptance criteria through collaborative tests with stakeholders ensuring the delivered software &lt;em&gt;meets business needs&lt;/em&gt; precisely. BAsically clearly defining with your stakeholders what success looks like from the start. ATDD captures business goals and user expectations upfront minimizing miscommunication and rework.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Behavior Driven Development&lt;/u&gt; takes this idea even further,  (BDD)specifies system behavior clearly using scenarios written in natural language, aiming to bridge communication between technical and non technical teams. promoting collaboration among developers, testers and business analysts by using simple plain language scenarios to describe how software should behave. This helps everyone stay on the same page and ensures the development team fully understands user needs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Cool fact:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;u&gt;Dan North&lt;/u&gt; introduced BDD to eliminate misunderstandings between technical and non technical team members significantly enhancing project outcomes.&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%2Fg4ufi1ona0webqwfw635.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%2Fg4ufi1ona0webqwfw635.png" alt="Image description" width="262" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous Integration with Travis CI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now think if every code change you made was automatically tested, integrated and reported to your team instantly. That’s &lt;em&gt;&lt;u&gt;Continuous Integration&lt;/u&gt;&lt;/em&gt; (CI) in action and &lt;em&gt;&lt;u&gt;Travis CI&lt;/u&gt;&lt;/em&gt; makes this incredibly accessible. Travis CI automatically builds and tests your project whenever you push new code, immediately notifying you if something breaks. By continuously merging and testing changes teams reduce bugs, speed up releases and improve overall software quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cont...&lt;/strong&gt;&lt;br&gt;
Getting started with Travis CI is straightforward. You simply add a &lt;em&gt;&lt;u&gt;.travis.yml&lt;/u&gt;&lt;/em&gt; file to your repository specifying your build environment, dependencies and test scripts. Travis then does the heavy lifting providing clear feedback right in your GitHub workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Tip:&lt;/strong&gt;&lt;br&gt;
Always validate your_&lt;u&gt; .travis.yml file&lt;/u&gt;_ with online validators to avoid syntax issues causing unnecessary build failures.&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%2F5ex63f843omcbyubf9wt.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%2F5ex63f843omcbyubf9wt.png" alt="Image description" width="414" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits and Considerations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Methods like &lt;em&gt;TDD&lt;/em&gt;, &lt;em&gt;ATDD&lt;/em&gt; and &lt;em&gt;BDD&lt;/em&gt; along with tools like &lt;em&gt;Travis CI&lt;/em&gt; offer tremendous advantages early bug detection, improved collaboration and faster deployments they also introduce new challenges. There's an upfront learning curve and initial productivity may temporarily dip as teams adapt to new processes.&lt;/p&gt;

&lt;p&gt;However, companies like Netflix, &lt;em&gt;Spotify&lt;/em&gt; and &lt;em&gt;Etsy&lt;/em&gt; have demonstrated impressive success using these practices. They report significantly fewer bugs, faster release cycles and higher overall software quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Implementing &lt;em&gt;TDD&lt;/em&gt;, &lt;em&gt;ATDD&lt;/em&gt;, &lt;em&gt;BDD&lt;/em&gt; and &lt;em&gt;Continuous Integration&lt;/em&gt; isn't just about technology it's about enhancing teamwork, communication and quality assurance. Travis CI complements these methods perfectly providing seamless integration and rapid feedback to teams.&lt;/p&gt;

</description>
      <category>travis</category>
      <category>ci</category>
      <category>webdev</category>
      <category>tdd</category>
    </item>
    <item>
      <title>SolidJS</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Thu, 27 Mar 2025 02:56:21 +0000</pubDate>
      <link>https://dev.to/taytay836/solidjs-4doa</link>
      <guid>https://dev.to/taytay836/solidjs-4doa</guid>
      <description>&lt;p&gt;&lt;u&gt;&lt;strong&gt;&lt;em&gt;SolidJS&lt;/em&gt;&lt;/strong&gt; &lt;/u&gt;&lt;br&gt;
&lt;em&gt;"Blazing Fast Performance Meets Developer Simplicity"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;SolidJS&lt;/em&gt; has swiftly become a standout in the ever growing landscape of JavaScript frameworks, particularly catching the attention of developers seeking performance without sacrificing readability or ease of use. After spending considerable time with SolidJS, it's clear that this reactive JavaScript library has a lot to offer especially when compared to heavyweights like React, Vue and Angular.&lt;/p&gt;

&lt;p&gt;One of &lt;em&gt;SolidJS&lt;/em&gt;'s most distinctive characteristics is its fine grained reactivity system. Unlike React, which uses a virtual DOM; SolidJS compiles JSX into imperative code that directly manipulates the DOM. This approach dramatically reduces overhead and results in faster initial render and update times. In real world tests, applications built with SolidJS consistently display impressive performance metrics often surpassing &lt;u&gt;React&lt;/u&gt; and&lt;u&gt; Vue&lt;/u&gt; significantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Example&lt;/strong&gt;&lt;br&gt;
Another major advantage is &lt;em&gt;SolidJS&lt;/em&gt;’s intuitive state management, powered by reactive primitives like signals and effects. Developers familiar with hooks in React will find &lt;em&gt;SolidJS&lt;/em&gt;’s syntax familiar yet more straightforward. For instance instead of React’s useState SolidJS uses signals a simple but powerful concept:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { createSignal } from "solid-js";

function Counter() {
  const [count, setCount] = createSignal(0);
  return (
    &amp;lt;button onClick={() =&amp;gt; setCount(count() + 1)}&amp;gt;
      Clicks: {count()}
    &amp;lt;/button&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;- ^^This code snippet demonstrates how SolidJS elegantly handles state updates without the complexities often associated with more elaborate frameworks.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { createSignal, Show } from "solid-js";

function ToggleMessage() {
  const [show, setShow] = createSignal(false);
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;button onClick={() =&amp;gt; setShow(!show())}&amp;gt;Toggle Message&amp;lt;/button&amp;gt;
      &amp;lt;Show when={show()}&amp;gt;
        &amp;lt;p&amp;gt;Hola, Shanks!&amp;lt;/p&amp;gt;
      &amp;lt;/Show&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:^^ &lt;em&gt;SolidJS&lt;/em&gt; makes conditional rendering incredibly intuitive and performant.&lt;/p&gt;

&lt;p&gt;The library's &lt;u&gt;small bundle size&lt;/u&gt; approximately &lt;u&gt;7kb gzipped&lt;/u&gt; is another compelling benefit making SolidJS ideal for performance critical and mobile applications. Its minimalist design ensures applications load swiftly delivering an exceptional user experience even in environments with limited bandwidth or lower end devices.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { For } from "solid-js";

const items = ["Pro Charger F3", "Crower Crank", "Panhard Bar"];

function NHRAUnlimitedClass() {
  return (
    &amp;lt;ul&amp;gt;
      &amp;lt;For each={items}&amp;gt;{item =&amp;gt; &amp;lt;li&amp;gt;{item}&amp;lt;/li&amp;gt;}&amp;lt;/For&amp;gt;
    &amp;lt;/ul&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;^^Another great feature is efficient list rendering which uses &lt;u&gt;&lt;em&gt;SolidJS's built in For component&lt;/em&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More on The For Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The built in &lt;em&gt;&lt;u&gt;For&lt;/u&gt;&lt;/em&gt; component in &lt;em&gt;SolidJS&lt;/em&gt; simplifies list rendering by efficiently managing DOM updates and minimizing unnecessary re renders. It iterates over arrays and dynamically updates elements only when changes occur significantly improving performance compared to traditional loop methods..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev Experience?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the &lt;u&gt;&lt;em&gt;developer experience&lt;/em&gt;&lt;/u&gt; side, &lt;strong&gt;SolidJS&lt;/strong&gt; integrates seamlessly with modern tools and ecosystems including Vite, TypeScript and existing component libraries. Documentation is robust and continuously improving guided by a vibrant growing community actively contributing to its ecosystem..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons/Challenges&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;However SolidJS does have its challenges. Developers accustomed to the virtual DOM's conveniences in debugging might initially find SolidJS's more imperative approach demanding. Moreover while the community and resources are growing rapidly it still lacks the extensive third party ecosystem of libraries and resources available for_ React_ or &lt;em&gt;Vue&lt;/em&gt;..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is SolidJS the Future of JavaScript Frameworks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;SolidJS&lt;/em&gt; delivers an impressive mix of performance, simplicity and enjoyable developer experience. It shines brightest in scenarios requiring high performance and maintainable codebases. While it might not yet fully replace &lt;em&gt;React&lt;/em&gt; or &lt;em&gt;Vue&lt;/em&gt; for all developers its innovative approach and rapid growth suggest it could indeed become a major player in JavaScript's future. For developers like myself seeking a powerful yet minimalist alternative, &lt;u&gt;SolidJS&lt;/u&gt; is unquestionably worth your attention.&lt;/p&gt;

</description>
      <category>solidjs</category>
      <category>programming</category>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>WEB Scraping</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Tue, 18 Mar 2025 14:55:57 +0000</pubDate>
      <link>https://dev.to/taytay836/web-scraping-2d0m</link>
      <guid>https://dev.to/taytay836/web-scraping-2d0m</guid>
      <description>&lt;p&gt;In this blog we will explore what web scraping is, how it works, pros and cons &amp;amp; use cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Web Scraping?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web scraping is the process of programmatically extracting data from websites. It involves sending a request to a website retrieving the HTML content and then parsing the data to extract useful information.&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%2Faerjybaqt17tgb80li66.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%2Faerjybaqt17tgb80li66.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Does It Work?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sending a Request- A scraper sends an HTTP request (usually a GET request) to the websites server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Retrieving Data- The server responds with the HTML content of the webpage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Parsing HTML- The scraper extracts relevant data using parsing libraries like BeautifulSoup (Python) or Cheerio (Node.js).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Storing Data- The extracted data is cleaned and stored in a structured format such as CSV, JSON, or a database.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Probably think what is a scraper...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A scraper is a software program or script designed to extract data from websites automatically. It navigates web pages, retrieves content, and processes it into a structured format such as JSON. Scrapers can be simple scripts fetching static pages or advanced bots interacting with dynamic content and APIs..&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%2Fpxnhpt1ev05x8ozzmnqz.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%2Fpxnhpt1ev05x8ozzmnqz.png" alt="Image description" width="490" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros vs Cons&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Cons&lt;/u&gt;- Legal and ethical concerns some websites prohibit scraping in their terms of service..&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Anti Scraping Measures websites use CAPTCHAs, IP blocking and rate limiting to prevent scraping.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Website Changes if a website updates its structure scrapers may break and need updates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Accuracy Issues extracted data may require cleaning and validation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;u&gt;Pros&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Automation can save time and effort compared to manual data collection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scalability collects large volumes of data quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customization allows you to tailor scrapers to extract exactly what you need.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Realtime Data helps in tracking live trends and dynamic content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fnfk6i54zs82ys8smrwql.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%2Fnfk6i54zs82ys8smrwql.png" alt="Image description" width="800" height="438"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Is it Legal?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web scraping falls into a gray area legally. While publicly available data can often be scraped, extracting private or copyrighted data without permission can lead to legal consequences.. Before scraping just check a websites &lt;u&gt;robots.txt file and terms of service.&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practices?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Best Practices for Web Scraping&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;CHECK&lt;/em&gt;&lt;/u&gt; &lt;strong&gt;robots.txt&lt;/strong&gt; This file outlines what content can and cannot be scraped.&lt;br&gt;
&lt;u&gt;&lt;em&gt;Try&lt;/em&gt;&lt;/u&gt; to use &lt;strong&gt;proxies &amp;amp; rotating IPs&lt;/strong&gt; to prevent getting blocked by websites..&lt;br&gt;
&lt;u&gt;&lt;em&gt;IMPLEMENT&lt;/em&gt;&lt;/u&gt; some sort of &lt;strong&gt;rate limiting&lt;/strong&gt; to avoid overwhelming servers with frequent requests..&lt;br&gt;
&lt;em&gt;&lt;u&gt;Cache&lt;/u&gt;&lt;/em&gt; data when possible to reduce redundant requests.&lt;br&gt;
&lt;em&gt;&lt;u&gt;Monitor&lt;/u&gt;&lt;/em&gt; website changes to keep scrapers updated &amp;amp;&amp;amp; prevent failures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Conclusion&lt;/strong&gt;&lt;br&gt;
In todays digital age data is king. Businesses, researchers and developers rely on vast amounts of data to make informed decisions.. But what if the data you need isn’t readily available in a structured format? This is where web scraping comes in a powerful technique for extracting and automating data collection from websites..&lt;/p&gt;

</description>
      <category>webscraping</category>
      <category>programming</category>
      <category>http</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Serverless Architecture</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Sun, 02 Feb 2025 23:53:42 +0000</pubDate>
      <link>https://dev.to/taytay836/serverless-architecture-p0g</link>
      <guid>https://dev.to/taytay836/serverless-architecture-p0g</guid>
      <description>&lt;p&gt;If you’ve worked with servers before you know the drill... configure, deploy, manage and scale. But what if you could build applications without worrying about the underlying infrastructure? That’s where serverless architecture comes in.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;What is Serverless Architecture?&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Despite its name &lt;em&gt;serverless&lt;/em&gt; &lt;em&gt;architecture&lt;/em&gt; doesn’t mean there are no servers. Instead it refers to a &lt;u&gt;cloud based &lt;/u&gt; execution model where developers write code and deploy it without managing the infrastructure. The differnt cloud providers handle provisioning, scaling and maintenance.. allowing dev ops teams to focus on building applications instead of managing servers.&lt;/p&gt;

&lt;p&gt;Popular serverless platforms include &lt;em&gt;AWS Lambda&lt;/em&gt;, &lt;em&gt;Azure Functions&lt;/em&gt; and &lt;em&gt;Google Cloud Functions&lt;/em&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%2Fkka0nuu3fnzgkrex5pxs.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%2Fkka0nuu3fnzgkrex5pxs.png" alt="Image description" width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;So How Does it Work?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using a traditional server you have to provision resources, configure load balancers, handle scaling with failover and maintain security patches..&lt;/p&gt;

&lt;p&gt;With &lt;em&gt;serverless&lt;/em&gt; you write and deploy functions that execute on demand. automatically scaling as needed. The cloud provider manages all the backend complexity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A typical serverless workflow involves&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Writing a function with (JavaScript, Python, Go, 'plus many more'.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deploying it to a cloud service of your choice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The function executing when triggered by an event whether it's an API request, a database change or a file upload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The cloud provider automatically scaling resources and &lt;u&gt;billing you&lt;/u&gt; only &lt;u&gt;for the time your function runs&lt;/u&gt;..&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Selling Points/Key Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Cost Efficiency&lt;/u&gt; You’re billed only for execution time. If your function doesn’t run, you don’t pay.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Automatic Scaling&lt;/u&gt; Serverless functions scale automatically in response to demand handling thousands of requests effortlessly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Faster Development &amp;amp; Deployment&lt;/u&gt; since infrastructure is out of the way, us developers can focus on writing code and deploying quickly. Forget about provisioning and maintenance your cloud provider handles everything!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F1wdreqf5nx827aow5lr5.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%2F1wdreqf5nx827aow5lr5.png" alt="Image description" width="495" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Ideal Use Cases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Event driven applications like real time file processing, chatbots and IoT data handling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;APIs and microservices or backend logic for mobile and web apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scheduled tasks, automated backups and report generation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prototyping and rapid development basically launching MVP's quickly without infrastructure concerns.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to try serverless architecture you can start by experimenting with a cloud provider or maybe try building a simple API with &lt;em&gt;AWS Lambda&lt;/em&gt; or automating a task with &lt;em&gt;Azure Functions&lt;/em&gt;..&lt;/p&gt;

&lt;p&gt;By understanding &lt;strong&gt;when&lt;/strong&gt; and &lt;strong&gt;how&lt;/strong&gt; to use &lt;u&gt;serverless architecture&lt;/u&gt;, you can take advantage of its benefits and focus on what truly matters your application’s functionality!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;AWS Lambda&lt;/em&gt;&lt;br&gt;
&lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/welcome.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/lambda/latest/dg/welcome.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Serverless Framework&lt;/em&gt;&lt;br&gt;
&lt;a href="https://www.serverless.com" rel="noopener noreferrer"&gt;https://www.serverless.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Twelve Factor App&lt;/em&gt;&lt;br&gt;
&lt;a href="https://12factor.net" rel="noopener noreferrer"&gt;https://12factor.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google Cloud Functions&lt;br&gt;
&lt;a href="https://cloud.google.com/functions/docs" rel="noopener noreferrer"&gt;https://cloud.google.com/functions/docs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>lambda</category>
      <category>googlecloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>Web 3.0</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Mon, 27 Jan 2025 02:32:03 +0000</pubDate>
      <link>https://dev.to/taytay836/web-30-38nh</link>
      <guid>https://dev.to/taytay836/web-30-38nh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Web 3.0&lt;/strong&gt;, often referred to as the &lt;strong&gt;"Semantic Web"&lt;/strong&gt; represents a decentralized and more intelligent version of the internet.&lt;br&gt;
Unlike Web 2.0, which is dominated by centralized entities like social media platforms and search engines, Web 3.0 uses blockchain technology to give users ownership of their data and online interactions..&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%2F16g7p054wosdy6uvdk2q.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%2F16g7p054wosdy6uvdk2q.png" alt="Image description" width="800" height="774"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Key Features&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Blockchain Technology&lt;/em&gt;&lt;br&gt;
Blockchain is the backbone of Web 3.0. It ensures transparency and immutability, making fraud and unauthorized changes nearly impossible. Ethereum and Solana are examples of blockchains enabling Web 3.0 applications..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Smart Contracts&lt;/em&gt;&lt;br&gt;
Smart contracts are self executing agreements with code that runs on the blockchain. They enable peer to peer transactions without intermediaries, cutting costs and reducing delays.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Decentralized Applications&lt;/em&gt; &lt;br&gt;
Unlike traditional apps, (dApps) run on decentralized networks and offer better privacy and security. Examples include &lt;em&gt;Uniswap&lt;/em&gt; for decentralized finance &lt;em&gt;DeFi&lt;/em&gt; and &lt;em&gt;OpenSea&lt;/em&gt; for NFTs..&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2Fr81ci2vfzplluofhopp8.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%2Fr81ci2vfzplluofhopp8.png" alt="Image description" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is It Better Than Web 2.0?&lt;/strong&gt;&lt;br&gt;
Web 3.0 addresses several shortcomings of Web 2.0, making it a superior alternative.. Listed Below&lt;/p&gt;

&lt;p&gt;The rise of Web 3.0 is contributing to a shift from &lt;del&gt;Big Tech&lt;/del&gt; dominance to&lt;u&gt; user centric internet models&lt;/u&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Data Ownership&lt;/u&gt; In Web 2.0 platforms own user data often leading to breaches and misuse. Web 3.0’s decentralized structure ensures that users retain full control over their data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Security&lt;/u&gt; Centralized servers in Web 2.0 are prone to hacking. Web 3.0’s blockchain based architecture enhances security by eliminating single points of failure..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;u&gt;Censorship Resistance&lt;/u&gt; In Web 2.0, platforms can censor or remove content. Web 3.0’s decentralized nature ensures freedom of expression.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Few Interesting Facts:&lt;/strong&gt;&lt;br&gt;
Web 3.0 leverages edge computing, allowing faster and more localized data processing compared to traditional cloud based systems.&lt;/p&gt;

&lt;p&gt;Earn with Play to Earn Games: like &lt;u&gt;Axie Infinity&lt;/u&gt; reward users with tokens for gameplay.. bridging entertainment with income.&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%2Fbmfv6ytbvjby2wusts2f.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%2Fbmfv6ytbvjby2wusts2f.png" alt="Image description" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Decentralized Wallets, Apps like &lt;u&gt;MetaMask&lt;/u&gt; or &lt;u&gt;Trust Wallet&lt;/u&gt; allow users to store, send, and receive crypto securely.&lt;/p&gt;

&lt;p&gt;Decentralized finance (DeFi) platforms built on Web 3.0 have locked in over $200 billion in value.&lt;/p&gt;

&lt;p&gt;The concept of Web 3.0 was created by Ethereum cofounder Gavin Wood in 2014.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When Will Web 3.0 be available?&lt;/strong&gt;&lt;br&gt;
Well Web 3.0 is already in its &lt;u&gt;nascent&lt;/u&gt; stages [ &lt;em&gt;&lt;u&gt;commencing or in process of development; beginning to exist or to grow&lt;/u&gt;.&lt;/em&gt; ] Many technologies and platforms leveraging its principles are operational today. However a fully decentralized Web 3.0 ecosystem may take 5-10 years to mature.. depending on advancements in blockchain scalability, regulatory frameworks, and widespread adoption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;br&gt;
Web 3.0 is not just an upgrade; it’s a paradigm shift that aims to create a more equitable, secure, and personalized internet. While still in its early stages.. its potential to disrupt industries and empower users is undeniable. Whether it’s through blockchain, AI, or decentralized applications. Web 3.0 is paving the way for a digital future where users not corporations hold the power&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;SOURCES:&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Axie Infinity&lt;/em&gt; -&lt;a href="https://whitepaper.axieinfinity.com/" rel="noopener noreferrer"&gt;https://whitepaper.axieinfinity.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;OpenSea NFT&lt;/em&gt; -  &lt;a href="https://opensea.io/learn/what-are-nfts" rel="noopener noreferrer"&gt;https://opensea.io/learn/what-are-nfts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;IBM on Smart Contracts&lt;/em&gt; - &lt;a href="https://www.ibm.com/topics/smart-contracts" rel="noopener noreferrer"&gt;https://www.ibm.com/topics/smart-contracts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ethereum Official Website&lt;/em&gt; - &lt;a href="https://ethereum.org/en/" rel="noopener noreferrer"&gt;https://ethereum.org/en/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Web3 Foundation&lt;/em&gt; - &lt;a href="https://web3.foundation/" rel="noopener noreferrer"&gt;https://web3.foundation/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>web3</category>
      <category>webdev</category>
      <category>blockchain</category>
      <category>programming</category>
    </item>
    <item>
      <title>nestJS Modern Framework for Scalable Applications</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Sun, 12 Jan 2025 18:19:58 +0000</pubDate>
      <link>https://dev.to/taytay836/nestjs-modern-framework-for-scalable-applications-4f2h</link>
      <guid>https://dev.to/taytay836/nestjs-modern-framework-for-scalable-applications-4f2h</guid>
      <description>&lt;p&gt;Whether you’re building a small API or a large scale enterprise application, developers often seek tools that can handle complexity, scalability, and maintainability. NestJs can make that happen, its robust features make it a progressive nodeJs framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is NestJS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NestJS is a framework for building efficient and scalable server side applications, Its primary goal is to provide an out of the box application architecture that promotes clean code and organized project structures.It’s built on top of Node.js and uses typeScript though it also supports pure javaScript.&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%2Ffdqbk8vg0a80myzzupal.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%2Ffdqbk8vg0a80myzzupal.png" alt="Image description" width="800" height="682"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Few Features&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
NestJS encourages a &lt;strong&gt;modular&lt;/strong&gt; approach to application development. Imagine breaking a big school project into smaller, manageable tasks. That’s what &lt;strong&gt;modular&lt;/strong&gt; architecture does. In &lt;em&gt;NestJS&lt;/em&gt;, each feature or area of an application is like its own folder in a binder. This makes it easy to add new features or fix issues without affecting other parts of the app.&lt;/li&gt;
&lt;/ol&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%2F72ai29y778rpfmulquoq.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%2F72ai29y778rpfmulquoq.png" alt="Image description" width="347" height="169"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;[&lt;/strong&gt; &lt;strong&gt;EXAMPLE: *&lt;em&gt;a module for user management could have its own code and not interfere with a module for handling payments. *&lt;/em&gt;]&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Powerful CLI&lt;/strong&gt;
The&lt;u&gt; &lt;em&gt;Command Line Interface&lt;/em&gt;&lt;/u&gt; is a game changer for productivity. Instead of writing repetitive code you can use commands to generate parts of your app instantly. 
&lt;strong&gt;For example&lt;/strong&gt; running &lt;strong&gt;&lt;em&gt;nest generate module users&lt;/em&gt;&lt;/strong&gt; creates all the files you need for managing users in seconds.&lt;/li&gt;
&lt;/ol&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%2Ftkjaq6l39nqa7hqg85iv.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%2Ftkjaq6l39nqa7hqg85iv.png" alt="Image description" width="468" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.&lt;br&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;br&gt;
TypeScript is like regular JavaScript, but with superpowers. It helps catch errors before you even run your app code like a spell checker for your code.. This makes programming less frustrating and more fun because you’ll spend less time hunting for bugs.&lt;br&gt;
&lt;strong&gt;For Example:&lt;/strong&gt; if you accidentally use a variable that doesn’t exist TypeScript will warn you right away..&lt;/p&gt;

&lt;p&gt;4.&lt;br&gt;
&lt;strong&gt;RestApi's&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;(Application Programming Interfaces)&lt;/u&gt;&lt;br&gt;
 are like menus at a restaurant. They tell users what’s available and how to order it. With NestJS you can create these menus using &lt;strong&gt;REST&lt;/strong&gt; &lt;em&gt;&lt;u&gt;like a list&lt;/u&gt;&lt;/em&gt; or &lt;strong&gt;GraphQL&lt;/strong&gt; like a &lt;u&gt;build your own burger form&lt;/u&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%2Fasmmi7q6ojzzcltb8op0.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%2Fasmmi7q6ojzzcltb8op0.png" alt="Image description" width="350" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To start using &lt;em&gt;NestJS&lt;/em&gt;, you’ll need &lt;em&gt;Node.js&lt;/em&gt; [a tool for running JavaScript] and the &lt;em&gt;NestJS&lt;/em&gt; CLI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g @nestjs/cli
nest new my-nest-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;NestJS&lt;/em&gt; is like a Swiss Army knife for building apps. It has tools for everything &amp;amp; it’s perfect for big projects where you want to keep everything under control..used for almost anything like chatting apps to online stores.&lt;/p&gt;

</description>
      <category>node</category>
      <category>nestjs</category>
      <category>serverless</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Using Open Source Models</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Mon, 02 Dec 2024 14:20:22 +0000</pubDate>
      <link>https://dev.to/taytay836/using-open-source-models-16i2</link>
      <guid>https://dev.to/taytay836/using-open-source-models-16i2</guid>
      <description>&lt;p&gt;&lt;strong&gt;What are Open Source Models?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open source models are pre built machine learning models that anyone can use, modify and share... (Imagine a treasure chest you didn’t bury but can freely open and use. That’s open source!) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why Use Open Source?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;completely free, no payment required.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;access to amazing tecnology like AI(artificial intelligence) and ML(machine learning)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Its built and maintained by a global community of experts. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Two Popular Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;TensorFlow&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;PyTorch&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;both are versatile frameworks with countless pre trained models.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ease of Use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;With open source models you can skip the boring and hard parts, like cleaning and gathering data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many models are 'plug and play' meaning just load and go! Although experimentation is the best teacher, modify the models and learn hands on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Community support is another major factor of ease of use, there's probably already a guide, forum thread, or video tutorial available for what you are trying to do.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real World Use:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Voice Cloning - &lt;em&gt;Tacotron&lt;/em&gt; allows you to create custom voices, for like an audiobook or whatever you may choose.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Image Generation - &lt;em&gt;DALL`E&lt;/em&gt; can create art or designs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Spam Detection - &lt;em&gt;BERT&lt;/em&gt; will analyze tweets to detect spam.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The Secret Sauce&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;aka How to Use Them&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find a model &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;i.e. (&lt;em&gt;Hugging Face, GitHub, TensorFlow Hub&lt;/em&gt;)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install required tools&lt;/li&gt;
&lt;/ol&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%2Fytdu6e4nrnlsi5ythryf.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%2Fytdu6e4nrnlsi5ythryf.png" alt="Image description" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Load the model&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change parameters or feed it your own data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Share your work, post it online, inspire others and get feedback.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Things to Be on The Lookout For:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Hardware requirements&lt;/em&gt; some models need powerful GPU's to work well.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Bias in Models&lt;/em&gt;, they're only as good as the data they were trained on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Licensing&lt;/em&gt;, always check that some models have restrictions on commercial use.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Maintenance&lt;/em&gt;, they aren't always polished to perfection; expect bugs and quirks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;In Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open-source models are like having a powerful AI toolkit at your fingertips, ready to bring your ideas to life. Whether you’re coding for fun, solving a business problem, or just experimenting, they make AI more accessible than ever. They're for everyone artists, students, coders or the simply curious. Embrace them experiment, and join the growing community of creators turning ideas into reality..&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>tensorflow</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Understanding ES6 API's</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Mon, 11 Nov 2024 14:30:54 +0000</pubDate>
      <link>https://dev.to/taytay836/understanding-es6-apis-2je1</link>
      <guid>https://dev.to/taytay836/understanding-es6-apis-2je1</guid>
      <description>&lt;p&gt;When &lt;em&gt;ES6&lt;/em&gt; (also known as &lt;em&gt;ECMAScript&lt;/em&gt; 2015) arrived, it introduced several powerful APIs that expanded javaScript’s capabilities and improved developer experience. Let’s dive into some of the most useful &lt;em&gt;ES6 APIs&lt;/em&gt; and explore how they can make your code cleaner, more efficient, and fun to write.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is an API?&lt;/strong&gt;&lt;br&gt;
An API, or Application Programming Interface, in javaScript is essentially a set of tools and protocols that allow different software components to interact. ES6 APIs provide developers with new built in functionalities that simplify tasks. These tools enable us to work with data structures, manipulate objects, and process promises, to name just a few.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Map and Set&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Map&lt;/em&gt; &amp;amp;&amp;amp; &lt;em&gt;Set&lt;/em&gt; are new data structures introduced in ES6.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Maps&lt;/em&gt; offer a more efficient way to manage key value pairs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sets&lt;/em&gt; are useful for managing unique values without duplicates.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Map Example:&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%2Fjwaus12qgk7oarq2r4a8.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%2Fjwaus12qgk7oarq2r4a8.png" alt="Image description" width="443" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set Example&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%2Fqg6lzpnt552f6drnz2so.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%2Fqg6lzpnt552f6drnz2so.png" alt="Image description" width="527" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt;&lt;br&gt;
Use &lt;em&gt;Maps&lt;/em&gt; when you need a dictionary like structure that maintains key order, and &lt;em&gt;Sets&lt;/em&gt; when you need to store unique values, like filtering out duplicates from an array.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Symbol API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does?&lt;/strong&gt; &lt;em&gt;Symbol&lt;/em&gt; creates a unique identifier that can be used as a key for object properties.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is it important?&lt;/strong&gt; Symbols ensure that no other part of your code can accidentally overwrite or interfere with the property's value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of Symbol API&lt;/strong&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%2F9v936wxvo2vdg3ydkn0g.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%2F9v936wxvo2vdg3ydkn0g.png" alt="Image description" width="586" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fetch API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Fetch API replaces the older XMLHttpRequest (XHR) API for making HTTP requests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fetch allows us to make network requests in a much simpler, promise based method kinda, eliminating the callback difficulty and making the code cleaner and more readable.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fkhc013sj28q3ro7mg9u9.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%2Fkhc013sj28q3ro7mg9u9.png" alt="Image description" width="544" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetch is commonly used to retrieve or send data to APIs in web applications. It’s useful for tasks like loading data when a page opens or submitting forms without reloading the page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Why this is important/matters?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
ES6 APIs help us write more concise, efficient, and manageable code. They reduce the need for verbose callbacks, provide new ways to handle asynchronous actions, and offer data structures for specific use cases, which all contribute to clearer, more robust applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Common Issues&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Always handle fetch errors (such as network failures) to avoid uncaught issues in production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Symbols should be used with care, as they can add complexity if overused.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ending Note&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;ES6 APIs&lt;/em&gt; are valuable tools for modern javaScript development. By mastering these APIs, you can streamline your code, reduce bugs, and increase your efficiency as a developer. I would learn these and more, experiment with these APIs, and see how they can elevate your projects.&lt;/p&gt;

</description>
      <category>es6</category>
      <category>api</category>
      <category>map</category>
    </item>
    <item>
      <title>Using jQuery</title>
      <dc:creator>𐌔𐋅𐌀𐌍𐌊𐌔</dc:creator>
      <pubDate>Fri, 04 Oct 2024 19:59:57 +0000</pubDate>
      <link>https://dev.to/taytay836/using-jquery-50l9</link>
      <guid>https://dev.to/taytay836/using-jquery-50l9</guid>
      <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;What is jQuery?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jQuery is a powerful JavaScript library designed to simplify HTML document manipulation, event handling, and AJAX interactions. By providing an easy to use syntax, jQuery allows developers to create dynamic and interactive web applications efficiently. With its focus on cross browser compatibility and extensive plugin support, jQuery enables rapid development while enhancing user experience across various devices and platforms. Whether you're a beginner or an experienced developer, jQuery streamlines the coding process, making it an essential tool for modern web development. Making it easier to to interact with the Document Object Model (DOM) "write less do more"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;_Cross Browser Compatibility _&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One of jQuery's key strengths is its ability to handle cross-browser issues. jQuery abstracts many of the inconsistencies found in different browsers, allowing developers to write code that works uniformly across Chrome, Firefox, Safari, Internet Explorer, and more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;MDN states:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jQuery makes writing multiple lines of code and tsk and makes more concise and even a single line of code..&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;AJAX Support&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(AJAX, or Asynchronous JavaScript and XML, is a web development technique that allows web applications to communicate with a server asynchronously, meaning data can be sent and received without requiring a full page reload. This enables a more dynamic and responsive user experience.)&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jQuery simplifies AJAX requests, making it easy to load data from servers without refreshing the page. Using methods like &lt;strong&gt;&lt;em&gt;$.ajax(), $.get(), and $.post()&lt;/em&gt;&lt;/strong&gt;, developers can send and receive data asynchronously, improving user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Handling Events with jQuery&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jQuery provides an intuitive way to handle events. It supports a wide range of events (clicks, mouse movements, key presses, etc.) and allows for chaining methods. Using &lt;em&gt;&lt;strong&gt;$('#button').on('click', function() { ... })&lt;/strong&gt;&lt;/em&gt;;, developers can easily attach event handlers to elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Below is an Example of how to implement using Javascript &amp;amp;&amp;amp; jQuery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_// JavaScript&lt;br&gt;
document.getElementById('myButton').addEventListener('click', function() {&lt;br&gt;
    alert('Button clicked!');&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;// jQuery&lt;br&gt;
$('#myButton').click(function() {&lt;br&gt;
    alert('Button clicked!');&lt;br&gt;
});_&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Notice the&lt;/em&gt;&lt;em&gt;_ .click()_&lt;/em&gt;* method is easier to read and manage*&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;DOM Manipulation Made Easy&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;jQuery makes it straightforward to manipulate the DOM. With simple syntax, you can select elements and apply changes like adding or removing classes, modifying attributes, and changing styles. For example,&lt;em&gt;** $('#element').hide()**&lt;/em&gt;; quickly hides an element with the ID element&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With jQuery, changing HTML content or attributes is straightforward. You can easily manipulate the DOM without lengthy JavaScript.&lt;br&gt;
&lt;strong&gt;Example: Changing the text of an element&lt;/strong&gt;&lt;br&gt;
_&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;// JavaScript&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;document.getElementById('heading').innerHTML = 'New Heading';&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;// jQuery&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;$('#heading').text('New Heading');_&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;jQuery's .text() method simplifies this common task&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;_&lt;br&gt;
In the End:_&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;jQuery is a great tool for simplifying tasks like DOM manipulation, event handling, and element selection. While newer JavaScript features (ES6 and beyond) have introduced native solutions that may replace jQuery in modern projects, it remains an excellent choice for beginners and legacy codebases...&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%2Fcz3ivr3ewnyobk4lf97o.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%2Fcz3ivr3ewnyobk4lf97o.png" alt="Image description" width="800" height="410"&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%2Fd6v1llpablr8lf2yhq6o.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%2Fd6v1llpablr8lf2yhq6o.jpeg" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>jquery</category>
      <category>css</category>
      <category>javascript</category>
      <category>html</category>
    </item>
  </channel>
</rss>
