memo.xight.org

日々のメモ

exercism.io - 相互レビューによるプログラミング学習

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.io
http://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