Skip to content

Instantly share code, notes, and snippets.

@eddiecorrigall
Last active April 12, 2018 14:34
Show Gist options
  • Save eddiecorrigall/24fc8f99fd6f6613984d0b60d8048c30 to your computer and use it in GitHub Desktop.
Save eddiecorrigall/24fc8f99fd6f6613984d0b60d8048c30 to your computer and use it in GitHub Desktop.
Training guide template

Schedule

Day 1: Unix 101

  • Homebrew, Coreutils
  • Tools: ssh, nc, awk, grep, vim, cut, sort, tmux, less, tail, cut, ssh, htop, psql
  • Dotfiles: Configs: ~/.bashrc, ~/.pgpass, ~/.s3cfg, ~/.psqlrc, ~/ssh/config
  • What is
    • source /data/virtualenv/default/bin/activate
    • ssh deploy@::1
  • SSH tunnels
    • Reverse tunnel
    • Proxys
    • Simple chat server example using nc and ssh tunnels

Tmux

Tmux is a windowing manager that allows a user to utilize space. Its predecessor is screen. An major advantage is its use of sessions, which leverages nohup -- a utility that keeps tmux running in even if the user has exited.

Shortcuts

The default prefix is [ctrl] then b which move tmux into a context.

Action Shortcut
Split horizontally [prefix] then "
Split vertically [prefix] then %
Move between windows [prefix] then [arrow]
Scroll model [prefix] then [
Rename session [prefix] then $
Detach session [prefix] then d

Commands

  • Create new session: tmux new -s [session name]
  • List sessions: tmux ls
  • Attach existing session: tmux attach -t [session name]

Day 2: Getting Comfortable

  • Continue to setup computer
    • Two-Factor authentication
      • Generate SSH keys
      • Add to nodes
      • Add to github
    • SSH rsync setup
  • Learn more about command line
    • Custom command prompt PS1
    • Query endpoints with jq, httpie

Day 3: Vagrant setup

  • Setup a virtual machine and repos
  • Walk through of python environemnt
  • virtualenv, /etc/supervisor.d, workers, htop, symlinks, cron

Day 4: Intro to Monitoring

  • Raw logs (serial vs parallel)
  • Sentry
  • New Relic
  • Message broker

Day 5: Intro to database

  • psqlrc
  • Postgres \q, \d, \d+, \copy
  • Transactions, Dump and Restore
  • Walk through of SQL table relationships

Day 6: JIRA and Troubleshooting

  • Source of truth
  • Root cause analysis
  • Solutions
    • Preventative measures: code change, unit tests, documentation, knowledge transfer, education
    • Patching vs Solving

Day 7: Intro to repositories and source code

...

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