Skip to content

Instantly share code, notes, and snippets.

View gregnwosu's full-sized avatar

Gregory Nwosu gregnwosu

View GitHub Profile
@gregnwosu
gregnwosu / System Design.md
Created April 20, 2016 09:14 — forked from vasanthk/System Design.md
System Design Cheatsheet

#System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

##Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
package nl.mdj.fpinscala
import akka.actor.Actor.Receive
import akka.actor.{Props, Actor, ActorSystem, ActorRef}
import akka.pattern.ask
import akka.util.Timeout
import nl.mdj.fpinscala.KeyValueStore.ListKeys
import scala.concurrent.{Await, Future}
import scala.concurrent.duration._
import scalaz._
#!/bin/bash -e
bindir=`pwd`/bin-tmp
mkdir -p $bindir
export PATH=$bindir:$PATH
function use_ld() {
rm -f $bindir/ld
ln -s $1 $bindir/ld
echo "Using $1 for ld"
}