<?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: Saumya Agnihotri</title>
    <description>The latest articles on DEV Community by Saumya Agnihotri (@saumyaagnihotri).</description>
    <link>https://dev.to/saumyaagnihotri</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%2F97415%2Fc2028aea-ea0d-41f1-aa87-d66b77730893.jpeg</url>
      <title>DEV Community: Saumya Agnihotri</title>
      <link>https://dev.to/saumyaagnihotri</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saumyaagnihotri"/>
    <language>en</language>
    <item>
      <title>Introduction to Servlets</title>
      <dc:creator>Saumya Agnihotri</dc:creator>
      <pubDate>Sat, 11 Sep 2021 19:02:33 +0000</pubDate>
      <link>https://dev.to/saumyaagnihotri/introduction-to-servlets-331f</link>
      <guid>https://dev.to/saumyaagnihotri/introduction-to-servlets-331f</guid>
      <description>&lt;p&gt;While surfing any website on the internet, for any page in it there are two things that happens, request and response between the client and server. Client sends a request to retrieve any page and response comes from the server. &lt;/p&gt;

&lt;p&gt;There are basically two types of pages - static and dynamic. Dynamic pages are those pages which are created during run time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Web containers
&lt;/h2&gt;

&lt;p&gt;So now to understand where servlets fits in this picture, we need to understand something called web containers which are nothing but helper applications which are used to generate these dynamic pages. These helper functions contains servlets for the same purpose. Apache Tomcat is one of the examples for web containers. &lt;/p&gt;

&lt;h2&gt;
  
  
  Servlets
&lt;/h2&gt;

&lt;p&gt;Now what exactly this servlet does and what it is exactly? It's nothing but a java file which can take the request from the client on the internet and it can process that request and it can provide you a response in the form of an HTML page. It's a normal class that extends HttpServlets&lt;/p&gt;

&lt;h2&gt;
  
  
  Deployment Descriptor
&lt;/h2&gt;

&lt;p&gt;Now how does this web container will know which servlet is suitable for handling any incoming request. Well, for that we have web.xml files which are also know as deployment descriptor. Here you mention for which request which servlet should be called.&lt;/p&gt;

</description>
      <category>java</category>
      <category>webdev</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>How to keep your local changes while pulling the code</title>
      <dc:creator>Saumya Agnihotri</dc:creator>
      <pubDate>Tue, 24 Nov 2020 16:11:58 +0000</pubDate>
      <link>https://dev.to/saumyaagnihotri/how-to-keep-your-changes-while-pulling-the-code-381c</link>
      <guid>https://dev.to/saumyaagnihotri/how-to-keep-your-changes-while-pulling-the-code-381c</guid>
      <description>&lt;p&gt;If you are working on a project in a team and you have used GitHub as your version control system then you might have come across a situation where you're working on some feature but the work hasn't finished yet and there are some update from other member and now you need to pull the code again from remote repository.&lt;/p&gt;

&lt;p&gt;Now a problem arises here, while you're pulling the code your changes (work in progress) will be overridden and you will lose your code that wasn't committed. So in such scenarios, you can use a git command known as git stash.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Git Stash?
&lt;/h2&gt;

&lt;p&gt;Git stash will solve the problem faced in the above scenario. You can keep your changes similar to keeping a draft and then after pulling the remote repo code you can go back to draft version and apply the changes again.&lt;/p&gt;

&lt;p&gt;So the usual flow will go like this :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You are working on some unfinished feature and you need to save this (draft)&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;          git stash
           or 
          git stash save "feature X"
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now you pull the code&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;          git pull origin master
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Restore the work you were doing for feature X using below command&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;          git stash apply
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. You are done ✅&lt;/p&gt;

&lt;p&gt;For learning more about git stash you can refer to these resources :&lt;/p&gt;

&lt;h3&gt;
  
  
  Links -
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=DeU6opFU_zw&amp;amp;feature=youtu.be"&gt;Git STASH Explained in Simple Words&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.atlassian.com/git/tutorials/saving-changes/git-stash"&gt;Git Stash tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>todayilearned</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Levels and Methods In Software Testing</title>
      <dc:creator>Saumya Agnihotri</dc:creator>
      <pubDate>Sun, 01 Nov 2020 06:11:30 +0000</pubDate>
      <link>https://dev.to/saumyaagnihotri/software-testing-444m</link>
      <guid>https://dev.to/saumyaagnihotri/software-testing-444m</guid>
      <description>&lt;p&gt;Testing Software is a very crucial phase of the whole software development cycle. It is generally done in 4 levels :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unit Testing&lt;/li&gt;
&lt;li&gt;Integration Testing&lt;/li&gt;
&lt;li&gt;System Testing&lt;/li&gt;
&lt;li&gt;Acceptance Testing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let's discuss each one of them briefly. &lt;/p&gt;

&lt;h4&gt;
  
  
  Unit Testing -
&lt;/h4&gt;

&lt;p&gt;First level of testing which is done right after coding any module by the developer. It ensures that a module is working fine independently. &lt;/p&gt;

&lt;h4&gt;
  
  
  Integration Testing -
&lt;/h4&gt;

&lt;p&gt;Integration Testing is done after unit testing where it is checked whether all modules are working as intended when they are integrated. But sometimes we don't have all the modules completed and integration testing keeps on happening along with the development. So now the question arises what do we do in that case? Well, for that case we have dummy programs which are known as stubs and drivers. Stubs are the called function and drivers are the calling function. &lt;/p&gt;

&lt;h4&gt;
  
  
  System Testing -
&lt;/h4&gt;

&lt;p&gt;System Testing is also called an end to end testing. It is performed to ensure whether the integrated code is working fine with the perspective of the user. &lt;/p&gt;

&lt;h4&gt;
  
  
  Acceptance Testing -
&lt;/h4&gt;

&lt;p&gt;Acceptance Testing is the final stage of the whole testing process and it is done by the end-user where it is ensured that the software is ready for production.&lt;/p&gt;

&lt;p&gt;Now let's look at the various methods of testing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Black box testing&lt;/li&gt;
&lt;li&gt;White box testing&lt;/li&gt;
&lt;li&gt;Gray box testing&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Black box testing -
&lt;/h4&gt;

&lt;p&gt;In this, you don't need to have any prior knowledge about the internal structure or implementation of the system. It can be applied to every level of testing (Unit, Integration, System &amp;amp; Acceptance). It is very useful in enhancing the end-user experience.&lt;/p&gt;

&lt;h4&gt;
  
  
  White box testing -
&lt;/h4&gt;

&lt;p&gt;For white box testing, the tester needs to know about the internal structure of the system being tested. It can be done at unit, integration &amp;amp; system levels of testing. &lt;/p&gt;

&lt;p&gt;Simply put, in white box testing we test the actual code while in case of the black box testing, we test the software from a user's point of view.&lt;/p&gt;

&lt;h4&gt;
  
  
  Gray box testing -
&lt;/h4&gt;

&lt;p&gt;Gray box testing is also known as translucent testing. In this, only limited knowledge about the internal structure is known. The objective here is to find out the defects resulted from the bad structure of code.&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>testing</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
