# 簡易試験結果閲覧アプリの使い方

このページでは以下の画像のように、**あるPSBoard IDに関連する試験結果を取得する簡易的なアプリ**の使い方を説明します。

![結果閲覧アプリの起動時の様子](./assets/simple_result_viewer_front.png)

## 事前準備
このアプリを動かすには以下の3つが必要です。

1. julia
2. このgitリポジトリに含まれる`examples/get_results.jl`のファイル
3. データベースファイル

### julia
Juliaはプログラミング言語です。
[公式のダウンロードページ](https://julialang.org/downloads/)のはじめに書いてある通りにインストールするのが推奨されます。

具体的には、

- Windowsの場合
    - ターミナルで`winget install julia --source msstore`(冒頭にあるコードです)
- *nixの場合
    - システムのパッケージマネージャを使う(例えばAUR)、または
    - 公式のダウンロードページの冒頭にあるスニペットを実行する

でダウンロードとインストールができます。
ターミナルで`julia`と打って起動すればインストール完了です。

!!! tip
    ```jl
    using OhMyREPL
    ```
    とするとシンタックスハイライトがつくようになって便利です。
    パッケージをインストールするか聞かれるので、`y`を選びましょう。

### `examples/get_results.jl`ファイル
複数の入手方法があります。

この閲覧アプリ以外を使う予定がまったくない場合は、`./assets/get_results.html`の右上にrun this notebookみたいなのがあるので、そこからたどるとファイルをダウンロードできます。
以下で手に入れるデータベースファイルはこのファイルに対して一つ上のディレクトリに置かれることが想定されています(変更は容易です)。

**おすすめの方法**はこのgitリポジトリごとダウンロードする方法です。
`examples`ディレクトリの中に入っています。

### データベース
[Tutorial](./tutorial.md)にかかれています。

## 実行
まずは[Pluto](https://plutojl.org)をインストールします。
juliaを起動して、`]`を押して[^1]
```
add Pluto
```
と入力してパッケージをインストールします。

終わったら、BackSpaceを押して(左側が`julia>`になります)、
```julia
using Pluto
Pluto.run()
```
と入力します。

しばらくすると、ブラウザが立ち上がってPlutoが起動すると思います。
"Open a notebook"から先程入手した`get_results.jl`ファイルを選び、開きます。

右上に`Run notbook code`とあるので、クリックします。
しばらくすると(かなり時間がかかると思います。右下の"Status"が全部緑になれば完了です)[^2]、"PSBoard idを入力"と書かれたテキストボックスが使えるようになるので、そこに検索したいPSBoardのIDを入力すれば下側にそれに関連する情報が表示されます。

[^1]: Pkgモードというパッケージや環境の管理を行うモードになります。
[^2]: この間に必要なパッケージをダウンロード・コンパイルしています。2回目以降は早くなります。

## Tips

!!! tip
    juliaを起動するときに`julia -t auto`とオプションをつけると、マルチスレッドで起動します。
    PCの性能次第では若干処理が早くなるかもしれません。

!!! tip
    ノートブック(アプリ)の下側にコードが書かれています。
    中身はただのJuliaのコードなので、それらを編集すれば任意のコードが実行できます。
