Workstation

A Simple Workstation

Learning to build a website is an arduous process that requires a sprinkle of intelligence, a splash of determination and a tall order of patience. This article explores technical aspects required in the facilitation of this process. Topics covered:

  1. Install an IDE Text Editor
  2. Set up a Local Host-Server
  3. Set up a Version Control System

 Install an IDE Text-Editor

An Integrated Development Environment (IDE) is a software application suite that combines tools required to write and test software, and is typically composed of a source code editor, build automation tools (i.e. compiler, interpreter), and a debugger.

Example of Brackets Text Editor
The Brackets IDE

IDE's are designed to maximize programmer productivity by providing components within a single program of which all development is done. IDE's typically provide features for authoring, modifying, compiling, deploying and debugging software, which helps developers quickly execute actions without switching to other applications.

Using an IDE reduces the configuration necessary to piece together multiple development utilities, instead providing the same set of capabilities as a cohesive unit. Reducing that setup time can increase developer productivity, in cases where learning to use the IDE is faster than manually integrating all the individual tools. Without an IDE, a developer must select, deploy, integrate and manage all of these tools separately.

Brackets is an open-source IDE software that primarily focuses on web development. It includes a variety of built-in features such as inline editing, live code preview, split pane views, an extensions manager and multiple file format support: comprehends 38 languages! Learn more about using Brackets.

These days a developer can code a site using a cloud-based IDE to build and collaborate on projects.

 Set up a Local Host-Server

A Localhost Server is a computer networking configuration that creates an online-like environment for developers to test applications without the need for internet access.

Example of XAMPP Localhost Server
The XAMPP Localhost Server

Specifically, localhost is the default host name that means this computer and uses the IP address 127.0.0.1, which is a universal address reserved for localhost. Locate the IP address by selecting the operating systems'(OS) start, then type cmd into the search box. When the command prompt is displayed, type ipconfig /all and scroll the list until you find IPv4 Address. In sum, this is a loopback mechanism, which may be used to run a network service on a host without requiring a physical network interface, or without making the service accessible from the networks the computer may be connected to.

Apache Friends offer an open source cross-platform web server-stack with compatible options for desiners and developers alike. One example is the popular xampp stack, which combines MySQL and PHP services with Windows OS in order to facilitate a server, store data, and run PHP scripts that can interact with a database.

Note: A localhost should not be confused with a web host, which is a service required in order to publish a website online. A web host stores and makes files available to computers connected to the Internet.

Installation can be problematic, but this tutorial can help mitigate issues. Once installed, start APACHE from the XAMPP Control panel and type http://localhost/ or http://127.0.0.1/ into the Browser. This will open at the directory :root, which is the place where all projects reside: C:\xampp\htdocs\.

With the local server setup, use the Console to manage files in unison with a version control system. The console is a text-based interface for your pc, which allows you to interface with files, folders and programs using text commands instead of windows, buttons and menus. Devs use this tool to interact directly with servers over a remote connection using SSH protocol. Running commands from the console allows devs to see how options and arguments can be used to specify the behavior of the command specified. Traverse a directory using cd.. or cd <folder name> to, respectively, move down or up the directory.

 Install a Version Control System

A Version Control System (VCS) is a software configuration, or source code manager, that records changes to a file or set of files over time. It is a categorization of processes and tools designed to keep track of different versions of software, content, documents, and websites in development. It is in effect a remote server that allows use of SSH to encrypt traffic to another server.

Example of the Github Version Control System
The Github Version Control System

For all intents and purposes, a VCS is an online storage repository for your code, enabling developers with the ability to manage source-code, track all file versions and coordinate a non-linear workflow in a team environment. Version control allows servers in multiple locations to run different versions on different sites, even while those versions are being updated simultaneously by a number of different developers. The importance of this feature cannot be understated as this system allows developers to compare revised files, identify differences, and merge changes prior to committing any code. Github is a well-documented VCS with many integration capabilities. Use the handbook to learn at your own pace.

 Deployment

One of the unique features Git offers is the ability to implement continuous integration by using Ssh Protocol to securely authenticate remote servers. Git does this by providing keys to an agent in order to upload project files directly to the internet. The agent is a Ftp/Sftp client (server) that, if configured properly, provides Git universal remote access to its servers. Thus, devs are able to simultaneously manage and ship code. Using an FTP client can be simple process: FileZilla and CyberDuck are suitable.

The amalgamation process begins with generating SSH Keys in order to connect with Github. Next, get git on and set up the server. There are 3rd party options for hosting Git projects on a dedicated site

Using Github is no cinche, which is why I wrote an article on the matter, but be sure to double check.