Skip to content

Latest commit

 

History

History
99 lines (71 loc) · 2 KB

notes.md

File metadata and controls

99 lines (71 loc) · 2 KB

day 1

bash

Learn the command-line using bash.

  • history and philosophy
  • directories and files
  • environment variables
  • flags
  • absolute and reltive paths
  • interpolation, expansion, and math
  • file redirects and pipes
  • pipeline tools
  • quotes
  • scripts
  • permissions
  • jobs and processes

vim

Learn the basics of vim, a powerful command-line text editor.

  • understanding modes
  • the language of vim
  • moving around
  • search and replace
  • select cut paste
  • vi is everywhere

regex

Use regular expressions to solve problems.

  • metacharacters
  • character classes
  • groups and repetition
  • capture groups
  • backreferences
  • match, replace, split

day 2

networking

How does networking work? What is TCP, HTTP?

  • use curl and netcat
  • learn about text-based network protocols such as http, irc, and email
  • write tcp and http servers and clients using node.js
  • inspect real packets with tshark/wireshark

streams

Use the stream API in node to shuffle data around.

  • learn the stream types: readable, writable, transform, duplex
  • streaming core APIs
  • use stream modules from npm to build streaming pipelines
  • streaming transports in node and the browser: websockets, webrtc, tcp
  • building symmetric streaming protocols

day 3

leveldb

Use leveldb in node and the browser to persist data. Leveldb has a vast ecosystem of modular packages to enhance its functionality.

  • get/put/batch/createReadStream
  • thinking lexicographically
  • leveldb API conventions
  • handy modules: subleveldown, level-live-stream
  • leveldb in the browser with indexedDB
  • hyperlog, materialized views, and data replication

crypto

Learn how to use node core APIs and libsodium/nacl in node and the browser.

  • hashes
  • symmetric vs asymmetric crypto
  • keypairs
  • sign/verify
  • box/secretbox
  • identity systems
  • crypto in p2p: hyperlog, bep44, ipfs, dat, bitcoin

day 4

testing

Learn how to write tests for node and the browser.

  • testable API design
  • TAP consumers and producers
  • testing in the browser
  • testing workflows