同僚のディレクターに聞かれたので共有用のメモ。
厳密に言うとちょっと違う部分もあるけど、まぁ なんとなく雰囲気つかむためのもの
世界で最も利用されている、無償で利用できるデータベースサーバ。 リレーショナルデータベースというカテゴリに属されるデータベースアプリケーションで エクセルの表のようなものを、相互に連結させることによって データを表現、保存している。
SQLと呼ばれる小さなプログラミング言語のようなもの(厳密にはプログラミング言語じゃないんだけど、便宜上) を利用することでデータベースに対して、データを入れたり、消したり、取得したりできる。
MySQLそのものを学ぶ、となると実は深すぎて 話が進まないから、まずはリレーショナルデータベース全てに 共通で利用できるSQLを勉強するとリレーショナルデータベースが どういうものか、を理解できるかも
名前はJavaScript Object Notationの頭文字が由来。 その名の通り、Javascriptで利用するために定義された文字のパターンのこと。 汎用性が高い為、Javascriptだけでなく、様々な言語で利用されている。
user.jsonというファイルが以下のように定義されているとする
{ "name": "John Smith", "age": 33, "skill" : [ "c/c++", "java", "javascript", "HTML/CSS"] }
jsonはキーと値のセットから成っていて、例えば"name"というキーで 検索すると"John Smith"と返ってくる。Javascriptなんちゃら、とかは 意識しないで、とりあえずはデータ構造をテキストでシンプルに定義できる 汎用的なフォーマットと覚えておけばいいかも。
jQueryうんぬんのとこは別に読まなくてもいいかも。 最初のほうにjavascriptとjsonの関係がよく説明されていて、同じ感覚で 他の言語でも扱える、と思ってもらって、とりあえずは大丈夫。
Extensible Markup Languageの略。データを表現するのに用いられる。 HTMLはXMLのWebページ表現専用のものだと思ってればOKだと思う。 (HTMLとXMLは仲間だけど、違うもの。)
jsonの例で出たデータ構造をXMLで表現すると以下のようになる。 (もちろん一例で、自分の好きなように定義することも可能)
John Smith 33 java javascript HTML/CSS
こんな感じ。(すごい適当だけど) jsonとかyamlとか、他のシンプルで新しいのが出てきたから、最近は 積極的に利用される機会は減ったと思う。
java関連のソースコード書く時は割と出てくる。 なにができるか、と言われたらjsonと同じことができる。 形式が違うだけで、目的はjsonもXMLも同じ。
あとは利用する側がどっちを使いたいか、で決められる。
例えば、座席表の場合で説明すると
- WEBで座席データ、ユーザデータを利用者に入力させる
- 入力されたデータはWEBアプリによって、データベース(MySQL)に格納される
- Unityのアプリが起動したときには、Webアプリに対して『 XXフロアの情報をください』とリクエストを送る
- リクエストを受けたWebアプリは、データベース(MySQL)に問い合わせて結果を取得する (フロアの詳細、座席の位置など)
- Webアプリは結果がデータベースから取得できたら、json形式に書き出して、それをUnityに渡す。
- Unityはjson形式で書き出されたデータを確認したら、それをプログラムで読み込んで、Unityに座席データとして表示する。
5でjsonを選んでいるけど、XMLでも例えばCSVでもなんでもよくて、お互いが都合のいい データ構造ならどれを選んでもよい。(それぞれのデータ構造に向き不向きはあるが)
座席表の場合では、WEBとUnityとのやりとりにJsonを採用している。
MySQLとXML(もしくはjson)は、直接的には結びつかなくて、 MySQLで取得したデータを、プログラムがXML(もしくはjson)に整形して、出力する っていうのが一般的なので、この3つを説明するにはプログラミングの話が ついてまわるかも。