<?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: Arpan Adhikari</title>
    <description>The latest articles on DEV Community by Arpan Adhikari (@arpan45).</description>
    <link>https://dev.to/arpan45</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%2F301201%2F2281b713-2606-4e7c-8ca1-ab3a71fd3a02.jpg</url>
      <title>DEV Community: Arpan Adhikari</title>
      <link>https://dev.to/arpan45</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arpan45"/>
    <language>en</language>
    <item>
      <title>Serverless Node-Mongo API with DigitalOcean Functions</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Mon, 29 Aug 2022 19:20:18 +0000</pubDate>
      <link>https://dev.to/arpan45/serverless-node-mongo-api-with-digitalocean-functions-5a3i</link>
      <guid>https://dev.to/arpan45/serverless-node-mongo-api-with-digitalocean-functions-5a3i</guid>
      <description>&lt;p&gt;Hello Folks,&lt;/p&gt;

&lt;p&gt;We will discuss the newly launched &lt;strong&gt;DigitalOcean Functions&lt;/strong&gt; - A way to go Serverless and will create a &lt;strong&gt;node.js application&lt;/strong&gt; that can connect and store data to &lt;strong&gt;MongoDB&lt;/strong&gt;. It's so simple to create a Serverless function with DigitalOcean. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Functions are blocks of code that run on demand without the need to manage any infrastructure. Develop on your local machine, test your code from the command line (using doctl), then deploy to App Platform — no servers required.&lt;/p&gt;
&lt;/blockquote&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%2Fxfk6q4dq6yf5zsl93uzd.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%2Fxfk6q4dq6yf5zsl93uzd.png" alt="DigitalOcean Serverless Functions"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://m.do.co/c/0eeab663047a" rel="noopener noreferrer"&gt;DigitalOcean Account-$100 Free on signup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.digitalocean.com/reference/doctl/how-to/install/" rel="noopener noreferrer"&gt;Install doctl cli&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MongoDB Credentials(URI)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Init
&lt;/h2&gt;

&lt;p&gt;Once you have setup and install doctl in your system. Check if everything is working by running 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;doctl serverless status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above command should return something like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Connected to function namespace 'fn-feb132ee-706a-4f13-9c81-f24a3330260a' on API host 'https://faas-nyc1-78edc.doserverless.co'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now initialise the project by running (node-mongo-serverless is our project name here, you can choose any preferable name):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doctl serverless init --language js node-mongo-serverless
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Project folder will be created with the following directory structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node-mongo-serverless/
├── packages
│   └── sample
│       └── hello
│           └── hello.js
└── project.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we will rename the files and create a .env file in the root directory such that the new structure will look like the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node-mongo-serverless/
├── packages
│   └── mongodb
│       └── postData
│           └── index.js
└── project.yml
└── .env

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2: Configure
&lt;/h2&gt;

&lt;p&gt;Now we need to modify the &lt;code&gt;project.yml&lt;/code&gt; file accordingly. It will be like the following. We need to modify package name and actions name.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;targetNamespace&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;
&lt;span class="na"&gt;parameters&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
&lt;span class="na"&gt;packages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mongodb&lt;/span&gt;
    &lt;span class="na"&gt;parameters&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
    &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
    &lt;span class="na"&gt;actions&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;postData&lt;/span&gt;
        &lt;span class="na"&gt;binary&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
        &lt;span class="na"&gt;main&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;
        &lt;span class="na"&gt;runtime&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;nodejs:default'&lt;/span&gt;
        &lt;span class="na"&gt;web&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
        &lt;span class="na"&gt;parameters&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
        &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
        &lt;span class="na"&gt;annotations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
        &lt;span class="na"&gt;limits&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;{}&lt;/span&gt;
&lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;DATABASE_URL&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${MONGO_URI}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we will open and modify the .env file in the root folder with the MongoDB URI.&lt;/p&gt;

&lt;p&gt;.env file will look something like the following. (Replace the value with your own MongoDB URI.)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MONGO_URI='mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we will run the following commands one by one:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd node-mongo-serverless/packages/mongodb/postData
npm init -y
npm install --package-lock-only mongodb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above commands will create &lt;code&gt;packages.json&lt;/code&gt; file in the &lt;code&gt;node-mongo-serverless/packages/mongodb/postData&lt;/code&gt; directory and add the mongodb package.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Add code to function
&lt;/h2&gt;

&lt;p&gt;We can now create our main function in the index.js file we already have. &lt;br&gt;
First remove all the content of the index.js file and replace with the following 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;const&lt;/span&gt; &lt;span class="nx"&gt;MongoClient&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;mongodb&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;uri&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DATABASE_URL&lt;/span&gt;&lt;span class="dl"&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;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;MongoClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;uri&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;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Arpan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;connect&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;db&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;namedb&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;names&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;insertOne&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`added &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; to database.`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;ok&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="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&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="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;body&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;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;error&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;There was a problem adding the data to the database.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;statusCode&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;
        &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;finally&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;main&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;main&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The function will add data to the MongoDB database. &lt;br&gt;
That's it. We are all done now. We can proceed to deploy our function now.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 4: Deploy and Test the Function
&lt;/h2&gt;

&lt;p&gt;We navigate to the root directory of the project where the project.yml is and run the following command to connect to the Serverless namespace.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doctl serverless connect
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you get a positive response like "Connected to function namespace" you can run the following command to deploy the function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doctl serverless deploy .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the above command, you must be in the root directory of the project. You should see a success message about the deployment.&lt;/p&gt;

&lt;p&gt;Run the following command to get the URL of the function API, where you can hit to store the data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doctl serverless functions get mongodb/postData --url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;You can copy and paste the returned URL into your local browser or postman or any other tool/package. you will receive the response from the index.js file if the data is inserted properly into MongoDB.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hope you enjoyed the article. For any queries feel free to ask in the comments.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>serverless</category>
      <category>tutorial</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Leetcode Two Sum Problem | DSA | Python</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Sat, 02 Apr 2022 18:15:33 +0000</pubDate>
      <link>https://dev.to/arpan45/leetcode-two-sum-problem-dsa-python-hba</link>
      <guid>https://dev.to/arpan45/leetcode-two-sum-problem-dsa-python-hba</guid>
      <description>&lt;p&gt;&lt;em&gt;Leetcode Two Sum Problem link&lt;/em&gt;: &lt;a href="https://leetcode.com/problems/two-sum/"&gt;https://leetcode.com/problems/two-sum/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have tried to explain both the bruteforce approach as well as the optimal approach. Easy two sum problem solution. If you are preparing for DSA rounds or for SDE interview then this is for you.If you have any queries feel free to leave a comment. &lt;/p&gt;

&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;Given an array of integers &lt;em&gt;&lt;strong&gt;nums&lt;/strong&gt;&lt;/em&gt; and an integer &lt;em&gt;&lt;strong&gt;target&lt;/strong&gt;&lt;/em&gt;, return indices of the two numbers such that they add up to target.&lt;/p&gt;

&lt;p&gt;You may assume that each input would have exactly one solution, and you may not use the same element twice.&lt;/p&gt;

&lt;p&gt;You can return the answer in any order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Example 1:
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].


Example 2:
Input: nums = [3,2,4], target = 6
Output: [1,2]

Example 3:
Input: nums = [3,3], target = 6
Output: [0,1]

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Solution 1 : [Bruteforce Method]&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;typing&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;
   &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;twoSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;!=&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Solution 2 : [Optimal Solution]&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;typing&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;
 &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;twoSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;'Please pass an array with atleast two elements'&lt;/span&gt;
    &lt;span class="n"&gt;hashTable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
        &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="n"&gt;target&lt;/span&gt;  &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;complement&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;hashTable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;complement&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;hashTable&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I have created a video explaining the solution. &lt;br&gt;
&lt;a href="https://youtu.be/ByP2W4Z-A9c"&gt;&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ByP2W4Z-A9c"&gt;
&lt;/iframe&gt;
.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>career</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Install Jitsi Meet Video Conferencing tool on Ubuntu</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Thu, 21 Jan 2021 20:27:16 +0000</pubDate>
      <link>https://dev.to/arpan45/install-jitsi-meet-video-conferencing-tool-on-ubuntu-54ln</link>
      <guid>https://dev.to/arpan45/install-jitsi-meet-video-conferencing-tool-on-ubuntu-54ln</guid>
      <description>&lt;p&gt;In this article I will share how to install and setup jitsi meet on a Ubuntu / Debian server.  It will take few minutes to install and setup your own video conferencing server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://jisti.org"&gt;Jitsi meet&lt;/a&gt; is a free open source tool by which you can host your own video conferencing server.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Prerequisites&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A fresh ubuntu server instance with an IPv4 address xx.xx.xx.xx (eg. 192.16.0.1 )&lt;/li&gt;
&lt;li&gt;A root user with password or ssh keys &lt;/li&gt;
&lt;li&gt;A domain meet.yoursite.com being pointed to the server instance mentioned above.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Pointing Domain To Your Server
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to your registrar (eg. &lt;a href="https://godaddy.com"&gt;Godaddy&lt;/a&gt;, &lt;a href="https://namecheap.com"&gt;Namecheap&lt;/a&gt;, etc)&lt;/li&gt;
&lt;li&gt;Find Manage Your DNS records&lt;/li&gt;
&lt;li&gt;Complete the required fields:

&lt;ul&gt;
&lt;li&gt;Host: The host name, or prefix, for the subdomain. For example, enter meet  to create a subdomain for meet.yoursite.com.&lt;/li&gt;
&lt;li&gt;Points to: The IP address you are setting as the destination for the host. This is usually the IP address of a hosting account where the site for your subdomain lives.&lt;/li&gt;
&lt;li&gt;TTL: How long the server should cache information. The TTL is set to 1 hour by default.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Save it&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Connecting to your server Via SSH:
&lt;/h3&gt;

&lt;p&gt;IF YOU HAVE .pem or .ppk files ( SSH keys ) for logging in to ssh Follow the below Steps Else Skip this&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Terminal ( In Apple Machines ) / Open Putty ( Installation Link : &lt;a href="https://the.earth.li/%7Esgtatham/putty/latest/w64/putty.exe"&gt;https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe&lt;/a&gt; ) &lt;/li&gt;
&lt;li&gt;&lt;p&gt;For Mac :&lt;br&gt;
Type: &lt;code&gt;ssh -i key.pem root@yourserversip&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For Windows Fill The putty Fields &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At Host put your servers IP&lt;/li&gt;
&lt;li&gt;Select SFTP from the dropdown&lt;/li&gt;
&lt;li&gt;Then choose keyfile option and select the key.ppk file&lt;/li&gt;
&lt;li&gt;Then Connect
Now you will be able to access your server via your machine&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If you have the password for ssh login Follow the Below Steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;For MacOS

&lt;ul&gt;
&lt;li&gt;Enter in terminal – &lt;code&gt;ssh root@yourserverip&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Then Enter the password&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;For windows

&lt;ul&gt;
&lt;li&gt;At Host put your servers IP&lt;/li&gt;
&lt;li&gt;Select SFTP from the dropdown&lt;/li&gt;
&lt;li&gt;Then choose username/password option &lt;/li&gt;
&lt;li&gt;Enter your Username and Password&lt;/li&gt;
&lt;li&gt;Connect
### If you are loggin with user other than root
Then after login enter - &lt;code&gt;sudo su –&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Make sure the Following Ports are open For your server if not Add it&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add HTTP and HTTPS rules from source Anywhere.&lt;/li&gt;
&lt;li&gt;Add custom TCP port 4443 rule from source Anywhere .&lt;/li&gt;
&lt;li&gt;Add custom UDP port 10000 rule from source Anywhere .&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Now we are ready to install JITSI MEET
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Enter the following in the terminal one by one:&lt;br&gt;
Make sure to replace meet.yoursite.com with yours&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo hostnamectl set-hostname jitsimeet&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 meet.yoursite.com jitsimeet/g' /etc/hosts&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt install -y openjdk-8-jre-headless&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile source /etc/profile&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt install -y nginx&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo systemctl start nginx.service&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo systemctl enable nginx.service&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add –&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo sh -c "echo 'deb https://download.jitsi.org stable/' &amp;gt; /etc/apt/sources.list.d/jitsi-stable.list"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt update -y&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt install -y jitsi-meet&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;During the installation, when you are asked to provide the hostname of the current installation, type in the meet.yoursite.com you setup earlier and then press ENTER.&lt;/p&gt;

&lt;p&gt;When you are asked about the SSL certificate, highlight the Generate a new self-signed certificate (You will later get a chance to obtain a Let's Encrypt certificate) option and then press ENTER.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Once Jitsi Meet successfully installed, use the following script to apply for a Let's Encrypt SSL certificate:&lt;br&gt;
Enter the Following in Terminal&lt;br&gt;
&lt;code&gt;sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Tada !!! You have successfully installed jitsi meet on your ubuntu server.
&lt;/h3&gt;

&lt;p&gt;Now open your browser with &lt;code&gt;http://meet.yoursite.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8cE_UG-i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nxmzrratos1rowpnwe1j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8cE_UG-i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nxmzrratos1rowpnwe1j.png" alt="Install jitsi meet" width="880" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You can change the &lt;em&gt;Logo&lt;/em&gt; in &lt;em&gt;/usr/share/jitsi-meet/images/watermark.png&lt;/em&gt;&lt;br&gt;
Replace watermark.png with yours&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change Jitsi name and other settings easily at:&lt;br&gt;
&lt;em&gt;/usr/share/jitsi-meet/interface_config&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change &lt;em&gt;Background Color&lt;/em&gt; and &lt;em&gt;Front Page Texts&lt;/em&gt; at:&lt;br&gt;
&lt;em&gt;/usr/share/jitsi-meet/libs/app.bundle.min.js&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change &lt;em&gt;Site title&lt;/em&gt; and other meta data at:&lt;br&gt;
&lt;em&gt;/usr/share/jitsi-meet/title.html&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out this free $100 credit for DigitalOcean Servers - &lt;a href="https://m.do.co/c/0eeab663047a"&gt;https://m.do.co/c/0eeab663047a&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Hope you enjoyed the article. For any queries feel free to leave a comment below.
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Thank you.
&lt;/h3&gt;

</description>
      <category>jitsi</category>
      <category>codenewbie</category>
      <category>linux</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>Host your Vue.js Application for #FREE</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Wed, 20 Jan 2021 18:23:39 +0000</pubDate>
      <link>https://dev.to/arpan45/host-your-vue-js-application-for-free-2icd</link>
      <guid>https://dev.to/arpan45/host-your-vue-js-application-for-free-2icd</guid>
      <description>&lt;p&gt;Hello everyone,&lt;br&gt;
I have created a guide on creating and hosting a Vuejs Application for free with DigitalOcean App Platform.&lt;/p&gt;

&lt;p&gt;Check out my video guide here:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FIiGffuhMtQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>vue</category>
      <category>react</category>
      <category>codenewbie</category>
      <category>github</category>
    </item>
    <item>
      <title>How to host your static site for free with DigitalOcean App Platform</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Thu, 07 Jan 2021 19:21:24 +0000</pubDate>
      <link>https://dev.to/arpan45/how-to-host-your-static-site-for-free-with-digitalocean-app-platform-23gh</link>
      <guid>https://dev.to/arpan45/how-to-host-your-static-site-for-free-with-digitalocean-app-platform-23gh</guid>
      <description>&lt;p&gt;Hi everyone,&lt;br&gt;
In this guide I will show you how you can host your static site for free with DigitalOcean App Platform and integrate git repo with DigitalOcean. Hope you like it.&lt;/p&gt;

&lt;p&gt;Check out my video guide here:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/VtiiReW_QHA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>digitalocean</category>
      <category>github</category>
      <category>codenewbie</category>
      <category>aws</category>
    </item>
    <item>
      <title>Simple Quiz Application With Timer - Vue  </title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Sat, 12 Dec 2020 16:50:00 +0000</pubDate>
      <link>https://dev.to/arpan45/simple-quiz-application-with-timer-vue-2dkk</link>
      <guid>https://dev.to/arpan45/simple-quiz-application-with-timer-vue-2dkk</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;A simple One Page Quiz Application Written in Vue 2. Which Can be used in any Quiz or Other Applications. &lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Random Roulette&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://simple-quiz-vue-56qwg.ondigitalocean.app" rel="noopener noreferrer"&gt;https://simple-quiz-vue-56qwg.ondigitalocean.app&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&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%2Fi%2F0knzqgiurh3tmzfl4qdw.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%2Fi%2F0knzqgiurh3tmzfl4qdw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&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%2Fi%2Foc1gsf9vzdvntv3nec7z.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%2Fi%2Foc1gsf9vzdvntv3nec7z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;This is an simple OnePage Application Written in Vue2. You can integrate it anywhere in your vueJS application. It has a simple timer with loading animations. Bootstrap-vue is used for the ui component. Since it is open source feel free to contribute to this simple quiz Application here: &lt;a href="https://github.com/arpan45/simple-quiz-vue" rel="noopener noreferrer"&gt;https://github.com/arpan45/simple-quiz-vue&lt;/a&gt; .&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/arpan45/simple-quiz-vue" rel="noopener noreferrer"&gt;https://github.com/arpan45/simple-quiz-vue&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;MIT License&lt;/p&gt;

&lt;p&gt;Copyright (c) 2020 Arpan Adhikari&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;A simple Quiz App Can be integrated anywhere. Most of the Applications which are mainly focused on education purpose can use it for simple challenging Quiz.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;First time used the DigitalOcean App Platform for deploying my App. It auto detects everything from the repo.CI/CD is just buttery smooth with digital ocean app platform. I just put my code to GitHub . Building and Serving App was so easy with a clean interface. I just selected the repository and set the dist directory for deploying. That is it. You can deploy the Application in just a click.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud.digitalocean.com/apps/new?repo=https://github.com/arpan45/simple-quiz-vue/tree/main" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmp-assets1.sfo2.digitaloceanspaces.com%2Fdeploy-to-do%2Fdo-btn-blue.svg" alt="Deploy to DO"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;p&gt;I have used Unsplash for the landing page image.&lt;br&gt;
Bootstrap-Vue as UI components Library.&lt;/p&gt;

</description>
      <category>dohackathon</category>
      <category>vue</category>
      <category>javascript</category>
      <category>github</category>
    </item>
    <item>
      <title>Any Component Library Like Vuetify or Vusax for Vue 3 ?</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Sat, 07 Nov 2020 18:22:32 +0000</pubDate>
      <link>https://dev.to/arpan45/any-component-library-like-vuetify-or-vusax-for-vue-3-1ike</link>
      <guid>https://dev.to/arpan45/any-component-library-like-vuetify-or-vusax-for-vue-3-1ike</guid>
      <description>&lt;p&gt;Any Component Library Like Vuetify or Vusax for Vue 3 ? Any suggestions for vue 3 component library ?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>How many sites can be hosted in 1 Hobby dyno?</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Mon, 17 Feb 2020 05:34:52 +0000</pubDate>
      <link>https://dev.to/arpan45/how-many-sites-can-be-host-in-1-hobby-dyno-3i58</link>
      <guid>https://dev.to/arpan45/how-many-sites-can-be-host-in-1-hobby-dyno-3i58</guid>
      <description>&lt;p&gt;How many static or dynamic websites can be hosted with one hobby dyno? &lt;/p&gt;

</description>
      <category>help</category>
    </item>
    <item>
      <title>How to find the address of a Variable in PHP?</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Tue, 11 Feb 2020 11:21:46 +0000</pubDate>
      <link>https://dev.to/arpan45/how-to-find-the-address-of-a-variable-in-php-2356</link>
      <guid>https://dev.to/arpan45/how-to-find-the-address-of-a-variable-in-php-2356</guid>
      <description>&lt;p&gt;How to print the address of a Variable in PHP?&lt;/p&gt;

</description>
      <category>help</category>
    </item>
    <item>
      <title>Best option for backend</title>
      <dc:creator>Arpan Adhikari</dc:creator>
      <pubDate>Sun, 12 Jan 2020 18:51:43 +0000</pubDate>
      <link>https://dev.to/arpan45/best-option-backend-2186</link>
      <guid>https://dev.to/arpan45/best-option-backend-2186</guid>
      <description>&lt;p&gt;Hi, I want to develop an educational web application with apis that can be integrated with android application. &lt;br&gt;
What is the best option for this kind of applications. Nodejs + MongoDB or PHP + MySQL &lt;/p&gt;

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