« 2008年06月01日 - 2008年06月07日 | メイン | 2008年06月15日 - 2008年06月21日 »



2008年06月08日 - 2008年06月14日 アーカイブ

2008年06月08日

チヂミ作った

DSCF2361.jpg チヂミ作った。おいしかったですよ。簡単ですし、粉モノなので安あがりってのがいいですね。ご飯を炊き忘れたとかそういうときにサッと作れるし、酒のつまみにもなります。

材料

  • 薄力粉 120g
  • 片栗粉 30g
  • 水 150cc
  • 卵 1個
  • 塩 適量
  • ごま油 大匙1

生地の基本になる具
  • ニラ
  • つぶしたニンニク
  • 唐辛子
生地はコレだけ。2人分になります。あとは好きなものを色々混ぜて焼くだけ。ワタシはニラとつぶしたニンニク、唐辛子を基本材料として、ほかに具となる豚バラ肉か、イカなどの海鮮材料を使います。写真は海鮮パックを使いました。
お好み焼きは焼くときに(フライ返しなんかで)ギュッと押し付けないらしいですが、チヂミは押し付けてムギューとやっていいらしいです。というかやるみたいです。

ところで昨日見てきたザ・マジックアワー面白かった。佐藤浩市いいよ佐藤浩市。デラ富樫。面白かった。

[ 最近のエントリーとその関連エントリー ]


[ スポンサードリンク ]

2008年06月12日

Google Dynamic Feed Control

GoogleDynamicFeedControl使ってみました。昔、ダイナミックドライブからティッカー探してきてフィード食わして見たいな事をやってみましたが、コレは便利です。ウィザードで作ることも出来るのでとても簡単。

フィードを複数指定することももちろん出来るのですが、先ほど10個くらいフィードを与えて表示したらブラウザが固まってしまいましたので、はてなの人気エントリのみを表示させています。
function LoadDynamicFeedControl()
{
    var feeds = [
        { url: 'http://b.hatena.ne.jp/hotentry?mode=rss' }
    ];
    var options = {
        numResults : 10,
        displayTime : 3000,
        fadeOutTime : 1000,
        scrollOnFadeOut : true,
        horizontal : true
    }
    new GFdynamicFeedControl( feeds, 'feed-control', options );
}
var obj = new Array();
google.load( 'feeds', '1' );
google.setOnLoadCallback( LoadDynamicFeedControl );
Loading...

[ 最近のエントリーとその関連エントリー ]


2008年06月10日

やる夫がデザインパターンをやるようです 第19回

≪第18回第20回≫

やる夫で学ぶデザインパターンとは何の関係もありませんが、このポストで300エントリになりました。結構書いてるなー。mojalogは始めてから丁度1年くらいになるのでおよそ1日に1回くらいはポストしている割合になります。読み返すとほんっとにくだらないポストばかりしていますが、見に来ていただいてる方には心より感謝申し上げます。ありがとうございます。(うれしいですと言いたいだけです。)

と言うわけで、今回はイテレータパターンで解決に向かいたいと思います。
public void listAbilityCollection(){

    // 潜在能力コレクションの取得・・・
    // 魔法コレクションの取得・・・

    ArrayList ptntItems = potentialCollection.getAbiiltyItems();
    AbilityItem[] mgcItems = magicCollection.getAbiiltyItems();

    // 潜在能力コレクションはArrayListを返すのでキャストしてリスト
    for( int idx = 0; idx < ptntItems.size(); idx++ ){
        AbilityItem abiItem = (AbilityItem)ptntItems.get( idx );
        System.out.println( abiItem.getName() );
        // ・・・
    }

    // 魔法コレクションは配列をそのまま返すので直接参照してリスト
    for( int idx = 0; idx < mgcItems.length; idx++ ){
        AbilityItem abiItem = mgcItems[ idx ];
        System.out.println( abiItem.getName() );
        // ・・・
    }

コードを見ると
PotentialCollectionのgetAbiiltyItems()も
MagicCollectionのgetAbiiltyItems()も
返す型さえ違わなければ、後はほとんど同じ動きをするクラスだお。。。
     ____
   /      \
  /  ─    ─\
/    (●)  (●) \
|       (__人__)    |
/     ∩ノ ⊃  /
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ / 





         |
     \  __  /
     _ (m) _
        |ミ|
      /  `´  \
   てことはとりあえずMagicCollectionのほうを
   ArrayListにして合わせちゃえば問題は解決するお。
       ____
     /⌒  ⌒\
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \
  |     |r┬-|     |
  \      `ー'´     / 











   / ̄ ̄\
 /  _ノ   \   おいおい。ちょっとまて。
 |   ( ●)(●)l 今は返す型が配列とArrayListだけだから
. |    (__人__) |どっちかに倒せばいいと思ってるようだが、
  |    ` ⌒´ | 今後、Vectorでコレクションを実装してる
.  |         } なんてのが見つかったらどうすんだ?
.  ヽ        }
   ヽ     ノ
   /    く
   /     ヽ





// 忍術は魔法と違う扱い
public class NinpoCollection implements Collection {
    Vector abilityItems;
    // Vectorでアビリティを扱う。
    public Vector getAbiiltyItems(){
        return abilityItems;
    }
}
         ___
       / ⌒  ⌒\
      / (○)  (○) \  え。いけなかったのかお。。。
    /   ///(__人__)/// \
     |   u.   `Y⌒y'´    |
      \       ゙ー ′  ,/
      /⌒ヽ   ー‐    ィヽ
      / rー'ゝ       〆ヽ
    /,ノヾ ,>      ヾ_ノ,|
    | ヽ〆        |´ | 





 ・・・オマエ、その日の気分で好き勝手に実装してるだろ。
 今は忍術を潜在能力や魔法と全く違う扱いで動かしてるが
 どうせそのうち企画がブースト機能とか言い出すんだから
 とっとと手を打っとけ。
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   |     \
    |    |ヽ、二⌒)





    for( int idx = 0; idx < ptntItems.size(); idx++ ){
        AbilityItem abiItem = (AbilityItem)ptntItems.get( idx );

    for( int idx = 0; idx < mgcItems.length; idx++ ){
        AbilityItem abiItem = mgcItems[ idx ];

うーん。違うのは
1.走査の判定にsizeを返すかlengthを返すかと
2.要素の取得にget( idx )メソッドを使うか配列の添え字[ idx ]を使うかだけだお。。
         ____
       /      \
      /  ─    ─\
    /    (●)  (●) \
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | 






   つまり、カプセル化したいのは
   1.「走査の判定」と
   2.「要素を返す」だお。
        / ̄ ̄ ̄\
        /        \
     /   ─   ─  ヽ
      |   (●)  (●)  | 
     \   (__人__) __,/
      /_______\   



要は、
    while( 走査の判定 ){
        要素を返す
    }

ができればいいんだお。インターフェイスは確定だお!!
public interface Iterator {
    boolean hasNext();  // 次はあるのか
    Object next();      // 次の要素を返す
}
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))







   / ̄ ̄\
 /   _ノ  \  よくわかってんじゃねーか。そのとおりだ。
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   |     \
    |    |ヽ、二⌒)






ぎゃひひ!おいらに任せとけば全てがうまくいくお!
          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒)) 







           ____ 
        /⌒  ⌒\ 
.      /( ―)  (―)\   ふん、ふーん。
     / ::::::⌒(__人__)⌒::::: \ ふ、んー。
    |      |r┬-|     |  
     \       `ー'´     / 
    ノ            \ 
  /´               ヽ                 カ 
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ    タ 
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ 
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒)) 
     ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐ 
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l 
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ 






       ____
     /⌒  ー、\
   /( ―)  (―)\
  /::::::⌒(__人__)⌒:::::\  んー?
  |     |r┬-/ '    |
  \      `ー'´     / 





         ____
      /::::::─三三─\  ん・ん・んー?
    /:::::::: ( ○)三(○)\
    |::::::::::::::::::::(__人__)::::  | ________
     \:::::::::   |r┬-|  / | |          |
    ノ::::::::::::  `ー'´   \ | |          | 





           ___
     ____,./      \   すみません。
    ノ   /         \  既存のコードにインプリメントしたら
  /   /            \ドカドカ変更が入ってしまいましたお。
 |     |::..           ...::::| 
 ヽ    `一ー――――-、;;;;::/`一ー―-、
  ヽ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

public class MagicCollection implements Collection, Iterator {
    static final int MAX_ITEMS = 6;
    int numberOfItems = 0;
    AbilityItem[] abilityItems;

    // mod yaruo 何も返さない。使うな
    public AbilityItem[] getAbiiltyItems(){
//      mod yaruo
//        return abilityItems;
        return null;
    }

    // add yaruo
    boolean hasNext(){
        // 配列の走査判定
    }

    // add yaruo
    Object next(){
        // 次の要素を返す
    }
}





いやいやいや。ちょっとまて。どこに手を入れてやがる。
冒頭のソースでMagicCollectionそのものを走査に使ったか?
クライアントはカプセル化された走査がしたいだけだ。
Iteratorって言うインターフェイスを返すメソッドを追加してやりゃ
既存のコードの修正は数ステップだろが。
   / ̄ ̄\
 /  _ノ   \
 |   ( ○)(○)l
. |    (__人__) |
  |    ` ⌒´ |
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   /     ヽ 
public class MagicCollection implements Collection {
    static final int MAX_ITEMS = 6;
    int numberOfItems = 0;
    AbilityItem[] abilityItems;

//  remove method. sucks
//    public AbilityItem[] getAbiiltyItems(){
//        return abilityItems;
//    }

    // イテレータを返す。
    public Iterator createIterator(){
        return new MagicCollectionItr( abilityItems );
    }
}

MagicCollection用のイテレータはこうだ
配列をパラメータにしたコンストラクタにしてある。
イテレータをimplementsしたクラスに走査処理を委譲してやればいい。
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   |     \
    |    |ヽ、二⌒)
public class MagicCollectionItr implements Iterator {
    int curPos = 0;
    AbilityItem[] abilityItems;
    public MagicCollectionItr( AbilityItem[] abilityItems ){
        this.abilityItems = abilityItems;
    }

    // 配列の走査判定を行う。
    boolean hasNext(){
        return ( curPos >= abilityItems.length || abilityItems[ curPos ] == null ) ? false : true;
    }

    // 次の要素を返す
    Object next(){
        AbilityItem curAbi = abilityItems[ curPos ];
        curPos++;
        return curAbi;
    }
}



いいかやる夫。既存のコードに対する修正はできるだけ最小限に抑えろ。
仕様変更における既存のコードというものは、
「バグのない適切なコードにするために、多くの時間を費やしたモノ」
と考えるんだ。事実そうじゃなくてもそう思うんだ。

だから既存のコードで振る舞いを変更するみたいなことは極力するな。
今回で言えば、コレクションの走査はもともと
MagicCollectionやPotentialCollectionになかっただろう。
ココに走査するコードを突っ込んだのはオマエの勘違いだとして、
「変更」は最小限にして「拡張」を自由に行うように癖をつけろ。

俺が書いたMagicCollectionItrは、
MagicCollectionからコレクションを取り出して
捜査できるように拡張したコードだ。
今度はこのコードに時間をかけてバグのない適切なコードにするように
デバッグしてコードの品質を積み上げていけ。
   / ̄ ̄\
 /  _ノ   \
 |   ( ●)(●)l
. |    (__人__) |
  |    ` ⌒´ |
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   /     ヽ 






いいかやる夫。
・・・・・・・・
今度はこのコードに時間をかけてバグのない適切なコードにするように
デバッグしてコードの品質を積み上げていけ・・・・?
`――――――――――――○―――――――――――――――’
              O
                o
         ____
       /_ノ   ヽ_\
      /( ●) ( ●)\
    / ::::::⌒(__人__)⌒:::::\
    |        ̄      |
    \              / 






     / ̄ ̄\  えー。単体テストくらいは自分でやってほしいお。
   /       \       ___
   |::::::   U    |    /     \
  . |::::::::::: U   |   /⌒   ⌒  \
    |::::::::::::::    | / (●) (●)   \
  .  |::::::::::::::    }  |    (__人__)     | 
  .  ヽ::::::::::::::  U }  \   ` ⌒´     _/
     ヽ::::::::::  ノ    |           \
     /:::::::::::: く     | |         |  |
 ―――|:::::::::::::::: \――┴┴―――――┴┴―― 

[ 最近のエントリーとその関連エントリー ]


2008年06月09日

やる夫がデザインパターンをやるようです 第18回

コレクションのカプセル化

≪第17回

  やる夫。オマエが以前デザインしていた
  マジックコレクションと言うクラスがあるだろう。
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   |     \
    |    |ヽ、二⌒)





  あるお。魔法を配列で管理しているクラスデザインだお。
  魔法をアビリティクラスで表現したやつだお。
      ____
    /_ノ   ヽ_\
   /( ●) ( ●)\
 / ::::::⌒(__人__)⌒:::::\
 |        ̄      |
 \              / 
やる夫は以前ニコニコクロニクルの魔法管理クラスを実装していました。
魔法クラスはAbilityItemという汎用データストアクラスを利用して表現し、魔法として実装上のラベルをつけて扱っています。
public class AbilityItem {
    String name;    // アビリティ名
    String description;    // 説明
    double effectiveValue;    // アビリティ効果値
    public AbilityItem( String name, String description, double effectiveValue ){
        this.name = name;
        this.description = description;
        this.effectiveValue = effectiveValue;
    }
    // プロパティアクセサメソッド・・・
}

  この汎用アビリティアイテムを魔法1つ1つとして表現したお。
       ____
     /⌒  ⌒\
   /( ―)  (―)\
  /::::::⌒(__人__)⌒::::: \
  |              |
  \               / 
出来上がった魔法群をマジックコレクションクラスにロードして、魔法を一元管理するという手法をとっています。
public class MagicCollection implements Collection {
    static final int MAX_ITEMS = 6;
    int numberOfItems = 0;
    AbilityItem[] abilityItems;
    // 配列でアビリティを扱う。
    public AbilityItem[] getAbiiltyItems(){
        return abilityItems;
    }
}
  このソースはアビリティアイテムを扱う
  マジックコレクションクラスだお。
  魔法は全部で6種類あったから配列の最大値を6として
  スタティックに切ったお。
       ____
     /⌒  ⌒\
   /( >)  (<)\
  /::::::⌒(__人__)⌒::::: \ 
  |    /| | | | |     |
  \  (、`ー―'´,    /






  ああ。わかっている。ニコニコクロニクルプロジェクトに
  入りたての頃に作ったクラスだな。
  で、最近オマエが作った潜在能力クラスPotentialCollectionだが、
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   |     \
    |    |ヽ、二⌒)




  潜在能力クラスPotentialCollectionは
  魔法を使えないキャラクターの魔法代替能力だお。
  相変わらず企画はわけの分からん仕様を打ち出してくるお。
  ポテンシャルに「邪鬼眼」ていったい何がしたいんだお。
        / ̄ ̄ ̄\
        /        \
     /   ─   ─  ヽ
      |   (●)  (●)  | 
     \   (__人__) __,/
      /_______\   







  魔法が使えないキャラクターの魔法代替能力だと言うことは
  一応わかってんじゃねーか。
  だから、同じようにこのPotentialCollectionとやらを
  使えるかと思ったんだが、
   / ̄ ̄\
 /  _ノ   \
 |   ( ●)(●)l
. |    (__人__) |
  |    ` ⌒´ |
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く    なんだこれは。こっちは
   /     ヽ    ArrayListで返してくんじゃねーか。

public class PotentialCollection implements Collection {
    ArrayList abilityItems;
    // 配列でアビリティを扱う。
    public ArrayList getAbiiltyItems(){
        return abilityItems;
    }
}





   そうだお。ArrayListは便利だお。
   こっちを使うときはキャストして使えお。
      ____
    /⌒  ⌒\
   /(● ) (● )\
 /:::⌒(__人__)⌒:::: \
 |   mj |┬-|     |
 \ 〈__ノ`ー'´    /
  /ノ  ノ ‐‐‐‐一´\






   やる夫。仕様変更のメールは見たか?
   潜在能力は魔法の代替ではなくなった。
   つまり、魔法も使えて潜在能力も持てる
   キャラクターを実現することになる。
   / ̄ ̄\
 /  _ノ   \
 |   ( ●)(●)l
. |    (__人__) |
  |    ` ⌒´ |
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   /     ヽ 






   そんなメール
        ____
    /::::::─三三─\
  /:::::::: ( ○)三(○)\
  |::::::::::::::::::::(__人__)::::  |  _____
   \:::::::::   |r┬-|  ,/ .| |        
   ノ::::::::   `ー'´  \ | |        





      全然知らないお
       ____
     /:∪::─ニ三─ヾ
   /:::::::: ( ○)三(○)\
  (:::::∪:::::::::: (__人__)::::: i| ____
   \:::::::::    |r┬-| ::::ノ  | |      
   リ::::::::    `ー'´  ::\  | |       





  邪鬼眼も、ベギラモも使えるキャラクターが出てくる様な
  仕様じゃゲームバランスが崩れて
  発売3日でワゴンに放り込まれるようになるお。。。。
       ______ 
     /:∪::─ニjjニ─ヾ
   /:::li|.:( ○)三 (○)\
  (:::||!.:∪::::: (__人__)):::: i| ____
    ):::::::::::::   |r┬-| li::::/  | |      
  /:::::::::::::::   `ー ' ::::::ヽ  | |      







        / ̄ ̄\     2週間前には故障表と一緒に
      /       \   仕様変更メールが行ってるだろ
      |::::::        |
     . |:::::::::::     |
       |::::::::::::::    |          ....,:::´, .
     .  |::::::::::::::    }          ....:::,,  ..
     .  ヽ::::::::::::::    }         ,):::::::ノ .
        ヽ::::::::::  ノ        (:::::ソ: .
        /:::::::::::: く         ,ふ´..
-―――――|:::::::::::::::: \ -―,――ノ::ノ――
         |:::::::::::::::|ヽ、二⌒)━~~'´ 







 キャラクタークラスで保持している
 魔法コレクションと、潜在能力コレクションをリスト表示する
 メソッドがあるだろう。listAbilityCollection()だな。
 魔法とか潜在能力以外にも
 アビリティコレクションがさらに追加されたらどうすんだ?
   / ̄ ̄\
 /  _ノ   \
 |   ( ●)(●)l
. |    (__人__) |
  |    ` ⌒´ |
.  |         }
.  ヽ        }
   ヽ     ノ
   /    く
   /     ヽ 





public void listAbilityCollection(){
    
    // 潜在能力コレクションの取得・・・
    // 魔法コレクションの取得・・・

    ArrayList ptntItems = potentialCollection.getAbiiltyItems();
    AbilityItem[] mgcItems = magicCollection.getAbiiltyItems();

    // 潜在能力コレクションはArrayListを返すのでキャストしてリスト
    for( int idx = 0; idx < ptntItems.size(); idx++ ){
        AbilityItem abiItem = (AbilityItem)ptntItems.get( idx );
        System.out.println( abiItem.getName() );
        // ・・・
    }

    // 魔法コレクションは配列をそのまま返すので直接参照してリスト
    for( int idx = 0; idx < mgcItems.length; idx++ ){
        AbilityItem abiItem = mgcItems[ idx ];
        System.out.println( abiItem.getName() );
        // ・・・
    }

         ____
       /      \  ・・・・ど、ど、
      /  ─    ─\
    /    (●)  (●) \
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | 






         __ ____
      //   ̄  \\   ど、どう、どし、ど
     //--.--  -─\\    どう、どうし、どしうよう
   //  (● ●) ((●(●) \
 .| |.|    ( . ((_人_人__)    | _ _== =
     \\    ⌒ ` /,/ | |    ̄ ̄ ̄  ̄| ||
    ノ         \\| | | |           ||
  /´                 | |          | |
 |    l                | |          |||
 ヽ    -一ー_~、⌒)^),-、   | |_________| |
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | = 
2つの異なるアビリティ表現を持ってしまったことにより、このような問題がでてきてしまいました。さらに別の実装を持つコレクション(リスト、ハッシュテーブル、スタックなどなど)が出てきてしまった場合、3つ、4つとループを持つことになってしまいます。次回はこれをデザインパターンで解決していきたいと思います。

≪第17回


[ 最近のエントリーとその関連エントリー ]


PencilRebelが目を放した隙に新しくなってました!

pencilrebel_new.PNG PencilRebelが新しいバージョンになっているようです。このサイトは以前紹介させていただいたことがあるのですが、今回もすごいことになっていますよ!基本的には前回同様に脱出ゲーぽいことになってますが、ちょっとデザインがすごすぎるんじゃないか。手作り感満載なので、本当にいろんなところをいじくりたくなってきます。今回はなんと日本語バージョンもあって、訳がなかなか率直で笑えます。すごいなー本当にすごい。秘密のポイント(SecretFound)で制作費が出てきたりします。訪問箇所は全部廻れたんですけど秘密のポイントがみつからんのでもうちょっとやってみる。

[ 最近のエントリーとその関連エントリー ]


2008年06月08日

チヂミ作った

DSCF2361.jpg チヂミ作った。おいしかったですよ。簡単ですし、粉モノなので安あがりってのがいいですね。ご飯を炊き忘れたとかそういうときにサッと作れるし、酒のつまみにもなります。

材料

  • 薄力粉 120g
  • 片栗粉 30g
  • 水 150cc
  • 卵 1個
  • 塩 適量
  • ごま油 大匙1

生地の基本になる具
  • ニラ
  • つぶしたニンニク
  • 唐辛子
生地はコレだけ。2人分になります。あとは好きなものを色々混ぜて焼くだけ。ワタシはニラとつぶしたニンニク、唐辛子を基本材料として、ほかに具となる豚バラ肉か、イカなどの海鮮材料を使います。写真は海鮮パックを使いました。
お好み焼きは焼くときに(フライ返しなんかで)ギュッと押し付けないらしいですが、チヂミは押し付けてムギューとやっていいらしいです。というかやるみたいです。

ところで昨日見てきたザ・マジックアワー面白かった。佐藤浩市いいよ佐藤浩市。デラ富樫。面白かった。

[ 最近のエントリーとその関連エントリー ]


ツリータイプ・カテゴリー

open all | close all

リファラから検索


サイト内検索