<?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: Shreeprabha bhat</title>
    <description>The latest articles on DEV Community by Shreeprabha bhat (@shreeprabha_bhat).</description>
    <link>https://dev.to/shreeprabha_bhat</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%2F1515053%2F1108bceb-3681-4301-a3c7-d8a4e9a95eb7.png</url>
      <title>DEV Community: Shreeprabha bhat</title>
      <link>https://dev.to/shreeprabha_bhat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shreeprabha_bhat"/>
    <language>en</language>
    <item>
      <title>Why I Switched from H2 to MongoDB in My Growing Spring Boot App</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Sun, 26 Oct 2025 15:31:59 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/why-i-switched-from-h2-to-mongodb-in-my-growing-spring-boot-app-2c3a</link>
      <guid>https://dev.to/shreeprabha_bhat/why-i-switched-from-h2-to-mongodb-in-my-growing-spring-boot-app-2c3a</guid>
      <description>&lt;p&gt;When I started building my Expense Tracker application, all I cared about was testing my APIs without the complications of setting up a database. I just needed something lightweight that would let me test my APIs and move fast.&lt;/p&gt;

&lt;p&gt;That’s when I chose H2 Database. It was easy, embedded, and worked right out of the box. But as my application grew and I started incorporating real life scenarios into the app, I began hitting the limitations of H2. That’s when I realized it was time to move to something more scalable and production ready MongoDB.&lt;/p&gt;

&lt;p&gt;Honestly, my decision to use MongoDB wasn’t driven by any specific reason. It was simply pre installed on my computer, and I made the laziest move possible I went ahead and used what was already available.&lt;/p&gt;

&lt;p&gt;I also had hands on experience testing MongoDB applications when I worked as a tester. Now, using MongoDB to develop my application after switching to development actually made my work more interesting and explorative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing MongoDB Compass&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;MongoDB Compass is the official GUI for MongoDB that allows you to visualize, explore, and manage your data easily. Here’s how to install it on different operating systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download the installer from &lt;a href="https://www.mongodb.com/try/download/compass" rel="noopener noreferrer"&gt;https://www.mongodb.com/try/download/compass&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run the .exe file and follow the installation wizard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once installed, launch Compass and connect to your local MongoDB instance using:&lt;br&gt;
&lt;code&gt;mongodb://localhost:27017&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;macOS&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download the .dmg file from &lt;a href="https://www.mongodb.com/try/download/compass" rel="noopener noreferrer"&gt;https://www.mongodb.com/try/download/compass&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the .dmg file and drag MongoDB Compass into your Applications folder.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open Compass and connect using:&lt;br&gt;
&lt;code&gt;mongodb://localhost:27017&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download the .deb package from &lt;a href="https://www.mongodb.com/try/download/compass" rel="noopener noreferrer"&gt;https://www.mongodb.com/try/download/compass&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install it using the terminal:&lt;br&gt;
&lt;code&gt;sudo dpkg -i mongodb-compass_&amp;lt;version&amp;gt;_amd64.deb&lt;br&gt;
sudo apt-get install -f&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Launch Compass from the applications menu or by running:&lt;br&gt;
&lt;code&gt;mongodb-compass&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Connect to your MongoDB instance using:&lt;br&gt;
&lt;code&gt;mongodb://localhost:27017&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Configuring MongoDB in Your Spring Boot App&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After installing MongoDB and Compass, the next step is to configure your Spring Boot application to use MongoDB instead of H2. Here’s how I did it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add MongoDB Dependency
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;spring-boot-starter-data-mongodb&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt;4.0.0-M2&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Update application.properties
In src/main/resources/application.properties, configure the connection to your local MongoDB instance:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spring.data.mongodb.uri=mongodb://localhost:27017/db_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, db_name is the name of the database MongoDB will create automatically if it doesn’t exist.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update Your Entities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since MongoDB is document-based, you need to annotate your model classes with @Document instead of JPA’s @Entity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update Repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Switch your repositories to extend MongoRepository instead of JpaRepository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public interface ExpenseRepository extends MongoRepository&amp;lt;Expense, ObjectId&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Test Your App&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run your application and add some expenses. Open MongoDB Compass and you should see your data persisted in the expenses collection. Unlike H2, your data won’t disappear when the app restarts.&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%2Fv5egzwjdf50vxzb13iqb.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%2Fv5egzwjdf50vxzb13iqb.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Switching from H2 to MongoDB was a simple decision that made a huge difference in my application’s growth. Unlike H2, MongoDB is schemaless, which means I don’t have to define rigid table structures upfront. This flexibility allows me to easily evolve my Expense Tracker app as new features are added, without worrying about database migrations.&lt;/p&gt;

&lt;p&gt;Another reason I appreciate MongoDB in my Expense Tracker app is for the Reports API. Reports often need flexible structures sometimes aggregating expenses by day, category, or user, and the fields can vary depending on the type of report. In a traditional table-based database like H2, this would require multiple joins or schema changes. With MongoDB’s document based design, I can store dynamic report data easily, making it much more flexible and scalable for real life reporting needs.&lt;/p&gt;

&lt;p&gt;MongoDB’s document based structure also makes it great for handling dynamic data, scalable applications, and real-time analytics. Beyond small projects like mine, MongoDB is widely used in building content management systems, IoT applications, e commerce platforms, and data intensive web services.&lt;/p&gt;

&lt;p&gt;Looking back, H2 was perfect for prototyping and testing, but for any real life application with growing data and users, MongoDB is the tool that lets your app scale, adapt, and thrive.&lt;/p&gt;

</description>
      <category>springboot</category>
      <category>mongodb</category>
      <category>java</category>
      <category>architecture</category>
    </item>
    <item>
      <title>H2 Database: Quick Setup for Multi-Table Testing in Spring Boot</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Mon, 15 Sep 2025 03:24:36 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/h2-database-quick-setup-for-multi-table-testing-in-spring-boot-3l5j</link>
      <guid>https://dev.to/shreeprabha_bhat/h2-database-quick-setup-for-multi-table-testing-in-spring-boot-3l5j</guid>
      <description>&lt;p&gt;H2 is a lightweight in memory relational database management system that is commonly used with spring boot for development which greatly supports integration testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are numerous uses of H2 Database that makes it user friendly some of them are:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Great for unit and integration testing:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Every time test suite runs H2 creates a fresh database schema.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It works with @SpringBootTest and @DataJpaTest seamlessly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fast and lightweight&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Since it is an in memory relational database it is super fast in read/write operation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No need to install a heavy database server.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Supports both in memory and file mode&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;By using spring.datasource.url=jdbc:h2:mem:testdb we can make sure the db exists only while the app is up and running.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;spring.datasource.url=jdbc:h2:file:./data/testdb. persists the data into a local file.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Easy debugging with web console&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;H2 comes with a built in web console /h2-console.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is handy to run SQL queries and check if data is persisted correctly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to access web console:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After starting your Spring Boot application, you can access the H2 console by navigating to &lt;a href="http://localhost:8080/h2-console" rel="noopener noreferrer"&gt;http://localhost:8080/h2-console&lt;/a&gt; in your web browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting up H2 Database for a spring-boot application:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add H2 Dependency&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;com.h2database&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;h2&amp;lt;/artifactId&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Based on the application requirement scope of H2 Database can be changed. Most commonly used scopes are compile, runtime and test.&lt;/p&gt;

&lt;p&gt;compile : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It's a default scope if you don't specify one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dependency is available at compile time, runtime and packaged into your app.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;runtime:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Not required during compile time but needed at runtime.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JDBC drivers don't refer them directly in code but they are required during running the app.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;test:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Available only during test compilation and execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Configure application properties&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true

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

&lt;/div&gt;



&lt;p&gt;spring.jpa.hibernate.ddl-auto this property tells hibernate what to do with the database schema each time the application starts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;create-drop: Hibernate will create the schema when the application starts and drops all the tables on shut down. Perfect for testing , but not for real world applications where data has to be retained.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;update: Hibernate will update the schema to match entities. It will keep existing data in the table. New data/table will be added to the database but the old data won't be deleted automatically. Good for developing small scale applications but risky in production.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The H2 database is a powerful tool for quickly testing and prototyping Spring Boot applications. With minimal configuration, it allows you to spin up an in memory or file based database, visualize data through the H2 Console, and run multi table queries just like you would in a production grade database.&lt;/p&gt;

&lt;p&gt;Choosing the right spring.jpa.hibernate.ddl-auto option whether update for retaining data across restarts or create-drop for fresh setups can make development smoother and testing faster. By leveraging H2, you can isolate and validate application logic without worrying about external dependencies, making it a must have for both beginners and seasoned Spring developers.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>INTRODUCTION TO KAFKA: EVOLUTION AND MESSAGING SYSTEM TYPES</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Sun, 15 Jun 2025 16:18:24 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/introduction-to-kafka-evolution-and-messaging-system-types-2nl9</link>
      <guid>https://dev.to/shreeprabha_bhat/introduction-to-kafka-evolution-and-messaging-system-types-2nl9</guid>
      <description>&lt;p&gt;Kafka is a message streaming platform that uses publish and subscribe mechanism to stream the records. Kafka was developed by linkedIn which later was donated to apache. It is a open source platform widely used for building real-time data pipelines and streaming applications.&lt;/p&gt;

&lt;p&gt;Before the introduction of messaging systems like Kafka, most applications communicated directly in a tightly coupled manner.&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%2Fxaak089ecywvzdt1vofd.jpg" 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%2Fxaak089ecywvzdt1vofd.jpg" alt="Image description" width="671" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The connection was supposed to be built from each source node to destination. This caused rigid and fragile interactions between the source and destination. To overcome these difficulties messaging system was developed which significantly reduced the rigid interactions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5mvtaqxql3f3fiiumoe.jpg" 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%2Fa5mvtaqxql3f3fiiumoe.jpg" alt="Image description" width="701" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Messaging System:&lt;/p&gt;

&lt;p&gt;A messaging system is a middleware component responsible for transferring data between applications. It helps applications exchange information efficiently without getting burdened by the complexities of data transmission, timing, or direct system dependencies. This allows developers to focus on business logic while the messaging system handles reliable data delivery.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Point to point communication&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Message persisted in queue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message can be consumed by one receiver.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No time dependency laid for the receiver to receive message.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After the message is sent an acknowledgement to sender.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Publish-Subscribe communication&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Message persisted in topic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message can be consumed by any number of receivers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Time dependency exist for consumers to consume.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After message is sent no acknowledgement to sender.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Apache Kafka has transformed the way modern systems handle data exchange, moving from tightly coupled, direct communication to a more scalable, decoupled, and resilient messaging approach. Its ability to handle real-time data streams, ensure durability, and support both point-to-point and publish-subscribe patterns makes it a powerful backbone for event-driven architectures. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>VIRTUAL FUNCTIONS IN JAVA</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Sat, 03 Aug 2024 07:22:36 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/virtual-functions-in-object-oriented-programming-3611</link>
      <guid>https://dev.to/shreeprabha_bhat/virtual-functions-in-object-oriented-programming-3611</guid>
      <description>&lt;p&gt;WHAT ARE VIRTUAL FUNCTIONS?&lt;/p&gt;

&lt;p&gt;Virtual functions are member functions that has to be redefined in derived functions. Any function that can not be used for polymorphism can never be a virtual function. Hence a public, final or static function can never be a virtual function.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Animal{
void sound(){
System.out.println("All animal makes sound");
}
}
class Dog extends Animal{
void sound(){
System.out.println("Dog barks");
}
}
class Main{
public static void main(String[] args){
Animal a=new Dog();
a.sound();
}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above example the method sound in Animal class is overridden in class Dog to provide specific implementations. In the main method the object 'a' is created using child class Dog. The method call sound() gets resolved at the runtime and the appropriate overridden method in the derived class is executed.&lt;/p&gt;

&lt;p&gt;CONCLUSION&lt;/p&gt;

&lt;p&gt;All non static methods are virtual functions by default in Java. Method calls on any base type are resolved at run time invoking the overridden methods in the derived classes. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>HIGHER ORDER ARRAY METHODS IN JAVASCRIPT</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Fri, 14 Jun 2024 11:23:50 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/higher-order-array-methods-in-javascript-4hjl</link>
      <guid>https://dev.to/shreeprabha_bhat/higher-order-array-methods-in-javascript-4hjl</guid>
      <description>&lt;p&gt;&lt;strong&gt;WHAT ARE HIGHER ORDER METHODS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Higher order array methods in javascript are built-in methods that take a function as an argument or return a function as a result.&lt;/p&gt;

&lt;p&gt;In Javascript we use many higher order methods that helps in several array manipulation tasks. Few of commonly used array methods are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;forEach()&lt;/li&gt;
&lt;li&gt;map()&lt;/li&gt;
&lt;li&gt;filter()&lt;/li&gt;
&lt;li&gt;reduce()&lt;/li&gt;
&lt;li&gt;find()&lt;/li&gt;
&lt;li&gt;findIndex()&lt;/li&gt;
&lt;li&gt;some()&lt;/li&gt;
&lt;li&gt;every()&lt;/li&gt;
&lt;li&gt;sort()&lt;/li&gt;
&lt;li&gt;flatmap()&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this blog I am going to discuss about the most commonly asked higher order methods that are &lt;strong&gt;map()&lt;/strong&gt;, &lt;strong&gt;reduce()&lt;/strong&gt; and &lt;strong&gt;filter()&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;map()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;map() higher order method is used to map through an array and return a new array by performing some operation.&lt;/p&gt;

&lt;p&gt;Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;map((value)=&amp;gt;{
})
map((value,index)=&amp;gt;{
})
map((value,index,array)=&amp;gt;{
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let a=[1,2,3,4]
let a1=a.map((value)=&amp;gt;{
console.log(value)
return value+2
})
let a2=a.map((value,index)=&amp;gt;{
console.log(value,index)
return value+2
})
let a3=a.map((value,index,array)=&amp;gt;{
console.log(value,index,array)
return value+2
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;filter()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;filter() method is used to filter an array with values that passes the test.&lt;/p&gt;

&lt;p&gt;Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;filter((value)=&amp;gt;{
})
filter((value,index)=&amp;gt;{
})
filter((value,index,array)=&amp;gt;{
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let a=[28,96,15,1,3,5]
let a1=a.filter((value)=&amp;gt;{
return value&amp;gt;10
})
console.log(a1)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;reduce()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;reduce() method is used to reduce an array into a single value. reduce() method usually takes two parameters as an argument.&lt;/p&gt;

&lt;p&gt;Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;reduce((h1,h2)=&amp;gt;{
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let a=[1,4,5,3,7]
let a1=a.reduce((h1,h2)=&amp;gt;{
return h1+h2
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Higher order methods are powerful tools that allow more readable, concise and function-style programming. map(), reduce() and filter() methods are some basic and more important methods which are usually asked in beginners interview.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>HOW TO HOST AN APPLICATION USING GITHUB</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Wed, 05 Jun 2024 14:46:48 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/how-to-host-an-application-using-github-49bh</link>
      <guid>https://dev.to/shreeprabha_bhat/how-to-host-an-application-using-github-49bh</guid>
      <description>&lt;p&gt;As a beginner I always had the doubt where I can host my application or portfolio freely. With online platform I found out the one of the easiest way to host an application using Github. Today I am going to write about the steps involved in hosting the application using github.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEP 1: CREATE A REPOSITORY&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Login to your github account&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a repository&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Tap on the "New" option on top right corner&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide Repository name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give the description if you wish.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make your repository public/private based on your choice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tap on Create Repository on the bottom right corner.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;STEP 2: UPLOAD YOUR APPLICATION FILES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Upload all the files that are involved in your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can refer "&lt;a href="https://dev.to/vidyarathna/getting-started-with-github-3a7d"&gt;https://dev.to/vidyarathna/getting-started-with-github-3a7d&lt;/a&gt;" this article from &lt;a class="mentioned-user" href="https://dev.to/vidyarathna"&gt;@vidyarathna&lt;/a&gt; to upload your files to the github using git.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 3: ENABLE GITHUB PAGES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open your repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to settings and open "Pages" option.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select "main" branch from the dropdown under Branch.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once you choose the branch save it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;STEP 4: ACCESSING THE APPLICATION&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Once you save you the branch you will see a message on the top.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message on the top contains the URL to your application which will be in the format "&lt;a href="https://your-username.github.io/my-app" rel="noopener noreferrer"&gt;https://your-username.github.io/my-app&lt;/a&gt;".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can tap on the "Visit site" on the right side of the URL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can visit your application and perform preferred action using this.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also select Custom domains to host your applications. You can check Github's documentation for more details. Github's pages site is more suitable for static websites. It is better to use other hosting solutions for dynamic sites.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>BEGINNERS COMMAND - GIT</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Thu, 30 May 2024 09:52:41 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/beginners-command-git-5354</link>
      <guid>https://dev.to/shreeprabha_bhat/beginners-command-git-5354</guid>
      <description>&lt;p&gt;&lt;strong&gt;GIT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GIT is a version control system that is designed to handle small to large projects with speed and efficiency. It allows multiple people to work on same project simultaneously without effecting other's code.&lt;br&gt;
GIT is most common skill that recruiters expect in everyone's resume. There are some of the basic commands that must be known to everyone while working with git or attending any technical interview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MUST KNOW GIT COMMANDS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These commands are used to setup git in your system. Using the commands below one can access the git synchronized with the mail ID.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name "Your name"
git config --global user.email "Your mail"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command is used initialize a repository in your git. Once the repository is initialized other actions like commit, push or pull can be performed over these repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below command is used to clone an existing repository into your repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;repository_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command below is used to get the status of repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Stage the changes for commit.&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 &amp;lt;file_name&amp;gt; 
# Command stages the changes in that particular file
git add .
#Command stages the entire changes.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Commit changes to the repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "Your message"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;View the history of commits in the repositiory&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creating a new branch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch to a new branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create and switch to a new branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Merge a branch to the new branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Know which branch you are working in.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add a repository to the remote repositiory&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin &amp;lt;repository_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fetch changes from the remote repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Push changes to the remote repositiory&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pull changes from the remote repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;List remote repositories&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Stash the changes when your are not ready to commit them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Apply the stashes to the desired branch&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>EVERYTHING TO KNOW ABOUT MVC ARCHITECTURE</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Wed, 29 May 2024 07:42:11 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/everything-to-know-about-mvc-architecture-3gcg</link>
      <guid>https://dev.to/shreeprabha_bhat/everything-to-know-about-mvc-architecture-3gcg</guid>
      <description>&lt;p&gt;&lt;strong&gt;WHAT IS MVC ARCHITECTURE?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;MVC Architecture is a popular development technique where the User Interface, Data storage and the logic are divided into separate components. Using MVC architecture developers can work independently on each component without effecting the other.&lt;br&gt;
MVC stands for Model View Controller architecture where the model contains the entire logic and data, view handles the user interface and controllers handles the data manipulation and acts as an intermediary between model and view.&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%2Fibqh8ejg08yqu3qfi5mb.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibqh8ejg08yqu3qfi5mb.jpeg" alt="Flow Chart showing the workflow of MVC Architecture" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's see what are the purposes and responsibilities involved within MVC architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MODEL&lt;/strong&gt;&lt;br&gt;
Main responsibility of Model is to represent the data and logic of the application.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It maintains all the queries by user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handles request from and to the database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintains the state of the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handles business logic&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;VIEW&lt;/strong&gt;&lt;br&gt;
View is nothing but the user interface that is visible to the user upon logging into the system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provides a way for user to interact with the application using the features available in the UI.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Updates the UI along with the changes happening in the Model.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;CONTROLLER&lt;/strong&gt;&lt;br&gt;
It acts as an intermediary between view and model. Any data that has to be changed in the model is passed by the user in the view later interpreted by the controller and sent to the model.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interpret user inputs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Updates the model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reflects the changes in the model to the view.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;WORKFLOW&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;User interaction - User sees the view and might update a value or make a request to retrieve some random value from db.&lt;/p&gt;

&lt;p&gt;Controller Handling- These changes by the view is passed on to the model through the controllers.&lt;/p&gt;

&lt;p&gt;Model Update- Requested values from the DB are retrieved in the model.&lt;/p&gt;

&lt;p&gt;View Changes -Later the view gets updated with these modified changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ADVANTAGES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;MVC architecture helps in the separation of each components, which   will help the developers to work on each component independently without affecting the other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It contributes in the easy maintainability of the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Components can be reused across different paths of the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developers can work on different component simultaneously with the help of separation of each component.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>MUST KNOW LINUX COMMANDS FOR BEGINNERS</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Tue, 28 May 2024 07:45:29 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/must-know-linux-commands-for-beginners-14hn</link>
      <guid>https://dev.to/shreeprabha_bhat/must-know-linux-commands-for-beginners-14hn</guid>
      <description>&lt;p&gt;It's common for web developers and software development aspirants to work on linux operating system. Compared to other operating systems linux is versatile and open source operating system. Understanding liux has become crucial for tech enthusiasts, system administrators and also fresh graduates who are looking forward for their career in tech market.&lt;br&gt;
Let's know more about some of the most commonly used commands which are frequently asked in the interviews as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. cd path/to/directory -Changes the current directory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the most commonly used command in the linux operating system. Whenever user want to navigate to a new folder he/she can make use of this command.&lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;cd ..&lt;/strong&gt; :Comes out from the current folder&lt;br&gt;
&lt;strong&gt;cd&lt;/strong&gt;  :Moves back to the home directory&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. ls -List files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command is used to know about the list of files that are present in the current working folder.&lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;ls -l&lt;/strong&gt; :Long listing format&lt;br&gt;
&lt;strong&gt;ls -a&lt;/strong&gt; :Lists hidden files&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. pwd -Present working directory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command is used to display the current working folder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. mkdir directory_name -Make directory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command is used whenever user want to create a new folder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. rmdir directory_name -Remove director&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Above command is used whenever user wants to remove a folder that is empty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. rm fil_name  -Removes a file&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Above command is used whenever user wants to remove specific file from a directory. Along with options the command can also be used to remove directories.&lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;rm -r directory_name&lt;/strong&gt; :Removes a directory along with all its files and other contents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. cp source_file destination_file -Copy file contents&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command is used whenever user wants to copy the contents of one file to another. Here the contents present in source_file will be copied to destination_file.&lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;cp -r source_directory destination_directory&lt;/strong&gt; : Functions similar to file copying but here the entire contents of source_directory will be copied to destination_directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. mv old_name new_name  -Moves or renames a file&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Above command is used whenever user wants to rename a file, here the file with old_name will be renamed to new_name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. cat file_name  -Concatenate file&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using the above command user can view the contents of file_ name over the console.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. head file_name&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using the above command user can just view the first ten lines present in the file.&lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;head -n 5 file_name&lt;/strong&gt; -User can view only first five lines of file. Using this option user can vary the number of lines visible&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. tail file_name&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similar to head command here we can view the last ten lines present in the file. &lt;br&gt;
Options available:&lt;br&gt;
&lt;strong&gt;tail -n 5 file_name&lt;/strong&gt; -To view the last five lines instead of default ten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. ps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using this command one can know about the processes that are currently being run in the system. It displays the processes with their PID. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. kill pid&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can use this command whenever we want to stop a process that is running in the system. PID required can be acquired from the ps command. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14. whoami&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using this command one can know about the user of the system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. uname -a&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command displays the user name along with the system information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;br&gt;
There are huge set of commands being used while working with linux operating systems. The commands explained here are the basic set and mainly asked in the interviews of entry level candidates.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>SOFTWARE DEVELOPMENT LIFE CYCLE</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Mon, 27 May 2024 10:49:01 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/software-development-life-cycle-k</link>
      <guid>https://dev.to/shreeprabha_bhat/software-development-life-cycle-k</guid>
      <description>&lt;p&gt;&lt;strong&gt;WHAT IS SDLC?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SDLC stands for &lt;strong&gt;Software Development Life Cycle&lt;/strong&gt; and it is a structural procedure to design, develop and test a software application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GOAL OF SDLC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main goal of SDLC is to make sure the developed software product is well structured and produces a product that meets client requirements.&lt;br&gt;
There are several steps involved in this procedure to make it possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;STEPS INVOLVED IN SDLC&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Requirement Analysis&lt;/li&gt;
&lt;li&gt;Defining the requirements&lt;/li&gt;
&lt;li&gt;Designing &lt;/li&gt;
&lt;li&gt;Development&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Maintenance&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;REQUIREMENT ANALYSIS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first step of SDLC is requirement analysis. Generally in this step the Product team has to get the overview of the product and the requirements from the client to develop the software product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEFINING THE REQUIREMENTS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Requirements collected from the clients has to be given a proper shape so that it can be easily understand by the developer to plan a proper software architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DESIGNING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the requirements are given a proper shape the developer has to analyze these requirements and has to plan a proper design for the software product that has to be developed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEVELOPMENT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software product can be developed by analyzing the design which is designed on the basis of requirements that is specified by the client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TESTING&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then comes the testing phase where the testing team has to test the product developed against the client requirements. Defects noted in this step will further go through the &lt;strong&gt;Defect Life Cycle&lt;/strong&gt;. Tester has to make report of these defects found in testing and pass it to the developer so that product can undergo for further perfection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEPLOYMENT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the product is made to sure to meet client requirements it can be deployed for client use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MAINTENANCE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here comes the last step involved in SDLC that is maintenance. Once the product is deployed for client use it has to maintained well for it's proper use and efficiency. Poor maintenance will always lead to non efficient product which might leave a negative impact from users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SUMMARY&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A well planned and structured SDLC will always lead to a successfull and user efficient product deployment. It plays a major role in any organization for its growth and success. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding the basics of Docker</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Fri, 24 May 2024 11:13:30 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/understanding-the-basics-of-docker-24a7</link>
      <guid>https://dev.to/shreeprabha_bhat/understanding-the-basics-of-docker-24a7</guid>
      <description>&lt;p&gt;While working as a QA I had close interaction with the developers and heard them saying several times about docker and docker images. I even had a discussion with my friend once what docker actually is. And finally when I became a developer myself I got to work with docker and made me know about the basic insights of docker. Today, I am going to share the basic knowledge I gained about docker here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WHAT IS DOCKER?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker is a tool that allows developers to build and deploy their applications easily to the containers to run on host that is linux.&lt;br&gt;
Docker helps to package an app with all its dependencies into standard unit that would benefit software development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WHAT IS CONTAINERS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers are nothing but the logical mechanism for packaging the application. Several times the application would collapse because of the different versions used on different system. By using containers one can make sure there won't be any service compatibility issue. This would drastically decrease the developer's problem of "&lt;strong&gt;It works on my system&lt;/strong&gt;".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WHAT IS IMAGES?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker images are nothing but the read only templates that contains instructions to create containers. They serve as a foundation for containers and encapsulate all the dependencies and configuration needed for an application. Images can either be built from dockerfile or pulled from docker hub. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;USING DOCKER&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.docker.com/engine/install/" rel="noopener noreferrer"&gt;https://docs.docker.com/engine/install/&lt;/a&gt; you can follow up the instructions here to install docker. Once you have installed docker you can check the installation running &lt;strong&gt;docker --version&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;COMMONLY USED DOCKER COMMANDS AND THEIR USES&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker ps
# Lists the current running containers
docker ps -a
# Lists all the containers including the one that stopped.
docker run -d --name &amp;lt;container-name&amp;gt; &amp;lt;image-name&amp;gt;:&amp;lt;tag&amp;gt;
# Runs a container that is specified
docker stop &amp;lt;container-id&amp;gt;
# Stops a container
docker start &amp;lt;container-id&amp;gt;
# Starts a container that was stopped
docker rm &amp;lt;container-id&amp;gt;
#Removes a container
docker image
# Lists the images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;SUMMARY&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker is a powerful platform that simplifies the development, deployment and management of applications by using containerization.&lt;br&gt;
Docker’s ecosystem, including Docker Compose and Docker Hub, further enhances its capabilities for managing complex, multi-container applications and sharing containerized applications with others.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>RAKE IN RUBY</title>
      <dc:creator>Shreeprabha bhat</dc:creator>
      <pubDate>Wed, 22 May 2024 16:57:25 +0000</pubDate>
      <link>https://dev.to/shreeprabha_bhat/rake-in-ruby-4fbg</link>
      <guid>https://dev.to/shreeprabha_bhat/rake-in-ruby-4fbg</guid>
      <description>&lt;p&gt;I had been working on ruby on rails from past few days and I had come across few commands like rake -T, rake db:migrate etc, but had never wondered what rake actually is. This made me to dig this topic and am sharing the little much knowledge I gained here today. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WHAT IS RAKE?&lt;/strong&gt;&lt;br&gt;
           It is a tool in ruby that allows to run tasks, migrate database, test executions and some other repetitive tasks. Rake stands for "Ruby Make" and it is specially designed for ruby projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HOW DOES RAKE WORK?&lt;/strong&gt; &lt;br&gt;
           Lets consider a example where a person tries to message and call another person.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;task :message do
    puts "Hey!! What's up!"
end

task :call do
    puts "Hey! Its been long since we met so thought of calling you!"
end
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can run the above tasks using the below rake command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$rake message
#Output: Hey!! What's up!
$rake call
#Output: Hey! Its been long since we met so thought of calling you!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rake tasks can also be dependent on other rake tasks they can also have parameters passed to them. Wondering how? Below is an example.&lt;/p&gt;

&lt;p&gt;Consider an example where a student has exam. Writing an exam involves several sub tasks in them maybe from preparing a time table to waiting for the results it's a series of steps. So how can we sum up these sub tasks using rake tasks. Lets explore.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;task :timetable do
     puts "Prepare timetable"
end

task :study=&amp;gt;timetable do
     puts "Study according to timetable"
end

task :exam=&amp;gt;study do
     puts "Write what you studied"
end

task :result=&amp;gt;[:timetable, :study, :exam]

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

&lt;/div&gt;



&lt;p&gt;In this example running 'rake result' will run 'timetable' first later 'study' and then 'exam'.&lt;/p&gt;

&lt;p&gt;We can also create custom rake tasks using &lt;strong&gt;namespace&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace :exam do
    desc "Give exam"
    task :write do
         puts "Write exam"
    end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can run the above rake task using 'rake exam:write'.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RAILS SPECIFIC RAKE TASKS&lt;/strong&gt;&lt;br&gt;
     Below are some commonly used rails specific rake commands.&lt;br&gt;
rake -T                           Used do list rake tasks&lt;br&gt;
rake db:migrate                   Apply database migrations&lt;br&gt;
rake test                         Run the test suite&lt;br&gt;
rake db:seed                      Populate database with initial data.&lt;br&gt;
rake -t                           Debugging mode&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION&lt;/strong&gt;&lt;br&gt;
     Rake integrates seamlessly with rails and makes it a powerful tool that can handle the development perfectly. From running test cases to migrating database rake supports a smooth workflow.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
