<?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: BHAVIN VIRANI</title>
    <description>The latest articles on DEV Community by BHAVIN VIRANI (@bhavinvirani).</description>
    <link>https://dev.to/bhavinvirani</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%2F578133%2Fe7b055bc-1ac9-46f9-80a5-c56772841827.png</url>
      <title>DEV Community: BHAVIN VIRANI</title>
      <link>https://dev.to/bhavinvirani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bhavinvirani"/>
    <language>en</language>
    <item>
      <title>Sequelize Migration</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Sat, 27 May 2023 09:35:13 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/sequelize-migration-3ad7</link>
      <guid>https://dev.to/bhavinvirani/sequelize-migration-3ad7</guid>
      <description>&lt;p&gt;While working with SQL databases and especially when the application is in the production stage. migration helps to change the current state of the database to another state, and vice versa like Github version control.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's start with all the useful commands
&lt;/h3&gt;



&lt;p&gt;There are some prerequisites to use migration in the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You must have initiated the node project with the npm init command in your project directory.&lt;/li&gt;
&lt;li&gt;Install Sequelze npm package
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i sequelize
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the latest version of sequelize we don't need sequelize-cli package. we can run migration commands by only installing sequelize package.&lt;/p&gt;

&lt;p&gt;That is it, you are good to go.&lt;/p&gt;
&lt;h2&gt;
  
  
  First command after Installing the npm package
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx sequelize init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This will initiate migration setup and create 4 directories in your project structure&lt;br&gt;
1 config&lt;br&gt;
2 migrations&lt;br&gt;
3 models&lt;br&gt;
4 seeders&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%2F0ln34nigibowmy08b8pk.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%2F0ln34nigibowmy08b8pk.png" alt="All Sequelize files" width="199" height="204"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;However we can create this setup for individual directories as well.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx sequelize init:config        // Create config folder and config.json
npx sequelize init:migrations    // Create Migration folder 
npx sequelize init:seeders       // Create seeders folder             
npx sequelize init:models        // Create a model folder and index.js to handle all the models           
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Custom configuration
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We can change the path of all the folders according to the needs of our project structure.&lt;/li&gt;
&lt;li&gt;For that we first need to create ".sequelizerc" file in the root directory of the project and set up our configuration of Sequelize in the newly created file as below given example.
&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%2Fxsc9couojmw7z6yjwit7.png" alt="custom sequelize configration" width="689" height="217"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Create migration files and run migrations
&lt;/h2&gt;

&lt;p&gt;After setting up Sequelize in the project we create migration for our database models with given commands.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// This will create the new migration file
npx sequelize migration:generate &lt;span class="nt"&gt;--name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;creat-user        

// Apply all the pending database migrations
npx sequelize db:migrate

// Apply migration of individual file
npx sequelize db:migrate &lt;span class="nt"&gt;--to&lt;/span&gt; 20230527090813-create-user.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Undo migrations
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// undo migration of specific migration file
npx sequelize db:migrate:undo &lt;span class="nt"&gt;--name&lt;/span&gt; &amp;lt;file_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Create seeder files and run seeders
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// Show the status of current seeder files
npx sequelize db:migrate:status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;create a seeder file
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// create seeder file
sequelize seed:generate &lt;span class="nt"&gt;--name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;users&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Run seeder file
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// Run all the seeder files make sure you run only once
npx sequelize db:seed:all

// Run only spesefic seeder file
sequelize db:seed &lt;span class="nt"&gt;--seed&lt;/span&gt; 20230527092604-users.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  For more content check out my &lt;code&gt;Github 👁&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt; / &lt;a href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Hi, I'm &lt;a href="https://www.linkedin.com/in/bhavinvirani45/" rel="nofollow noopener noreferrer"&gt;Bhavin&lt;/a&gt;. 👋&lt;/h3&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>sequelize</category>
      <category>node</category>
      <category>sql</category>
      <category>database</category>
    </item>
    <item>
      <title>Begin your opensource journey</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Wed, 29 Jun 2022 08:40:34 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/begin-your-opensource-journey-3688</link>
      <guid>https://dev.to/bhavinvirani/begin-your-opensource-journey-3688</guid>
      <description>&lt;p&gt;This blog post is all about contributing to open source projects to get-up, by making opensource contribution anyone can enhance their developer profile and can make connections with new people around the world who have a similar interest.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  So, let's start opensource
&lt;/h4&gt;



&lt;ul&gt;
&lt;li&gt;There are certain prerequisites to make a contribution to open source projects on github. &lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;
  
  
  (1) You must have git installed in your system. if you don't have git preinstalled, then check out this link,
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://www.atlassian.com/git/tutorials/install-git" rel="noopener noreferrer"&gt;git installation&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  (2) You must have a github account to find projects and contribute on github project
&lt;/h5&gt;

&lt;p&gt;That is it, your good to go.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step - 1
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Fork the repository
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;find any github project/repository in which you want to contribute.
Fork any gituhb repository by clicking on &lt;code&gt;Fork&lt;/code&gt; opetion at top-right corner of webpage. This'll automatically create a copy of that project in your github account.
&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%2Fc79i06mmkup9sv9f4cy4.png" alt="Fork-githu-repo" width="388" height="211"&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Step - 2
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Clone the repository to your machine.
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Open cloned repository in your github accout which is shown in your repositories tab.&lt;/li&gt;
&lt;li&gt;Now, click on code button(Green in color) and copty the url of that repository&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&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%2F955999oq7ksqmc8b9ap9.png" alt="code option" width="388" height="211"&gt;&lt;/td&gt;
&lt;td&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%2Fs2ajgovq4upqv55t72n4.png" alt="copy url" width="390" height="279"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;After coping url of repository, open any directory in terminal folder where you want to clone(make copy localy) this project and and run command.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;// Git Command to clone repo
git clone &amp;lt;repo_url&amp;gt;

// For instance
git clone https://github.com/bhavinvirani/bulletproof-react.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step - 3
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Make your new branch
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Now, open cloned repository in terminal or any code editor and make own branch. and make new git branch.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; &amp;lt;new_branch_name&amp;gt;

// Example 
git branch &lt;span class="nt"&gt;-b&lt;/span&gt; improve_view
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Branching is used in version control to maintain stability while isolated changes are made to code and prevent from any code conflicts with production branch (Main branch).&lt;/li&gt;
&lt;li&gt;The name of the branch and the purpose should be reasonable and detailed. To easy to understand.&lt;/li&gt;
&lt;li&gt;here, -b option automatically moves you to newly created Barch '&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Step - 4
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Do changes and commit those changes
&lt;/h4&gt;

&lt;p&gt;if you don't to how to commit, then check out my this blog&lt;br&gt;
&lt;a href="https://dev.to/bhavinvirani/getting-started-with-git-1jlj"&gt;Getting Started with 'Git'&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step - 5
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Push branch on github
&lt;/h4&gt;

&lt;p&gt;Now, Push your changes of new branch on github. While being on your newly created branch from terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push origin &lt;span class="nt"&gt;-u&lt;/span&gt; &amp;lt;your_branch_name&amp;gt;

Example 
git push origin &lt;span class="nt"&gt;-u&lt;/span&gt; improve_view
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;This will create new branch on your forked github repository as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Step - 5
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Make pull request
&lt;/h4&gt;

&lt;p&gt;After successfully pushing your branch on your github repository you'll find out &lt;code&gt;Compare &amp;amp; pull request&lt;/code&gt; option on top of your repository's code section&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%2Fdh08r3d6n8m7b9gwq4vf.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%2Fdh08r3d6n8m7b9gwq4vf.png" alt="compare and pull" width="800" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then you'll be redirected to pull request page and provide required information to the maintainer of that project and give the appropriate pull request title. &lt;/li&gt;
&lt;li&gt;finally submit your pull request by clicking on create pull request button.&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%2Fdr4zvlcfbld98qena23p.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%2Fdr4zvlcfbld98qena23p.png" alt="make pull request" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As soon as project owner/maintainer merge your changes into the master branch of that project. You will be notify regarding the changes have been merged&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  For more knowledge checkout my &lt;code&gt;Github 👁&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt; / &lt;a href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Hi, I'm &lt;a href="https://www.linkedin.com/in/bhavinvirani45/" rel="nofollow noopener noreferrer"&gt;Bhavin&lt;/a&gt;. 👋&lt;/h3&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>github</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Getting Started with 'Git'</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Sun, 27 Jun 2021 11:49:29 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/getting-started-with-git-1jlj</link>
      <guid>https://dev.to/bhavinvirani/getting-started-with-git-1jlj</guid>
      <description>&lt;p&gt;In this Blog i'll cover some basic commands of git, using that command you can easily work with git and Github as beginner.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Before starting this this blog I want to mention that &lt;code&gt;Git&lt;/code&gt; and &lt;code&gt;Github&lt;/code&gt; are not same. many people are understandably confused😕 between this two words at their beginning.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  GitHub is a website for hosting projects that use git for version control.
&lt;/h4&gt;



&lt;h2&gt;
  
  
  What is &lt;code&gt;git&lt;/code&gt; ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Git is a version control system (VCS) that makes easier to track changes to files(code). For example, when you edit a file, git can help you to determine exactly what changed in your file, who changed that file, and why change that.&lt;/li&gt;
&lt;li&gt;Git is a command line tool. it is very useful when we are working on team project or multiple people working on same project&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  What is &lt;code&gt;github&lt;/code&gt; ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub is a Git repository hosting service, but it adds many of its own features. GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features&lt;/li&gt;
&lt;li&gt;Git also helps us to store our code safe and secure🔐 and many people use git and github daily to track their daily work. It makes them different from others.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;To use git we'll need to download and install git on our system by using &lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;git&lt;/a&gt;. There are both options are available in market. command-line interface(CLI) and graphical user interface(GUI) as Github desktop but I recommend CLI for beginners.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After installation to check if git was installed properly or not execute the command:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  First step after Installing Git
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The first thing you should do when you install Git is to set your user-name and email address. This is important because every Git commit uses this information&lt;/li&gt;
&lt;li&gt;you can set your user-name and email using this commands and  also change them at any time
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"&amp;lt;User-Name&amp;gt;"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &amp;lt;Email&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  Create local git repository
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We'll require git repository to use functionalities of git by using given command.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;This'll create hidden &lt;code&gt;.git&lt;/code&gt; folder in current directory. this is the "repository"(or repo) where git stores all of its internal tracking data. Any changes you make to any files within the original folder will now be possible to track.&lt;/li&gt;
&lt;li&gt;The original directory is now referred as working directory.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Staging
&lt;/h2&gt;

&lt;p&gt;The staging area (aka index) is a container where git collects all changes which will be part of the next commit.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use below showen comannd to add individual files into staging area
&lt;code&gt;git add &amp;lt;File1 path&amp;gt; &amp;lt;File2 path&amp;gt;...&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add README.md app/&lt;span class="k"&gt;*&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;we also stage all changes together&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -A
OR
git add .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  status
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;git staus&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Above command is very useful. It gives overall status of working git directory&lt;/li&gt;
&lt;li&gt;The git status command displays the state of the working directory and the staging area. It lets you see which changes have been staged, which haven't, and which files aren't being tracked by Git.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Commit
&lt;/h2&gt;

&lt;p&gt;The "commit" command is used to save your changes to the local repository. we also need commit message it is important to help other people understand what was changed and why you changed it.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;" &amp;lt;Commit message&amp;gt; "&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h2&gt;
  
  
  push
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;git push&lt;/code&gt; command is used to upload local repository content to a remote repository.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;But there is one problem. we can't push directly our local repository to remote repo. in Order to do that first we need create repository on githuib and configure that remote repository with local repository. let's see how&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git remote add &amp;lt;remote_name&amp;gt; &amp;lt;remote_repo_url&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add origin https://github.com/bhavinvirani/my_repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;after creatig a repository on the GitHub, You will find the link on that repository itself&lt;/p&gt;

&lt;p&gt;Now, we can push our data on remote repository using this command&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git push &amp;lt;remote_name&amp;gt; &amp;lt;remote_branch_name&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;If you are pushinga local branch for the first time on a remote, the "-u" option is helpful. It makes sure that a tracking connection between the local and your remote branch.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;After having set tracking connection, you can perform future pushes without providing additional options - since the tracking connection provides default values for the push command.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3&gt;
  
  
  Here i Show whole flow of git commands
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;init&lt;/span&gt;
&lt;span class="c1"&gt;// make same changes in working directory&lt;/span&gt;
&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;A&lt;/span&gt;
&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;commit&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;made some changes in working directory&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;remote&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="nx"&gt;origin&lt;/span&gt; &lt;span class="nx"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//github.com/bhavinvirani/my_repo.git&lt;/span&gt;
&lt;span class="nx"&gt;git&lt;/span&gt; &lt;span class="nx"&gt;push&lt;/span&gt; &lt;span class="nx"&gt;origin&lt;/span&gt; &lt;span class="nx"&gt;master&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;In this blog we learned basic command of git and how to push our local repository to remote repository, It is good to use git and github daily to track our code or data.&lt;/p&gt;

&lt;p&gt;Stay tuned for some advanced git commands and topics like branches and operations with remote repository which I cover in next article of this series&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  checkout my &lt;code&gt;Github 👁&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt; / &lt;a href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Hi, I'm &lt;a href="https://www.linkedin.com/in/bhavinvirani45/" rel="nofollow noopener noreferrer"&gt;Bhavin&lt;/a&gt;. 👋&lt;/h3&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>beginners</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>All you need to know about Mongoose</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Tue, 15 Jun 2021 10:29:12 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/all-you-need-to-know-about-mongoose-hm3</link>
      <guid>https://dev.to/bhavinvirani/all-you-need-to-know-about-mongoose-hm3</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;MnongoDB provides it's native driver to work with our project at server side but it may be large amount of code or repetition in code but it's not the case with &lt;strong&gt;mongooses.&lt;/strong&gt; In this article I am going to tell you how to get started with &lt;code&gt;mongoose&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mongoose is a &lt;strong&gt;Node.js&lt;/strong&gt; package that gives you an interface to play with mongo database. It is very &lt;strong&gt;light weight&lt;/strong&gt; &lt;code&gt;npm&lt;/code&gt; package to use in our application. Mongoose has all sets of methods that help you to connect and access data stored in Mongo database.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mongoose&lt;/strong&gt; is an Object Data Modeling &lt;code&gt;(ODM)&lt;/code&gt; library for MongoDB and Node.js. Mongoose.js provides an abstraction layer on top of MongoDB that eliminates the need to use named collections in native MongoDB driver. Mongoose makes MongoDB &lt;code&gt;easier to work&lt;/code&gt; with MongoDB. Mongoose allow developers to enforce a specific &lt;strong&gt;schema&lt;/strong&gt; of desired object at the application layer.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Mongoose Do ?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;provides schema validation&lt;/li&gt;
&lt;li&gt;It manages relationships between data&lt;/li&gt;
&lt;li&gt;make MongoDB easy to use &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Content of this blog
&lt;/h2&gt;

&lt;p&gt;1. Installing and Requiring Mongoose&lt;br&gt;
2. Connecting To MongoDB database&lt;br&gt;
3. Defining Schema&lt;br&gt;
4. Creating Model&lt;br&gt;
5. Creating and Saving Instance&lt;br&gt;
6. Reading from DB&lt;br&gt;
7. Updating&lt;br&gt;
8. Deleting&lt;/p&gt;
&lt;h2&gt;
  
  
  (1). Installing andRequiring Mongoose &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;install Mongoose npm package in your project directory as dependency using below shown command in terminal.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;npm install mongoose --save&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Require mongoose in your application using this syntax 
&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%2Fhoaw3p58eik9abyul93v.png" alt="require" width="420" height="156"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (2). Connecting To MongoDB database &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Syntex&lt;br&gt;
&lt;code&gt;mongoose.connect(&amp;lt;Database URI&amp;gt;);&lt;/code&gt;&lt;br&gt;
Using connection URI of database we cane connect to database.&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%2F1aypz2ya2z75gspzs3q6.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%2F1aypz2ya2z75gspzs3q6.png" alt="Alt Text" width="496" height="156"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;here test is &lt;strong&gt;Database name&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can get connection Instance by &lt;code&gt;const db = mongoose.connect;&lt;/code&gt;&lt;br&gt;
db object is used to listen the events attached to it.&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%2F1nr70mbpmsx2dpnxdl0a.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%2F1nr70mbpmsx2dpnxdl0a.png" alt="connection methods" width="436" height="318"&gt;&lt;/a&gt;&lt;br&gt;
We can use any function method. so don't get confused😕 by seeing it.&lt;/p&gt;

&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (3). Defining Schema &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;schema is a way to describe *&lt;em&gt;structure of documents *&lt;/em&gt; in database.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Schema accepts only the following Datatype.
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;Date&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Buffer&lt;/li&gt;
&lt;li&gt;ObjectId&lt;/li&gt;
&lt;li&gt;Mixed&lt;/li&gt;
&lt;li&gt;Array
&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%2Fziiwvgom2n3jhjl35bkv.png" alt="Schema" width="723" height="660"&gt;
In above example some Schema validator are used.
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (4). Creating Model &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; Mongoose model provides an interface to the database for creating, querying, updating, deleting etc...&lt;/li&gt;
&lt;li&gt;Model is one type of definition of database collection using &lt;code&gt;collection name&lt;/code&gt; and &lt;code&gt;schema name&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Collection Name must be in &lt;strong&gt;singular&lt;/strong&gt; form
&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%2Fhylpzymyxybjw17wtun3.png" alt="model" width="596" height="156"&gt;

&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (5). Creating and Saving Instance &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We can save object in database using &lt;code&gt;save()&lt;/code&gt; method on model.
&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%2Fbtoff0f0eeu0ckjvgqkv.png" alt="save" width="487" height="372"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (6). Reading from DB &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We can reed data from database using &lt;code&gt;find()&lt;/code&gt; on model and also find document by it's id using &lt;code&gt;findById()&lt;/code&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%2Fzjurcdash93nb93e4xkw.png" alt="fInd" width="664" height="282"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  (7). Updating &lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2F4gua5luvqx0t9nsezkqt.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%2F4gua5luvqx0t9nsezkqt.png" alt="update" width="672" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  (8). Deleting &lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2Fjqm94f652w9qtsyunu0y.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%2Fjqm94f652w9qtsyunu0y.png" alt="delete" width="462" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  For more knowledge checkout my &lt;code&gt;Github 👁&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt; / &lt;a href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;
        bhavinvirani
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Hi, I'm &lt;a href="https://www.linkedin.com/in/bhavinvirani45/" rel="nofollow noopener noreferrer"&gt;Bhavin&lt;/a&gt;. 👋&lt;/h3&gt;

&lt;/div&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bhavinvirani/bhavinvirani" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>node</category>
      <category>mongodb</category>
      <category>beginners</category>
      <category>mongoose</category>
    </item>
    <item>
      <title>2D Vector in C++</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Fri, 11 Jun 2021 08:59:46 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/2d-vector-in-c-23gh</link>
      <guid>https://dev.to/bhavinvirani/2d-vector-in-c-23gh</guid>
      <description>&lt;p&gt;We can define 2D Vector as &lt;code&gt;Vector of Vector&lt;/code&gt; followed by N number of rows where each of the row is individual a vector. in other words 2D vector is almost similar to a &lt;code&gt;array of vectors&lt;/code&gt; but the difference is only in the dynamic properties.&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntex
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;vector &amp;lt;vector&amp;lt;data_type&amp;gt;&amp;gt; vector_name;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vector &amp;lt;vector&amp;lt;int&amp;gt;&amp;gt; vct&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Initializition
&lt;/h2&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%2Fjuta8itp5szdmyn4nm4v.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%2Fjuta8itp5szdmyn4nm4v.png" alt="initialization of vector" width="512" height="258"&gt;&lt;/a&gt;&lt;br&gt;
Here &lt;code&gt;vec&lt;/code&gt; is the vector of vectors. where outer vector &lt;code&gt;vec&lt;/code&gt; represent row as 2D matrix and every sub vectors represent column elements of particular row vector.&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%2Frcexv3yxkhb87pvz926t.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%2Frcexv3yxkhb87pvz926t.png" alt="limit vector initialization " width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;N = Number of rows&lt;/li&gt;
&lt;li&gt;M - Number of columns
Here 2D vector contains &lt;code&gt;N&lt;/code&gt; number sub vectors(row) and every sub vector has &lt;code&gt;M&lt;/code&gt; number of elements vale of &lt;code&gt;0&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// output of previous initialization &lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt; 
  &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; 
  &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&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;h2&gt;
  
  
  Iteration on 2D vector
&lt;/h2&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%2F62xuspd1427zfq1kf7g6.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%2F62xuspd1427zfq1kf7g6.png" alt="Iteration on 2D vector on 2D vector" width="529" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;vect.begin()&lt;/code&gt; – It returns an iterator to the first vector in a 2-D vector.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vect.end()&lt;/code&gt; – It returns an iterator to the end of the 2-D vector.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vect.size()&lt;/code&gt;– It returns number of elements in vector
&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%2Fqtma9p7w1e2el0t4qici.png" alt="push and pop in vector" width="512" height="534"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;v.push_back&lt;/code&gt; – Add vector to the empty 2-D vector &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;v.pop_back()&lt;/code&gt; – Remove the last vector from a 2-D vector&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cpp</category>
    </item>
    <item>
      <title>Vector in C++</title>
      <dc:creator>BHAVIN VIRANI</dc:creator>
      <pubDate>Thu, 10 Jun 2021 16:27:36 +0000</pubDate>
      <link>https://dev.to/bhavinvirani/vector-in-c-4550</link>
      <guid>https://dev.to/bhavinvirani/vector-in-c-4550</guid>
      <description>&lt;p&gt;&lt;code&gt;Vectors in C++&lt;/code&gt; are sequence containers representing arrays that can change their size during runtime. They use contiguous storage locations for their elements.&lt;/p&gt;

&lt;h2&gt;
  
  
  1D Vectors
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Syntax
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;vector&amp;lt;data_type&amp;gt; variable_name&lt;/code&gt;&lt;br&gt;
&lt;code&gt;vector&amp;lt;int&amp;gt; vect;&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Initializition of vector
&lt;/h3&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%2Fcs79ly4mn0wq0bgwuelb.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%2Fcs79ly4mn0wq0bgwuelb.png" alt="Initializition of vector" width="723" height="690"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Iteration on vector
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;  &lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;vect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;vect&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;vector&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;vect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// Traversing the vector using&lt;/span&gt;
&lt;span class="c1"&gt;// values directly&lt;/span&gt;
&lt;span class="c1"&gt;// no need to define datatype of vector&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;auto&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;vect&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="c1"&gt;// Print the values&lt;/span&gt;
        &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="sc"&gt;' '&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;h3&gt;
  
  
  Insert Elements into vector
&lt;/h3&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%2Fhl608qkx1xfufl238soh.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%2Fhl608qkx1xfufl238soh.png" alt="Insert Elements in vector" width="631" height="654"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Access Elements of vector
&lt;/h3&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%2Fzwkg448rc6a40x37emnc.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%2Fzwkg448rc6a40x37emnc.png" alt="Access Elements of vector" width="782" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  deleting vector elements
&lt;/h3&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%2F6d3h3kwywhw9hx6dro7b.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%2F6d3h3kwywhw9hx6dro7b.png" alt="deleting vector elements" width="648" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Other functions
&lt;/h3&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%2Fn4alk3ck5wedramn5gwp.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%2Fn4alk3ck5wedramn5gwp.png" alt="Other functions" width="673" height="564"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Vector ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Size of arrays are fixed whereas the vectors are resizable i.e they can grow and shrink as vectors are allocated on heap memory. Arrays have to be deallocated explicitly if defined dynamically whereas vectors are automatically de-allocated from heap memory.&lt;/li&gt;
&lt;li&gt;Reserve space can be given for vector, whereas for arrays you cannot give reserved space.&lt;/li&gt;
&lt;li&gt;A vector is a class whereas an array is a datatype.&lt;/li&gt;
&lt;li&gt;Vectors can store any type of objects, whereas an array can store only homogeneous values.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cpp</category>
    </item>
  </channel>
</rss>
