<?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: Rohit Jain</title>
    <description>The latest articles on DEV Community by Rohit Jain (@rohitjain25).</description>
    <link>https://dev.to/rohitjain25</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%2F639848%2F48e54bf1-b19a-4f92-9ba6-c1c46f84d20c.jpeg</url>
      <title>DEV Community: Rohit Jain</title>
      <link>https://dev.to/rohitjain25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohitjain25"/>
    <language>en</language>
    <item>
      <title>Docker: The Tale of Containerized Efficiency</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Mon, 11 Sep 2023 18:25:06 +0000</pubDate>
      <link>https://dev.to/rohitjain25/docker-the-tale-of-containerized-efficiency-555p</link>
      <guid>https://dev.to/rohitjain25/docker-the-tale-of-containerized-efficiency-555p</guid>
      <description>

&lt;p&gt;Once upon a time in the bustling city of Codeville, there lived a talented software developer named Alice. Alice was known throughout the city for her ability to create incredible software applications. However, she often faced a significant challenge: deploying her applications consistently and efficiently across various servers.&lt;/p&gt;

&lt;p&gt;One sunny morning, while sipping her coffee at her favorite café, Alice overheard a conversation between two fellow developers, Bob and Carol. They were discussing a revolutionary tool called Docker, which promised to solve deployment problems like the one Alice faced.&lt;/p&gt;

&lt;p&gt;Intrigued, Alice decided to explore Docker. She met up with Bob and Carol, who kindly offered to show her how Docker worked.&lt;/p&gt;

&lt;p&gt;Bob began explaining, "Think of Docker as a magical container. Instead of sending your application out into the world bare and vulnerable, you can place it inside this container. This container includes everything your application needs to run: the code, dependencies, libraries, and even the environment. It's like a perfectly packaged gift."&lt;/p&gt;

&lt;p&gt;Carol chimed in, "And the beauty of Docker is that these containers are consistent. No matter where you send them - whether it's your laptop, a testing server, or even a cloud data center - they'll work the same way everywhere."&lt;/p&gt;

&lt;p&gt;Alice was starting to see the potential. "So, it's like shipping my application in a secure, standardized box, and I don't have to worry about whether the box will work correctly wherever it goes?"&lt;/p&gt;

&lt;p&gt;Bob nodded, "Exactly! Plus, you can easily share these containers with other developers, so they can replicate your setup effortlessly. It makes collaborating and deploying applications a breeze."&lt;/p&gt;

&lt;p&gt;With newfound excitement, Alice decided to integrate Docker into her workflow. She packaged her applications in Docker containers, each neatly containing everything needed for smooth operation. She could confidently deploy her creations anywhere with ease.&lt;/p&gt;

&lt;p&gt;As word of Alice's newfound efficiency spread, other developers in Codeville embraced Docker too. The city's software development scene flourished, thanks to this magical container technology.&lt;/p&gt;

&lt;p&gt;And so, in the ever-evolving world of technology, Docker became the hero of Codeville, ensuring that applications sailed smoothly from one server to another in their secure, standardized containers, bringing joy and efficiency to developers far and wide.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>docker</category>
      <category>discuss</category>
    </item>
    <item>
      <title>MySQL Injection Vulnerability</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Sat, 04 Feb 2023 11:03:38 +0000</pubDate>
      <link>https://dev.to/rohitjain25/mysql-injection-vulnerability-1d9o</link>
      <guid>https://dev.to/rohitjain25/mysql-injection-vulnerability-1d9o</guid>
      <description>&lt;h2&gt;
  
  
  MySQL Injection Vulnerability
&lt;/h2&gt;

&lt;p&gt;MySQL Injection is a type of security vulnerability that allows an attacker to execute malicious code on a database management system (DBMS) that uses the MySQL database server. This can result in the theft of sensitive information, the alteration of data, and the disruption of the database's normal operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact of a MySQL Injection Attack
&lt;/h2&gt;

&lt;p&gt;A MySQL Injection attack can have significant consequences for organizations and individuals. Some of the impacts of a successful attack include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Theft of confidential data, such as login credentials, customer information, and financial data&lt;/li&gt;
&lt;li&gt;Altering or deleting important data, causing loss of information or corruption of records&lt;/li&gt;
&lt;li&gt;Disrupting normal database operations, causing slow performance or complete unavailability of online services&lt;/li&gt;
&lt;li&gt;Damaging the reputation of an organization and its brand&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How MySQL Injection Attacks Work
&lt;/h2&gt;

&lt;p&gt;MySQL Injection attacks take advantage of security vulnerabilities in the database management system to inject malicious code into the database. This code is typically executed in the form of SQL statements, which can be used to retrieve, modify, or delete data in the database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prevention and Mitigation Techniques
&lt;/h2&gt;

&lt;p&gt;To prevent and mitigate the impact of MySQL Injection attacks, organizations and individuals can implement the following measures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use parameterized queries to prevent malicious code from being executed&lt;/li&gt;
&lt;li&gt;Validate user input to prevent malicious SQL statements from being entered into the database&lt;/li&gt;
&lt;li&gt;Implement proper error handling to prevent sensitive information from being disclosed&lt;/li&gt;
&lt;li&gt;Use database firewalls and intrusion detection/prevention systems (IDPS) to block malicious traffic&lt;/li&gt;
&lt;li&gt;Implement proper authentication and access control to limit the ability of unauthorized users to access the database&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;MySQL Injection attacks are a serious threat to organizations and individuals that use the MySQL database server. By implementing effective security measures, organizations and individuals can protect their databases from these types of attacks and prevent the loss of sensitive information, the alteration of data, and the disruption of normal database operations.&lt;/p&gt;

</description>
      <category>devto</category>
      <category>web3</category>
      <category>announcement</category>
    </item>
    <item>
      <title>DDOS Attack</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Sat, 04 Feb 2023 11:01:19 +0000</pubDate>
      <link>https://dev.to/rohitjain25/ddos-attack-2okk</link>
      <guid>https://dev.to/rohitjain25/ddos-attack-2okk</guid>
      <description>&lt;p&gt;A Distributed Denial of Service (DDOS) attack is a type of cyber attack that aims to overload a target system with a large amount of traffic, causing it to become unavailable to its intended users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact of a DDOS Attack
&lt;/h2&gt;

&lt;p&gt;A DDOS attack can cause significant harm to organizations and individuals. The attack can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disrupt business operations by making websites and online services unavailable&lt;/li&gt;
&lt;li&gt;Decrease website and server performance, causing slow page loading times&lt;/li&gt;
&lt;li&gt;Consume network and server resources, reducing their availability for legitimate users&lt;/li&gt;
&lt;li&gt;Damage an organization's reputation and brand image&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Types of DDOS Attacks
&lt;/h2&gt;

&lt;p&gt;There are several types of DDOS attacks, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flood attacks: This type of attack aims to overwhelm a target system with a large amount of traffic, such as ICMP (ping) flood, UDP flood, and TCP flood attacks.&lt;/li&gt;
&lt;li&gt;Protocol attacks: This type of attack exploits weaknesses in the target system's communication protocols, such as SYN flood attacks and fragmented packet attacks.&lt;/li&gt;
&lt;li&gt;Application layer attacks: This type of attack targets specific applications, such as HTTP flood attacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prevention and Mitigation Techniques
&lt;/h2&gt;

&lt;p&gt;To prevent and mitigate the impact of DDOS attacks, organizations can implement the following measures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use firewalls and intrusion detection/prevention systems (IDS/IPS) to filter and block malicious traffic&lt;/li&gt;
&lt;li&gt;Implement rate limiting to control the amount of traffic that can be sent to a target system&lt;/li&gt;
&lt;li&gt;Use content delivery networks (CDNs) to distribute traffic across multiple servers&lt;/li&gt;
&lt;li&gt;Monitor network traffic and usage patterns to detect and respond to attacks quickly&lt;/li&gt;
&lt;li&gt;Implement security measures to prevent vulnerabilities in applications and systems from being exploited&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;DDOS attacks are a major threat to organizations and individuals, and it is important to take measures to prevent and mitigate their impact. By implementing effective security measures, organizations can protect their systems and users from the damaging effects of DDOS attacks.&lt;/p&gt;

</description>
      <category>devto</category>
      <category>web3</category>
      <category>announcement</category>
      <category>royalties</category>
    </item>
    <item>
      <title>Linux FSTAB</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Sat, 04 Feb 2023 10:57:05 +0000</pubDate>
      <link>https://dev.to/rohitjain25/linux-fstab-93g</link>
      <guid>https://dev.to/rohitjain25/linux-fstab-93g</guid>
      <description>&lt;h2&gt;
  
  
  Linux FSTAB
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;/etc/fstab&lt;/code&gt; file in Linux is a configuration file that contains information about file systems. It is used to mount file systems automatically during system boot up. Each line in the file represents a separate file system and is organized into columns that provide information about the file system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the columns in &lt;code&gt;/etc/fstab&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;The columns in the &lt;code&gt;/etc/fstab&lt;/code&gt; file are as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;File system: The location of the file system (e.g. &lt;code&gt;/dev/sda1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Mount Point: The directory where the file system will be mounted (e.g. &lt;code&gt;/mnt/data&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;File System Type: The type of file system (e.g. &lt;code&gt;ext4&lt;/code&gt;, &lt;code&gt;ntfs&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;Options: Mount options for the file system (e.g. &lt;code&gt;rw&lt;/code&gt;, &lt;code&gt;ro&lt;/code&gt;, &lt;code&gt;defaults&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;Dump: Specifies whether to include the file system in the backup process (0 or 1)&lt;/li&gt;
&lt;li&gt;Pass: Specifies the order in which fsck checks the file system during boot up (0 or 1)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Adding a file system to &lt;code&gt;/etc/fstab&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;To add a file system to the &lt;code&gt;/etc/fstab&lt;/code&gt; file, you need to know the file system location, mount point, file system type, and mount options.&lt;/p&gt;

&lt;p&gt;For example, if you want to add an NTFS partition located at &lt;code&gt;/dev/sda1&lt;/code&gt; and mount it at &lt;code&gt;/mnt/data&lt;/code&gt; with read-write permissions, you would add the following line to &lt;code&gt;/etc/fstab&lt;/code&gt;:&lt;code&gt;/dev/sda1 /mnt/data ntfs rw 0 0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note that you need to have root privileges to edit the &lt;code&gt;/etc/fstab&lt;/code&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mounting and unmounting file systems
&lt;/h2&gt;

&lt;p&gt;You can mount and unmount file systems using the &lt;code&gt;mount&lt;/code&gt; and &lt;code&gt;umount&lt;/code&gt; commands. For example, to mount the &lt;code&gt;/mnt/data&lt;/code&gt; file system, you would run the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo mount /mnt/data&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And to unmount the &lt;code&gt;/mnt/data&lt;/code&gt; file system, you would run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo umount /mnt/data&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It's important to unmount a file system before disconnecting or removing the device to avoid data corruption.&lt;/p&gt;

</description>
      <category>devto</category>
      <category>cryptocurrency</category>
      <category>crypto</category>
    </item>
    <item>
      <title>Setting up MariaDB Galera Cluster for High Availability</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Sat, 04 Feb 2023 10:38:41 +0000</pubDate>
      <link>https://dev.to/rohitjain25/setting-up-mariadb-galera-cluster-for-high-availability-2mp2</link>
      <guid>https://dev.to/rohitjain25/setting-up-mariadb-galera-cluster-for-high-availability-2mp2</guid>
      <description>&lt;h2&gt;
  
  
  Setting up MariaDB Galera Cluster for High Availability
&lt;/h2&gt;

&lt;p&gt;MariaDB is an open-source relational database management system that is a fork of the popular MySQL database. It is designed to provide high availability and scalability for applications and services that require a highly available database backend.&lt;/p&gt;

&lt;p&gt;In this blog, we will be discussing the setup of a MariaDB Galera Cluster, which is a multi-node database cluster that provides automatic failover and load balancing. With Galera Cluster, you can ensure that your database is always available, even in the event of a single node failure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;At least three servers with MariaDB installed and configured&lt;/li&gt;
&lt;li&gt;A shared storage system (such as NFS or GlusterFS) for storing the database files&lt;/li&gt;
&lt;li&gt;Network connectivity between all nodes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Configure Galera Replication on Each Node
&lt;/h2&gt;

&lt;p&gt;On each node, open the MariaDB configuration file (my.cnf) and add the following lines:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://&amp;lt;IP1&amp;gt;,&amp;lt;IP2&amp;gt;,&amp;lt;IP3&amp;gt;"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;&amp;lt;IP1&amp;gt;, &amp;lt;IP2&amp;gt;, &amp;lt;IP3&amp;gt;&lt;/code&gt; with the IP addresses of your cluster nodes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Start the Cluster
&lt;/h2&gt;

&lt;p&gt;On the first node, start MariaDB and initialize the Galera Cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;systemctl start mysql
galera_new_cluster
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 3: Join Additional Nodes
&lt;/h2&gt;

&lt;p&gt;On the remaining nodes, start MariaDB and join the cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SET GLOBAL wsrep_cluster_address = "gcomm://&amp;lt;IP1&amp;gt;,&amp;lt;IP2&amp;gt;,&amp;lt;IP3&amp;gt;";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Verify Cluster Status
&lt;/h2&gt;

&lt;p&gt;To verify the status of your cluster, log in to MariaDB on any node and run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SHOW STATUS LIKE 'wsrep_cluster_size';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output should show the number of nodes in your cluster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this blog, we covered the steps to set up a MariaDB Galera Cluster for high availability. With Galera Cluster, you can ensure that your database is always available, even in the event of a single node failure. Whether you're running a small application or a large enterprise service, MariaDB Galera Cluster can help you achieve high availability and scalability for your database backend.&lt;/p&gt;

</description>
      <category>devto</category>
      <category>announcement</category>
      <category>devrel</category>
      <category>community</category>
    </item>
    <item>
      <title>DMESG [LINUX]</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Thu, 05 Jan 2023 12:12:38 +0000</pubDate>
      <link>https://dev.to/rohitjain25/dmesg-linux-ph6</link>
      <guid>https://dev.to/rohitjain25/dmesg-linux-ph6</guid>
      <description>&lt;p&gt;The dmesg command allows you to view messages from the kernel ring buffer. These messages can be useful for troubleshooting issues with the kernel, drivers, or other system components.&lt;/p&gt;

&lt;p&gt;To use dmesg, simply type the command followed by any options or arguments you want to use. Some common options include:&lt;/p&gt;

&lt;p&gt;-c: Clear the kernel ring buffer after reading it.&lt;br&gt;
-f: Follow the kernel ring buffer in real-time, similar to the tail -f command.&lt;br&gt;
-T: Display timestamps for each message.&lt;br&gt;
-n: Set the minimum log level to display. For example, -n 4 will only show messages with a log level of 4 or higher.&lt;br&gt;
For example, to view the most recent kernel messages and follow the kernel ring buffer in real-time, you would use the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dmesg -f&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can also use dmesg to send a message to the kernel ring buffer. To do this, use the -s option followed by the message you want to send. For example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dmesg -s "Hello, kernel!"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This can be useful for debugging or testing purposes.&lt;/p&gt;

</description>
      <category>php</category>
      <category>debugging</category>
      <category>development</category>
      <category>tools</category>
    </item>
    <item>
      <title>AEROSPIKE</title>
      <dc:creator>Rohit Jain</dc:creator>
      <pubDate>Tue, 03 Jan 2023 14:24:53 +0000</pubDate>
      <link>https://dev.to/rohitjain25/aerospike-1a1o</link>
      <guid>https://dev.to/rohitjain25/aerospike-1a1o</guid>
      <description>&lt;p&gt;*&lt;em&gt;Aerospike is a distributed, in-memory, NoSQL database. It is designed to be horizontally scalable and to handle high transaction rates with low latency. *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here are a few key features of Aerospike:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In-memory data storage: Aerospike stores data in RAM to provide very fast access times.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Persistence: Aerospike can also write data to disk to provide data durability in case of power failure or server restart.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automatic scaling: Aerospike automatically distributes data across multiple servers, allowing it to scale horizontally as the data set grows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Strong consistency: Aerospike provides strong consistency, meaning that all nodes in the cluster see the same data at the same time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support for multiple data types: Aerospike supports storing a variety of data types, including strings, integers, lists, and maps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Built-in query language: Aerospike has a built-in query language called AQL that can be used to retrieve and manipulate data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;High availability: Aerospike is designed to be highly available, with features such as cross-data center replication and automatic failover.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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