Summary
exercism.io は演習問題を解く、コードレビューを受ける、コードを修正するという流れを通して、プログラミングを学ぶためのWebサイト。
CLIを利用する。
Install
$ brew install exercism
$ exercism configure --key=YOUR_API_KEY --dir=/path/to/exercises
fetch
exercism fetch [LANG] でdirオプションで指定した先にソースコードがダウンロードされる
% exercism fetch
New: 21 problems
Bob (clojure) /Users/yoshiki/exercism/clojure/bob
Bob (coffeescript) /Users/yoshiki/exercism/coffeescript/bob
Bob (cpp) /Users/yoshiki/exercism/cpp/bob
Leap (csharp) /Users/yoshiki/exercism/csharp/leap
Bob (elixir) /Users/yoshiki/exercism/elixir/bob
Leap (erlang) /Users/yoshiki/exercism/erlang/leap
Sum Of Multiples (fsharp) /Users/yoshiki/exercism/fsharp/sum-of-multiples
Leap (go) /Users/yoshiki/exercism/go/leap
Leap (haskell) /Users/yoshiki/exercism/haskell/leap
Etl (java) /Users/yoshiki/exercism/java/etl
Bob (javascript) /Users/yoshiki/exercism/javascript/bob
Point Mutations (lisp) /Users/yoshiki/exercism/lisp/point-mutations
Hamming (lua) /Users/yoshiki/exercism/lua/hamming
Bob (objective-c) /Users/yoshiki/exercism/objective-c/bob
Bob (ocaml) /Users/yoshiki/exercism/ocaml/bob
Bob (perl5) /Users/yoshiki/exercism/perl5/bob
Hamming (plsql) /Users/yoshiki/exercism/plsql/hamming
Bob (python) /Users/yoshiki/exercism/python/bob
Hamming (ruby) /Users/yoshiki/exercism/ruby/hamming
Bob (scala) /Users/yoshiki/exercism/scala/bob
Leap (swift) /Users/yoshiki/exercism/swift/leap
unchanged: 0, updated: 0, new: 21
edit, test
README.md が問題文テストコードも付いてくる
submit
$ exercism submit FILENAME
Reference
exercism.iohttp://exercism.io/
Exercism.ioでプログラミングを学ぶ - ninoseki's blog
http://ninoseki.hatenablog.com/entry/2014/10/11/_Exercism.io%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E5%AD%A6%E3%81%B6