search
LoginSignup
3

More than 5 years have passed since last update.

posted at

updated at

Julia のコードを Web 上で実行できるサンドボックス環境を公開しました

この記事は、Julia Advent Calendar 2014 の 22 日目の記事です。

サンドボックス環境とは?

これのことです。使い方については後述しますが、Julia のソースコードをウェブ上で実行し、実行結果を確認することができます。

実行結果はこのように Github Gist に投稿されます。実行結果には、プログラムの標準出力、ソースコード、実行環境が含まれます。そのため、ML へのバグ報告などの際に、この Gist の URL をコピーペーストすることができます。

Julia 言語は、活発に開発が行われている最中の言語です。そして Julia で開発していると、「あれ、このバグは自分のコードの書き方の問題なのかな?」「Julia の問題なのかな?」と問題の切り分けに困るときがあったりします。そんなとき、もうひとつ別に Julia を動かせる環境があれば、結果を比較して問題の切り分けが容易になるのではないでしょうか。

このサンドボックス環境は、Julia の version 0.3.3 と 0.4-dev をサポートしています。0.4-dev は毎日自動的にビルドし更新されるため、最新の開発版でコードをお試しいただけます。

なにはともあれ、使ってみましょう!

まずはここにアクセスしてください。このシステムは Jenkins を使って構築されています。

スクリーンショット 2014-12-20 9.49.49.png

下の方にスクロールすると、ジョブがふたつ並んでいます。

スクリーンショット 2014-12-20 9.53.19.png

0.3-stableをクリックして、ジョブの画面を開いてみましょう。

スクリーンショット 2014-12-20 9.54.17.png

左側のカラムに「ビルド履歴」が出ています。ここに直近で実行されたジョブのリストです。緑色になっているものが成功、赤色になっているのが失敗のジョブです。ちなみに、右上にある「Build Now」ボタンは動いていないので押さないでくださいすみません。

「パラメータつきビルド」を押してください。

スクリーンショット 2014-12-20 9.56.37.png

ここの「SOURCE_CODE」に、Julia のソースコードを入力できます。ヒントとして "Hello, Julia world !!" と入力されていますが、テスト用にハンドルネームなどに書き換えてください。

また、「DESCRIPTION」にコードの説明を入れてください。

「ビルド」を押してビルドします! ビルドには、もちろん実行するコードの内容にもよりますが、Juliaの実行以外に1分くらい余分にかかります。ビルド履歴のカラムで、ステータスバーが伸びていることを確認し、自分のコードが実行されていることがわかります。

スクリーンショット 2014-12-20 10.00.56.png

緑色の丸がジョブ履歴についたら、おめでとうございます! 実行が成功しました。

実行履歴をGithub Gistから確認できます。Gist は julialang-jenkins というユーザ名で投稿されます。

スクリーンショット 2014-12-20 10.03.20.png

新しい方の投稿に、自分の実行結果があることが確認できると思います。クリックして開いてみましょう。

スクリーンショット 2014-12-20 10.04.36.png

こんなかんじに、実行結果がわかります。実行したソースコード、実行結果、実行環境が表示されます。

こんなかんじです。0.4-dev も同様に実行することができます。

使い方のヒント

  • 実行に時間がかかりすぎるようなコードを実行しないでください。数分以内に実行が完了するようなコードのみ実行してください。無限ループも禁止です。
  • 実行に 100MB 以上のメモリが必要になるようなコードも実行しないでください。このシステムは、非力な計算機上で実行されています。
  • 前のジョブが無限ループしていて自分のジョブが実行できないような場合、容赦なく前のジョブを落として問題ありません。10分以上かかっているようなら落としましょう。「ビルド履歴」のバツボタンを押してジョブを落とすことができます。
  • 0.4-dev は毎日定期的にビルドされます。不安定な場合もあるでしょう。実行結果が不満足なものの場合、Gist に投稿された "system_info.txt" に、Julia のコミット ID が記されています。そのコミット ID を手がかりに Julia のバグを追うことができます。

システムへのご意見ご要望等

このシステムへの意見がある場合は、Twitter で @iizukak までご連絡ください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3