1 Tools for Development and Deployment: Readings and References
Below you will find information on recommended and required tools that we may use during the course.
2 Code Editors
If you already have a favorite, that is fine, here are some of the free code editors I use most often:
3 Version control
We will be using the Git version control system in this class. Recommended reference material includes:
- My class notes on Git for Small Projects and Class Work.
- Start with the Git Handbook for fairly complete but short read (they claim 10 minutes) about git.
- Lot's more information can be found in The Git Book.
- Relatively fun online training: Learn Git Branching. Nicely put together web application.
- Official cheat sheet.
- Git Visualizer. "Explore how Git commands affect the structure of a repository within your web browser with a free explore mode, and some constructed scenarios." I'll use this for class demonstrations.
Using raw HTML or template languages can be quite tedious for everyday types of writing or code documentation. In addition, taking the time to insert HTML tags can make the already painful task of writing even more horrible. An alternative approach is to use a simplified text markup format. One very popular format that I use all the time is markdown. As they say on the Commonmark home page:
It’s a plain text format for writing structured documents, based on formatting conventions from email and usenet.
npm install -g commonmarkand then called from the command line
commonmark inputfile.md > outputfile.html. You then can take the HTML content produced and insert it into a full HTML page, common mark does not produce a standalone HTML file.
Note that there are other more advanced tools that can work with Markdown. The Pandoc tool can convert between a number of different markup formats and allows for very useful extensions to Markdown:
Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists, ...
- The Brackets and Atom editors have plugins for rendering markdown previews. In fact I use markdown and Pandoc to create these notes.
Node.js ES2015 (ES6) support.
Node.js has its own simple Module system based on a function called
import/exportare not supported by any browsers we'll use them via a transpiler but not on the server side.
node. Exit the interface with the command
You can use the
requirefunction to import JSON files into objects. For example
var test1 = require('./first.json').
NPM -- package management and scripting
5.5 Code formatters: Prettier
For the class we may look at using ESLint. Modern and well documented.
## Syntax highlighting
I use Prism.js to perform syntax highlighting on most of my code examples.
6 Cloud Services
We can also look at this from the point of view of compute virtualization:
- No Virtualization running directly on hardware (CPU)
- Virtual Machines -- each VM has its own OS and is sharing the same real hardware CPU
- Containers (Docker)
- Multi User OS separate users
- Operating system processes