Skip to content

Instantly share code, notes, and snippets.

@selfup
Last active September 1, 2016 01:00
Show Gist options
  • Save selfup/4f1c5e2eb3e8504c4ae50c3c284b68dc to your computer and use it in GitHub Desktop.
Save selfup/4f1c5e2eb3e8504c4ae50c3c284b68dc to your computer and use it in GitHub Desktop.

Ruby

The students will need to learn a scripting language that can help them organize bash scripts.

Ruby has an excellent backtick api to execute shell commands.

In pry:

puts `echo "hello from ruby"`

Python

Python would be another great scripting language that is easy to pickup.

Python executes system commands very easily with the os.system method.

In the python shell:

import os

os.system("echo 'hello from python'")

Bash

Bash will be a main focus. Terminal commands will be the most crucial here.

Absolute paths and relative paths are a pain at first, but will be very imporant.

Teaching about aliases and ENV vars will be the most important right out of the gate.

SystemMD

The new way to set OS init scripts and wrap Ruby/Python/Bash scripts as a service

VM's

OSX is nice because it is user friendly, has some of the best window managers out there, and is very reliable.

Students will need to learn how to spin up Ubuntu, and CentOS VM's using Vagrant.

Git

Need I say more?

HTTP

The students will need to learn about various HTTP protocols.

How to write GitHub Ruby/Python Scripts using GitHub script tokens.

A good final project for Mod1 should be to make a long polling CI. Webhooks for extra credit.

Auto Building VM's

While there are plenty of ready made boxes out there, the students should focus on getting a Vagrant Box that is just a base OS.

Then they should learn how to write scripts, pull custom scripts from github, and run more scripts to build a Rails ready machine.

This is notoriously difficult, and would be a great second project.

Nginx/Apache

Apache should be the first thing they learn when dealing with reverse proxies.

The LAMP stack is still huge, and Ops jobs will be plentiful in that world.

The benefit of this, is that PHP and Apache are dead simple.

Nginx, is pretty weird compared to Apache at first. However it is one of the best reverse proxies out there.

Setting up SSL certificates should be part of a project using Let's Encrypt


TODO

Add more things!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment