制御構造のコーディング規約

色々あるみたいだが、適当に思ったことを。

if ( hoge ) {
    hogehoge;
}
else {
    fuga
}

上記のような書き方は、なんだかクシャッとしていて見難くて、受け入れづらかった。
なので、GNUのコーディング規約でもあり、Linux・Unixのパッケージのソースなどでよく用いられていて、大学でもC言語な人達が好んで使用していた以下のようなコーディング法を個人的に気に入って使っている。

if ( hoge )
{
    hogehoge;
}
else
{
    fuga
}

続きを読む

遷移なしのPager

PEARのpagerライブラリを使用していたが、色々と微妙だったので、簡単に自分でコーディング。

phpからのreturnを表示するエリアをjavascritで記述し、そのreturnの中にさらにそのエリアで表示を行うhtmlを表示。

そうすることで、最初に表示されたエリア内のフォーム等をクリックすることで、さらにページ遷移の無い表示エリアで表示の切り替えが可能。

表示エリアの記述はこんな感じ。

<div id="search_result_area_ff">検索結果表示エリア</div>

遷移無しにそのエリアにphpのreturnを表示するJavascriptはこんなの。

function formPostClick()
{
    new Ajax.Request
    (
        './test.php',
        {
            method     : 'post',
            parameters : Form.serialize('ajaxForm'),
            onComplete :    function( httpObj )
            {
                $('search_result_area_ff').innerHTML = httpObj.responseText;
            }
        }
    );
}

function formPostClickNext()
{
    new Ajax.Request
    (
        './test.php',
        {
            method     : 'post',
            parameters : Form.serialize('ajaxNextForm'),
            onComplete :    function( httpObj )
            {
                $('search_result_area_ff').innerHTML = httpObj.responseText;
            }
        }
    );
}

function formPostClickPrev()
{
    new Ajax.Request
    (
        './test.php',
        {
            method     : 'post',
            parameters : Form.serialize('ajaxPrevForm'),
            onComplete :    function( httpObj )
            {
                $('search_result_area_ff').innerHTML = httpObj.responseText;
            }
        }
    );
}

で、最後にReturn表示エリアに表示エリア内でさらなるReturnを表示しなおすPHPでの
Pager実装は以下。

### PAGER Setting ###

$pagelimit = 50;

$name = $_POST['name'];
$currentPageID = $_POST['page'];
$sort = $_POST['sort'];

$next_page = $currentPageID + 1;
$prev_page = $currentPageID - 1;

if ($prev_page > 0)
{
    printf('
        <table><tr><td>
        <form method="post" id="ajaxPrevForm">
        <input type="hidden" name="name" id="name" value="'.$name.'">
        <input type="hidden" name="page" id="page" value="'.$prev_page.'">
        <input type="hidden" name="sort" id="sort" value="'.$sort.'">
        <input id = "search_button_fff"
        type = "button"
        value = "prev"
        onclick = "formPostClickPrev();">
        </form>
        </td><td>
    ');
}

printf('
    <form method="post" id="ajaxNextForm">
    <input type="hidden" name="name" id="name" value="'.$name.'">
    <input type="hidden" name="page" id="page" value="'.$next_page.'">
    <input type="hidden" name="sort" id="sort" value="'.$sort.'">
    <input id = "search_button_fff"
    type = "button"
    value = "next"
    onclick = "formPostClickNext();">
');

if ($prev_page > 0)
{
    printf('</form></td></tr></table>');
}

$index = ($currentPageID - 1) * $pagelimit + 1;
$min_hit_num = $index;

if ($rowNum < $index + $pagelimit)
{
    $max_hit_num = $rowNum;
}
else
{
    $max_hit_num = $index + $pagelimit - 1;
}

printf("<div id=resultNum>検索結果(%d?%d件目):%dヒット</div>",
    $min_hit_num, $max_hit_num, $rowNum);

これで、簡単ではあるが、ページ遷移なしのPagerが使用できる。

Googleの新しいブラウザ

Googleが開発した新しいブラウザとして、Google Chromeが9月2日からリリースされている。

それを使ってみた感想。

とりあえず、体感がめっちゃ早い。
使っていない人は使ってみて欲しい。

特にWEBページを読み込んだ後の、ページ内遷移が早い気がする。

まるで、バックグラウンドでページ内をどんどん保存してキャッシュにしているかのよう。

後は、GoogleMapの拡大などが非常に早く、Gmailもクルクルさくさく動く。

GoogleのWEBサービスにはかなり最適化されている模様。
エンジンにはSafariが使っていたWebkitを使っているのね。

JavaScriptの実行速度が速いらしく、これからのリッチコンテンツを見越しての開発なのだろう。
Googleの新しいJavaScript エンジンである v8 と呼ばれるものを開発したようだ。

キャッシュに持っていないページの表示も速いので、純粋なブラウザにおける技術力が高いと考えられ、「技術力はないけど、広告力と企画力がすぐれている」と言っていたひろゆき氏も、そろそろ「まぁまぁ技術力はある」と言うことになるのだろうか。

僕は、ひろゆき氏の言う、Googleがやりとげた検索エンジン開発における広告力と企画力っていうのは、当然技術力の範囲に含まれるものだと思うのだけれど。

脆弱性もどんどん見つかっているようだけど、これは期待できるブラウザである。

・・・・・・

こうやってどんどんGoogleに囲いこまれていくのかなぁ。

実装を見ていないからわからないけど、Googleが持つページのキャッシュともリンクしていくような作りになると、本当にWEBはGoogleがプラットフォームになってしまいそうで怖い。

わっさわっさ

ワッサー(Wassr)というサービスを試してみた。

これが結構おもしろい。

SNSにしては、なんだか適当でゆるい感じで、後は投稿する方法がたくさんあって、方法自体も簡単で投稿までがシームレスな感じがした。

あとは、投稿内容が「ヒトコト」っと書いてあるから、なんとなく「一言でいいんだー」って気になって、適当に投稿することができる。

mixiのチャット版といった感じでかな。

後は、登録していなくても、公開している人のページは見ることができて、オープンさをきっちり残しているところも良いと思った。

コミュニティなども、基本はチャットベースなので、ヒトコト投稿と同じように、より簡単に多くの情報を気軽にやりとりできるように思う。

mixiのように、繋がりやコミュニティに関して、どちらかと言うとクローズドであることを売りにしているのに対し、wassrはオープンであることを前面に押し出しているのも好印象。

欠点としては、購読者(マイミクみたいなもの)がその人の購読者(僕からみて全くの他人)とのやり取りをヒトコト一覧で表示してしまうところ。

これだと、購読者とは関係のない人と沢山やり取りすると、そのやりとりが興味のない人のヒトコト一覧にまで反映されて、興味のあるヒトコトが埋もれてしまう可能性があるからだ。

沢山やり取りすることすら遠慮してしまう。

ヒトコト一覧はもうちょっと改良の余地があるのかなぁ。

ただいま

帰ってきました。

まずは上記のものをゲットしましたよ。

そして、目的のものは・・・・

ゲットしましたよ。
究極の紺ブレと称される、ブルックス・ブラザーズの紺色ブレザー。

これでしばらくは極貧生活だ。

では、開けてみよう。wktk↓

続きを読む