<?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: ihtesham510</title>
    <description>The latest articles on DEV Community by ihtesham510 (@ihteshamulhaq510).</description>
    <link>https://dev.to/ihteshamulhaq510</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%2F935021%2F28902c10-9431-424c-b250-54d1677e23a0.jpg</url>
      <title>DEV Community: ihtesham510</title>
      <link>https://dev.to/ihteshamulhaq510</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ihteshamulhaq510"/>
    <language>en</language>
    <item>
      <title>React Ecosystem in 2023.</title>
      <dc:creator>ihtesham510</dc:creator>
      <pubDate>Sat, 17 Jun 2023 07:04:07 +0000</pubDate>
      <link>https://dev.to/ihteshamulhaq510/react-ecosystem-in-2023-5aj4</link>
      <guid>https://dev.to/ihteshamulhaq510/react-ecosystem-in-2023-5aj4</guid>
      <description>&lt;h1&gt;
  
  
  React Ecosystem in 2023
&lt;/h1&gt;

&lt;p&gt;As the technology are evolving the tools and library are also evolving. recently the million.js was released that makes react 70% faster. For a beginner it can be quite challenging to chose the correct library.&lt;/p&gt;

&lt;p&gt;Here i will list some react libraries which you can learn and become a react developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build tools.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vitejs.dev/"&gt;vite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nextjs.org/"&gt;nextjs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webpack.js.org/"&gt;Webpack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Routing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reactrouter.com/en/main"&gt;react router&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tanstack.com/"&gt;tanstack router&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; if your are using nextjs you don't need a router because it comes with builtin router.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Client State Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://redux-toolkit.js.org/"&gt;redux toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zustand-demo.pmnd.rs/"&gt;zustand&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Server State Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tanstack.com/query/latest"&gt;tanstack query&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://redux-toolkit.js.org/rtk-query/overview"&gt;redux-toolkit query&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.apollographql.com/docs/react/"&gt;Apollo Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pmndrs/jotai"&gt;jotai&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Form Handling
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://formik.org/"&gt;Formik&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.react-hook-form.com/"&gt;React Hook Form&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vitest.dev/"&gt;Vitest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://testing-library.com/docs/react-testing-library/intro/"&gt;React Testing library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://playwright.dev/"&gt;Play-write&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Styling
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/"&gt;Tailwindcss&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://styled-components.com/"&gt;Styled-components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://emotion.sh/docs/introduction"&gt;Emotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  UI Components library
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mui.com/"&gt;Material UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mantine.dev/"&gt;Man time UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ant.design/"&gt;Ant Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chakra-ui.com/"&gt;Chakra UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://headlessui.com/"&gt;Headless UI(tailwindcss)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://daisyui.com/"&gt;DaisyUI(Tailwindcss)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ui.shadcn.com/"&gt;shadcn UI(Tailwindcss)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://react-bootstrap.netlify.app/docs/components/accordion"&gt;React Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Animation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.react-spring.dev/"&gt;React Spring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.framer.com/motion/"&gt;Framer motion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data Vizualization
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://formidable.com/open-source/victory/docs/"&gt;Victory charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://react-chartjs-2.js.org/"&gt;React Charts js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://recharts.org/en-US/"&gt;Recharts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tanstack.com/table/v8"&gt;Tanstack table&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Internationalization (i18n)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react.i18next.com/"&gt;react-i18next&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://formatjs.io/"&gt;formatjs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DevTools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;react developer tools&lt;/li&gt;
&lt;li&gt;Redux dev tool&lt;/li&gt;
&lt;li&gt;testing playground&lt;/li&gt;
&lt;li&gt;react hook form dev tools&lt;/li&gt;
&lt;li&gt;AxeDev Tool (Accessibility)&lt;/li&gt;
&lt;li&gt;Tanstack query dev tools&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>reactnative</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to install MongoDB on Ubuntu 22.0 LTS</title>
      <dc:creator>ihtesham510</dc:creator>
      <pubDate>Fri, 09 Dec 2022 13:00:17 +0000</pubDate>
      <link>https://dev.to/ihteshamulhaq510/how-to-install-mongodb-on-ubuntu-220-lts-1g</link>
      <guid>https://dev.to/ihteshamulhaq510/how-to-install-mongodb-on-ubuntu-220-lts-1g</guid>
      <description>&lt;h1&gt;
  
  
  Install the Dependencies
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
apt &lt;span class="nb"&gt;install &lt;/span&gt;dirmngr gnupg apt-transport-https ca-certificates software-properties-common
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Add MongoDB GDB key
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wget &lt;span class="nt"&gt;-qO&lt;/span&gt; - https://www.mongodb.org/static/pgp/server-5.0.asc | &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-key add -

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

&lt;/div&gt;



&lt;h1&gt;
  
  
  Create a list for MongoDB
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse"&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/mongodb-org-5.0.list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;update the local package Datebase&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;install the mongodb using the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; mongodb-org
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you run into an error like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Some packages could not be installed. This may mean that you have
requested an impossible situation or &lt;span class="k"&gt;if &lt;/span&gt;you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may &lt;span class="nb"&gt;help &lt;/span&gt;to resolve the situation:

The following packages have unmet dependencies:
 mongodb-org-mongos : Depends: libssl1.1 &lt;span class="o"&gt;(&amp;gt;=&lt;/span&gt; 1.1.1&lt;span class="o"&gt;)&lt;/span&gt; but it is not installable
 mongodb-org-server : Depends: libssl1.1 &lt;span class="o"&gt;(&amp;gt;=&lt;/span&gt; 1.1.1&lt;span class="o"&gt;)&lt;/span&gt; but it is not installable
E: Unable to correct problems, you have held broken packages.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the folloing commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"deb http://security.ubuntu.com/ubuntu focal-security main"&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/focal-security.list

&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update

&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;libssl1.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the MongoDB service and enable it to start automatically after rebooting the system.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl start mongod
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;mongod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, check the status of the MongoDB service.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl status mongod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;root@crown:~# systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded &lt;span class="o"&gt;(&lt;/span&gt;/lib/systemd/system/mongod.service&lt;span class="p"&gt;;&lt;/span&gt; enabled&lt;span class="p"&gt;;&lt;/span&gt; vendor preset&amp;gt;
     Active: active &lt;span class="o"&gt;(&lt;/span&gt;running&lt;span class="o"&gt;)&lt;/span&gt; since Wed 2022-03-23 18:54:34 UTC&lt;span class="p"&gt;;&lt;/span&gt; 51min ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 3619 &lt;span class="o"&gt;(&lt;/span&gt;mongod&lt;span class="o"&gt;)&lt;/span&gt;
     Memory: 172.3M
        CPU: 18.403s
     CGroup: /system.slice/mongod.service
             └─3619 /usr/bin/mongod &lt;span class="nt"&gt;--config&lt;/span&gt; /etc/mongod.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To verify whether the installation has completed successfully by running the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mongo &lt;span class="nt"&gt;--eval&lt;/span&gt; &lt;span class="s1"&gt;'db.runCommand({ connectionStatus: 1 })'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;root@crown:~# mongo &lt;span class="nt"&gt;--eval&lt;/span&gt; &lt;span class="s1"&gt;'db.runCommand({ connectionStatus: 1 })'&lt;/span&gt;
MongoDB shell version v5.0.6
connecting to: mongodb://127.0.0.1:27017/?compressors&lt;span class="o"&gt;=&lt;/span&gt;disabled&amp;amp;gssapiServiceName&lt;span class="o"&gt;=&lt;/span&gt;mongodb
Implicit session: session &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;"id"&lt;/span&gt; : UUID&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"9722b711-f1f0-43f2-aec6-f6172da9d237"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
MongoDB server version: 5.0.6
&lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"authInfo"&lt;/span&gt; : &lt;span class="o"&gt;{&lt;/span&gt;
                &lt;span class="s2"&gt;"authenticatedUsers"&lt;/span&gt; : &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;,
                &lt;span class="s2"&gt;"authenticatedUserRoles"&lt;/span&gt; : &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;,
        &lt;span class="s2"&gt;"ok"&lt;/span&gt; : 1
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Creating Administrative MongoDB user
&lt;/h1&gt;

&lt;p&gt;First, access the MongoDB shell.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mongo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;root@crown:~#  mongo
MongoDB shell version v5.0.6
connecting to: mongodb://127.0.0.1:27017/?compressors&lt;span class="o"&gt;=&lt;/span&gt;disabled&amp;amp;gssapiServiceName&lt;span class="o"&gt;=&lt;/span&gt;mongodb
Implicit session: session &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;"id"&lt;/span&gt; : UUID&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"08890b80-d543-47c1-8523-57ac3c66cf73"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
MongoDB server version: 5.0.6
&lt;span class="o"&gt;================&lt;/span&gt;
Warning: the &lt;span class="s2"&gt;"mongo"&lt;/span&gt; shell has been superseded by &lt;span class="s2"&gt;"mongosh"&lt;/span&gt;,
which delivers improved usability and compatibility.The &lt;span class="s2"&gt;"mongo"&lt;/span&gt; shell has been deprecated and will be removed &lt;span class="k"&gt;in
&lt;/span&gt;an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Connect to the admin Database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;use admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; use admin
switched to db admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;List the users and see if you can list the created user.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;show &lt;span class="nb"&gt;users&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; show &lt;span class="nb"&gt;users&lt;/span&gt;
&lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"_id"&lt;/span&gt; : &lt;span class="s2"&gt;"admin.mongoAdmin"&lt;/span&gt;,
        &lt;span class="s2"&gt;"userId"&lt;/span&gt; : UUID&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"861b55a3-eaf2-4617-ac4e-34f5284f8a87"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;,
        &lt;span class="s2"&gt;"user"&lt;/span&gt; : &lt;span class="s2"&gt;"mongoAdmin"&lt;/span&gt;,
        &lt;span class="s2"&gt;"db"&lt;/span&gt; : &lt;span class="s2"&gt;"admin"&lt;/span&gt;,
        &lt;span class="s2"&gt;"roles"&lt;/span&gt; : &lt;span class="o"&gt;[&lt;/span&gt;
                &lt;span class="o"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"role"&lt;/span&gt; : &lt;span class="s2"&gt;"userAdminAnyDatabase"&lt;/span&gt;,
                        &lt;span class="s2"&gt;"db"&lt;/span&gt; : &lt;span class="s2"&gt;"admin"&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;]&lt;/span&gt;,
        &lt;span class="s2"&gt;"mechanisms"&lt;/span&gt; : &lt;span class="o"&gt;[&lt;/span&gt;
                &lt;span class="s2"&gt;"SCRAM-SHA-1"&lt;/span&gt;,
                &lt;span class="s2"&gt;"SCRAM-SHA-256"&lt;/span&gt;
        &lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;This concludes the installation and setup of MongoDB on your Ubuntu 22.04 server.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>mongodb</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Spice up your Ubuntu terminal (Using zsh and powerlevel10k repo.)</title>
      <dc:creator>ihtesham510</dc:creator>
      <pubDate>Sun, 13 Nov 2022 16:42:46 +0000</pubDate>
      <link>https://dev.to/ihteshamulhaq510/spice-up-your-ubuntu-terminal-using-zsh-and-powerlevel10k-repo-1l1b</link>
      <guid>https://dev.to/ihteshamulhaq510/spice-up-your-ubuntu-terminal-using-zsh-and-powerlevel10k-repo-1l1b</guid>
      <description>&lt;h1&gt;
  
  
  Install zsh
&lt;/h1&gt;

&lt;p&gt;First install zsh using&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;now set zsh as your shell&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;chsh /bin/zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;now restart your machine and open your terminal &lt;/p&gt;

&lt;p&gt;if you see some option just press (2)&lt;/p&gt;

&lt;p&gt;now check if your using the zsh by running the following command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Install oh my zsh.
&lt;/h1&gt;

&lt;p&gt;now install oh my zsh &lt;/p&gt;

&lt;p&gt;using&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;here you will see something like this &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hGIcokUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0umjep1ykms3simj8uav.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hGIcokUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0umjep1ykms3simj8uav.png" alt="Image description" width="801" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now add your fonts &lt;/p&gt;

&lt;p&gt;you can skip this step if you want &lt;/p&gt;

&lt;p&gt;First install gnome tweaks&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;gnome-tweaks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you want to add custom fonts just create a folder and name it ( .fonts ) and add all your fonts init&lt;/p&gt;

&lt;p&gt;now open gnome tweaks&lt;/p&gt;

&lt;p&gt;then int the font option change the monospace text to the fonts you want to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xqlp0sP_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hlcl9x855r0f3t4j5pkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xqlp0sP_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hlcl9x855r0f3t4j5pkh.png" alt="Image description" width="880" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Powerlevel10k Repo.
&lt;/h1&gt;

&lt;p&gt;Now you can install the power level 10k repo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="k"&gt;**&lt;/span&gt;git clone &lt;span class="nt"&gt;--depth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1 https://github.com/romkatv/powerlevel10k.git &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ZSH_CUSTOM&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="p"&gt;/.oh-my-zsh/custom&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;/themes/powerlevel10k&lt;span class="k"&gt;**&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;now open .zshrc&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gedit ~/.zshrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PMHKgSaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rjhbaqm4htp1ork3tdit.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PMHKgSaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rjhbaqm4htp1ork3tdit.png" alt="Image description" width="727" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now change the roggyrussell to powerlevel10k/powerlevel10k and restart the terminal.&lt;/p&gt;

&lt;p&gt;Now customize it to your liking and by any chance if your not happy with your customization you can restart from the beginning.&lt;/p&gt;

&lt;p&gt;here’s what i did.&lt;/p&gt;

&lt;p&gt;and here’s the final result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pDtSx1gl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cgyct3ay2tkqq6jb1p9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pDtSx1gl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cgyct3ay2tkqq6jb1p9.png" alt="Image description" width="808" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>linux</category>
      <category>vscode</category>
      <category>github</category>
    </item>
    <item>
      <title>JavaScript String methods</title>
      <dc:creator>ihtesham510</dc:creator>
      <pubDate>Fri, 11 Nov 2022 07:10:51 +0000</pubDate>
      <link>https://dev.to/ihteshamulhaq510/javascript-string-methods-8pb</link>
      <guid>https://dev.to/ihteshamulhaq510/javascript-string-methods-8pb</guid>
      <description>&lt;p&gt;Method  Description&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;charAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;//returns the character at the specified index&lt;/span&gt;
&lt;span class="nx"&gt;concat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    &lt;span class="c1"&gt;//joins two or more strings&lt;/span&gt;
&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;   &lt;span class="c1"&gt;//replaces a string with another string&lt;/span&gt;
&lt;span class="nx"&gt;split&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;         &lt;span class="c1"&gt;//converts the string to an array of strings&lt;/span&gt;
&lt;span class="nx"&gt;substr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;//returns a part of a string&lt;/span&gt;
&lt;span class="nx"&gt;substring&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    &lt;span class="c1"&gt;//returns a part of a string&lt;/span&gt;
&lt;span class="nx"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;//returns a part of a string&lt;/span&gt;
&lt;span class="nx"&gt;toLowerCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;   &lt;span class="c1"&gt;//returns the passed string in lower case&lt;/span&gt;
&lt;span class="nx"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;   &lt;span class="c1"&gt;//returns the passed string in upper9 case&lt;/span&gt;
&lt;span class="nx"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;//removes whitespace from the strings&lt;/span&gt;
&lt;span class="nx"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;//searches for a string and returns a boolean value&lt;/span&gt;
&lt;span class="nx"&gt;search&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    &lt;span class="c1"&gt;//searches for a string and returns a position of a match&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>JS-Project for Beginners.</title>
      <dc:creator>ihtesham510</dc:creator>
      <pubDate>Wed, 02 Nov 2022 08:15:20 +0000</pubDate>
      <link>https://dev.to/ihteshamulhaq510/js-project-for-beginners-41ol</link>
      <guid>https://dev.to/ihteshamulhaq510/js-project-for-beginners-41ol</guid>
      <description>&lt;p&gt;In this &lt;a href="https://github.com/ihtesham510/Javascipt-Projects/blob/main/Random-Number-Generator/Readme.md"&gt;Project&lt;/a&gt;, we will generate a random number between 0 and 10, then  tell the number if its even or odd. Then finally we'll add the numbers generated randomly.&lt;/p&gt;

&lt;h1&gt;
  
  
  1.HTML file
&lt;/h1&gt;

&lt;p&gt;First create an html file and add the Title with &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; tag then, &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt; tag which will contain our number, &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt; tag which will tell us that the number is even or odd. &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt; tag for title saying Total, finally a &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt; tag for number for counting our total number. &lt;br&gt;
Finally add a button.&lt;br&gt;
This is how it should look like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;    &lt;span class="nt"&gt;&amp;lt;h1&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"gen"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Random Number Generator&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"num"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;0&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;h1&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Unknown&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Total&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"total"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;0&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn"&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;onclick=&lt;/span&gt;&lt;span class="s"&gt;"random()"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Generator&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt; 
     &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"index.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  2.Random Number Generator.
&lt;/h1&gt;

&lt;p&gt;Now we will create our JavaScript file. &lt;br&gt;
First create a function  and in it assign a variable num&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;Math.random()&lt;/code&gt; will generate numbers between 0.1 to 0.9, but we don't want that number so we will multiply them with 11 and round the numbers using &lt;code&gt;Math.floor()&lt;/code&gt; .&lt;/p&gt;

&lt;p&gt;Now add the code to change our inner text to randomly generated number just below the variable we assigned;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;num&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When the function &lt;code&gt;random()&lt;/code&gt; is called it will change our inner text to randomly generated number.&lt;/p&gt;

&lt;h1&gt;
  
  
  3.even() or odd()
&lt;/h1&gt;

&lt;p&gt;Now for the second part tell if its even or odd.&lt;br&gt;
first assign a variable &lt;code&gt;a&lt;/code&gt; which will get our element form html&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;second create two functions within our function&lt;br&gt;
named &lt;code&gt;even()&lt;/code&gt; and &lt;code&gt;odd()&lt;/code&gt; which will change our html inner text&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;                          &lt;/span&gt; 
 &lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Number is odd.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
 &lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; 
 &lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nx"&gt;even&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="err"&gt;      &lt;/span&gt;
 &lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Number is even.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
 &lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now add an if and else statement, if the number modulo 2 equals to zero then execute function &lt;code&gt;even()&lt;/code&gt; if not then execute &lt;code&gt;odd()&lt;/code&gt; .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt;  &lt;span class="c1"&gt;// if the number is even&lt;/span&gt;
    &lt;span class="nx"&gt;even&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;         &lt;span class="c1"&gt;// the even function will be called.&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  &lt;span class="c1"&gt;// if not &lt;/span&gt;
    &lt;span class="nx"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;          &lt;span class="c1"&gt;// then odd function will be called.&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;%&lt;/code&gt; in the code represents modulo&lt;/p&gt;

&lt;h1&gt;
  
  
  4.Total numbers
&lt;/h1&gt;

&lt;p&gt;Now we can begin our final part.&lt;br&gt;
First assign a variable above our &lt;code&gt;random()&lt;/code&gt; function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now add another variable in the &lt;code&gt;random()&lt;/code&gt; function and assign it to get the element by its id &lt;code&gt;getElementbyId()&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;equl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementbyId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;total&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;now we will add another variable which will add number randomly generated with the total variable that we declared above the &lt;code&gt;random()&lt;/code&gt; function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you don't use the total variable like given above and use it like this :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then it will not work.&lt;br&gt;
because total numbers are not adding to the total variable continuously.&lt;br&gt;
we can also write it that another way :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;finally change the innerText of the html to the total variable&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;equl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you finall code should look like this :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;num&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;    &lt;span class="c1"&gt;// creating a variable to short the code. LOL.&lt;/span&gt;


  &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;                          &lt;span class="c1"&gt;// if called this will change the text to "Number id odd".&lt;/span&gt;
    &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Number is odd.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;even&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;                         &lt;span class="c1"&gt;// if called this will change the text to "Number is even".&lt;/span&gt;
    &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Number is even.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;


  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt;  &lt;span class="c1"&gt;// if the number is even&lt;/span&gt;
    &lt;span class="nx"&gt;even&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;         &lt;span class="c1"&gt;// the even function will be called.&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  &lt;span class="c1"&gt;// if not &lt;/span&gt;
    &lt;span class="nx"&gt;odd&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;          &lt;span class="c1"&gt;// then odd function will be called.&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;equl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;total&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// creating a variable to short the code. LOL.&lt;/span&gt;
  &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// will add the previous value and number generated.&lt;/span&gt;
  &lt;span class="nx"&gt;equl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;       &lt;span class="c1"&gt;// this will change the inner text to the total amount&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;I tried my best to make my-self clear if you don't understand then let me know in the comments.&lt;br&gt;
Now lets test it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uL9YZzHe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhuq2jhjbmry09rzsd0a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uL9YZzHe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhuq2jhjbmry09rzsd0a.png" alt="Here we have our finall result" width="462" height="488"&gt;&lt;/a&gt;&lt;br&gt;
As you can see when i clicked the button it randomly generated our number, told us its even  and added the number with our total number &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JvF3Dert--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/feznkvxiyzk5vb1pif38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JvF3Dert--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/feznkvxiyzk5vb1pif38.png" alt="Image description" width="462" height="488"&gt;&lt;/a&gt;&lt;br&gt;
when i click the button again it again added the number to the total number and told us that number is odd.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tA1bK27H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h16jkp0mzxr01y9leu9x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tA1bK27H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h16jkp0mzxr01y9leu9x.png" alt="Image description" width="462" height="488"&gt;&lt;/a&gt;&lt;br&gt;
Here is the live &lt;a href="https://codepen.io/ihteshamulhaq510/full/eYKOwoV"&gt;Demo&lt;/a&gt;&lt;br&gt;
And is the Github repo : &lt;a href="https://github.com/ihtesham510/Javascipt-Projects"&gt;Javascript-Projects&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>html</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
