« 無線放送ヘッドラインのDB化ブロッコリー総会通知キタ━(゚∀゚)━!! »

第6回SE勉強会&IISでcakePHP

第6回SE勉強会&IISでcakePHP

パーマリンク 2008/05/12 11:48:24 著者: kumaold メール
カテゴリ: 仕事, 勉強会など

GWを挟んだので3週間の空きがありましたが、昨日は第6回SE勉強会でした。

今回の宿題は・・・
一言で言うと、「押しボタン式信号機」を作りましょう、ということです。
詳しくは勉強会ブログにて。


仕組み自体は、適度な間をおきつつ色を順次変えていくだけだと思ったので、setTimeoutで単純に各パターンを呼び出しているだけです。

しかし●と■を画面上に並べただけでは個人的に納得できなかったので、無駄に信号っぽい感じに並べてみましたw

こんな感じです。(IEだと間隔が崩れるのでFirefoxで見てください)


ソースはこちら
html部分は、各信号の色にidを振りonclick=signal()で呼び出しているだけです。

function signal(){
    var t = 0;
                                        //青黄赤 赤青
    setTimeout(signal2, t += 1000);     //●○● □■
    setTimeout(signal3, t += 1500);     //●●○ □■
    setTimeout(signal4, t += 1000);     //●●○ ■□
    setTimeout(signal5, t += 3000);     //●●○ ■■
    //点滅の回数指定
    for (var i = 0; i < 4; i++) {
        setTimeout(signal4, t += 300);  //●●○ ■□
        setTimeout(signal5, t += 300);  //●●○ ■■
    }
    setTimeout(signal6, t += 300);      //●●○ □■
    setTimeout(signal1, t += 1000);     //○●● □■
}

//赤消灯、青点灯
function signal1() {
    document.getElementById("green").style.color = "lime";
    document.getElementById("red").style.color = "black";
}

//青消灯、黄点灯
function signal2() {
    document.getElementById("green").style.color = "black";
    document.getElementById("yellow").style.color = "yellow";
}

//黄消灯、赤点灯
function signal3() {
    document.getElementById("yellow").style.color = "black";
    document.getElementById("red").style.color = "red";
}

//歩行赤消灯、歩行青点灯
function signal4() {
    document.getElementById("walk_red").style.color = "black";
    document.getElementById("walk_green").style.color = "lime";
}

//歩行青消灯
function signal5() {
    document.getElementById("walk_green").style.color = "black";
}

//歩行赤点灯
function signal6() {
    document.getElementById("walk_red").style.color = "red";
}


◎良かったこと
実際の信号機の見た目、動作を再現できた。

◎反省点
1度ボタンが押された後で、再度押されたときを想定していなかった。
(押されると時間差で同時に複数点灯してしまう)



午後からは、まだcakePHPについていける自信がなかったので一人で自主勉強。

サーバに上げるのが面倒で、ノートPC内のIISで動かそうと四苦八苦。
色々調べた結果、mod_rewriteまわりの絡みで挙動が怪しいことが判明。

無理矢理cakePHPディレクトリ内のindex.phpの58行目を書き換える。

$uri = setUri();

  ↓

$uri = env('PHP_SELF') . env('QUERY_STRING');


アクセスURLは、

http://localhost/index.php?/コントローラ/メソッド/パラメータ...


これで一応問題なく動きます。
ただ、自動生成されるURL類に若干の書き換えが要りますが。

・・・結論、mod_rewriteの使えるLinuxサーバを用意しましょう!

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2008%2F05%2F12%2Fcnn6a_sea_afmaf_if_iisa_scakephp" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     multiblog platform