毛血旺

QQ20140721-1

制作步骤

  • 毛血旺的做法第1步
    1.  准备好所有的食材。
  • 毛血旺的做法第2步
    2.  锅中烧开水加入少许盐,放入去皮切块的莴笋焯烫一下捞出过凉备用。
  • 毛血旺的做法第3步
    3.  再把黄豆芽放入焯烫一下过凉备用。
  • 毛血旺的做法第4步
    4.  再放入切片的鸭血煮上2分钟捞出。
  • 毛血旺的做法第5步
    5.  水煮开关火放入黄鳝片焯烫捞出过凉备用。
  • 毛血旺的做法第6步
    6.  炒锅倒油放入火锅底料。
  • 毛血旺的做法第7步
    7.  小火炒至融化出红油。
  • 毛血旺的做法第8步
    8.  放入葱姜蒜开大火爆香。
  • 毛血旺的做法第9步
    9.  加入适量的清水。
  • 毛血旺的做法第10步
    10.  加入料酒。
  • 毛血旺的做法第11步
    11.  再把煮过的鸭血放入。
  • 毛血旺的做法第12步
    12.  加入盐煮上5分钟。
  • 毛血旺的做法第13步
    13.  再把黄鳝片放入继续5分钟。
  • 毛血旺的做法第14步
    14.  加入黄豆芽继续。
  • 毛血旺的做法第15步
    15.  加入少许糖。
  • 毛血旺的做法第16步
    16.  把切好的火腿片放入。
  • 毛血旺的做法第17步
    17.  再把黑鱼片放入。
  • 毛血旺的做法第18步
    18.  煮至鱼片变白紧缩。
  • 毛血旺的做法第19步
    19.  加入一勺鸡精翻炒均匀关火。
  • 毛血旺的做法第20步
    20.  把焯烫过的莴笋放入一个小锅中。
  • 毛血旺的做法第21步
    21.  再把煮好的食材倒入莴笋上面。
  • 毛血旺的做法第22步
    22.  炒锅倒入香油小火炸香干辣椒和花椒。
  • 毛血旺的做法第23步
    23.  再把油浇在毛血旺锅中即好。

毛血旺做法小贴士

黄鳝可在卖的地方让摊主去骨处理好,再焯烫一下去掉身上的粘液。

鸭血也要焯烫过之后再煮,可去除一些脏血和腥味。

辣椒和花椒也可随自己口味添加,喜欢味重的可再加3-5克辣椒。

盐要适可放,火锅底料已经很有味了。

发表在 菜谱 | 2条评论

蘑菇油菜

我说过无数次,多吃菌菇类对身体好。多数还是油菜香菇,但家里没有了香菇,我就用蘑菇代替,老公喜欢用小白菜炒蘑菇,好吃。老公一年做不了一个星期的饭菜,别说他要做了,还有时候做的挺好吃的呢,呵呵。今天我就用蘑菇和油菜在一起小炒,好吃,我觉得蘑菇和什么在一起炒都好吃哦。
大家试试吧,喜欢蘑菇的不要错过哦。
步骤:1,油菜洗净,蘑菇洗净。
          2,建议油菜在盐水中泡水哦,蘑菇开水中焯水。
         3,热锅放入适量食用油,爆香花椒葱姜。
        4,倒入油菜翻炒,油菜软下去后加入蘑菇。
        5,翻炒均匀加入生抽,蚝油,适量盐即可。
1,油菜洗净。
2,蘑菇在开水中焯水,捞出控水。
3,热锅加入食用油,爆香花椒葱姜等。
4,加入蘑菇翻炒均匀。
5,加入适量生抽蚝油和精盐翻炒均匀,即可。
发表在 菜谱 | 留下评论

鱼香茄子煲

菜谱物语——鱼香茄子煲

这是一道人见人爱的下饭菜—-鱼香茄子煲。大众的口味、家常的做法。        鱼香茄子煲,很多人都喜欢吃,很多人也喜欢做,做法各式各样,口味大致相同,大多都是辣味、甜味;材料也大同小异,有茄子、肉末、青椒等。小厨家的鱼香茄子煲做法很简单,个人感觉味道也很不错,但就这一道菜,我就能多吃一碗饭,嘿嘿~~~~
QQ20140719-3

制作步骤

  • 鱼香茄子煲的做法第1步
    1.  将茄子切成大小合适的条状。
  • 鱼香茄子煲的做法第2步
    2.  青椒切段。葱姜蒜切末。
  • 鱼香茄子煲的做法第3步
    3.  茄子和青椒入热油锅内炸软。
  • 鱼香茄子煲的做法第4步
    4.  捞出沥油。
  • 鱼香茄子煲的做法第5步
    5.  锅内留底油,爆香葱姜蒜末和八角。
  • 鱼香茄子煲的做法第6步
    6.  倒入肉末,翻炒均匀。
  • 鱼香茄子煲的做法第7步
    7.  倒入一勺郫县豆瓣酱,炒匀。
  • 鱼香茄子煲的做法第8步
    8.  倒入炸好的茄子和青椒。翻炒均匀,关火。
  • 鱼香茄子煲的做法第9步
    9.  将炒好的茄子和肉末倒入煲内,倒入用生抽、香醋、糖、鸡精、高汤(或白水)勾兑好的汁。
  • 鱼香茄子煲的做法第10步
    10.  中火炖10分钟。
  • 鱼香茄子煲的做法第11步
    11.  勾薄芡,小火3分钟即可。
发表在 菜谱 | 留下评论

尖椒炒鸡蛋

QQ20140719-2

 

制作步骤

  • 尖椒炒鸡蛋的做法第1步
    1.  鸡蛋3个。
  • 尖椒炒鸡蛋的做法第2步
    2.  尖椒2个洗好备用。
  • 尖椒炒鸡蛋的做法第3步
    3.  鸡蛋磕到碗里。
  • 尖椒炒鸡蛋的做法第4步
    4.  尖椒切碎放入蛋液里。
  • 尖椒炒鸡蛋的做法第5步
    5.  放入盐和鸡精搅拌均匀。
  • 尖椒炒鸡蛋的做法第6步
    6.  起锅放油,油热放入搅拌好的蛋液翻炒。
  • 尖椒炒鸡蛋的做法第7步
    7.  炒至鸡蛋定型后即可出锅,装盘。
发表在 菜谱 | 留下评论

辣炒鸡翅

菜谱物语——辣炒鸡翅

鸡翅不但可以红烧、油炸、或者干煎,用来爆炒,也是既简单又美味。
QQ20140719-1

制作步骤

  • 辣炒鸡翅的做法第1步
    1.  准备好所有食材。(原料图)
  • 辣炒鸡翅的做法第2步
    2.  鸡翅洗净切成小块。
  • 辣炒鸡翅的做法第3步
    3.  锅中水烧开,放入鸡翅焯去血水。
  • 辣炒鸡翅的做法第4步
    4.  用清水清洗干净。
  • 辣炒鸡翅的做法第5步
    5.  青红椒分别切成斜条。姜切丝、蒜切片,干红椒对半剪开。
  • 辣炒鸡翅的做法第6步
    6.  锅中热油,放入八角、姜丝、蒜片,和干红椒煸出香味。
  • 辣炒鸡翅的做法第7步
    7.  倒入鸡翅翻炒片刻。
  • 辣炒鸡翅的做法第8步
    8.  调入料酒、酱油和食盐,翻炒均匀。
  • 辣炒鸡翅的做法第9步
    9.  放入青红辣椒炒熟,撒上葱段,即可出锅。

辣炒鸡翅做法小贴士

诗心片语:

1:在煸香干红椒的同时,放入八角,会大大增加成菜的香味。

2:辣椒的量按自己喜好。

3:鸡翅已经焯过水,所以在炒的过程中很容易熟,无需加水焖煮。

发表在 菜谱 | 留下评论

安东鸡

菜谱物语——安东鸡

一直潜伏在美食天下,这还是第一次发菜谱呢。原本是打算发自己照的,手机效果实在是…还是转吧,囧~~ 从一个连西红柿炒鸡蛋都不会的笨蛋,到现在即使家里忽然来了十几个客人也可以从容做一桌的饭菜,首先还是要多谢美食天下里的各位前辈们。 安东鸡是韩国的常见菜,微辣。我个人吃年糕不消化,所以只放3,5根尝尝。这道菜分量很足,我们家五口人,做一只鸡能吃两顿呵呵
QQ20140718-2

制作步骤

  • 安东鸡的做法第1步
    1.  鸡肉大概2斤左右的一只。鸡肉洗净,加入料酒,盐,黑胡椒,生抽适量,然后用手轻轻给它们按摩后,放置至少半个小时。
  • 安东鸡的做法第2步
    2.  在腌制鸡肉的同时,将胡萝卜,土豆切大块备用。
  • 安东鸡的做法第3步
    3.  年糕,薯粉用凉水泡软备用。
  • 安东鸡的做法第4步
    4.  在锅中放入半根葱,姜、蒜适量,加水烧开,把鸡肉焯一下,捞出备用。鸡汤把杂质滤除备用。
  • 安东鸡的做法第5步
    5.  将鸡肉,土豆,胡萝卜,青椒在锅中码放好,我喜欢用砂锅,或者高压锅做。
  • 安东鸡的做法第6步
    6.  放入酱油,白糖,料酒、盐适量,加鸡汤没过材料大火烧开。
  • 安东鸡的做法第7步
    7.  水开后放入切碎的干辣椒,洋葱,转中火。所有材料煮熟后,加入把剩下的大葱,年糕条,薯粉继续小火炖。
  • 安东鸡的做法第8步
    8.  薯粉和年糕条熟后,盛出,撒上熟芝麻。

安东鸡做法小贴士

腌制鸡肉的时候有很多人喜欢用牛奶腌制,很香。年糕条不喜欢吃的可以不放,土豆可以改成南瓜或者地瓜。喜欢吃香菇的朋友也可以加入香菇。

这里的材料是基本材料,其实每家的安东鸡味道都有不同,也可以根据自己的喜好添加或者减少配料。

写菜谱可比做菜难太多了,做个菜才用了1个小时,这个菜谱写了3个小时,再次向前辈们致敬!!!

发表在 菜谱 | 留下评论

青椒炒鱼豆腐

不了解相机的特性还真不会拍出好的照片,虽然有可能每个人的审美标准不一样,但是这张照片,让我很惋惜,可惜了一盘子菜了。鱼豆腐还是一样的美味,青椒还是一样的甜甜的,可惜了我的技术啊。前期的一个作品,真是不敢拿出来看了,不过好歹是菜谱,就发了吧。

QQ20140718-1

步骤

1.准备一颗青椒和一些鱼豆腐,以及一小根胡萝卜

2.将鱼豆腐切三角状

3.青椒切滚刀状

4.胡萝卜切成胡萝卜花

5.先将鱼豆腐放入锅中煸一下

6.煸好后,盛出

7.接着讲胡萝卜放入锅中煸炒

8.待其变色后,加入青椒

9.待青椒炒至8成熟时,加入鱼豆腐

10.撒少许盐,炒匀即可

小贴士
鱼豆腐提前煸一下更香
发表在 菜谱 | 留下评论

android mqtt paho client version 1.0

android mqtt client

package com.w3hacker.demo;

import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity implements MqttCallback {
	private MqttClient client = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        try {
			client = new MqttClient("tcp://192.168.2.24:1883", "Musikar", null);
			client.setCallback(this);
			client.connect();
			client.subscribe("a/b/c");
			client.publish("a/b/c", "hello world".getBytes(), 1, false);
		} catch (MqttException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }


	@Override
	public void connectionLost(Throwable arg0) {
		Log.i("MQTT", "Connection Lost");
	}


	@Override
	public void deliveryComplete(IMqttDeliveryToken token) {
		Log.i("MQTT", token.getMessageId() + "");
	}


	@Override
	public void messageArrived(String topic, MqttMessage message) throws Exception {
		Log.i("MQTT", topic + ", " + new String(message.getPayload()));
	}
}

 

发表在 android, mqtt | 留下评论

ios mosquitto client

demo

//
//  IMViewController.m
//  demo
//
//  Created by musikar on 14-7-17.
//  Copyright (c) 2014年 com.w3hacker. All rights reserved.
//

#import "IMViewController.h"
#import "mosquitto.h"

#define HOST "192.168.2.24"
#define PORT 1883
#define TIMEOUT 60

@interface IMViewController ()

@end

@implementation IMViewController

void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message) {
	if(message->payloadlen){
		printf("%s %s\n", message->topic, message->payload);
	}else{
		printf("%s (null)\n", message->topic);
	}
	fflush(stdout);
}

void my_connect_callback(struct mosquitto *mosq, void *userdata, int result) {
	if(!result){
		/* Subscribe to broker information topics on successful connect. */
		mosquitto_subscribe(mosq, NULL, "$SYS/#", 2);
	}else{
		fprintf(stderr, "Connect failed\n");
	}
}

void my_subscribe_callback(struct mosquitto *mosq, void *userdata, int mid, int qos_count, const int *granted_qos) {
	int i;
    
	printf("Subscribed (mid: %d): %d", mid, granted_qos[0]);
	for(i=1; i<qos_count; i++){
		printf(", %d", granted_qos[i]);
	}
	printf("\n");
}

void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str) {
	/* Pring all log messages regardless of level. */
	printf("%s\n", str);
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    struct mosquitto *mosq = NULL;
    
    mosquitto_lib_init();
    mosq = mosquitto_new("Musikar", false, nil);
    if (!mosq) {
        NSLog(@"Out Of Memory");
        return;
    }
    //mosquitto_log_callback_set(mosq, my_log_callback);
	mosquitto_connect_callback_set(mosq, my_connect_callback);
	mosquitto_message_callback_set(mosq, my_message_callback);
	//mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);
    if (mosquitto_connect(mosq, HOST, PORT, TIMEOUT)) {
        NSLog(@"Unable to connect");
        return;
    }
    while (!mosquitto_loop(mosq, -1, 1000)) {
    }
    mosquitto_destroy(mosq);
    mosquitto_lib_cleanup();
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

发表在 iOS, mqtt | 留下评论

HowTo compile native C codes to a library for iOS development in Xcode – take Mosquitto as an example

For iOS development, sometimes you want to use a existed native C codes for help. Objective-C is a superset of C so it’s easy to combine C codes in your Objective-C project. But for a library usage, it only support compiling C code to a static library by now.

In this tutorial, I take an open source project MQTT message broker Mosquitto as an example to demo how to compile it into a static library in Xcode.

Environments
* Xcode 4.1
* MacOSX Lion
* mosquitto 0.13

Tutorial
1. Download mosquito form <http://mosquitto.org/files/source/mosquitto-0.13.tar.gz>. Here is the whole directory structure:

wpid-wpid-Voila_Capture58-2011-10-30-10-483-2011-10-30-10-483.png

2. Create a new project by template C/C++ Library
* Choose static type

wpid-wpid-Voila_Capture60-2011-10-30-10-483-2011-10-30-10-483.png

wpid-wpid-Voila_Capture61-2011-10-30-10-483-2011-10-30-10-483.png

3. Import(or just drap and drop) C codes(include .h and .c) to the project

wpid-wpid-Voila_Capture63-2011-10-30-10-483-2011-10-30-10-483.png wpid-wpid-Voila_Capture64-2011-10-30-10-483-2011-10-30-10-483.png

4. Check the “Build settings” in project

* “Base SDK” => Latest iOS
* “Architectures” => Standard(armv6 armv7)
* “Supported Platforms” should include “iphonesimulator iphoneos”

wpid-wpid-Voila_Capture72-2011-10-30-10-483-2011-10-30-10-483.png

5. Check the “Build Phases” in targets
* “Copy Headers” => Add or move(from “Project”) the header files that should be referenced to “Public”

wpid-wpid-Voila_Capture65-2011-10-30-10-483-2011-10-30-10-483.png

6. Select Scheme respectively for iOS Device and iPhone/iPad Simulator for Build(Cmd+b) and resolve the errors

* Select iOS Device will make product(.a) in …<Debug/Release>-iphoneos
* Select iPhone/iPad simulator will make product(.a) in …<Debug/Release>-iphonesimulator

wpid-wpid-Voila_Capture66-2011-10-30-10-483-2011-10-30-10-483.png wpid-wpid-Voila_Capture76-2011-10-30-10-483-2011-10-30-10-483.png

* Right-click the product name and click “Show in Finder” to locate files
wpid-wpid-Voila_Capture71-2011-10-30-10-483-2011-10-30-10-483.png wpid-wpid-Voila_Capture89-2011-10-30-10-483-2011-10-30-10-483.png

7. Now you can copy the public header files and static library to the next project you want to use it.
wpid-wpid-Voila_Capture79-2011-10-30-10-483-2011-10-30-10-483.png

Notes:

1. Only static library(product will be the .a format) support for iOS

2. The compiled library for simulator and physic device is different

发表在 iOS, mqtt | 标签为 , | 留下评论