QAがWebサービスを作ってみる奮闘記 - 終章
QAがWebサービスを作ってみる奮闘記 - 序章 で作ると書いたWebアプリケーション、作ってみました。
環境
- ローカル開発環境はMac OS X
- 擬似本番環境としてローカルでVirtualBoxでVM立てる
- 本番環境としてさくらのVPS借りる
ツールとしては、Eclipse等のIDEは使わないようにしました。 (なぜかというと、IDEが自動でやってくれる部分がよく理解できなかったので、なるべくシンプルにしたかったから。)
苦労したこと
サーバーOSのインストールと設定等
OSはCent OSにしました。 ネットワーク設定(FWなど)等もほぼ初めてだったので、 「開発環境で作る→擬似本番環境に設定→様子を見る→大丈夫そうであれば本番環境に適用」 という感じで進めました。
Servletの理解
Servletナニソレ?という状態だったので、まずは富士通さんのホームページを読んで概要を理解しました。
とっても分かりやすいです。 特に今回はIDEを使わないようにしたので、第4章(プログラムの配備と設定情報)が役立ちました。これが無ければいろんなところで躓いていたと思います。。
MySQLの理解
仕事柄、MySQLの中身を見て試験をすることは多々あるのですが、テーブルを自分で作るのは初めてでした。 プライマリキーがどうのとか、文字コードがどうのとか、いろいろ考えることがあるんですね。 ここら辺を参考にさせていただきました。
Version 3.2.1 | MySQLの文字化け。原因と修正方法がけっこうややこしくて途方に暮れかけた・・・けど!
http://d.hatena.ne.jp/miukoba/20110327/1301201078
TomcatとMySQLの接続
いやーこれが難所だった。。 ただJavaの関数としてちゃちゃっと使えるものだと思っていたら(知っている人にとっては簡単なことなのでしょうけど)、JNDIの設定等が必要で初めはちんぷんかんぷんでした。Tomcatのログを読んでもあまりぴんとこず。。 ここら辺を読んで徐々に学習しました。
http://www.javaroad.jp/opensource/js_tomcat8.htm
Javaプログラミングそのもの
C言語しか勉強してこなかったので、Javaのプログラミングも初めてでした。例外処理の書き方も学んだりして。
脆弱性対策
基本的な脆弱性対策を行いました。 IPAが公開しているここら辺の資料を参考に。
普段は脆弱性を突く側ですが、初めて作る側に回ると、開発者の方々のすごさが分かりますね。。。 個人的な感覚としては、「機能を1作るとすると、その脆弱性対策が3必要になる」と感じました。 いやはや、これは脆弱性がぼろぼろ出てくる訳だ。
CSSなど
ぱっと簡単にイケてる見た目にしたかったので、Bootstrapを利用しました。
テーマは今っぽくFlatlyを選択。かっこいいですね。
CSSを適用するとすごいテンションあがりました。(単純
まとめ
今回は、QAがWebサービスを作ってみる奮闘記 と題して、 「普段仕事でWebサービスを試験しているが、Webアプリケーションの仕組みがよく分かっていない」 状態の人が実際に作る上で参考にしたサイト・ツールをまとめてみました。
個人的な学びは以下です。
- Apache, Tomcat, MySQLの連携についての具体的なイメージを持つことができた。
- Servletの基礎知識(ディレクトリ構造、jarファイル等)を学ぶことができた。
- 簡単なJavaプログラミングを行い、Webアプリの脆弱性対策の大変さを理解した。
所感としては、開発者とのコミュニケーションを行う上での背景知識を得るのに役に立ったという感じです。
何かしらの役に立てたら幸いです。