福岡のホームページ制作会社

  1. プログラム学習ツールexercismの紹介

COLUMNコラム

プログラム学習ツールexercismの紹介

こんにちは。デザイントランスメディアの宍戸です。

以前、伊藤がコラムで学習サイトのCODEPREPを紹介していたのですが、私も負けじと学習サイトexercismの紹介をしたいと思います。

■ exercism
https://exercism.io/

先日、AWSの勉強会に言った時に参加されていた、@inokaraさんに紹介していただきました。
海外のサイトなのですが、現在48のプログラム言語に対応しています。
それぞれの言語に演習問題が用意されており、難易度も簡単なものから難しいものまで様々なものがあります。
他の学習サイトとちょっと違うのは、それぞれの言語にメンターと呼ばれる人たちがおり、自分が作ったプログラムを評価してもらえます。
もちろん英語ですが。。。

どのような感じで行うのか、PHPの演習問題で紹介したいと思います。
※ exercismの環境やPHPの環境を作る必要があります。

まずは問題





この問題は、
・ロボットに名前をつける
・名前はRX837やBC811などの大文字の後に3桁の数字が続く形式でランダムな名前をつける
・名前は必ずランダムで連番など予測できる名前をつけてはいけない
・名前は重複する恐れがあるので、必ず重複チェックを行う必要がある

問題の内容は、こんな感じになります。

テストプログラムの内容確認





exercismのコマンドを実行して、上記のようなテストプログラムをダウンロードします。
自分の書いたプログラムをテストプログラムでテストして、全てOKであれば演習問題はクリアです。

プログラムを書いてテストプログラムを実行





プログラムを書いて、



全てのテストがOKなので、演習問題はクリアです。

プログラムのアップロード





プログラムをアップロードすると、サイトにプログラムが反映され、メンターのレビュー待ちになります。
ちなみに、他のプログラムもアップしてるのですが、レビューはなかなか来ません。。。
また、プログラムをアップロードすると、同じ演習問題を解いた他の方々のプログラムが見れるようになります。



私が良いなと思ったのは、他の方々の回答を見れると、自分が知らない書き方だったり、もっとシンプルなプログラムが見れるので、結構勉強になります。

ちょっとした合間にできるので、皆さんもやって見てはいかがでしょうか。
この記事を書いた人 宍戸 陽介 Creative & Development Division