Archive for » 5月, 2009 «

C# で DataGridView をいじる

水曜日, 5月 27th, 2009 | Author: いなば

色々試し中。

とりあえず、5列あるDataGridViewを作っておいて、一番右の列だけ ColumnType を DataGridViewButtonColumn にしておく。
でもって以下のようなコードでテスト。

[csharp]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
string[] a;
string[] b;
string[] c;

a = new string[] { "A", "B", "C", "D", "E"};
b = new string[] { "F", "G", "H", "I", "J" };
c = new string[] { "K", "L", "M", "N", "O" };

dataGridView1.Rows.Add(a);
dataGridView1.Rows.Add(b);
dataGridView1.Rows.Add(c);
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int X = dataGridView1.CurrentCellAddress.X;
int Y = dataGridView1.CurrentCellAddress.Y;
string tmp = dataGridView1[X-2, Y].Value.ToString();
MessageBox.Show(tmp);
}
}
}
[/csharp]

これで、一番右の列のボタンになったところを押すと、その二つ左にあるセルの内容が取得できたのでにんまり。

ボタン列が微妙な気もしてきたので、列のどこをクリックしても良いようにしてみたのがこちら。ついでに、どこをクリックされても当該行B列の内容を取得するようにしてみた。あと、新規行の追加と既存行の削除とセルの編集を禁止。

[csharp]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
string[] a;
string[] b;
string[] c;

a = new string[] { "A", "B", "C", "D", "E"};
b = new string[] { "F", "G", "H", "I", "J" };
c = new string[] { "K", "L", "M", "N", "O" };

dataGridView1.Rows.Add(a);
dataGridView1.Rows.Add(b);
dataGridView1.Rows.Add(c);
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
}

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo hti;
hti = dataGridView1.HitTest(e.X, e.Y);
int X = hti.ColumnIndex;
int Y = hti.RowIndex;
string tmp = "";
if (hti.Type == System.Windows.Forms.DataGridViewHitTestType.Cell || hti.Type == System.Windows.Forms.DataGridViewHitTestType.RowHeader)
{
tmp = dataGridView1[1, Y].Value.ToString();
MessageBox.Show(tmp);
}
}
}
}
[/csharp]

で、結局DataGridViewに値を入れるとき、配列の配列でやるべきなのか多次元配列でやるべきなのか微妙。むー。

Category: 日記  | Tags: ,  | Leave a Comment

Linux ホスト上の PostgreSQL を C# から扱ってみるテスト(その1)

金曜日, 5月 22nd, 2009 | Author: いなば

お仕事で c# からPostgreSQL 上のデータを扱う可能性があるのでちょっと手をつけてみる。

■テスト機にPostgreSQLサーバ導入

/var/lib/pgsql/data/pg_hba.conf を書き換え(暫定)
[bash]
local all all trust
host all all 172.0.0.0/8 trust
[/bash]

/var/lib/pgsql/data/postgresql.conf を書き換え

[bash]
listen_addresses = ‘*’
[/bash]

設定リロード
[bash]
pg_ctl reload
[/bash]

テスト用DBユーザ作成
[bash]
createuser sample
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE
[/bash]

テスト用DB作成
[bash]
createdb sampledb
[/bash]

テスト用テーブル作成
[bash]
psql sampledb
CREAT TABLE sampletable (id serial,name text);
GRANT ALL ON sampletable_id_seq TO sample ;
[/bash]

テストユーザにテスト用テーブルへのアクセス権限をフルで与える
[bash]
grant ALL ON sampletable TO sample;
[/bash]

別のLinux機から接続テスト
[bash]
psql -h <ホスト名> -U sample -d sampledb
[/bash]

Linux 側(というかPostgreSQL側)の作業はここで一段落。
ここからは c# 側。

概ね方向は2系統。ODBCを使うか、npgsql を使うか。なんか、pgOLEDB.dll というものもあるらしい。よーわからん。
とりあえずnpgsqlを、
http://www.postgresql.jp/document/NPGSQL/manual/UserManual_J.htm
を参考にしながら試してみる。

http://pgfoundry.org/frs/?group_id=1000140
から Npgsql2.0.5-bin-ms.net3.5sp1.zip を入手。
展開して、適当なところにおいておく。とりあえずC:\npgsqlにおいてみた。

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
にある
gacutil.exe
をつかって
gacutil -i C:\npgsql\bin\Npgsql.dll
しておく。

まずはコンソールアプリケーションで試してみる。
Vc#2008でコンソールアプリケーションを新規作成。

頭の using が並んでいるところに
using System.Data;
using Npgsql;
を追加。

ぐは、ビルドしてみたらうごかねー。

エラー	1	型または名前空間名 'Npgsql' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。	C:\Users\XXXXX\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs	6	7	ConsoleApplication1

なので、プロジェクト→参照の追加→参照で、C:\npgsql\bin\Npgsql.dll を追加しておく。

これで「デバッグ開始」でエラーは出なくなった。

この時点でのソースはこんな感じ。
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
[/csharp]

んでもってMainの中に、接続のための処理を書いておく。全体はこんな感じ。

[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;

namespace ConsoleApplication1
{
class Program
{
public static void Main(String[] args)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=<サーバのIPアドレス>;Port=5432;User Id=sample;Database=sampledb;");
conn.Open();
conn.Close();
}

}
}
[/csharp]

■テーブルに行を追加する処理
※デバッグが終了してしまわないように確認画面を入れた。
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;

namespace ConsoleApplication1
{
class Program
{
public static Int32 rowsaffected; // Mainの中においておいたらエラーが出たのでサンプルから変更。

public static void Main(String[] args)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=<サーバのIPアドレス>;Port=5432;User Id=sample;Database=sampledb;");
conn.Open();
Console.WriteLine(conn.State);

NpgsqlCommand command = new NpgsqlCommand("insert into sampletable (name) values(‘TEST OK’)", conn);

try
{
rowsaffected = command.ExecuteNonQuery();
}

catch
{
Console.WriteLine("It was added {0} lines in table table1", rowsaffected);

}

finally
{
conn.Close();
}

# if DEBUG
Console.WriteLine("続行するには何かキーを押してください・・・");
Console.ReadKey();
# endif
}

}
}
[/csharp]

おおおおお、追加されてるよ。ナイスだ。

■単一の結果が返ってくるものを取得する
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;

namespace ConsoleApplication1
{
class Program
{
public static void Main(String[] args)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=<サーバのIPアドレス>;Port=5432;User Id=sample;Database=sampledb;");
conn.Open();
Console.WriteLine(conn.State);

NpgsqlCommand command = new NpgsqlCommand("select version()", conn);
string serverVersion;

try
{
serverVersion = (String)command.ExecuteScalar();
Console.WriteLine("PostgreSQL server version: {0}", serverVersion); // これはtry の中に入れてやらないとエラーになった
}

finally
{
conn.Close();
}

# if DEBUG
Console.WriteLine("続行するには何かキーを押してください・・・");
Console.ReadKey();
# endif
}

}
}
[/csharp]

■全ての問い合わせ結果を取得する
データ的に多少面白くなるようにテーブルを用意しておく。
<Linux側作業>
[bash]
CREATE TABLE sampletable2 (name text, yomi text, address text);
INSERT INTO sampletable2 VALUES (‘パンツェッタ 幸平’,'ぱんつぇった こうへい’,'panzetta_kouhei@example.com’);
INSERT INTO sampletable2 VALUES (‘村松 沙知絵’,'むらまつ さちえ’,'muramatsu_sachie@example.com’);
INSERT INTO sampletable2 VALUES (‘田代 恵望子’,'たしろ えみこ’,'tashiro_emiko@example.com’);
INSERT INTO sampletable2 VALUES (‘中島 璃子’,'なかしま りこ’,'nakashima_riko@example.com’);
INSERT INTO sampletable2 VALUES (‘畑中 恵梨香’,'はたなか えりか’,'hatanaka_erika@example.com’);
grant ALL ON sampletable2 TO sample ;
[/bash]

この手のサンプルデータを作るのは http://kazina.com/dummy/ の「なんちゃって個人情報」さんが便利。

ソースはこんな感じ。
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Npgsql;

namespace ConsoleApplication1
{
class Program
{
public static void Main(String[] args)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=<サーバのIPアドレス>;Port=5432;User Id=sample;Database=sampledb;");
conn.Open();
Console.WriteLine(conn.State);

NpgsqlCommand command = new NpgsqlCommand("select * from sampletable2", conn);

try
{
NpgsqlDataReader dr = command.ExecuteReader();
int i;
while (dr.Read())
{
for (i = 0; i < dr.FieldCount; i++)
{
Console.Write("{0} \t", dr[i]);
}
Console.WriteLine();
}
}

finally
{
conn.Close();
}

# if DEBUG
Console.WriteLine("続行するには何かキーを押してください・・・");
Console.ReadKey();
# endif
}

}
}
[/csharp]

でもってこれをGUIの画面にしたときにどうやってDataGridViewに表示するのかがいまいちわかってないけど、それは又今度。とりあえずデータの出し入れはわかったので今日はここまで。

Category: 日記  | Tags: , , , ,  | One Comment

Fedora11 (Preview版) の Fedora Eclipse の PHPeclipse で日本語マニュアルを表示する

水曜日, 5月 20th, 2009 | Author: いなば

Fedora Eclipse の PHPeclipse で関数の上にマウスを置いておいたり、Shift + Control + H を押したりするとマニュアルが表示されるんですが、これが英語版なのが今ひとつ。

で、ちょっとぐぐってみたら http://www.php.net/download-docs.phpでMany HTML files をダウンロードしてごにょごにょすればばいいらしいのでごにょってみました。

結果的には、
・Many HTML files の tar.gz をダウンロード
・一度展開
・出来上がった html ディレクトリを doc にリネーム
・doc ディレクトリを zip でアーカイブ(このとき、アーカイブ名をdoc.zipにする)
・doc.zip を /usr/share/eclipse/dropins/phpeclipse/eclipse/plugins/net.sourceforge.phpeclipse.phphelp_x.x.x に保存。(x.x.xはバージョン名)
でうまくいきました。絶対後で忘れそうなのでメモ。

Category: 日記  | Tags: , ,  | Leave a Comment

Fedora 11 (Preview版) で Samba の共有を mount する

木曜日, 5月 14th, 2009 | Author: いなば

なんか、今まで何度もここでプチはまった覚えがあるのでメモ。久しぶりにFedoraを触ったら案の定ハマった。

・アクセスするユーザを特定のユーザ(HOGEHOGE)にみせかける
→サーバ側の /etc/samba/smb.conf で force user = HOGEHOGE

・クライアント側で自動マウント
→/etc/fstab に

//SERVER_NAME/SHARE_NAME /MOUNT_POINT   cifs    rw.user,credentials=PATH_TO_FILE, uid=UID   0 0

のように書いておき、PATH_TO_FILE に該当するファイルに

username=hogehoge
password=fugafuga

を書いておく。これ便利。今日初めて知った。参考にしたのは備忘録さん

Category: 日記  | Tags: , ,  | Leave a Comment

App-V のアイコン転送量は馬鹿にならない

水曜日, 5月 13th, 2009 | Author: いなば

自分とこの環境では、App-Vに数十個のパッケージを突っ込んでいます。で、クライアント側の動きを見ていると、どーもログイン時にApp-Vサーバとなにかしら喋ってるっぽい。これがコソコソ話しているくらいならいいけどどうやらかなり盛大に喋っているっぽいのでパケットキャプチャしてみたところ、端末1台あたりログイン時にApp-Vサーバとの間で数十MBの通信を発生させていることがわかりました。その中身はほとんどがアイコンファイルの取得。

イマドキの環境だと数十MBなんて大したことないような気もするんですが、これが無線環境になるとかなり影響が大きくて、現状、無線経由のドメインログオンにはモーレツに時間がかかっています。

ざっと出てきた解決策は三つ。

A案:ログイン時にアイコンファイルの更新をしないようにする
B案:パッケージの関連付けを減らす
C案:アイコン自体のサイズを小さくする

A案を実現するためには、クライアント側の「公開サーバの設定」で「ユーザのログイン時に更新」のチェックを外すか、同党の設定をしたプロバイダポリシーを作成する必要があります。で、更新が全然されないんじゃ困っちゃうので、一定の時間ごとに更新させる設定にします。
この設定で試してみたところ、確かに通信量は減るのですが、運用上の問題が二点でてきました。

一つは、最終ログオン日時を保存するレジストリキーが
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\DC Servers\サーバ名\LastUpdate
なんですが、自分とこの場合、大学環境のお約束として環境復元のツールが入っていて、この値が保持されません。なので環境復元が有効だと、やっぱり毎ログオン時に更新に行ってしまいます。
もう一つは、仮に上記の値が何らかの方法で保持できたとしても、結局ノート端末なんかの場合には数時間単位でログオンしない状況が普通にあり得るので、やっぱりログオン時に更新がかかっちゃいます。

B案は、内容的には悪くないのですが、特定の関連付けが必要なのか不要なのかの判断は正直センター側で行うのはかなり難しいです。関連付けそのものでなくてもそれに付随するアイコンを削除しちゃえば関連付けは残ったままでアイコンだけ「不明なアプリケーション」のアイコンになるんだとは思うんですが、やっぱり授業で使っている教員でないと、どの辺まで踏み込むかのさじ加減がわからないのでこれも却下。

そうすると消去法的にC案が残る訳で、とりあえず各パッケージのアイコンサイズを確認してみたところ、なんか、異様にでかいアイコンファイルがぞろぞろ出てきました。調べてみると、一つの ico ファイルに複数のサイズ、色数のアイコンが格納されているんですが、いくつかのアプリケーションでは 256×256 とか 128×128 なんかのとんでもなくでかいアイコンが含まれています。こんなサイズでアイコンの表示しないってば。特に大きかったのが Adobe CS4シリーズと一太郎ビューア。MS-Office 2007 はまだ調べていないですがこれもきっと大きいんではないかと思っています。これは明日確認。

しょうがないので、それぞれのアイコンを一つ一つアイコンファイルを編集できるツールで読んでは大きなアイコンを消す作業をやっています。今日のところは半分くらいで挫折。残りは明日だな。

ということで、App-V案件をお持ちの方は、ほっとくと App-V は起動時に結構なサイズの通信を発生させる、ということを知っておいた方がいいように思います。自分とこの場合は、「App-Vは100%のキャッシュがクライアントにあれば、ログオン時やアプリケーションの起動時には『そのアプリケーションを使っていいかどうか』の認証情報しかやり取りされないので大きな通信は発生しない」と理解していたので(…と某社担当者さんが言っていたし)、正直面くらっています。まぁ、有線環境では大した実害ではないのですが。

Fedora 11 Preview (64bit版) に Flash Player の plugin を入れる

火曜日, 5月 12th, 2009 | Author: いなば

Fedora 絡みでもういっちょ。
Flash が動かなくてちょっとハマったんですが、Y乃助2さんの記事を参考に、Adobe Labsで libflashplayer.so を無事ゲット。先人たちに感謝。

Category: 日記  | Tags: ,  | Leave a Comment

ML115に載せたWinFast PX8400 でデュアルモニタ on Fedora 11 (Preview版)

火曜日, 5月 12th, 2009 | Author: いなば

本来ならきっとnvidia-settingsとかでうまくいくんだろうけど、ユーティリティがセカンドモニタの方の解像度を低く見積もってしまってうまくいかなかったのであちこち参考にしながら手書き。

…だったんだけど、なかなかしんどかったので、「セカンドモニタの解像度が低いままのxorg.confに解像度の部分だけ書き加える」という方向に変更。

ということで何方かのご参考にでもなれば。

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    FontPath        "/usr/share/fonts/default/Type1"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from data in "/etc/sysconfig/keyboard"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbLayout" "us_intl"
    Option         "XkbModel" "pc105"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-0"
    HorizSync       28.0 - 65.0
    VertRefresh     57.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: builtin, VertRefresh source: builtin
    Identifier     "Monitor1"
    VendorName     "Sony"
    ModelName      "CRT-0"
    HorizSync       28.0 - 65.0
    VertRefresh     57.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8400 GS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8400 GS"
    BusID          "PCI:7:0:0"
    Screen          1
EndSection

Section "Screen"

    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-1"
    Option         "TwinViewOrientation" "LeftOf"
    Option         "metamodes" "CRT-0: 1280x1024 +1280+0, CRT-1: 1280x1024 +0+0; CRT-0: nvidia-auto-select +800+0, CRT-1: 800x600 +0+0; CRT-0: nvidia-auto-select +640+0, CRT-1: 640x480 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

なんとなくアジカンの映像を貼ってみる

月曜日, 5月 11th, 2009 | Author: いなば

うわー、カラオケいきてーーーー。ライブいきてーーーー。

しかし、アジカンの映像って、英語文化圏の方からのコメントが多いのね。しらなんだ。

Category: 日記  | Leave a Comment

白黒つけようじゃねーか

日曜日, 5月 10th, 2009 | Author: いなば

ちょいと横浜に用事があって長女と二人でお出かけしてたんですが、帰りにオセロを買ってきました。なんだかルールを覚えたとかでやってみたいとか言うし。

で、帰る道すがら「とーさんは正直強いよ?まぁ君じゃまだまだ勝てないね」という話をしていたら何をどう勘違いしたのか、「じゃぁ、おとーさんと勝負して、勝ったらおかーさんと勝負して、それからおじーちゃんと勝負して、さいごにおばーちゃんと勝負するのー」とか言いだすムスメ。いや、とーさん、強いっていってるじゃん。人の話聞けよ。

でまー、大人が本気出したら5歳児のオセロなんざ幼稚園児の手をひねるようなもんなので、初回はかなり手加減してやってやったわけですよ。あんまりクリティカルなところにおかないとか。

…で惜敗(汗。

こういう小さなことの積み重ねで、父親の威厳とか家庭内の位置づけとか以下略なことが決まると固く信じているいなばとしては再戦申込。今度は4手落ち(四隅をとられた状態からスタート)のかわりに真剣勝負。今度はかなり真剣。

…で惨敗。ちょ、まて。ムスメ、調子に乗りまくり。とーさん頭真っ白。てか、4手落ちは正直厳しい。

うひょーうひょーいっているところにじーちゃん(私の父)到着。帰る道中のトーナメント表では次はヨメの人との対戦なんだけどヨメの人は別の用事で忙しかったので急遽じーちゃんと対戦。じーちゃんも相当自信があるので4手落ち。

…じーちゃん惨敗。さらに再戦を挑むも惨敗。頼むよじーちゃん。娘の勝負師としての器が育たないじゃないか。

食後に、いよいよヨメの人と対戦。「かーさんは弱いから」との自己申告に基づきヒラの勝負。なんか二人ともウンウン唸ってる。

で、ムスメ、オセロ人生発の敗北(笑)。HPが一気に下がる。その証拠に、「んじゃ、とーさんと3手落ちでやるか」と促したところ「もういい」とのツレナイお返事。くっくっく。落ち込んでやんの。まぁ負ける経験も必要だよ。

そんなわけで、ムスメ5歳の戦績は4勝1敗。明日以降も挑んでくるかどうかはムスメの人間としての大きさが問われるところだな(笑)。頑張れムスメ。負けるなとーさん。

Category: 日記  | Tags: ,  | Leave a Comment

地引網in辻堂

土曜日, 5月 09th, 2009 | Author: いなば

幼稚園のお父さんたちの有志主催で辻堂海岸の高網さんで地引網をしてきました。
直前の金曜日までびみょーな天気だったので結構ひやひやしていましたが当日はからっと晴天。すばらしい。感じの皆さまの日ごろの行いがいいのだな、きっと。

んで、地引網なんて生まれて初めてなわけで、どんなものが取れるのかざっとネットで調べたりはしてみたものの、本当にとれるかどうか心配だったわけですが。

shirasu1
シラスとかバケツにいっぱい獲れてるし。

iwasi
こっちはイワシですね。たぶん。こちらはバケツに何杯とかそういう単位。

nanika
な、なにかいる…

same
さめだー。(ネコザメというらしい)
さめさんは撮影後、スタッフがおいしく頂きました。

houryu
うそです。幼稚園児たちに本物のサメ肌をたっぷり体験させてもらった後お帰りいただきました。
でもかなりへろへろしてたので、ちゃんと帰れたか心配です。

ika
あと、すんげー小さいイカとか。右側の子はちょっとエイリアンぽくてかわいい。左側の子もびっくりしているみたいでかわいい。

tonbi1
で、トンビがかなり空中で餌を待っている感じなので、幼稚園の先生が餌を投げてやったら失敗してるわけですよ。ださっ。

tonbi_ok
こっちはナイスキャッチ。撮れてるとは思わなかった。

jijo
・・・とかやって遊んでたら、うちの次女がなんか喰ってる…。シラスらしい。タフだなー。てことで次女本邦初公開

chojo
次女だけ出すとおねーちゃんが怒りそうなのでたそがれてる長女も初公開。

umi
ついでに海に向かって走り出す阿呆な親子の絵。

oyaji
こちらは長女5歳撮影のいなばの図。構図なんかはそのままでリサイズだけ。

ヨメの人はかってに上げると怒られそうなので保留(汗。

めっちゃ疲れたけど非常に楽しかったです。こういう遊びは家族だけじゃできないし。幹事の皆様に深く感謝。またやりたーい。

Category: 日記  | Tags:  | Leave a Comment