よくある質問

よくある質問をまとめたもの


Exercismを運営しているのは誰ですか?

Exercismの共同創業者は2人、Katrina OwenとJeremy Walkerです。

ExercismはもともとKatrinaが立ち上げました。Katrinaは複数の言語を扱うエンジニアで、「Ruby Hero」賞の受賞者でもあります。分子生物学の学位を目指して学ぶ途中で、ひょんなことからエンジニアになった人です。2006年、JavaRanchでボランティアをしていたときにコードへの細かい指摘を始め、すっかり夢中になりました。プログラミングでは、自動化、ワークフローの最適化、リファクタリングを重視しています。オープンソースを心から大切にしていて、Exercism以外のいくつかのプロジェクトにも貢献しています。

2016年にはJeremyが共同創業者として加わり、現在はExercismのCEOを務めています。Jeremyはソーシャルアントレプレナーでありソフトウェアエンジニアで、平等と、すべての人に機会を生み出すことに情熱を注いでいます。Exercismのほかにも、ウェルビーイングとチームビルディングのプラットフォームであるKaidoの共同創業者です。

このリーダーシップチームに加えて、Exercismには小規模な常勤・非常勤のチームがあり、Exercismをここまで人気にしたさまざまな言語トラックや演習を手がけてきた、何千人もの素晴らしいボランティアに支えられています。

メンター、トラックメンテナー、そして何千人ものコントリビューターについても、ぜひ詳しく見てみてください。

「Exercism」という名前の由来は?

「エクソシズム(exorcism)」とは母音が1つ違うだけですが、この名前は悪魔や「邪悪なコード」の修正とは何の関係もありません。

代わりに、exercise(演習)にかけたダジャレになっています。Katrinaがそれぞれの演習についてたどり着いた考え方は、どれも小さく、ささいで、一見シンプルだというものでした。ところが、いざ解くとなると、細かいところにこそ悪魔が潜んでいることがよくあります。つまり、細かな点まで考え始めたとたん、その単純な演習は急に手ごわくなるのです。

細かいところに悪魔が潜むとはどういうことか、もっと知りたい方は、KatrinaによるHere Be DragonsとOne Small Stepのトークをご覧ください。

基本

迷ってしまいました。どこへ行けばいいですか?

ちょうどよかったです。始めるためのステップバイステップのガイドを用意しています。

まだ分からないことや、うまく動かないことがあれば、ほかの人も同じかもしれません。フォーラムで知らせていただけると助かります。

ログインしようとすると「Sorry, we could not authenticate you from GitHub」というエラーが出ます。どうすればいいですか?

これは、GitHubが本人確認をできないという意味です。許可を与えなかったためかもしれませんし、GitHubアカウントが正しく設定されていないためかもしれません。よくあるのは、GitHubでメールアドレスを確認していないケースです。GitHubのメール設定で確認できます。

アカウントを削除するにはどうすればいいですか?

設定ページの一番下にあるリンクからアカウントを削除できます。メールや通知に関する問題であれば、個人設定で調整できます。

演習を解くには何をすればいいですか?

演習に取りかかると、完成させる必要のある「スタブの解答」と、その解答が満たすべき要件を表す完全なテストスイートが用意されています。この開発手法はテスト駆動開発の一種です。

演習のロックを解除するにはどうすればいいですか?

デフォルトでは、学習用の演習を含むトラックでは、ほかの演習のロックを解除するために学習用の演習を解く必要があります(その言語に慣れていれば、それぞれ5分ほどで解けるはずです)。これをラーニングモードといいます。

ラーニングモードでトラックを進めるのがおすすめですが、プラクティスモードに切り替えるとすべての演習のロックを解除できます。詳しくは演習のロック解除をご覧ください。

以前のサイトでロックを解除していた演習が、なぜロックされたのですか?

デフォルトでは、学習用の演習を含むトラックでは、ほかの演習のロックを解除するために学習用の演習を解く必要があります(その言語に慣れていれば、それぞれ5分ほどで解けるはずです)。これをラーニングモードといいます。

ラーニングモードは、以前のバージョンのExercismを使っていたすべてのユーザーにとってのデフォルトです。そのため、以前は利用できていた演習がロックされたように見えることがあります。

ラーニングモードでトラックを進めるのがおすすめですが、プラクティスモードに切り替えるとすべての演習のロックを解除できます。詳しくは演習のロック解除をご覧ください。

Exercismのコマンドラインクライアント

提出できません!どうすればいいですか?

新しいサイトにはまったく新しいコマンドラインクライアントが導入され、演習に必要な追加のメタデータも求められます。新しいサイトに向けてコマンドラインクライアントをアップグレードし、解答を移行する方法をご覧ください。

それでも解決しない場合、あるいは旧バージョンのコマンドラインクライアントを使っていなかった場合は、コマンドラインクライアントのチュートリアルをお読みください。それでもだめなら、フォーラムに投稿してください。解決できるようお手伝いします。

コマンドラインクライアントのバージョンはどうやって確認しますか?

バージョンコマンドexercism versionは、実行中のExercismコマンドラインクライアントのバージョンを出力します。最新フラグを付けてexercism version --latestを実行すると、新しいバージョンが利用可能かどうかを確認できます。

コマンドラインクライアントを最新バージョンにアップグレードするにはどうすればいいですか?

コマンドexercism upgradeは、利用可能であればコマンドラインクライアントを最新バージョンにアップグレードします。

アップグレード時にpermission deniedエラーが出ます!どうすればいいですか?

コマンドラインクライアントをアップグレードしようとしたときにpermission deniedエラーが出る場合、そのバイナリがシステムのパッケージマネージャー(例:Homebrew)でインストールされたか、書き込み権限がなくなったディレクトリにインストールされている可能性が高いです。

コマンドラインクライアントをパッケージマネージャーでインストールした場合は、exercism upgradeコマンドを実行するのではなく、パッケージマネージャーを使ってアップグレードしてください。

手動でインストールした場合は、LinuxとMacOSではwhich exercism、Windowsではwhere exercismでExercismコマンドラインクライアントのパスを確認し、返されたパスが自分で作成したディレクトリであることを確かめてください。そうであれば、お使いのシステムのツールでそのディレクトリの権限を変更して自分のユーザーに書き込み権限を与え、もう一度アップグレードしてみてください。自分で作成したディレクトリかどうか分からない場合や、返されたパスがシステムのパスである場合は、システムのツールでコマンドラインクライアントをアンインストールし、対話形式のチュートリアルを使って再インストールしてください。

Windowsでアップグレード後に「16-bit MS-DOS Subsystem」エラーダイアログが出ます。どうすればいいですか?

Exercismコマンドラインクライアントのバージョン3.0.5より前には、アップグレードコマンドにバグがあり、コマンドラインクライアントのバイナリファイルが1つのテキストファイルに置き換えられて「16-bit MS-DOS Subsystem」エラーが発生していました。この問題を解決するには、壊れたバイナリを削除し、対話形式のチュートリアルを使ってコマンドラインクライアントを再インストールしてください。

メンタリングモード

キューがしばらく更新されていません。何か問題があるのでしょうか?

待ち時間が通常より長くなることがあります。理由はいくつか考えられます(メンターの数、時期など)。また、キューが更新されていないように見えることもあります。これは珍しいことではないので、まもなく動きがあるはずです。待ち時間が平均よりずっと長い場合は、後述のIssueの作成を参照してください。

自分のトラックにはメンターが何人いますか?サイトには数人しか表示されません。

サイトに表示されるのは、サイト用のプロフィール情報を提供したメンターだけで、実際に解答をレビューしているメンターの数ではありません。安心してください。メンターはキューをこなしていますので、気長に待ちましょう。

間違った解答/ファイルを提出してしまいました。どうすればいいですか?

該当する演習ページで「Your Iterations」に移動してください。不要なイテレーションが折りたたまれている場合は、丸で囲まれた矢印をクリックします。「dots」メニューで「Delete iteration」を選択します。

不正行為や不適切なメンタリングの例はどう報告すればいいですか?

私たちが期待する行動について詳しくは、行動規範をご確認ください。何かを報告したい場合は、abuse@exercism.orgまでご連絡ください。報告された方の立場とプライバシーの両方に配慮しながら、問題の修正・解決に努めます。

なぜ解答コードにフィードバックできないのですか?

トラックの解答コードにフィードバックを送るには、次の3つの条件を満たす必要があります。

  1. そのトラックのメンタリングを行っている
  2. そのトラックで少なくとも100件の完了したディスカッションをメンタリングしたことがある
  3. 総合満足度が95%以上である

Exercismをより良くするために

素晴らしいです!参加するにはどうすればいいですか?

方法はいくつかあります。メンターになる、言語トラックを管理する、GitHubでIssueを報告する(または対応する)などです。詳しくはコントリビューションの方法のページをご覧ください。

新しい言語トラックはどうやってサイトに追加されるのですか?

新しい言語トラックは、コミュニティのメンバーが主導してそのトラックのメンテナーになると作成されます。立ち上げを手伝いたい場合は、こちらに手順があります。

何か問題があったときの報告

何か間違いを見つけたら、フォーラムでスレッドを立てて知らせてください。

スレッドを立てる前に、既存のディスカッションがないか必ず確認してください。いくつか違うキーワードで検索してみましょう。

ここやフォーラムに載っていない問題はどうすればいいですか?

問題が解決されていない、または報告されていない場合は、新しいフォーラム投稿を作成してください。

次の情報を必ず含めてください。

  1. exercism troubleshootコマンドの出力(CLIに関する問題の場合)
  2. 経験している問題の詳細
  3. 問題を再現する手順
  4. 該当する場合は、関連するIssueへの参照(#1203のような形式のIssue番号)

サイトの言語に問題がある場合は?

その問題が言語トラックの演習に関するものであれば、このリストから該当する言語トラックを見つけて、そこにIssueを投稿してください。問題が説明文にあるのか、言語固有の何かにあるのかを、以下のテンプレートを使って明記してください。

一般的なウェブサイトの誤字に気づいた場合や、より分かりやすい表現や説明文の提案がある場合は、フォーラムで次の情報を添えて新しいスレッドを立ててください。

  1. 問題のあるページへのリンク
  2. 間違いや分かりにくい点の説明
  3. 提案する変更