1
/
5

森田ドラゴンのインターンシップ~25日目~ XML or JSON

こんにちは、高知からインターンしている森田ドラゴンです。前回はAPIがなんで動いてるのかわからず、気持ち悪くて時間を潰してしまいましたが、今日は設計を終わらせることができました。関数仕様書の一部は今回のトップ画像に設定してあります。全体を書くと見辛いかなと思って一部を表示してみました。

指摘された仕様書の不備

もちろん最初に提出した設計がOKされたわけではなく、いくつか不備を指摘いただきました。単純にAPIのURLが書いていない等の不備もありましたが、番号を割り当てて設計するのではなく、「なんの処理内容を書いているのかわかるようにする」という指摘もありました。

具体的には ボタンクリック時の処理: といった形で設計していくことが、関数仕様書の役割のようです。

設計についてあれこれ考えるのは、ここ二週間ぐらいであれこれ考えたので、あまり迷わず進められました。

HTMLだけ書いて見る

設計が終わって気づいたんですが、HTMLの設計を書いていませんでした。HTMLの設計も書いた方がいいのかなとぼんやり思いつつも、試しに書いてみました。

BootStrap4を使っているので、cssはimg画像を設定するだけにとどめています。HTMLは処理には関わってこないので、エラーがでないと信じたいです。(いや、formをPOSTする段階でエラーがでるかも?)

XMLは探索できる?

ここまで書いた段階で、以前社員の森さんが「県名いれただけで、都市名表示できるようにできないの?」と、言っていたのを思い出しました。JS側でXMLを編集できるか?、そもそもXMLとはなんだと考えながら色々調べました。

調べたところによると、XMLはデータを取り扱うためのマークアップ言語だそうです。データの形式はイメージできましたが、取り扱い方を調べるのに時間がかかりました。データといえば、JSONやDBのレコードのイメージが強かったので、そのイメージで調べていましたが、どうやらHTMLから情報をとってくるのと同じやり方で、XMLファイルからとってこれるようです。

var xmlhttp = new XMLHttpRequest();
var docelem = xmlhttp.responseXML.documentElement;

こんな感じで、DOMという概念を駆使してデータを取り込めるみたいです。

感想

データ形式といえばJSON、みたいなイメージが頭の中にあったのでXMLの利用方法を調べるのに時間がかかりました。APIのデータの取り扱いの主流が、JSONからXMLに変わってきている〜という話をどこかで聞いたことがあるので、それも思い込みの原因の一つかもしれません。

コードを書いているときは「このコードでいけるかな?コード走らせてみて、ここまで動いたokだ」という考えで勧めていますが、設計は実際にコードを書いているわけではないので、本当に設計した通りに動くかどうか心配です。あるいは、設計の失敗も織り込んであるのが開発手法なような気がします。

Invitation from 株式会社サーバーワークス
If this story triggered your interest, have a chat with the team?
株式会社サーバーワークス's job postings

Weekly ranking

Show other rankings
Like 森田大智's Story
Let 森田大智's company know you're interested in their content