olificeのblog

プログラミングまたはサーバ構築についてのメモ

学校

2011年度白浜危機管理コンテスト 予選までのまとめ

2011年度白浜危機管理コンテストに参加し、予選を通過したのでとりあえずそれまでの感想と反省を書いてみる。


Web予選(第1次予選)

お題は「セキュリティ企業のコンサルとして顧客にアドバイスをする」、というものだった。
まず顧客からセキュリティに関する相談を受け、それに対するアドバイスを最大3回まで行えるというものだったがアドバイスするにあたり制限がいくつかあり、色々と悩んだ。
・顧客はシステム担当などではない
・そもそもインシデントが起こってるのか定かではない
このことから慎重に提案をするべきだと判断し、なるべく顧客が不安にならないよう可能性の話としていくつかのケースを提示してそれに対する対策案などをいくつか出すという感じのアドバイスにした。うまくいったのか(?)ツッコミがなかったので2回アドバイスをした時点でこれ以上アドバイスすることがないと判断して終了。
提案のスタイルとしては間違っていなかったと思うけど、システムを理解していない顧客にどれだけ可能性の話をして通じるのかあまり考えなかった、つまり顧客の立場に立って状況を考えていなかったのはあまりよろしくなかったと思う。



予選(第2次予選)


予選はVPN接続で和歌山大学に接続しサーバを操作し調査するという内容だった。
うちの学校の環境をよく確認していなかったせいもあって当日になって接続できなかったので延期してもらうというトラブルも発生したがまぁ結果オーライだったと思う。うちが一番落ち着く。
つーか終始パニくって振り返ればどうしようもない対応しかできなかった。顧客とCEOの了承はとっているものの場当たり的に改ざんされた顧客ページの修復を行ったりと、そのあとの影響を考慮しての対応を行えてはいなかったと思う。顧客からの連絡も含めると約1時間半ほどで調査・復旧・対策・トラブルチケットの発行と厳しい内容だった。
それにあくまで企業の派遣SEという立場で何が行えるかということを常に考えて行動しないといけなかった。自分の身分を越えた行動がコマンドひとつで出来るのに社員という立場上判断する人に判断してもらわない限りそうすることも出来ないというのは予想以上の大きな負担になった。その行動の正当性を判断層(CEOさんとか顧客)に理解してもらわないとサーバを止めることすら出来ない。今にも不正侵入が行われてさらに改ざんがされているかもしれないのに止めることすらできないのはなんとももどかしかった。100人近くのユーザが商用サービス含め利用しているサーバを止めるにはそれだけの理由が必要だったから、今回は問題をちょっと大げさにしてCEOさんをびびらせる形になったけど正直少し止めるのも早かったかと思う。なんとか止めずに原因を調査して問題をスマートに切り分けて問題箇所だけ分離させるみたいな器用なこともしたかったけど今にも改ざんされているかもしれないという状況ではパニくってどうしようもなかった。それに今回は割りと甘い説明でもすんなりCEOさんも顧客も止めることを了承してくれたけど実際はステークホルダが多いとこうはいかないと思う。
問題の切り分け方ももうちょっとスマートに行いたかった。何が出来て何が出来ないかなんて一般の利用ユーザはそもそも意識の外にあるから聞き出すのも難しい。顧客に見えるのはWebサービスに繋がらないとかページが違うとかそういう結果でしかないからもっと下の層で何が起こっているのかを見極める必要があった。そうすればもうちょい早く特定できたかもしれない。

で本選が和歌山。和歌山って関東らへんにあるのかと思ったら関西とか全然遠くて笑った。とにかくやるっきゃない!

ウェブサイト制作をやって分かったこと

現在学年末の作品展示に向けて着々とウェブサイト制作進行中なわけですが、うちのチームは人数的な面(贅沢を言えばあと一人欲しかった)やら制作の進め方やら色々とあって大変です。
まだ一応時間はあるから出来る限りやりたいと思うんだけど間に合うかなぁ。

とりあえず今まで制作を進めて来て思ったことを書いてみる。

・終わコン

TOP - MaInd














↑現在制作中のトップ画面

まず音楽ダウンロードサイトという題材は思ってたよりも難しかった。

・クライアント側の再生ソフトとダウンロード機能が一体化したiTunes一強時代の現在であくまでウェブサイトとしてダウンロードサイトをやるとしたらどういう点で戦うのか
・ワンクリックで購入し即その場で聞ける、ソフト内で全て完結させることによってダウンロードと再生をシームレスに行える、統一されたインターフェースによる分かりやすさ、というクライアントソフト以上の利点がなければわざわざウェブサイトにアクセスして認証をしてダウンロードしてファイルを再生ソフトに入れてというプロセスを踏むような人はあまりいないがそれを補えるほどの利点を作れるか
・iTunes、AmazonMP3などのほぼ独占状態の中で戦えるような魅力を作れるか

まぁなんていうかiTunesなどのクライアントサイドのソフトの強さと海外勢の強さで全体的に終わコン感漂う音楽ダウンロードサイト業界なんですがその波に拍車をかけたのがMUSICOの閉鎖です。NTTコミュニケーションズが運営する国内大手の音楽ダウンロードサイトの閉鎖によってある意味日本の音楽ダウンロードサイトの方向性が決まったように思えます。


・なぜ作業を分担するのか

作業の割り振りもあまり考えていなかった。これぐらいの規模のサイトなら一人でも大丈夫だろとか思って(DB以外)全部一人で作ってたら、どんどん作らなければいけないところががあれもこれもと増えて結局サイトを作ったのは自分だけだったので後で修正をするにも大変な手間がかかるようになってしまった。まぁそもそも作業を分担するのはリスクを分散するためなのにそれを怠っていたのが悪いんだけど。しかしデザイン(HTML、CSS)、プログラム(php、flash、javascript)など色々一人でやっていて分かったこともあった。php、javascript、ActionScriptなどプログラム言語によってはデザイン(HTML)に埋め込んだりさせて連携させなければいけないが以外とそれが大変で、データの受け渡しなどでハマるところが多い。ただでさえハマるところが多いところをもし担当が違う者同士でデータがどう渡されるか確認しなければいけないとなるとかなり大変だと思う。現実的には一人でやっていては間に合わないので分担してやるわけだけどそれを機械的に手伝ってくれるツールがフレームワークでこれを使う事で作業の分担がかなり楽になる。デザイン(ビュー)と処理ロジック(コントローラ)とDB(モデル)の分担がフレームワークを使うことでかなりはっきり分けられるからだ。
とりあえず一人である程度やってて思ったのはデザインも大変だしプログラムも大変だしでウェブサイト制作ってけっこうキツい。
UIはどうすればうるさくなりすぎず不親切になりすぎず済むかを考えて、デザインは1px単位の誤差、コントラスト、ブラウザ間の解釈の違いに気を使い、プログラムはHTMLだかjavascriptだかActionScriptだかで発生したよくわかんないエラーと戦わなければいけない。

     ./       ;ヽ  
 l  _,,,,,,,,_,;;;;i 
 l l''|~___;;、_y__ lミ;l 
 ゙l;| | `'",;_,i`'"|;i | 
 ,r''i ヽ, '~rーj`c=/  
 ,/  ヽ  ヽ`ー"/:: `ヽ 
 /     ゙ヽ   ̄、:::::  ゙l, ホント ウェブ制作は地獄だぜ! フゥハハハーハァー 
|;/"⌒ヽ,  \  ヽ:   _l_        ri                   ri 
l l    ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| |                   / | 
゙l゙l,     l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l 
| ヽ     ヽ   _|_  _       "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ 
/"ヽ     'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄  [i゙''''''''''''''''"゙゙゙ ̄`" 
/  ヽ    ー──''''''""(;;)   `゙,j"  |  | | 

・結局何がいけなかったか

作業の分担の仕方。一人にリスクが集中しすぎてその人以外やる人がいないという状況を作らない。職務分掌の基本ですね。

pearでユーザ認証付きのプロキシを使う場合 pear config-set http_proxy

pear config-set http_proxy http://ユーザ名:パスワード@ホスト:ポート番号

これでOK

ユーザ認証を使わない場合は

pear config-set http_proxy ホスト:ポート番号

設定を解除するには

pear config-set http_proxy none

----------------------

ついでにAuth_HTTPのインストール

pear install Auth_HTTP

設定が正しければ通ります

最初プロキシの設定をしないまま

pear install Auth_HTTP
ってしたら

No releases available for package "pear.php.net/Auth_HTTP" install failed

とか出るもんだからAuth_HTTPがpear.php.netに無いのかと思ってウェブサイト行ったらあるしであれ?って(;´Д`)単にインターネットオプションにはプロキシの設定してあったからなぜかもう繋がるもんだと思いこんでただけだった