<?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>Forem: rahul shukla</title>
    <description>The latest articles on Forem by rahul shukla (@rahulcs754).</description>
    <link>https://forem.com/rahulcs754</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%2F110902%2F757a58d8-b9a0-4d7e-b286-cc2e8ff83dc6.jpeg</url>
      <title>Forem: rahul shukla</title>
      <link>https://forem.com/rahulcs754</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rahulcs754"/>
    <language>en</language>
    <item>
      <title>Docker react setup in local</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Mon, 07 Oct 2024 13:13:16 +0000</pubDate>
      <link>https://forem.com/rahulcs754/docker-react-setup-in-local-i3o</link>
      <guid>https://forem.com/rahulcs754/docker-react-setup-in-local-i3o</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Before we begin, there are a few prerequisites that you should have installed on your machine.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Notes
&lt;/h3&gt;

&lt;p&gt;If you don't already have Docker installed, you can download it from the &lt;a href="https://www.docker.com/" rel="noopener noreferrer"&gt;&lt;code&gt;Docker website&lt;/code&gt;&lt;/a&gt;.&lt;br&gt;
If you don't have them installed, you can download them from the &lt;a href="https://nodejs.org/en/download/package-manager/current" rel="noopener noreferrer"&gt;'Node.js website'&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To verify that Docker is installed, open your terminal and run the below command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will display the version of Docker installed on your machine.&lt;br&gt;&lt;br&gt;
If Docker is not installed, you will see an error message.&lt;/p&gt;

&lt;p&gt;To verify that Node.js and npm are installed, open your terminal and run the below command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will display the version of Node.js installed on your machine. If Node.js is not installed, you will see an error message.&lt;/p&gt;

&lt;p&gt;In this guide, we will walk you through the process of deploying a React web application with Docker in local. We'll start by creating a new React application using &lt;code&gt;create-react-app&lt;/code&gt; and then we will create a &lt;code&gt;Dockerfile&lt;/code&gt; for our application. We will then build a Docker image and run a Docker container to test our application.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Create a React Application&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The first step is to create a new React application using &lt;code&gt;create-react-app&lt;/code&gt; command. This command will set up a new React project with some default configuration files, dependencies, and a basic application structure.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-react-app react-docker-setup
&lt;span class="nb"&gt;cd &lt;/span&gt;react-docker-setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fl41v7t9p9bsyun0dxfz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fl41v7t9p9bsyun0dxfz0.png" alt="projectFolder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To run this react application execute the below command in your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fjxlw35wmf7y490ie4kfz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fjxlw35wmf7y490ie4kfz.png" alt="projectRunning"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Create a Dockerfile&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The next step is to create a Dockerfile for our React application. A Dockerfile is a text file that contains instructions for building a Docker image.&lt;/p&gt;

&lt;p&gt;In your terminal, navigate to the root directory of your React application and create a new file named &lt;code&gt;Dockerfile&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Open the &lt;code&gt;Dockerfile&lt;/code&gt; in your code editor and add the following contents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Use an Node runtime as a parent image&lt;/span&gt;
FROM node:alpine

&lt;span class="c"&gt;# Set the working directory to /app&lt;/span&gt;
WORKDIR /app

&lt;span class="c"&gt;# Copy the package.json and package-lock.json to the working directory&lt;/span&gt;
COPY ./package&lt;span class="k"&gt;*&lt;/span&gt;.json ./

&lt;span class="c"&gt;# Install the dependencies&lt;/span&gt;
RUN npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# Copy the remaining application files to the working directory&lt;/span&gt;
COPY &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# Build the application&lt;/span&gt;
RUN npm run build

&lt;span class="c"&gt;# Expose port 3000 for the application&lt;/span&gt;
EXPOSE 3000

&lt;span class="c"&gt;# Start the application&lt;/span&gt;
CMD &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;"npm"&lt;/span&gt;, &lt;span class="s2"&gt;"run"&lt;/span&gt;, &lt;span class="s2"&gt;"start"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fs8szpqb9xwgvvhdanoky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fs8szpqb9xwgvvhdanoky.png" alt="dockerimage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a Docker Image
&lt;/h2&gt;

&lt;p&gt;Now that we have a Dockerfile for our React application, we can build a Docker image.&lt;/p&gt;

&lt;p&gt;Create a new file named &lt;code&gt;.dockerignore&lt;/code&gt; in the root directory of your React application and add the following line:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;In your terminal, navigate to the root directory of your React application and run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker build &lt;span class="nt"&gt;-t&lt;/span&gt; react-application &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command builds a Docker image with the tag &lt;code&gt;react-application&lt;/code&gt; using the &lt;code&gt;.&lt;/code&gt; to specify the build context as the current directory.&lt;/p&gt;

&lt;p&gt;The build process may take a few minutes to complete, depending on the size of your application and the speed of your internet connection.&lt;/p&gt;

&lt;p&gt;Once the build is complete, you can see image after type below command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Docker image &lt;span class="nb"&gt;ls&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.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%2Fga9pwc1elsznt6ywg3d4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fga9pwc1elsznt6ywg3d4.png" alt="dockerlist"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Running the Docker Container
&lt;/h2&gt;

&lt;p&gt;Now that we have a Docker image for our React application, we can run a Docker container.&lt;/p&gt;

&lt;p&gt;In your terminal, run the below command to start a Docker container based on the image we just built:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 3000:3000 react-application
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command starts a Docker container and maps port 3000 from the container to port 3000 on your local machine. The &lt;code&gt;react-application&lt;/code&gt; parameter specifies the name of the Docker image that we want to run.&lt;/p&gt;

&lt;p&gt;With the &lt;code&gt;-d&lt;/code&gt; flag, the command returns the ID of the container once it's started.&lt;/p&gt;

&lt;p&gt;You can also use the &lt;code&gt;docker ps&lt;/code&gt; command to see a list of running containers, including the ID of the container running your React application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F4p5jx5r9pak9otyi59f0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F4p5jx5r9pak9otyi59f0.png" alt="containerlists"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the container is running, you should be able to view your React application by navigating to &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;&lt;code&gt;http://localhost:3000&lt;/code&gt;&lt;/a&gt; in your web browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fw7u307bjkzvv1nlz9bsn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fw7u307bjkzvv1nlz9bsn.png" alt="runninglocal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To stop the container, you can use the &lt;code&gt;docker stop&lt;/code&gt; command followed by the container ID&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker stop &amp;lt;container_id&amp;gt;
docker stop c8872dfba1b0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>react</category>
      <category>docker</category>
    </item>
    <item>
      <title>What is Nullish Coalescing Operator </title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Mon, 10 Jan 2022 18:26:53 +0000</pubDate>
      <link>https://forem.com/rahulcs754/what-is-nullish-coalescing-operator-cbj</link>
      <guid>https://forem.com/rahulcs754/what-is-nullish-coalescing-operator-cbj</guid>
      <description>&lt;p&gt;We all have some questions about Nullish Coalescing Operator.&lt;/p&gt;

&lt;h1&gt;
  
  
  what is Nullish Coalescing Operator ?
&lt;/h1&gt;

&lt;p&gt;-&amp;gt; Nullish Coalescing Operator is denoted using "??".&lt;br&gt;
 -&amp;gt; ES11 has added the nullish coalescing operator.&lt;/p&gt;

&lt;p&gt;Let's understand with a simple expression&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x ?? y   // This is expression 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above expression,&lt;br&gt;
-&amp;gt; If x is either null or undefined then the result will be y.&lt;br&gt;
-&amp;gt; If x is not null or undefined then the result will be x&lt;br&gt;
-&amp;gt; This will help make condition check code easy task&lt;/p&gt;
&lt;h1&gt;
  
  
  Why JavaScript Needed the Nullish Coalescing Operator
&lt;/h1&gt;

&lt;p&gt;The or  Operator ( || ). That work good. but sometimes  we want to evaluate when the first operand is only either null or undefine.Now Come Nullish Coalescing Operator solved this problem.  &lt;/p&gt;

&lt;p&gt;There is some code you can try and understand this operator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//  this print Hello&lt;/span&gt;

&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// this print true&lt;/span&gt;

&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// this print false&lt;/span&gt;

&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;45&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//  this print 45&lt;/span&gt;

&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// this print ""&lt;/span&gt;


&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;??&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// this print  [1, 2, 3]&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Notes :&lt;br&gt;
 if you don't know about operator and operand let see below code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OPERATOR: Above code, The + is an operator. Operators are used to performing specific mathematical and logical computations on operands.&lt;br&gt;
 OPERAND : Above code 1 and 2 are operands &lt;/p&gt;

&lt;p&gt;I hope you have found this tutorial useful and thank you for taking the time to follow along!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>nullishcoalescingoperator</category>
      <category>newtopic</category>
    </item>
    <item>
      <title>Let Understand Temporal Dead Zone</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Mon, 10 Jan 2022 04:53:53 +0000</pubDate>
      <link>https://forem.com/rahulcs754/let-understand-temporal-dead-zone-4gl</link>
      <guid>https://forem.com/rahulcs754/let-understand-temporal-dead-zone-4gl</guid>
      <description>&lt;p&gt;Before understanding Temporal Dead Zone. We have to understand. &lt;br&gt;
What is the difference between declaring and initialising?&lt;/p&gt;
&lt;h1&gt;
  
  
  What is Declaring?
&lt;/h1&gt;

&lt;p&gt;Let's take a small code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;example&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 1 line&lt;/span&gt;
    &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 2 line&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;hands&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 3 line&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above example, we declare the age variable with the "let" keyword.in line 2, we assign value to age. It is called initialising. Before ES6 there is no other way to define a variable.ES6 came with let and const. let and Const are both blocks scoped.&lt;/p&gt;

&lt;p&gt;Now What is Block Scoped?&lt;br&gt;
let and const both access within the { } enclosed them. On another side, "var" has no restriction.&lt;/p&gt;

&lt;p&gt;Let's take simple code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;boyAge&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isPartyToday&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isPartyToday&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;boyAge&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;boyAge&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// This print 18&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above code, I am initialising BoyAge two times. When we print boyAge then we have output is 18 because boyAge have 6 age that is wrapped with {} symbols. so we can not get output 6.&lt;/p&gt;

&lt;p&gt;in case of var let take one sample code and see what will happen.&lt;br&gt;
Let's take one simple code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;boyAge&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// line 1&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;isPartyToday&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// line 2&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isPartyToday&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// line 3&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;boyAge&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// line 4&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;  &lt;span class="c1"&gt;// line 5&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;boyAge&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// This print 6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code, we initial our boyAge two time .That Program will give us 6.because of at the last of line number 4 . We assign value is 6. &lt;/p&gt;

&lt;p&gt;Notes:&lt;br&gt;
if we accesss variable before declared then it will show undefined.But if you do with let and const.They throw a ReferenceError&lt;/p&gt;

&lt;p&gt;Let see some code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;varNumber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// undefined&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;letNumber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// it throws a ReferenceError letNumber is not defined&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;varNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;letNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In above code, We can see clear that letNumber variable showed referenceError.&lt;/p&gt;

&lt;p&gt;Now move to main Topic that is Temporal Dead Zone&lt;/p&gt;

&lt;p&gt;There are a few questions about Temporal Dead Zone&lt;/p&gt;

&lt;p&gt;Let's check question&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Temporal Dead Zone?
&lt;/h1&gt;

&lt;p&gt;a. The let and const variables exist in the TDZ from the start of their enclosing scope until they are declared.&lt;br&gt;
b. The only difference between const and let is that when they are hoisted, their values don't get defaulted to undefined.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Both the below variables will be hoisted to the top of their scope!&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;nothing&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Prints undefined&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Throws an error, cannot access 'name' before initialization&lt;/span&gt;

    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rahul&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code is proof that let is clearly hoisted above where it was declared, as the engine alerts us to the fact. It knows name exists but we can't access it before it is initialized.&lt;/p&gt;

&lt;p&gt;When variables get hoisted, var gets undefined initialized to its value by default in the process of hoisting. let and const also get hoisted, but they don't get set to undefined when they get hoisted.&lt;/p&gt;

&lt;p&gt;And that is reason we have the TDZ. Which is why it happens with let and const but not var.&lt;/p&gt;

&lt;h1&gt;
  
  
  Why is Temporal Dead Zone?
&lt;/h1&gt;

&lt;p&gt;It helps us catch errors.To try and access a variable before it is declared is the wrong way.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tdz</category>
      <category>temporaldeadzone</category>
    </item>
    <item>
      <title>Aware about one fraud ( new freelancer )</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Thu, 16 Jan 2020 07:03:56 +0000</pubDate>
      <link>https://forem.com/rahulcs754/aware-about-one-fraud-in-freelancer-2dme</link>
      <guid>https://forem.com/rahulcs754/aware-about-one-fraud-in-freelancer-2dme</guid>
      <description>&lt;p&gt;Hello, I told you one thing that happened with me. One day, I bid on one project that provided by "clara002". &lt;/p&gt;

&lt;p&gt;&lt;b&gt;She told me&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;"I have checked ur profile. Its very good and impressive. I think if i would award u this project u will do it very honestly &amp;amp; sincerely". &lt;/p&gt;

&lt;p&gt;&lt;b&gt;I told him&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;"okay i would provide good work".&lt;/p&gt;

&lt;p&gt;&lt;b&gt;She told me&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;"hey thanks for showing interest as you know well its very hard to find job with new freelancer account. In this deal you got review plus profit&lt;br&gt;
review helps your profile to boost up your freelancer carrier. I need some positive review with 5 star from you to my profile and gives you same. I am seller of reviewed account. I have to show big projects and financial transactions to buyer for good prize. we start with small amount for trust and go for big.the details of deal mentioned below&lt;/p&gt;

&lt;p&gt;please read carefully before start"  &lt;/p&gt;

&lt;p&gt;&lt;b&gt;I told her&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;"Okay please provide details about work".&lt;/p&gt;

&lt;p&gt;&lt;b&gt;She told me &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;"&lt;br&gt;
first deal 5000 INR &lt;br&gt;
you got 4500 INR after fees&lt;br&gt;
payback amount 2250 INR&lt;/p&gt;

&lt;p&gt;payback mode paytm and google pay or upi&lt;/p&gt;

&lt;p&gt;you have to payback after release in your freelancer wallet&lt;/p&gt;

&lt;p&gt;(after that successful deal we go for bigger as much as you are ready)&lt;/p&gt;

&lt;p&gt;the amount goes bigger for 2nd deal once we complete this first deal.&lt;/p&gt;

&lt;p&gt;thanks&lt;/p&gt;

&lt;p&gt;make sure when i release fund in your freelancer account after that you have to pay back half  by paytm &lt;br&gt;
after that we move for 5 star review "&lt;/p&gt;

&lt;p&gt;&lt;b&gt;I told him again&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;" Please provide details of project"&lt;/p&gt;

&lt;p&gt;&lt;b&gt;She told me&lt;/b&gt;   &lt;/p&gt;

&lt;p&gt;"&lt;br&gt;
i dont need any work from your side&lt;/p&gt;

&lt;p&gt;just provide positive review with 5 star&lt;/p&gt;

&lt;p&gt;half is yours in every deal&lt;/p&gt;

&lt;p&gt;and send half money back what you got finally&lt;br&gt;
"&lt;/p&gt;

&lt;p&gt;Note: If Someone gives you these type of project then don't take these project.&lt;br&gt;
because they will only fraud with you. you will not get any type of money.&lt;/p&gt;

&lt;h2&gt; Please aware these type of fraud and help to share this more. That who is new freelancer.  " BE the person not a victim of fraud " &lt;/h2&gt;

</description>
      <category>fraud</category>
      <category>aware</category>
    </item>
    <item>
      <title>Oops Concepts</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Sun, 08 Dec 2019 05:22:04 +0000</pubDate>
      <link>https://forem.com/rahulcs754/oops-concepts-59gd</link>
      <guid>https://forem.com/rahulcs754/oops-concepts-59gd</guid>
      <description>&lt;p&gt;I will explain oops concepts with an example. I will try to explain a simple way. if you have any doubt about any topic regarding oops than I will provide new more example.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Class &lt;/li&gt;
&lt;li&gt;Object&lt;/li&gt;
&lt;li&gt;Inheritance&lt;/li&gt;
&lt;li&gt;Polymorphism&lt;/li&gt;
&lt;li&gt;Abstraction&lt;/li&gt;
&lt;li&gt;Encapsulation&lt;/li&gt;
&lt;li&gt;Association&lt;/li&gt;
&lt;li&gt;Aggregation&lt;/li&gt;
&lt;li&gt;Composition&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Class  
&lt;/h2&gt;

&lt;p&gt;A class is a plan &lt;br&gt;
    or&lt;br&gt;
A class is a blueprint&lt;br&gt;
    or &lt;br&gt;
A class is a template&lt;br&gt;
   or &lt;br&gt;
It is only a logical component and not the physical entity.&lt;/p&gt;

&lt;p&gt;For example, I want to create 1000 chairs. So if I create a chair with exact parameter width and height. that will take a lot of times. For creating 1000 chairs. if I developed one blueprint or plan or template then it is easy for me to create lots of chairs. using that plain, I can Create 1000 chairs under less time.&lt;/p&gt;

&lt;p&gt;or &lt;br&gt;
For example, I want to create 1000 briquettes. if I create every briquette with the same size then it takes a lot of time. if I create a dye or class or plan or blueprint for creating a briquette.that is more helpful for me. &lt;/p&gt;

&lt;p&gt;A class works like a dye. We can create a lot of thing with one logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  Object
&lt;/h2&gt;

&lt;p&gt;An object is remote of a class. using an object, We can access or operate our class like tv or remote. A tv is a class and remote is an object. that access tv.&lt;br&gt;
                                      or&lt;br&gt;
An object can be defined as an instance of a class, and there can be multiple instances of a class in a program. An object contains both the data and the function, which operates on the data. For example - chair, bike, marker, pen, table, car, etc.&lt;/p&gt;




&lt;h2&gt;
  
  
  Inheritance
&lt;/h2&gt;

&lt;p&gt;Inheritance is an OOPS feature. In inheritance, let take 2 class school and student. I create a school class. in school class, there are some variable school_name, school_Code, school_address. In student, there are some variable student_id, student_name, student_father_name. In a simple case, if I want to add school variable school_name, school_code. in student class then I have to create two variable another.that is not good for us. We should be developed reusable code. in that case, we inherit a class to another class. which class is inherited that is called "child class".that class is inherited. that is called "Parent class". &lt;/p&gt;




&lt;h2&gt;
  
  
  Polymorphism
&lt;/h2&gt;

&lt;p&gt;The word polymorphism means having many forms.&lt;br&gt;
                     or&lt;br&gt;
Polymorphism is one of the OOPS features. that allows us to perform a single action in different ways. For example, let say we have a class Animal that has a method sound(). Since this is a generic class so we can’t give it an implementation like Roar, Meow, Oink etc. We had to give a generic message. &lt;br&gt;
Polymorphism can be achieved in two of the following ways: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Method Overloading(Compile time Polymorphism)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Method Overriding(Run time Polymorphism)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Abstraction
&lt;/h2&gt;

&lt;p&gt;Abstraction means to show only the necessary field and hide details.&lt;/p&gt;

&lt;p&gt;Consider a real-life example of a man driving a car. The man only knows that pressing the accelerators will increase the speed of the car or applying brakes will stop the car but he does not know about how on pressing accelerator the speed is increasing, he does not know about the inner mechanism of the car or the implementation of an accelerator, brakes etc in the car. This is what abstraction is.&lt;/p&gt;

&lt;p&gt;Advantages of Data Abstraction:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Helps the user to avoid writing the low-level code&lt;/li&gt;
&lt;li&gt;Avoids code duplication and increases reusability.&lt;/li&gt;
&lt;li&gt;Can change the internal implementation of class independently without affecting the user.&lt;/li&gt;
&lt;li&gt;Helps to increase the security of an application or program as only important details are provided to the user.
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Encapsulation
&lt;/h2&gt;

&lt;p&gt;Encapsulation is defined as wrapping up of data and information under a single unit.&lt;/p&gt;

&lt;p&gt;Consider a real-life example of encapsulation, in a company, there are different sections like the accounts section, finance section, sales section etc. The finance section handles all the financial transactions and keeps records of all the data related to finance. Similarly, the sales section handles all the sales-related activities and keeps records of all the sales. Now there may arise a situation when for some reason an official from the finance section needs all the data about sales in a particular month. In this case, he is not allowed to directly access the data of the sales section. He will first have to contact some other officer in the sales section and then request him to give the particular data. This is what encapsulation is. Here the data of the sales section and the employees that can manipulate them are wrapped under a single name “sales section”.&lt;/p&gt;




&lt;h2&gt;
  
  
  Association
&lt;/h2&gt;

&lt;p&gt;Association is a connection or relation between two separate classes that are set up through their objects. Association relationship indicates how objects know each other and how they are using each other’s functionality. It can be one-to-one, one-to-many, many-to-one and many-to-many.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For example, a person can have only one passport. That is a “one-to-one” relationship.  &lt;/p&gt;

&lt;p&gt;If we talk about the association between a Bank and Employee, a bank can have many employees, So it is a “one-to-many” relationship.&lt;/p&gt;

&lt;p&gt;Similarly, every city exists in exactly one state, but a state can have many cities, which is a “many-to-one” relationship.&lt;br&gt;
Lastly, if we talk about the association between a teacher and a student, multiple students can be associated with a single teacher and a single student can also be associated with multiple teachers but both can be created or deleted independently. This is a “many-to-many” relationship.&lt;/p&gt;

&lt;p&gt;As an example, imagine the relationship between a doctor and a patient. A doctor can be associated with multiple patients. At the same time, one patient can visit multiple doctors for treatment or consultation. Each of these objects has its life cycle and there is no “owner” or parent. The objects that are part of the association relationship can be created and destroyed independently.&lt;/p&gt;

&lt;p&gt;Let’s take an example of a teacher and student. Multiple students can associate with a single teacher, and a single student can associate with multiple teachers, but both have their own lifecycles (both can be create and delete independently); so when a teacher leaves the school, we don’t need to delete any students, and when a student leaves the school, we don’t need to delete any teachers.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Aggregation
&lt;/h2&gt;

&lt;p&gt;An aggregation is a special form of association. It is a relationship between two classes like association, however its a directional association, which means it is strictly a one-way association. Aggregation is "&lt;em&gt;the&lt;/em&gt;" relationship among objects. &lt;/p&gt;

&lt;p&gt;Let’s take an example of a cell phone and a cell phone battery. A single battery can belong to a phone, but if the phone stops working, and we delete it from our database, the phone battery will not be deleted because it may still be functional. So in aggregation, while there is ownership, objects have their own lifecycle.&lt;/p&gt;




&lt;h2&gt;
  
  
  Composition
&lt;/h2&gt;

&lt;p&gt;Composition is about expressing relationships between objects. Think about the chair example. A chair has a Seat. A chair has a back. And a chair has a set of legs. The phrase "has a" implies a relationship where the chair owns, or at minimum, uses, another object. It is this "has a" relationship which is the basis for composition.&lt;/p&gt;

&lt;p&gt;if I forgot any point please comment. I will improve my post.&lt;/p&gt;

</description>
      <category>oops</category>
      <category>python</category>
      <category>c</category>
    </item>
    <item>
      <title>Django ORM</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Sun, 01 Dec 2019 06:28:30 +0000</pubDate>
      <link>https://forem.com/rahulcs754/django-orm-5e95</link>
      <guid>https://forem.com/rahulcs754/django-orm-5e95</guid>
      <description>&lt;p&gt;What is Django ORM?&lt;/p&gt;

&lt;p&gt;Django ORM provides an elegant and powerful way to interact with the database. ORM stands for Object Relational Mapper. You have not to write SQL query for the database operations. ORM, as from the name, maps objects attributes to respective table fields. It can also retrieve data in that manner. &lt;/p&gt;

&lt;p&gt;The Problem solved by ORM - &amp;gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ORMs provide is rapid development.&lt;/li&gt;
&lt;li&gt;ORMs makes the project more portable.&lt;/li&gt;
&lt;li&gt;It is easier to change the database if we use ORMs&lt;/li&gt;
&lt;li&gt;Knowing SQL is also not enough since SQL implementations slightly differ from one another in different databases. this became a difficult and time-consuming task. So, to resolve this, The concept of ORM was introduced in web frameworks.&lt;/li&gt;
&lt;li&gt;ORMs automatically create a database schema from defined classes/models.&lt;/li&gt;
&lt;li&gt;The ORMs use connectors to connect the database with a web application. you have to install the connector of a specific database you want to work with.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Is it necessary to use ORM?&lt;/p&gt;

&lt;p&gt;This is totally a developer's choice. Although there are certain benefits of ORM, there are some downsides too. IT is beneficial for developer as it allows faster development. Sometimes ORMs generate more complex queries then they should. This can result in a performance decrease For example – Django ORM is efficient for working with low-medium complexity models.&lt;/p&gt;

&lt;p&gt;Django ORM vs SQLAlchemy?&lt;/p&gt;

&lt;p&gt;In most cases, people prefer SQLAlchemy over Django ORM. The reason being SQLAlchemy is more adept to work with high-complexity data structures. Django ORM is powerful in its own way. The ORM provides features integrated with Django which are more important than just performance improvement.&lt;/p&gt;

</description>
      <category>django</category>
      <category>orm</category>
      <category>concept</category>
      <category>djangoconcept</category>
    </item>
    <item>
      <title>Amazon EC2 Setup with Ubuntu and XAMPP Installation</title>
      <dc:creator>rahul shukla</dc:creator>
      <pubDate>Sat, 16 Nov 2019 07:19:12 +0000</pubDate>
      <link>https://forem.com/rahulcs754/amazon-ec2-setup-with-ubuntu-and-xampp-installation-2a6k</link>
      <guid>https://forem.com/rahulcs754/amazon-ec2-setup-with-ubuntu-and-xampp-installation-2a6k</guid>
      <description>&lt;p&gt;Step 1&lt;br&gt;
First of all, login our Aws account. Aws log in ( link )&lt;/p&gt;

&lt;p&gt;Step 2&lt;br&gt;
After Amazon console login you find the following screen, select EC2 from Compute category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122065230_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122065230_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 3 &lt;br&gt;
Click Launch Instance button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122150616_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122150616_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 4 &lt;/p&gt;

&lt;p&gt;Now choose operating system for web server. I suggest use Ubuntu for more package advantage. Make sure, that should be listed in free tier. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122285356_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122285356_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 5 &lt;/p&gt;

&lt;p&gt;After select button. you will click for review and instance&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122398947_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122398947_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 6 &lt;/p&gt;

&lt;p&gt;After clicking Review and Launch You find the below screen, now click Launch button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122510726_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122510726_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 7&lt;/p&gt;

&lt;p&gt;In this step. you see this screen. Select “create a new key pair” &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122611647_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122611647_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122668820_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122668820_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;a. Set key pair name. What ever you want &lt;br&gt;
b. Give valid name and click to Download Key Pair. You will get an .pem file.&lt;/p&gt;

&lt;p&gt;Step 8 &lt;/p&gt;

&lt;p&gt;Now Instance has been created successfully.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122812474_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122812474_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 9 &lt;/p&gt;

&lt;p&gt;Firewall Security Settings &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; You will find the instance status here.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122887552_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122887552_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 10&lt;/p&gt;

&lt;p&gt;Select the instance box and scroll down the page, you will find inbound rules for firewall security&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122962361_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122962361_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 11&lt;/p&gt;

&lt;p&gt;Add HTTP rule for web server access.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122991719_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573122991719_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Elastic IP - Create Static IP Address&lt;/p&gt;

&lt;p&gt;Basically, Amazon instance will provide you a dynamic public DNS name, this is not stable. So you need a static IP.&lt;/p&gt;

&lt;p&gt;Step 12&lt;/p&gt;

&lt;p&gt;Go to Network &amp;amp; Security category and select Elastic IPs, click Allocate New Address&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123036701_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123036701_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 13&lt;/p&gt;

&lt;p&gt;Amazon will provide you a random IP address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123062080_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123062080_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 14&lt;/p&gt;

&lt;p&gt;Now associate IP address with instance box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123085635_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123085635_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 15&lt;/p&gt;

&lt;p&gt;Choose instance box here.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123117414_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123117414_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 16&lt;/p&gt;

&lt;p&gt;Click Associate address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-mNrEJ00A4bI%2FVmZMHx8rObI%2FAAAAAAAANP0%2FQer57U7j1VA%2Fs550-Ic42%2FAssociate_ip_instance.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-mNrEJ00A4bI%2FVmZMHx8rObI%2FAAAAAAAANP0%2FQer57U7j1VA%2Fs550-Ic42%2FAssociate_ip_instance.png" alt="Launch instance"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 17&lt;/p&gt;

&lt;p&gt;Associated IP address with instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123161748_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123161748_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Linux &amp;amp; MAC connection&lt;/p&gt;

&lt;p&gt;Executing following command with Linux or MAC terminal, you can directly access your box.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh -i keyname.pem ubuntu@IP_ADDRESS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Sometimes you will get following error.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Permissions 0640 for 'keyname.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "keyname.pem": bad permissions
Permission denied (publickey).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Give only READ permission for .pem file, then execute SSH command again.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod 400 keyname.pem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Windows connection&lt;/p&gt;

&lt;p&gt;Run following command&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ubuntu@ip-172-31-19-204:~$ sudo su
root@ip-172-31-19-204:/home/ubuntu#
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will update Ubuntu OS Packages&lt;/p&gt;

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

&lt;/div&gt;

&lt;p&gt;XAMPP Installation Commands for Ubuntu&lt;/p&gt;

&lt;p&gt;Download XAMPP for 64 bit&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget https://www.apachefriends.org/xampp-files/7.0.23/xampp-linux-x64-7.0.23-0-installer.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Make Execute Installation&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod +x xampp-linux-x64-7.0.23-0-installer.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run Installation&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo ./xampp-linux-x64-7.0.23-0-installer.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;XAMPP instructions&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue.
XAMPP Core Files : Y (Cannot be edited)
XAMPP Developer Files [Y/n] : Y
Is the selection above correct? [Y/n]: Y


Installation Directory
XAMPP will be installed to /opt/lampp
Press [Enter] to continue:
Do you want to continue? [Y/n]:Y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run XAMPP&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo /opt/lampp/lampp start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;XAMPP Access Forbidden&lt;br&gt;
Open your browser and access &lt;a href="http://IP-ADDRESS/" rel="noopener noreferrer"&gt;http://IP-ADDRESS/&lt;/a&gt; you will find this Access forbidden screen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123525799_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123525799_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;XAMPP Configurations&lt;/p&gt;

&lt;p&gt;Edit XAMPP configurations.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vi /opt/lampp/etc/extra/httpd-xampp.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this image there are default value is local you have to set “ all granted ”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123625063_image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpaper-attachments.dropbox.com%2Fs_132101326B419C26F49673FEC4C8CAE7FFA4E0D888CBBD1284FE12420C7F97AD_1573123625063_image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Restart XAMPP&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo /opt/lampp/lampp restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Security Settings&lt;/p&gt;

&lt;p&gt;sudo /opt/lampp/xampp security&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes]
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] no
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...ok.
XAMPP: Starting MySQL...ok.
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:*******
XAMPP: Password (again):*******
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:*******
XAMPP: Password (again):*******
XAMPP: Setting new MySQL root password.
XAMPP: Change phpMyAdmin's authentication method.
XAMPP: The FTP password for user 'daemon' is still set to 'xampp'.
XAMPP: Do you want to change the password? [yes] no
XAMPP: Done.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;PhpMyAdmin&lt;/p&gt;

&lt;p&gt;Access PhyMyAdmin at &lt;a href="http://IP-Address/phpmyadmin/" rel="noopener noreferrer"&gt;http://IP-Address/phpmyadmin/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Domain Settings&lt;br&gt;
If you own a domain address, go to domain DNS(Domain name settings). Add host value @ points to IP-Address&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-yFNhTNd0eXc%2FVmZZ8bN19PI%2FAAAAAAAANQs%2FBkzb-Cay6Ys%2Fs550-Ic42%2Fgodaddy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-yFNhTNd0eXc%2FVmZZ8bN19PI%2FAAAAAAAANQs%2FBkzb-Cay6Ys%2Fs550-Ic42%2Fgodaddy.png" alt="Launch instance"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                Thanks for Reading 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>php</category>
      <category>mysql</category>
      <category>aws</category>
      <category>amazonec2</category>
    </item>
  </channel>
</rss>
