Code Changes - Edited By DB

This is a test to see if changes are saved











The following is the link to my personal project:

Go

The following is the Data Patterns Gantt Chart in PDF Format:

View PDF

This section will detail how to copy files from a local machine to the remote server we used for our project.

  1. Open a command prompt in the directory where you wish to upload the file/folder(s) from


  2. Enter the following command, however make sure to update the fields with the necessary fields

    
    
    
    
    
  3. To upload an entire directory, enter the following command (make sure your terminal is in the directory itself)

    
    
    
    
    
  1. Open a terminal in the directory where you wish to upload the file/folder(s) from


  2. Enter the following command, however make sure to update the fields with the necessary fields

    
    
    
    
    
  3. To upload an entire directory, enter the following command (make sure your terminal is in the directory itself)

    
    
    
    
    
  1. Open a terminal in the directory where you wish to upload the file/folder(s) from


  2. Enter the following command, however make sure to update the fields with the necessary fields

    
    
    
    
    
  3. To upload an entire directory, enter the following command (make sure your terminal is in the directory itself)

    
    
    
    
    

PyCharm is an integrated development environment used in computer programming, specifically for the Python language.

    Advantages of PyCharm:

  • A plethora of productive shortcuts.
  • to view the entire Python source code with a single click.
  • of an array of plugins.
  • Easy-to-use.
  • Excellent community support.
  • Facilitates faster code development.


  • Disadvantages of PyCharm:

  • The main disadvantage of using PyCharm is, it takes more space than other text editors which degrade the functionality of code.
  • The community version is idle for python development only and does not allow to use other programming languages.
  • The professional version is somewhat expensive.

This section contains a guide for how we setup our project using PyCharm IDE:



  1. Download PyCharm Professional IDE Here

  2. JetBrains offers a free license for students that are attending school, however you can start a 30-day free trial and get started

  3. Once setup, create a new project

    1. Accept the defaults, make sure to uncheck "create a main.py welcome script" box
      Create New Project

  4. Once your project is created, navigate to Tools --> Deployment ---> Browse Remote Host

  5. Browse Remote Host

  6. Create a new remote host, select the "..." button to open the popup window. Make sure you select "SFTP" as the type (name can be anything)

  7. Create Remote Host

  8. Now its time to configure the SSH connection, first select the "..." button.

  9. Remote Host Config

  10. Select the "+" button and fill in the required fields (actual fields have been blurred for security reasons)
    1. Set "Host" to the servers IP
    2. Leave port at "22"
    3. For "User name", enter the servers user login
    4. Now, enter the password for the server
    5. Finally, select apply and click ok

      SSH Configuration

  11. Now, Set the Root Path to "/var/www/data2int.com/html" and the Web server URL to "https://www.data2int.com/"

    Remote host Config

  12. Lastly, Select OK

  13. Now you will be able to access the server and all files located on the server

    View Remote Host

  14. To setup the SSH terminal in PyCharm, Select Tools --> Start SSH Session

    Start SSH Session

  15. Select the SSH configuration you created

    Select SSH Config

  16. Now you will be able to access the the project from the terminal!

    View SSH Terminal

Using PyCharm for the development of this project will be highly beneficial to the development of the Data Patterns Project. Here are some examples of how this is possible:

  • Using an IDE(integrated development environment) for development of the project will follow best practices of developing a project
  • All developers can work on the project simultaneously and set up the project so we can make real time changes
  • with PyCharm we can connect to the server through ssh, edit the source code of the project through a remote host at the same time all in one session.

In conclusion, using Pycharm would seriously enhance the development process of Data Patterns. Therefore, we should continue to use it long term since we are given a professional license for free.


Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

    Advantages of Jupyter Notebook:

  • They’re great for showcasing your work. You can see both the code and the results
  • It’s easy to use other people’s work as a starting point. You can run cell by cell to better get an understanding of what the code does
  • Very easy to host server side, which is useful for security purposes. A lot of data is sensitive and should be protected, and one of the steps toward that is no data is stored on local machines. A server-side Jupyter Notebook setup gives you that for free


  • Disadvantages of Jupyter Notebook:

  • When we’re writing code in cells instead of functions/classes/objects, you quickly end up with duplicate code that does the same thing, which is very hard to maintain
  • Don’t get the support from a powerful IDE
  • It’s hard to actually collaborate on code with Jupyter — as we’re copying snippets from each other it’s very easy to get out of sync

This section contains a guide for how we setup our project using Jupyter Notebook:



  1. Open a terminal and connect to a the project using "ssh"

  2. Once connected, navigate to the directory where your project is located and enter the following command

  3.             
                
                
              
  4. The Jupyter Notebook server will start, click on one of the links that is provided in the console

  5. Once the link open's, you will be redirected to the home page where you will see your project.

  6. Jupyter Home

Using Jupyter Notebook for the development of this project could be better than the current method that we are using. Here are some examples.

  • Using Jupyter Notebook will allow for the project to be edited solely on the server side, resolving the problem of storing local versions of the project
  • All developers can work on the project simultaneously and set up the project so we can make real time changes
  • The feature of running the code cell by cell, this will give the user a better understanding of what the code does

Taking into account the pros and cons of using Jupyter Notebook, we can consider using this as our development environment. However, they may be other options that are more capable and can accomplish more.


RStudio is an integrated development environment (IDE) for R. It includes a console, syntax-highlighting editor that supports direct code execution, as well as tools for plotting, history, debugging and workspace management.

    Advantages of RStudio:

  • RStudio is designed to make it easy to write scripts
  • Convenient to view and interact with the objects stored in your environment
  • RStudio makes it easy to set your working directory and access files on your computer


  • Disadvantages of RStudio:

  • RStudio may crash when working with big datasets.
  • Rstudio is not exactly a lightweight IDE, so it is not ideal for computationally intensive tasks.
  • Project sharing is a great feature, but only works if RStudio Server is configured to use local accounts, not when using other authentication methods

This section contains a guide for how we setup our the projects RStudio Server Environment:


NOTE: This guide assumes that you already have RStudio Server setup with your project.



  1. In your web browser, enter the host, followed by ":8787"

  2. If successful, you will be redirected to the login screen for RStudio

  3. Next, enter your credentials

  4. Login RStudio
  5. Upon successful entry, you will now be able to play around in the environment!

  6. Home RStudio

Using RStudio for the development of this project would not be an ideal solution. Here is why:

  • RStudio only supports development in R language, we use Python for the development of the project
  • Although it is somewhat compatible with D3.JS, it does not compare to the support python has with it
  • R has a steep learning curve, taking time to overcome that curve and understand it will delay the development of the project

While taking it both pros and cons of R language, we can make the conclusion that it would not be beneficial to the completion of this project.