学生時代にあればよかったアプリ

2023年05月25日 木曜日


【この記事を書いた人】
ふぇにっくちゅん(守田 瞬)

2021年11月にセキュリティ情報統括室に所属。頑固なので、ニックネームだけでもやわらかくひらがなにしてみました。普段はハニーポットで収集したDDoSの発生源であるマルウェアを対象に分析しています。

「学生時代にあればよかったアプリ」のイメージ

おはようございます。こんにちは。こんばんは。ふぇにっくちゅん です。

タイトルの通り、ふぇにっくちゅんが学生のときにあればよかったと思うのが cats_dogs です。
学生時代を思い起こしてみると、授業・講義のノートを紙に書いてたなぁという記憶です。
今や学校ではタブレットが配られる時代でもあるため、なおさら電子データのほうが扱いやすいのではないでしょうか。

記憶をもう少し漁ってみると、ノートをまとめる際の困り事がありました。
それが、地理的な情報や数式です。
地理や歴史の授業で、教科書には地図とその説明文が近くにあるため、教科書を読むには苦労しなかったです。
しかし、ノートを取るときに地図を書こうとすると時間がかかったり、コピーして貼り付けたりと面倒くさかったです。

数式に関しては、「xの二乗」など右上に小さい文字が現れます。
式を間違えたときに、消しゴムで消そうとすると、消したくない箇所まで消えてイライラしていた記憶があります。
もう少し時代が経つと、TeX とやらの構文を覚えて、つらい思いをしていました。

当時のふぇにっくちゅんに、cats_dogs が渡せるなら渡したいです。
学生目線だけでなく先生・講師という視点でも、楽に講義の資料などを共有できます。

本記事では、地図と数式を例にして cats_dogs を紹介します。

Markdown で地図を使おう

では、「株式会社インターネットイニシアティブ」について調べたことをまとめることになったとします。
そのときに、場所の情報を視覚的に認識したい場合があります。 調べたことをまとめた Markdown ファイルのサンプルを、以下に示します。

# 株式会社インターネットイニシアティブについてしらべてみた

会社のホームページは[ここ](https://www.iij.ad.jp/)から確認できる。
執筆時点の会社の位置は以下の通り。

```geojson
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [139.74387160872848, 35.69894943973088]
      }
    }
  ]
}
```

調査は以上となる。

この Markdown ファイルを cats_dogs で閲覧すると以下のようになります。

cats_dogsでGeoJSON

では、この Markdown ファイルの作成方法を簡単に説明します。

まず、難しく見える「geojson」で囲まれた部分です。
cats_dogs は GeoJSON形式 と TopoJSON形式 で地図を表示できます。
どちらの形式でもよいのですが、表現の方法を覚える必要があります。
簡単な説明であれば「GeoJSON wikipedia」で検索してみてください。

上のサンプルは、地図上に会社の位置をピンで指しています。
つまり、大切なのはピンを指す位置を決めることです。
このピンの位置が「coordinates」の括弧で囲まれた数字です。
GeoJSON は [経度, 緯度] の順番で数値を記載します。

この数値を調べる方法は様々ですが、たとえば、Google Maps を使います。
Google Maps で検索すると、緯度と経度の情報が以下のように URL から取得できます。

https://www.google.com/maps/@(緯度),(経度),(ズーム値)z/

必要な数値は、アットマーク以降の2つの数字です。
これをコピー&ペーストすればいいです。
もしくは、緯度と経度の情報を取得したい位置で、右クリックしてもよいです。
注意事項として、GeoJSON は経度と緯度の順番が Google Maps とは逆になります。

Markdown は、文章が主体となりますが、地図を使うことで文章に書かれた内容の位置把握が容易になります。

Markdown で数式を使おう

では、つぎに Markdown で数式を表現するサンプルを示します。
以下は、二次関数について Markdown ファイルで説明したサンプルです。

# 二次関数とは

```math
 f(x) = ax^2 + bx + c \quad (a \ne 0)
```

の形で表される関数のことである。係数 $a, b, c$ が実数値の定数で、$x$ が実数値をとる変数とすると、そのグラフは$xy$-座標系において放物線を描く。

cats_dogsで数式

地図の例と同様に、数式の書き方は TeX の記法を少し覚えないといけません。
「TeX 数式」などで調べると、書き方を知ることができます。

「math」で囲まれた部分に書くことで、数式を表現できるようになります。
その他にも、文章の最中に数式を扱いたい場合があります。
上の例では「a, b, c」などです。
この場合はドルマークで囲うことで、文章の最中でも数式を表現することできます。

これで、消したくない数式を誤って消してしまう可能性が低くなりました。

さいごに

cats_dogs は地図や数式以外にも Mermaid などを使って様々な表現ができます。
まずは、試しに使えるようにアプリの準備を支援する動画を用意していますので、実際に触って確認してみてください。
今の学生さんはうらやましいなぁ。

ふぇにっくちゅん(守田 瞬)

2023年05月25日 木曜日

2021年11月にセキュリティ情報統括室に所属。頑固なので、ニックネームだけでもやわらかくひらがなにしてみました。普段はハニーポットで収集したDDoSの発生源であるマルウェアを対象に分析しています。

Related
関連記事