- ソリューションアーキテクト
- プロジェクトマネージャー
- テクニカルオペレーション
- Other occupations (4)
- Development
- Business
- Other
こんにちは、高知からインターンしている森田ドラゴンです。前回は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だ」という考えで勧めていますが、設計は実際にコードを書いているわけではないので、本当に設計した通りに動くかどうか心配です。あるいは、設計の失敗も織り込んであるのが開発手法なような気がします。