美味しいベトナム料理レストラン「コムコムゴーン」@岐阜県中津川 ディナー編

前回の
美味しいベトナム料理レストラン「コムコムゴーン」@岐阜県中津川 ランチ編 - 大人でも自由研究 - Human is creative, Originaly...!!


に引き続き。ディナー編も。
実は美味しすぎて二日連続行ってしまいました(笑)
今回はディナーを「おまかせコース」で。


苦手な食材とかがあれば、融通聞いてくれるそうです。
パクチー苦手な方とかは助かるかも。

次々出てくる美味しいベトナム料理。彩り豊富で大満足。

焼白なす with ベトナムソース

ビールによく会うんですよコレが。

空心菜の炒め物

シャッキリとした食感が大好きです。
野菜は取れたて新鮮だそうな。

ベトナム風からあげ。

個人的には から揚げ + スペアリブ食感 な印象でした。
当然ビールは追加しました。

蒸したお魚 with ベトナムソース

レモングラスの香りがアジアンを演出。
つけタレも絶品です。魚は何だったっけな???(笑)

ベトナム風魚の煮物

今まであまり味わったことのない味でしたが、すこぶるご飯が進みました。
うまいー^^

かぼちゃデザート

今が旬の「かぼちゃ」。甘くて美味しい♪


ご馳走様でした。


ゆったりとした時間が流れる中、美味しいベトナム料理に舌鼓。
はぁ〜、最高デス。
また寄らせていただきます。


↓お店の情報はこちら。
http://com2ngon.com/

※「要予約!」ですのでご注意を。

美味しいベトナム料理レストラン「コムコムゴーン」@岐阜県中津川 ランチ編

今日は先日お世話になった、とびきり美味しいベトナム料理のご紹介。
どの料理も馬鹿ウマで、近くに行かれる方には是非オススメ。
http://com2ngon.com/


店長さんが一人で切り盛りしている穴場中の穴場なお店です。
行かれる方は『要予約』なのでご注意を!

え!こんなにたくさん?と言いたくなっちゃうランチメニュー


今回は「あじめカレーSet」をいただきました。
この日は5人で予約。


リーズナブルなお値段(1,500円/人)ながらテーブル一杯に料理が並びます。
おかずだけでこんなにたくさん!ご飯はおかわりOKでした。



どれも美味しいんです♪


個人的なお気に入りは "あじめカレー"。
中津川市福岡特産の“あじめ胡椒”を使ったベトナムカレーだそうです。
辛すぎず、マイルドで本当に美味しい。
ご飯がいくらでもすすむお味で、3回もおかわり。


締めの「ベトナムコーヒー」も最高デシタ。

ロケーションもばっちり♪


入り口から宮崎アニメの世界です。
いい感じでしょ?


天気のいい日はテラスでLunchが可能。ゆっくり流れる時間を堪能しながら。。


眼下に広がる大自然



いやはやホント最高にでした。
近くにあれば月一で通いたい!!ってな気分です。

また遊びに行きたいと思います。
ご馳走様でした。


最後にやさしい心配りの店長さんを激写☆パシッ



■ディナー編はこちら↓
美味しいベトナム料理レストラン「コムコムゴーン」@岐阜県中津川 ディナー編 - 大人でも自由研究 - Human is creative, Originaly...!!

CakePHP>エラーハンドリング(Error Handling)

CakePHPのマニュアルに、この章の日本語ドキュメントが無かったので、検証しながら意訳。

ErrorHandlingの基本

処理を中断して、エラーページを利用者に表示する共通機能が備わっている。
「controller」「component」上で利用可能。

・エラーハンドリングのための基本的な形式

<?php
$this->cakeError(<string errorType>, [array parameters]);
?>
定義済みのエラータイプ

cake/console/error.php
いくつかの便利なエラータイプはデフォルトで定義済み

・サンプル:404エラー

<?php
$this->cakeError('error404');  // パラメーターが不要なエラータイプもある
$this->cakeError('error404', array('url' => 'some/other.url'));
?>
カスタムErrorType

app/app_error.php
上記ファイル新設 → メソッドを定義する(=カスタムエラータイプを定義)

エラータイプが様々なファイルに分散してしまうのはよろしくない
→なので、1つのファイルに定義できるようにしたよ とのこと。

<?php
class AppError extends ErrorHandler {
  function testErrorCase($params) {
    $this->controller->set('message', $params['message']);
    $this->__outputMessage('test_error_case');
  }
}
?>
Viewファイル

作成場所は
app/views/errors/XXXXXXXX.ctp

ファイル名は自由に設定してよい。
カスタムエラーメソッド内の

<?php
$this->__outputMessage()
?>

の指定により、指定のViewファイルを表示させられる



処理を途中で中断できるメカニズムって素敵ですね。
というわけですこぶる便利なCakePHPでした。

アメリカ大統領選挙。日本の衆議院選挙。

アメリカ大統領選挙は、オアマが勝つんじゃないかな〜
と思う今日この頃。
いや、大部分は希望的観測。


いい加減アメリカ人には、自分達が世界を乱しているって自覚してもらって。
共和党政権→民主党政権 って変更をしていただきたい。
再度、共和党政権が作られたら、正直どんだけアホなの?と。


直近の世論調査(決定に対する直接の意味は無い)によれば

■2008/9/19時点で
ギャラップ社でオバマ氏49%、マケイン氏44%
ラスムセン社ではオバマ氏48%、マケイン氏48%

アメリカ国民もどちらに転ぶかは分からないって感じなのでしょう。
本選挙は 2008年11月4日

さてこれに対して、日の本では

洒落も効いてる麻生さん
貫禄は十分の小沢さん

そして

古き体質も残りつつな自民党
いささか頼りない(?)な民主党

自民が失敗続きだから、ここらで一発民主党

って思いが世論にもあるはず。

ただ、イメージはリベラルっぽくとも
政策自体は自民党と共通する部分も多い。

そして、主張に一貫性が無い?
かのように見えてしまっている。

この点は非常に残念。
きちっと主張で自民党に対抗するのが、実は一番近道だと思う。
そして、国民に分かりやすく伝える・届ける事が大切。
広告費大量投入するしかないかもね。

米選挙の衆議院選への影響は、少なからずあると思う。

世の中の流れが変わるということだと認識。

民主党が勝ったとしたら、政権交代への期待感が国民の間に広がるのかもしれない。
民主党つながりで、日本でも民主党
なーんてことが起きかねないNowJPANかな〜と。

共和党だとしたら、保守派つながりで自民

ってまぁ根拠はありませんw

だとしたら、どうする?麻生さん。

カッコいいとこ見せ付けて、
いきなり10月衆議院解散→選挙?

民主党に政策アピールする時間を与えない
→政策が十分に浸透しないから、人勝負になる
→党首vs党首の選挙に持ち込む

って可能性も。


人 x 人 で考えたら
麻生さんのが絶対的に強いもんな〜。

豪腕さと
ユーモア
強いリーダーシップ

人間的魅力は抜群に見える。

国連での発言は堂々たるもの、得意の外交でアピール中。

演説内容全てはチェックしてないけど、
「インド洋空輸は国際貢献との認識の下続けます!」
とは言っていた。

金融危機が起こり、アメリカの覇権が失われ、世界が多極化しつつある
こんな情勢の中で、対米従属一直線な発言は止めて欲しい。
アメリカへの援護射撃なんだろーけどさ。

ま、一国民としては、アメリカの大統領選挙が終わってから

日本の衆議院選挙をじっくりやってほしいな。

十分な準備期間を経て、
色々公約してもらって(笑)


さてどっちが勝つかな?
選挙日程とマニフェストが気になるところ。

rascut で真っ白画面 : "SWFObject is not defined"

作業用にノートPCにも 「Flex SDK」+「rascut」 を導入しようとしたら、表題のJSエラー。


ASのコンパイル自体は問題なく実行され、生成されたswfも問題ないようだから、rascut側の問題か?


ググってみると、同様の問題で悩んでいる人も散見。
お仲間(その1その2

おぉ。。
rubyデバッグを出来ればいいのだけど、今わざわざ学ぶのは生産性が悪い。
ただActionScriptを使いたいだけだし。


トラブル発生の投稿を見ていると、日付がこの8月のが多い。
もしや最近の問題?


うまく環境構築が完成している、手元環境とバージョンを合わせて再トライ


してみたんだけど、駄目・・・
原因はなんだ?

PC2M (Website Transcoder for Mobile Clients) で絵文字を使う

表題のスクリプト。かなり便利なので活用させていただいてます。

コレを自サイトに設置し且つ携帯絵文字も使いたい!
っとなった時の対応メモ。
かなり強引な実装で少々恥ずかしいですが、公開。

使用するライブラリ

  1. http://surf-style.us/manual2.htm
    • 携帯絵文字の変換を行う
  2. PC2M
    • PC向けWebサイトを携帯向けに変換する(キャリア別の対応も)

1) PHP 携帯絵文字 自動変換スクリプト のハック

1. Shift-JISのバイナリコード入力 → Unicodeのテキスト入力

バイナリ入力方式だとうまくいかなかったので。。

    function _EmojiTable()
    {
        $this->EMOJI['E63E'] = array('TIT' => '晴れ', 'EzWeb' => '44', 'SB' => '^[$Gj^O');
    }
2. 出力文字列作成部分のカスタマイズ

Docomo用のimg:attributeを追加定義し、出力は以下の形に。

<img docomosrc="xxxx" />


pc2mに適合させるイメージ。変更箇所は以下。

    function Convert($InputEmoji)
    {
        switch ($this->InputMode) {
        case 0:
            $InputEmoji = strtoupper($InputEmoji);
            break;
        case 1:
            $InputEmoji = strtoupper(bin2hex($InputEmoji));
            break;
        default:
            return '入力モードの指定が正しくありません。';
            break;
        }
        if ($this->strUserAgent == null) { getUserAgent(); }
        switch ($this->strUserAgent) {
            case 1:
                // DoCoMo
                //$InputEmoji = pack("H*",$InputEmoji);
                $InputEmoji = '<!--pc2m_remain--><img docomosrc="'.$InputEmoji.'"><!--/pc2m_remain-->';
                break;
            case 2:
                // SoftBank
                $InputEmoji = $this->EMOJI[$InputEmoji]['SB'];
                break;
            case 3:
                // EzWeb
                //$InputEmoji = is_numeric($this->EMOJI[$InputEmoji]['EzWeb'])?"<img localsrc=" . $this->EMOJI[$InputEmoji]['EzWeb'] . ">":$this->EMOJI[$InputEmoji]['EzWeb'];
                $InputEmoji = is_numeric($this->EMOJI[$InputEmoji]['EzWeb'])?'<!--pc2m_remain--><img localsrc="' . $this->EMOJI[$InputEmoji]['EzWeb'] . '"><!--/pc2m_remain-->':$this->EMOJI[$InputEmoji]['EzWeb'];
                break;
            case 4:
                // PC
                //$InputEmoji = "<img src='./emoji/" . $InputEmoji . ".gif'>";
                $InputEmoji = '&#x'.$InputEmoji.';';
                break;
        }
        return $InputEmoji;
    }

2) PC2M のハック

1. imgタグのAttributeの拡張
  • FormatRule.inc.php
	'img' => array(
		'type' => 'inline',
		'children' => array(),
		//'attributes' => array('title', 'src', 'alt', 'name', 'height', 'width', 'align', 'border'),
        'attributes' => array('title', 'src', 'alt', 'name', 'height', 'width', 'align', 'border', 'docomosrc', 'localsrc'),
		'required_attribute' => 'src',
        'docomo_attribute' => 'docomosrc',
        'au_attribute' => 'localsrc'
	),
2.function _checkAttributes($name, &$attribs) のカスタマイズ
  • pc2m.php(=index.php)
    • 前段にて拡張した「docomosrc」と、AU用「localsrc」の判定処理
function _checkAttributes($name, &$attribs)
{
	if (!empty($attribs)) {
		・・・
	}
            
          // add HERE
            // case Docomo
            if (isset($this->dtd[$name]['docomo_attribute'])
                and isset($attribs[$this->dtd[$name]['docomo_attribute']])) {
                return true;
            }
            // case AU
            if (isset($this->dtd[$name]['au_attribute'])
                and isset($attribs[$this->dtd[$name]['au_attribute']])) {
                return true;
            }
            // END
            
	if (isset($this->dtd[$name]['required_attribute'])
		and !isset($attribs[$this->dtd[$name]['required_attribute']])) {
		return false;
	} else {
		return true;
	}
}
3. 置換部分のカスタマイズ
  • pc2m.php(=index.php)
    • 本来は絵文字スクリプト側で絵文字用コードを作成すべきだが、置換処理上どうしても出力コードがおかしくなってしまったので、なかば強引に置換処理→絵文字コード作成処理
	if (preg_match_all('/<!--pc2m_remain-->(.+?)<!--\/pc2m_remain-->/si', $_content, $matches)) {
        $limit = count($matches[0]);
		for ($i = 0; $i < $limit; $i++) {
			
            // add HERE
            if ($docomo_emoji = getAttribute("docomosrc", $matches[1][$i]))
            {
                $docomo_emoji = '&#x'.$docomo_emoji.';';
                $matches[1][$i] = $docomo_emoji;
            }
            // END
            
            $_remains[] = $matches[1][$i];
			$search[] = $matches[0][$i];
			$replace[] = '<!--pc2m_untouch_'.(count($_remains) -1).'-->';
		}
	}


一応はコレで動きます。

最後に

改めてソースを見直して、
pc2mの変換処理をフックしている部分で、絵文字変換処理したほうがお洒落だった気が・・・
と思ったりしている今日この頃。
とはいえとりあえず動いてるし、時間がある時に積み残し。


追伸:
作者さまには色々とアドバイスをいただき非常に助かりました。
ありがとうございます。

XOOPSで簡単SEO

静的コンテンツを作成するモジュール:TinyDで簡単にSEO出来ないかな〜って発想から、TIPSをチョイと♪
かなりお手軽に検索エンジン好みの対応が出来てるはず(?)
効果の程はまた書く予定(?)です。

基本的には、XOOPS⇒Tableレイアウトなんで、
勿論この問題や、hタグなどにも気を使ってサイトを作らないと駄目な事には変わりないんですがね…

1.好きなディレクトリ名称でTinyDをインストール

今回は例として以下のディレクトリ名称で

  • company1
  • service2
  • cases3

TinyD自体にもmod_rewriteの機能が付いてますが、今回は使わない方向で。
SEOだけが目的なので!

2.XOOPSのルート配下に以下の.htaccessを配置

RewriteEngine on
RewriteBase /
RewriteRule ^company/index_(.*).html$ modules/company1/index.php?id=$1 [L]
RewriteRule ^services/index_(.*).html$ modules/services2/index.php?id=$1 [L]
RewriteRule ^cases/index_(.*).html$ modules/cases3/index.php?id=$1 [L]

ルール作りは自由改変できますよ。詳細は、mod_rewriteの辺りを確認してください。

3.後は確認だけ

意図した通りのURLでアクセス出来るかテストしてみましょう。

  • 実際のURL

http://exsample.com/modules/services2/index.php?id=1

  • 書き換え後のURL

http://exsample.com/services/index_1.html


URLもXOOPSっぽく見えないし、なかなかいい感じなんすよ。
検索エンジンが好きなhtml形式になっているので、後はこの書き換え後のURLに対してリンクを貼るだけです。