ようこそゲストさん

とんずら雑記R

2009/06/13(土) [Perl] 基礎的な事項

2009/06/13 28:04 Perl::基礎

簡単な文法メモ

スカラー変数

汎用変数と思えばいいかな. 型定義は特に無い.(値/文字列/リファレンス(ポインタ))

my $hogehoge

初期化しない状態は未定義(undef)となります。値ならゼロ、文字列ならNULL扱いになります。演算時に評価されますが、use warningすると未初期化変数の演算といわれます。undefかどうかの判定は、下記の関数を利用することになります。

defined($hogehoge)

下記の比較演算子は使えません。

$hogehoge == undef$hogehoge eq undef

scope hogehoge;

スコープ'hogehoge'を定義する。

require Exporter;

@ISA, @classname::ISA = @qw(the_class):

SuperClassを定義します. this class IS-A the_class.もしくは、下記のように記述できます。

use the_class;
@thisclass::ISA = qw(the_class);
||>
↓
>||
use base qw(the_class);

配列操作

初期化
@hoge = ('hoge','hogehoge',...);
@hoge = ("hoge","hogehoge",...); ← 展開される
@hoge = qw ( hoge hogehoge ...); ← 展開される. 空白で区切られる.
参照
$hoge[0] # zero-origin
$#hoge   # indexの末尾が得られる
$hoge[-1] <=> $hoge[$#hoge]

ハッシュ操作

宣言

my %hash_name;
初期化
%hash = ( "key1" => value, "key2" => value);
または、一次元配列でkey,valueの順列。
%hash = (key1, value1, key2, value2)
%hash = (); # 空っぽになる. |ハッシュアクセス:
keys %hash # hashの持つキーを配列で取得する.
values %hash # 同, 値を配列で取得する.
exists $hash{'key'}; # そのキーが存在するか. 真/偽を返す. 未初期化と定義済みと判断可能.
delete $hash{key} # 指定したキー/値を削除する.

pack/unpack

syntax:

pack TEMPLATE, LIST
unpack TEMPLATE, LIST

templateの書式を以下に示します。

フォーマット 意味 フォーマット 意味
aASCII 文字列AASCII 文字列、足りない領域はスペース文字で埋める
bビット列 (昇ビット順)Bビット列 (降ビット順)
c符号付き char 値C符号なし char 値
d機種依存の倍精度浮動小数点数f機種依存の単精度浮動小数点数
h16進数文字列 (下位ビットが先)H16進数文字列 (上位ビットが先)
i符号付き int 値I符号なし int 値
l符号付き long 値L符号なし long 値
nネットワークバイト順序 (ビッグエンディアン) の short 値Nネットワークバイト順序 (ビッグエンディアン) の long 値
p文字列へのポインタP構造体 (固定長文字列) へのポインタ
s符号付き short 値S符号なし short 値
vVAXバイト 順序 (リトルエンディアン) の short 値VVAXバイト 順序 (リトルエンディアン) の long 値
uuuencode した文字列xヌル文字
X1バイト後退@絶対位置までヌル文字で埋める
  • フォーマット文字の後ろには、それを何回繰り返すかを示す数字COUNTを付けることができます。
    COUNTに * を指定すると、残っているすべての要素を使います。
  • フォーマット文字(COUNTも含める)同士の間にはスペースを挟むことができます。
  • a、A、b、B、h、H以外のフォーマットは、第2引数LISTからCOUNTで指定された分の値を使います。
  • aやAというフォーマットに対してCOUNTを使うと、繰り返し数で示す長さの文字列となるように、
    必要に応じてヌル文字かスペース文字を付け足します。
  • unpackするとき、Aは後続のスペース文字やヌル文字を取り除きますが、aはそのままにします。
    同様に、bやBは、繰り返し数で示すビット長のビット列にパックします。
  • hやHは、そのニブル長のニブル列にパックします。
  • Pは、指定した長さの構造体へのポインタをパックします。
  • 実数 (floatとdouble) は、機種依存のフォーマットしかありません。
    あるマシンで パックした浮動小数点数は、別のマシンでは読めない可能性があります。

split

区切り文字を指定して、stringを分割します。

@list = split(/\t/ , $var); // 区切りはTAB文字となっていることを見る.
@list = split(/[\t]/ , $var); // 区切りはTAB文字となっていることを見る.
 // 複数指定もできるが,区切り文字もリストに放り込まれる.

FileI/O

個人メモだから説明を端折ってもいいかな...
Cの標準関数 fopen/fclose みたいな感じで。出力は">"をつけて表す。

my @binhex;

 if ( ! open(fp, "<".$fname ) ) {
   printf("cannot open \"$fname\" \n");
   die ;
 }
 binmode( fp );
 while( read(fp, $buffer, $size_of_bytes) ){
   @binhex = unpack( "v32", $buffer ) ;        # divide little endian(short) x 32
 }


参考サイト

  • Smart Smartさん
    非常にまとまっているサイト。Perl講座、HTML講座、JavaScript講座、SQL講座、注目技術・アクセス講座と幅広く展開されています。困った時は訪れるとよいかと思います。

2009/06/13(土) Perl

2009/06/13 27:31 Perl

もくじ

便利なscript言語として、数年ほど前から、開発の補助ツールとしてPerlをかじっているけれども、備忘録を兼ねてメモを置いていくことにしました。

今までお世話になったWEBサイト様も多数ありましたが、自分のほしいものは自分でまとめておくに限りますしね。


環境としては、Windows x86またはx64 / Active Perl 5.10.0あたりを想定します。

記事リスト

2009/05/16(土) Core i7組み立て

2009/05/16 28:41 review::PC

PCパワーアップ

いわゆる散在というモノですが.
個人的な話題でしかないが,メモリアクセス速度が向上する,という話でマシンを買い増し/変えしてきている.今回も例に漏れず,でした.

CPUIntel Core i7 940 (2.93GHz QPI 4.8GT/sec L2:256Kx4 L3:8MB)
メモリ12GB (2GBx3x2) PATRIOT PVT36G1600LLK(PC3-12800-2GBx3/CL8.0)
マザーボードASUSTeK P6T (Intel X85 chipset)
グラフィックカードPalit Microsystems GeForce GTX 260 Sonic 216 SP 1792MB(NE3X262SFT3B4)
光学ドライブDVD multi drive(RICHO) / 使いまわし
ハードディスク320GB S-ATA 7200rpm (Seagate)
RAID 設定なし
電源Antec EA-650(650W ATX)

メモリ

メモリは安いなぁと思っていたら,予想通りOverClock品でした.説明書も見ずに取り付けてみると,DDR-1066で認識して疑問に思いました(笑).
先に検索して,PATRIOT memoryの公式フォーラムで質問が立っているのを見て納得.

さらにそこからリンクがあって,How To OC the i7なるスレへ.これは良い資料.

で,やはりOverClockすると発熱が凄い.素組みの状態で箱にも入れず,memtest86+をまわすと2周目でエラーが出ました.説明書にも,よく冷やさないと不都合が出ます,といった記述がありました.手で触れないほど熱くなるので,納得はするけれども,これは半導体としての寿命もあまり長くは無いような気が….

とりあえずケースに入れてソコソコの風を流してやることで,20時間ほどの連続テストにも耐えてくれました.手軽にover clockして使うてのはちょっとアレゲですが,DDR-1066で使うならさらに安いメモリがあったので,ここはメーカ保証が付いてくるというDDR-1600で使いますよ,と.ただし,チキンなので,DRAM電圧は1.64どまりで*1


グラフィックカード

P6Tとi7を買うついでにクリックしたもの.中古だけどなんとなく買ってしまった.メモリもクロックも1Gオーバー.正直使い切らないと思うw消費電力を知って衝撃だったけれどね.280Wてなによ(汁;

メーカのドライバは,ここからダウンロードしてくる.nVidiaリファレンスドライバだと調子が悪いことがあるようなことが書いてあるから要注意だ.



*1 : P6Tのマニュアル上は1.65Vで動作確認とされています.

OS(Windows XP 64bit edition)

ひとまずコレを入れてみる.HDDはちょっと古いSATAですが,まぁ,お試しってことで.運がよければイメージを吸って移動・・・・無理か.

インスコ順序は,少しマトモにやってみた.http://www.daw-pc.info/windows/inst.htm

  1. OSのクリーンインストール
  2. サービスパック、パッチ
  3. Intel チップセット・ソフトウェア・インストレーション・ユーティリティ
    (通称INFやINFユーティリティと呼ばれているものです)
  4. DirectXのインストール
  5. 各デバイスのドライバ(ビデオカードを最初に入れるのが推奨らしい)

ちょっとミスってdirect Xをあとで入れてしまった.Windows Updateについては,LANドライバが入ってくれないと話にならんので今回はSP2のイメージを別PCで焼いて適用した.


Service Pack

x64 editionは,XP SP3を適用できないらしい.Windows Server 2003 R2 Service Pack 2を落としてくると良い.



体感速度

特にアプリケーションを入れて試していないので現状わからない.タスクマネージャの使用率に8つのグラフが出ることを確認して満足(ぉ

QuartusIIに関しては,64bit版はsubscriptionのみだったのか... これはシクったぜw

2009/03/02(月) [SOPC][IP] MMC/SPI FatFs - f_writeベンチマーク

2009/03/02 15:27 FPGA::ALTERA_IP_CORE

MMC/SPI FatFs - f_writeベンチマーク

[SOPC][IP] MMC/SPI FatFsで紹介しているFatFsについて,コメント欄で問合せいただいたファイル書き込み速度のベンチマークをとってみました.


ベンチマーク概要

FatFsのfopen("wb"相当)で確認する

File systemを使う場合でのベンチマークをとることをテーマとする.*1


脳内シミュレーション(a.k.a.妄想)

FatFs(R0.06)ソースコードより,以下の特徴が推定できる.

  • FatFsはマルチセクタライトもサポートしている模様.
  • セクタ境界・クラスタ境界でクラスタ調整・更新・buffer吐き出し処理を走らせる模様.

上記を踏まえてベンチマークを取得すべきケースは以下のパターンを考えた.

  • クラスタサイズでの一括書き込みが最高スループットを出すだろう
  • クラスタをまたぐ,ランダムアクセスが最低速になる.
  • バッファサイズ(またはセクタサイズ)をまたぐ場合も同様.

ベンチマーク対象とコード

[NiosII][ACM] 動画再生装置(お試し版)の構成で試しているため,キャッシュの影響が結構効いてくることも考えられるので,データ転送量を2Mbytesとします.

実行時間測定には,パフォーマンスカウンタを用います.カウンタを3つとして合成してあるので,測定対象を以下のように絞ります.(なんとなく時間のかかりそうなところ,短縮できそうなところに目星をつけてみたつもりです)

  • 総合時間(規定サイズ・規定回数のブロック転送に要した時間.出力されたファイルの検証は行うべき)
  • SPI転送待ち時間
  • 書き込みデータのCRC計算
ベンチマーク部分本体
const int trans_size[] =
	{
	512*64,
	512*128,
	512,
	4096,
	1024,
	64,
	256,
	768,
	1280,
	1636,
	2048,

	0
	} ;

const int sz_write = 512*2*1024*2 ;

〜〜〜
	while (*sz) {
        f_unlink( fn ) ;    // delete the file before test

        if ((res = f_open (&fp, fn, FA_WRITE|FA_OPEN_ALWAYS|FA_CREATE_ALWAYS)) != FR_OK) {
            return (res | 0x1000);
        }
		// size / loop
		i = 0 ;
		PERF_RESET( PERFORMANCE_COUNTER_BASE );
		PERF_START_MEASURING( PERFORMANCE_COUNTER_BASE );
		PERF_BEGIN( PERFORMANCE_COUNTER_BASE, 1);
		do {
			res = f_write(&fp, sdbuf[ i  ], *sz, &rsz) ;
			if (res != FR_OK || rsz == 0) {
				printf ("Error : Bench-fwrite (%d/%d)\n", res, rsz);
				break;
			}
			i +=  rsz;
		} while (i<sz_write) ;
		PERF_END(PERFORMANCE_COUNTER_BASE, 1);

		PERF_STOP_MEASURING(PERFORMANCE_COUNTER_BASE) ;
		printf( "*** fwrite-size = %d ***\n", *sz );
		perf_print_formatted_report( (void*)PERFORMANCE_COUNTER_BASE, alt_get_cpu_freq(), 3, "total ", "xmit","CRC" );
		WAIT_SEC(5) ;

        f_close(&fp);

		sz++ ;
	}

データ転送部・CRC計算部の処理時間測定位置(mmc.c)
BOOL MMC_xmit_datablock(const BYTE * buff,  /* 512 byte data block to be transmitted */
                    BYTE token  /* Data/Stop token */
    )
{
    BYTE resp, wc = 0;
#ifdef _CALC_CRC
PERF_BEGIN( PERFORMANCE_COUNTER_BASE, 3);
    WORD crc = CRC16((BYTE *) buff, 512);
PERF_END(PERFORMANCE_COUNTER_BASE, 3);
#endif

    if (MMC_wait_ready() != 0xFF)
        return FALSE;

PERF_BEGIN( PERFORMANCE_COUNTER_BASE, 2);
    MMC_xmit_spi(token);            /* Xmit data token */
    if (token != 0xFD) {        /* Is data token */
        do {                    /* Xmit the 512 byte data block to MMC */
            MMC_xmit_spi(*buff++);
            MMC_xmit_spi(*buff++);
        } while (--wc);
#ifdef _CALC_CRC
        MMC_xmit_spi(crc >> 8);     /* CRC */
        MMC_xmit_spi(crc & 0xff);
#else
 @       MMC_xmit_spi(0xFF);         /* CRC (Dummy) */
 @       MMC_xmit_spi(0xFF);
#endif
        resp = MMC_rcvr_spi();      /* Reveive data response */
        if ((resp & 0x1F) != 0x05)      /* If not accepted, return with error */
            return FALSE;
    }
PERF_END(PERFORMANCE_COUNTER_BASE, 2);

    return TRUE;
}

*1 : SDカード本来の性能を最大限に生かすのであれば,マルチセクタライトコマンドを放っておけばよいだろう.

測定結果

使用用したカードは,Transcend mini SDカード 2GBをSDアダプタに挿したものです.

    • セクタあたりのバイト数は,512bytes.
    • クラスタあたりのセクタ数は,32です.
    • データセクタエリアの理想write回数は,4096回,128クラスタを消費します.
    • FATエリアの1セクタあたりのクラスタ数:FAT16ならば1セクタに256個,FAT12なら341個を格納できます.

2MBytesのファイルがクラスタ不連続になっているかどうかの確認をしていません.個人的に使用しているSDカードで,この評価用に使っていないため,テスト用のファイルがクラスタ連続で使用しているかは未確認です.あき暮らす他の探索は先頭からのシーケンシャル探索であり,ファイルのunlink処理では空きクラスタにしているため,パフォーマンスの比較に影響は無いと考えました.


結果のまとめと考察

測定結果と主要項目一覧
転送サイズ総時間512byte書込転送要求回数着目点
655364.03239+712クラスタ,マルチセクタCMD
327684.92526+891クラスタ,マルチセクタCMD
40964.43872+5138セクタ連続書込み,1/8クラスタ,マルチセクタCMD
20484.43872+10254セクタ連続書込み,マルチセクタCMD
1636204.466+12713セクタ連続書込み,100バイトコピー,クラスタ境界をまたぐ,マルチセクタ+シングルセクタCMD
1280135.29+16152セクタ連続書込み,256バイトコピー,マルチセクタ+シングルセクタCMD
10247.80936+20491/32クラスタ,マルチセクタCMD
768199.459+13セクタ連続書込み,クラスタ境界をまたぐ
51213.9297+11/64クラスタ, 1セクタ,シングルライトコマンド
25614.0029+01/2セクタ,シングルライトコマンド
6414.0578+61/8セクタ,シングルライトコマンド
  • セクタ境界をまたがないときは,内部バッファへのコピー処理が走る
    → セクタ数の整数倍ではないモノ全てが対象.
    とくに小さいものはコピー処理とループ処理で時間を消費する
  • セクタ境界をまたぐと,書き込み処理が走る.
    場合によってはリード処理も走る.
  • DRAM間のコピー処理は効率も悪く,処理時間が延びる傾向にある

考察

転送呼び出し回数と,処理時間とが比例していないのは,MMC側の書き込みバッファがあって,連続した書き込み要求は待たされるが,完結して呼び出す分にはFLASHへの書き込みと,ソフトの走行がパラで走っている状況である,と推察する.

512の整数倍・約数を除く転送サイズでは,軒並み桁違いの遅さが目立つ.メモリコピー処理に加えて,セクタ・クラスタ境界をまたぐ処理が追加されるためと考えらる.加えて,端数はシングルセクタライトコマンドを用いるため,転送効率が悪化すると見られる.

1024byte時に中途半端な速度になっているのは,SD内のFLASH書込み待ち時間が発生しているためと考えられる.

512以下の約数では,不要なコピー処理が走らないが,シングルライトコマンドによるコマンド・レスポンス処理時間がかかるため,カードのbuffered-writeが機能しないのかもしれない.




実行結果ナマデータ

fwrite-size = 32768

Total Time: 4.92526 seconds (487789773 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total1004.925264877897671
xmit29.91.471581457432374185
CRC51.52.534742510364714185

fwrite-size = 65536

Total Time: 4.03239 seconds (399361828 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total1004.032393993618221
xmit36.31.465131451044754167
CRC62.52.518662494441814167

fwrite-size = 512

Total Time: 13.9297 seconds (1379575366 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total10013.9296913795753601
xmit10.51.457821443799864097
CRC19.72.741222714866154097

fwrite-size = 4096

Total Time: 4.43872 seconds (439603921 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total1004.438724396039151
xmit331.463601449530084609
CRC64.32.854522827077134609

fwrite-size = 1024

Total Time: 7.80936 seconds (773427070 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total1007.809367734270641
xmit18.71.461001446947596145
CRC50.83.966453928315936145

fwrite-size = 64

Total Time: 14.0578 seconds (1392260079 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total10014.0577713922600731
xmit10.41.465021450932744102
CRC20.12.831102803873134102

fwrite-size = 256

Total Time: 14.0029 seconds (1386825298 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total10014.0029013868252921
xmit10.41.462951448886934096
CRC202.801532774594664096

fwrite-size = 768

Total Time: 199.459 seconds (19754119034 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total100199.45907197541190281
xmit0.7321.460151446106294097
CRC1.32.594872569914484097

fwrite-size = 1280

Total Time: 135.29 seconds (13398914257 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total100135.29001133989142511
xmit1.081.461521447470515711
CRC2.683.623653588810705711

fwrite-size = 1636

Total Time: 204.466 seconds (20250035225 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total100204.46638202500352191
xmit0.7181.467311453200055367
CRC1.663.392833360204435367

fwrite-size = 2048

Total Time: 4.88632 seconds (483933442 clock-cycles)

Section %Time (sec) Time (clocks)Occurrences
total1004.886324839334361
xmit301.463841449761165121
CRC65.33.190863160180685121


今後の課題

SD側の応答待ち時間の計測,f_write内の分岐処理回数を付け加えれば,想像の裏づけを取ることもできるだろう.

カードの性能にも左右されるベンチマークであるため,必ずしも上記の結果どおりとはならないでしょう.カード性能を測定するベンチマークハードウェアを作るのも面白いかもしれませんね.File systemを無視して,SDのwrite buffer sizeや応答時間なんかの測定を自動的にやってくれるのがあると,実力チェックに使えて面白そうです.

実使用に耐えるかどうかを判断するためには,file system経由での(sequential|random)(read|write)も必要でしょう.

まぁ,あくまでもMMCのベンチマークということで... :p

1: くり 『 おお! 詳しいベンチ、ありがとうございます。 OpencoresのSD/MMCをダウンロードして、シミュし始めていたのですが、...』 (2009/03/03 23:54)

2: ぉゅぅ 『opencoresの"done"ステータスが出ているIPは,実績がありそうなので,期待できますね. MMC + FatFsだと,...』 (2009/03/04 24:33)

2009/02/19(木) [旅][潜水] 沖縄旅行 - day 5 : AOW2/2

2009/02/24 15:32 イベント::旅行

沖縄旅行 - day 5 : AOW2/2

(T/O)


沖縄旅行 - day 5 : AOW2/2

慶良間諸島へボートダイブの日.曇り空で時折お天道様が顔を出す,といった感じ.残念ながら,潜水中にはお天道様がカッと照らしてくれなかった模様?

  • 本島出発時点では少し晴れが見えていた
    20090219_01.jpg
  • 途中雲ったり日が出たり…
    20090219_02.jpg
  • 雲が流れて日が出たり隠れたり.ダイブ後に日が出てくるから困る('A`
    20090219_03.jpg
  • この透明度は素晴らしい!.もぐっているときにこんだけ出てくれていればなぁ(笑)
    20090219_04.jpg


ボートでの注意

酔い止めの薬は飲んで起きましょう.普段から船に乗っている海の男や女でなければ,飲んでおくに越したことは無いです.当日,3〜4名がダウンしてますた('A`

せっかくのファンダイブやシュノーケル?だったのに,もったいない.

というか,Open Waterの講習も受けずにいきなりダイビングする気になれないんですが(汗
というのも,同期でファンダイブして...

動きすぎ→エア消費しすぎ→グループに迷惑

というコンボを出している話も聞いていたので.

とりあえず,酔い止め必須.コレ重要事項ね!


ダイブ009〜渡嘉敷 野崎(AOW-deep)

深度25.1 m
潜水時間25 min.
気温24℃
海水温22℃
透明度20m
装備
ウェイト7.0
タンクアルミ10l
タンク圧190 → 30
総潜時間1005 → 1040
総潜水時間30 min.
remarkdeep diving.色の吸収(赤いフィンが黒っぽく見える),軽い窒素酔い体験

さすが慶良間.たくさんの魚が見られた.熱帯魚のようなカラフルなのがウヨウヨいて楽しい.水族館みたいにあたり一面というわけではなく,珊瑚のまわりやガケのあたり?に群れている.大型魚は特段場所を固定せずにうろついているかのようだった(捕食のために小型魚の近くに居るのかね)

  • ハナゴイ
  • グルクン(群れている青い魚)
  • アサドススメダイ
  • デバスズメダイ
  • マルスズメダイ
  • キホシスズメダイ
  • チンアナゴ(にょろにょろ.ムーミン?)
  • コブシメ(でかくてラグビーボールのようなイカ.まったり泳いでいるところが見られる.奇妙でおもしろい)

ほか


ダイブ010〜座間味 唐馬(AOW-ボート)

深度14.0 m
潜水時間47 min.
気温24℃
海水温22℃
透明度20m
装備
ウェイト7.0
タンクアルミ10l
タンク圧180 → 50
総潜時間1133 → 1220
総潜水時間47 min.
remark009もだけど,ボート.テキスト内容の説明+α
  • カクレクマノミ
  • ジョーフィッシュ
  • ハダカハオコゼ
  • チンアナゴ
  • グルクン(大漁に!)
  • デバスズメダイ
  • タテジマキンチャクダイ(幼魚)渦巻き模様で大きくなると縦縞になる
  • ニジハタ

ほか


ダイブ011〜座間味 七番崎(AOW-ボート)

深度13.5 m
潜水時間41 min.
気温24℃
海水温22℃
透明度20m〜
装備
ウェイト7.0
タンクアルミ10l
タンク圧180 → 50
総潜時間1415 → 1456
総潜水時間47 min.
remarkファンダイブ

  • アオウミガメx3
  • ネムリブカ(←和名,ホワイトチップシャーク:小型のサメ.岩陰に2匹居た)
  • コブシメ
  • ハナゴイ
  • グルクン
  • ハナビラクマノミ
  • セジロクマノミ(名前のとおり,背中が白い)
  • ハマクマノミ


ドリフトダイビング(もどき)

ボートへのEXIT時に,沖で拾ってもらう(ドリフト)のも体験できた.波が高く,うまく位置を固定できない.というか,BCに空気入れすぎてた(笑
御迷惑をおかけしました m(__ )m

本島へ

行きはよいよい・・・

20090219_05.jpg

帰りはコレかよwwww

着替えを待っていてもらった状況だったので,キャビンから出られずに終わる.が,結果的に大助かり.沖合いは波が出てきて,凄い水しぶき.上部デッキに居た人らはずぶ濡れという話…南無.


marine club an

四日間お世話になりました!!関西圏出身であり,とても話しやすかったです(笑)

中の人近影
20090219_06.jpg

店の宣伝をしておくということで,リンクを張ったりTBを送ったり*1してみましょう.ウチからたどっていくとしたら,オサーンが多いように思いますけれど(笑)

しっかりと教えてくださるのでお勧めですYO!!
ほかのショップの様子がわからないので,比較できませんが:)



*1 : たぶんこんな使い方でいいはず?.顔バレするなぁw

DFSギャラリア沖縄

ゆいレール おもろまち駅下車すぐにある,ブランドショップ.海から上がってきたボロボロの男が一人で行くには場違いすぎる場所でした.

お土産でも物色しようとよってみたけれど,高い!ブランド志向自重してくれ….GODIVAのチョコレートセットは\5K近い.しばらく悩んだけれど諦めた.その資金があれば夕食をおいしくいただけます….

疲れた体を引きずって,夕食を探して歩く...



夕食〜糸まん

ガイドに乗るような店舗はダメぽいというイメージが印象づいたので,逢えて交通の便があまりよろしくない,個人経営ぽい店舗をチョイス.

これもガイドに載っていたわけですが...

(離島)のおばちゃんが作る郷土料理の店
(落花生の豆腐.沖縄名称失念)がとても美味しかった.手で常にコネ続けて作るモノらしい.ほか郷土料理でおなかが膨れる.

予算は\3k以上.平日のせいか,1組+数名程度の客で,店舗自体それほど広くなく,落ち着けた.

カウンター席で,先にいらした,お年を召した女性の方が気になった.女将さん?が,先生と呼んでいたので,芸大の先生と思っていたら,NHK天地人の冊子を持ってきて下すって,「この方よ」と耳打ちして下すった.

橘 芳慧 先生 

NHK総合番組「すずらん」、大河ドラマ「武蔵」、「功名が辻」、「天地人」、スペシャルドラマ「坂の上の雲」 などの振付・所作指導

著名な方と,ふと会えたりするのも面白いもんですね.特に晩御飯は複数で食べたほうが楽しいですネ.

履歴

24.Feb.2009