<?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: WebDevQuest</title>
    <description>The latest articles on DEV Community by WebDevQuest (@jrfrazier).</description>
    <link>https://dev.to/jrfrazier</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%2F3974%2Fdaae8fe1-644d-494e-8d75-b1485262eb15.png</url>
      <title>DEV Community: WebDevQuest</title>
      <link>https://dev.to/jrfrazier</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jrfrazier"/>
    <language>en</language>
    <item>
      <title>Securely Transfer Files with SFTP</title>
      <dc:creator>WebDevQuest</dc:creator>
      <pubDate>Sat, 14 Oct 2017 03:11:15 +0000</pubDate>
      <link>https://dev.to/jrfrazier/securely-transfer-files-with-sftp-eha</link>
      <guid>https://dev.to/jrfrazier/securely-transfer-files-with-sftp-eha</guid>
      <description>&lt;p&gt;SFTP (Secure File Transfer Protocol) is similar to FTP (File Transfer Protocol) in that is allows you to transfer files between your local machine and a remote system. &lt;br&gt;
The advantage that SFTP has over FTP is that SFTP includes &lt;a href="https://www.ssh.com/ssh/"&gt;SSH&lt;/a&gt;. This ensures that your connection between your local machine and the remote system will be encrypted. In most situations SFTP should be used over FTP due to its added layer of security.&lt;/p&gt;

&lt;p&gt;There are many GUI clients that you can download and use to transfer files over SFTP. However, in this tutorial I will demonstrate a basic use of SFTP on the command line.&lt;/p&gt;
&lt;h2&gt;
  
  
  Using SFTP
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Connecting to a remote server over sftp&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this example I will show you how to make the initial connection between your local machine and the remote system using SFTP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp user@&amp;lt;remote system&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; It is important to ensure that you run the above command from the directory you are going to be transferring files to and from on your local machine. Otherwise you will have to define the full path on your local server each time that you run the command to transfer or import files.  &lt;/p&gt;

&lt;p&gt;When you are connected to the remote server you should see the following SFTP prompt in your thermal:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;The above prompt indicates that you are now connected to the remote server and are ready to begin transferring files.&lt;/p&gt;

&lt;p&gt;At any time if you need help you can simply type &lt;code&gt;help&lt;/code&gt; in your prompt and you will be presented with a list of available commands accompanied by a brief explanation of what each command does.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; &lt;span class="nb"&gt;help
&lt;/span&gt;Available commands:
bye                                Quit sftp
&lt;span class="nb"&gt;cd &lt;/span&gt;path                            Change remote directory to &lt;span class="s1"&gt;'path'&lt;/span&gt;
&lt;span class="nb"&gt;chgrp &lt;/span&gt;grp path                     Change group of file &lt;span class="s1"&gt;'path'&lt;/span&gt; to &lt;span class="s1"&gt;'grp'&lt;/span&gt;
&lt;span class="nb"&gt;chmod &lt;/span&gt;mode path                    Change permissions of file &lt;span class="s1"&gt;'path'&lt;/span&gt; to &lt;span class="s1"&gt;'mode'&lt;/span&gt;
&lt;span class="nb"&gt;chown &lt;/span&gt;own path                     Change owner of file &lt;span class="s1"&gt;'path'&lt;/span&gt; to &lt;span class="s1"&gt;'own'&lt;/span&gt;
&lt;span class="nb"&gt;df&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-hi&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;path]                    Display statistics &lt;span class="k"&gt;for &lt;/span&gt;current directory or
                                   filesystem containing &lt;span class="s1"&gt;'path'&lt;/span&gt;
&lt;span class="nb"&gt;exit                               &lt;/span&gt;Quit sftp
get &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-afPpRr&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; remote &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;local&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;       Download file
reget &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-fPpRr&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; remote &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;local&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;      Resume download file
reput &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-fPpRr&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;local&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; remote      Resume upload file
&lt;span class="nb"&gt;help                               &lt;/span&gt;Display this &lt;span class="nb"&gt;help &lt;/span&gt;text
lcd path                           Change &lt;span class="nb"&gt;local &lt;/span&gt;directory to &lt;span class="s1"&gt;'path'&lt;/span&gt;
lls &lt;span class="o"&gt;[&lt;/span&gt;ls-options &lt;span class="o"&gt;[&lt;/span&gt;path]]            Display &lt;span class="nb"&gt;local &lt;/span&gt;directory listing
lmkdir path                        Create &lt;span class="nb"&gt;local &lt;/span&gt;directory
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-s&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; oldpath newpath            Link remote file &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="k"&gt;for &lt;/span&gt;symlink&lt;span class="o"&gt;)&lt;/span&gt;
lpwd                               Print &lt;span class="nb"&gt;local &lt;/span&gt;working directory
&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-1afhlnrSt&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;path]             Display remote directory listing
lumask &lt;span class="nb"&gt;umask                       &lt;/span&gt;Set &lt;span class="nb"&gt;local umask &lt;/span&gt;to &lt;span class="s1"&gt;'umask'&lt;/span&gt;
&lt;span class="nb"&gt;mkdir &lt;/span&gt;path                         Create remote directory
progress                           Toggle display of progress meter
put &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;-afPpRr&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="nb"&gt;local&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;remote]       Upload file
&lt;span class="nb"&gt;pwd                                &lt;/span&gt;Display remote working directory
quit                               Quit sftp
rename oldpath newpath             Rename remote file
&lt;span class="nb"&gt;rm &lt;/span&gt;path                            Delete remote file
&lt;span class="nb"&gt;rmdir &lt;/span&gt;path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;command                           &lt;/span&gt;Execute &lt;span class="s1"&gt;'command'&lt;/span&gt; &lt;span class="k"&gt;in &lt;/span&gt;&lt;span class="nb"&gt;local &lt;/span&gt;shell
&lt;span class="o"&gt;!&lt;/span&gt;                                  Escape to &lt;span class="nb"&gt;local &lt;/span&gt;shell
?                                  Synonym &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="nb"&gt;help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Transferring files from your local machine to the remote system&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this example I will demonstrate how to transfer a file and a directory from your local machine to a remote system. &lt;/p&gt;

&lt;p&gt;Before you begin transferring files it is always a good idea to make sure that you are in the correct directory. We can accomplis this typing the command&lt;code&gt;pwd&lt;/code&gt; into your terminal.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; &lt;span class="nb"&gt;pwd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output should be the present working directory in which you would like to transfer files to. If it is not you can use the &lt;code&gt;cd&lt;/code&gt; command to change to the appropriate directory. &lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; &lt;span class="nb"&gt;cd&lt;/span&gt; &amp;lt;name or path to directory&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When transferring files from your local machine to a remote system you will use the &lt;code&gt;put&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;The following example demonstrates how to transfer a file from your local machine to a remote system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; put &amp;lt;&lt;span class="nb"&gt;local &lt;/span&gt;file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above command will transfer a file from your local machine and place it in the directory that you are currently connected to on the reomote system.&lt;/p&gt;

&lt;p&gt;If you need to transfer an entire directory over to the remote system you will have to use the &lt;code&gt;-r&lt;/code&gt; option then the name of the directory you would like to transfer:&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; put &lt;span class="nt"&gt;-r&lt;/span&gt; &amp;lt;&lt;span class="nb"&gt;local &lt;/span&gt;directory&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Importing files from a remote system to your local machine&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this example I will demonstrate how to import a file or directory from a remote system to your local machine. &lt;/p&gt;

&lt;p&gt;When importing files/directories from a remote server to your local machine you will use the command &lt;code&gt;get&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The following example demonstrates how to import a file from a remote system to your local machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; get &amp;lt;remote file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In addition you can use the &lt;code&gt;-r&lt;/code&gt; opeion if you would like to import a directory and its contents from the remote server to your local machine:&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sftp&amp;gt; get &lt;span class="nt"&gt;-r&lt;/span&gt; &amp;lt;remote directory&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's all there is to it! The commands I provided should be enough to get you going using SFTP. Again if you need help you can alway's type &lt;code&gt;help&lt;/code&gt; in your terminal. Also if you would like a more in depth guide on the usage and available options included with this tool you can simply type &lt;code&gt;man sftp&lt;/code&gt; in any Unix/Linux terminal to bring up the SFTP manual.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>sftp</category>
    </item>
    <item>
      <title>Why I Decided to Learn How to Program</title>
      <dc:creator>WebDevQuest</dc:creator>
      <pubDate>Mon, 04 Sep 2017 13:16:56 +0000</pubDate>
      <link>https://dev.to/jrfrazier/why-i-decided-to-learn-how-to-program</link>
      <guid>https://dev.to/jrfrazier/why-i-decided-to-learn-how-to-program</guid>
      <description>&lt;p&gt;There are a number of reason why I decided to learn how to program. In fact,  my reasons are probably not much different from most people my age. The truth is, I’ve always been interested in programming. Ever since I was a boy I had an interest in computers. My dad ran a small computer repair shop out of our house. So I was exposed to a variety of computers at a young age. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So... why now? Why at the age of 36 am I just starting? Why didn’t I start earlier on?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To be completely honest it was fear. The fear of failure to be more specific. This fear prevented me from learning something that I had been interested in since I was a kid. I was mostly afraid that I was too stupid, and that if I tried and failed, I would know for certain that I was. You see, I grew up with the mindset that you had to be a genius, or a math wiz, or maybe something like Doogie Howser to become a programmer. But I was none of those things... So why would I even try??? &lt;/p&gt;

&lt;p&gt;To be fair programming wasn’t easy to learn when I was young. You only had a few options for learning. Your choices were either to go to school for a CS degree, have someone mentor you, or learn from a book. I’ll also add that the books back then were not beginner friendly (at least the books that I could find) and most of the languages had a very steep learning curve. Regardless, I still never gave it a try. Instead, I convinced myself that programming wasn’t for me. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Okay… Enough about why I didn’t learn how to program then, and on to why I am NOW.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;I think my primary reason is simply because &lt;strong&gt;I CAN&lt;/strong&gt;. The information is out there, and nowadays, anyone interested can start learning how to code for little to no cost at all. I also came to realize that &lt;strong&gt;anyone can do this&lt;/strong&gt;. You don’t have to be a genius or a math wiz.  All you need is the willingness and drive to see it through. I already had the willingness part. I just need that drive or that push to get me started...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I finally got that push, and it was in the form of a baby girl.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Once I became a parent I realized that I had to do more with my life. It isn’t just about providing a better life for my family either. I want to be a role model for my daughter. I want to show her that no matter what, if you follow your dreams and put your mind to it, you can achieve anything. I also want to do something that I love for a living. I’m tired of working just to pay the bills. I want to do something that I can be proud of!  For me, that is programming. &lt;/p&gt;

</description>
      <category>programming</category>
      <category>codenewbie</category>
      <category>webdevquest</category>
    </item>
    <item>
      <title>Hi, I'm JR Frazier</title>
      <dc:creator>WebDevQuest</dc:creator>
      <pubDate>Wed, 05 Jul 2017 19:38:50 +0000</pubDate>
      <link>https://dev.to/jrfrazier/hi-im-jr-frazier</link>
      <guid>https://dev.to/jrfrazier/hi-im-jr-frazier</guid>
      <description>&lt;p&gt;I have been coding for 8 months.&lt;/p&gt;

&lt;p&gt;You can find me on Twitter as &lt;a href="https://twitter.com/JR_Noble1" rel="noopener noreferrer"&gt;@JR_Noble1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I live in Northern VA.&lt;/p&gt;

&lt;p&gt;I mostly program in these languages: HTML, CSS, JavaScript.&lt;/p&gt;

&lt;p&gt;I am currently learning more about JavaScritp, React.js and CSS.&lt;/p&gt;

&lt;p&gt;Nice to meet you!&lt;/p&gt;

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