鹏 的个人资料皓月清风照片日志列表更多 ![]() | 帮助 |
|
|
11月13日 家常熘肝尖很久没写东西,主要是懒。
以前没做过熘肝尖,想尝试一下,于是买了猪肝、冬笋、木耳、黄瓜回家试制。
猪肝里面有筋,要尽量用边上没有筋的地方,少量的筋也要撕掉,否则熟了以后很难咬。有筋的部分可以考虑煮汤喝或者蒸熟了当磨牙零食。
选好猪肝以后最好放水里泡一段时间,肝脏是代谢毒素的器官,难免有残留,把血水尽量排出去比较好。
然后就是切片。鲜猪肝又软又滑,要用比较锋利的刀才能切得薄。我这种刀功不灵的人只能切厚些了,炒出来的口感自然也打了不少折扣。
切片以后再用水洗一次,充分去除血水。然后放盐、料酒、干淀粉抓匀,放一边喂着。
冬笋从中间切开,用水把里面冲洗干净,特别是那种白色的硬块,尽量扣干净。然后斜刀切片,放开水里焯一下捞出备用。
木耳洗干净然后去根,多清洗几次直到没有沙子。黄瓜切成滚刀块,别太小了。最后调一些水淀粉备用。
炒锅烧热以后放油稍多些,把猪肝放进去翻炒几下就盛出来。然后利用锅里剩下的油煸香蒜、葱,再放焯好的冬笋和洗干净的木耳,放酱油翻炒以后把过了油的猪肝倒进去,加上料酒和少许醋再炒,快熟时候放进黄瓜、水淀粉,别等黄瓜熟透就可以出锅了。
▲热气腾腾的熘肝尖出锅了!看着又觉得饿了。。。。。。
▲除了肝尖因为切太厚口感不好,其他东西都很好吃。哈哈。 9月15日 新中国美术60年展览参观 早听说有这么个展览,本以为没什么可看的,后来听别人推荐还不错,就赶着最后一天下午去看了看。
作品很多,从绘画技巧上来说确实不错,国画、油画、水彩、水粉、漆画等等各类都有,还有不少的名家作品。就是作品中体现的思想太单调了,要么是“主旋律”,要么就是风景静物。即使算上21世纪以后的作品,有想法,有想象力的作品也只有几个,太稀少了。有点儿“万马齐喑究可哀”。
现在美术馆免费参观了,可能是最后一天展览的关系,门口没什么人,都不用提前预约,在售票口领票,交给几步以外的剪票人员就可以。里面不让拍照,所以就从美术馆网站上弄些作品图片过来。
=================国画=================
▲刘海粟的黄山散花坞。即有古典山 ▲周昌谷的两个羊羔。着色不多,更加
水的风格,又有现代绘画的色彩感。 清爽,造型生动,而且构图简洁。 =================油画=================
▲程丛林的1968年×月×日雪。少有的描绘文革时期的作品,一个奇特的如同日记般的题目,真实地记述了那个年代发生的一场悲剧。
▲罗中立的父亲。为人所熟知的名作,接近照片的写实效果。
=================水彩和水粉=================
▲刘昌明的一个教师的工作台。利用了拼贴和传统水彩画写实的手法相结合创作的现实主义作品。
▲关广志的天坛祈年殿。地面上斑驳的光影给画面凭添几分梦幻动感。
▲萧淑芳的丁香花。利用水彩的特点,表现出侧逆光中闪烁的斑斓花枝,清新、灿烂。
=================版画=================
▲梁永泰的从前没有人到过的地方。高山、深谷、火车、野鹿,内容很丰富的作品。 7月6日 纪念将要毁灭的扇子5月4日 元代青花瓷器展览 利用假期又去了次首都博物馆,看了那个青花瓷的展览。感觉展品太少了,好看的不多,最好看的那几个多数还是人家伊朗提供的。这里就贴一些照片给各位看看,喜欢的可以去现场。不过这个算特展,免费申请的票不能用,不太值。
![]() ▲青花四爱图梅瓶。四爱指:王羲之爱兰、陶渊明爱菊、周敦颐爱莲、 林和靖爱梅鹤。 ![]() ▲青花缠枝菊花牡丹纹托、盏。物件小巧,绘制的可是一丝不苟,小中见大。这是在北京旧鼓楼大街出土的,离我们家不远。 ![]() ▲青花花卉纹出戟觚(音:孤)。这是用青花瓷仿商周时期的青铜制品,并在腹部做了出戟的修饰。 出土于北京新街口外元大都遗址,又是离我家不远的地方。早知道小时候就不捞鱼捉虫了,应该拿小 铲儿四处挖挖。 ![]() ▲青花海水龙纹八棱带盖梅瓶。画的很有气势,4条龙用留白的形式, 海水和火焰则纷繁而又潇洒。 ![]() ▲青花蓝地白花双凤纹菱花口大盘。伊朗国家博物馆提供。既有中国传统的凤纹和花卉,又有阿拉伯的同心圆构图。这么大的盘子也体现出当地的饮食特色。 ![]() ▲青花蓝地白花云肩凤纹菱花口大盘。也是伊朗国家博物馆的,所以我说最好看的多数是伊朗提供的。从这两个大盘子可以看出,元代广阔的疆域对文化艺术的交流也产生很大影响,远在伊朗都有这么鲜明的中国艺术特色。 ![]() ▲青花莲塘双鱼纹折沿圆口大盘。这里的两条鱼画的很生动,让人联想起那个渔盆的动画片。 4月28日 久违的话剧 已经很久没有去看话剧了,听说朋友有富余票,正好不用加班,抓紧时间跑过去看了。
剧名是《李小红》,戏逍堂演的。讲述了70年代几个中学生打架、早恋、以及生离死别。里面的服装道具比较符合当时的情况,只有板砖看着有点儿假,可能因为要往脑袋上拍吧,真出人命就不好了。演员的表演也不错,把人物个性表现的淋漓尽致。再加上话剧这种形式本来就有比较强的交流性和带入感,仿佛给观众来了一次短距离穿越。尤其对于70年代的人来说,可能更有午夜梦回般的体验。
我生在70年代后期,对于戏里的东西,很多只是有耳闻,并未亲见。小学时候听说有劫钱的,从来没遇到过,只有一个其他班的同学说,他被人劫过5分钱,说是为了坐车回家。这种程度算不算劫呢?小时候迷惑过,现在也不太清楚。小学1年级我记得打过一架,可能是到目前为止最后一次打架。对方叫来个高年级的,我的结果就比较惨了。后来学校怎么处理的没什么印象,好象有让我去指认跟我打架的人。不过现在回想起来,我在当时好象并不记得打架人的样子,没准儿指认错了,就对不起那哥们儿了。回忆过去的话,总觉得人生就是在迷惑和犯2中度过的。
回忆又好象吸毒,过去的人,过去的事,在回忆中感觉很美好。然而一旦停止回忆,思想从过去回到现实的时候,失落感就如潮水般扑上来,让人如酒醉,站立不稳,几乎要躺倒下去。
故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。 2月3日 春节假期海鲜晚餐工作太忙,很久没仔细研究做饭了。难得春节放假,把家人从大连带回来的海鲜在家自己做了做。
其实主要就一道菜:炒海螺肉。其他的都是头天就做好了,拿来蒸蒸而已。
炒海螺肉
海螺买回来先清洗一遍,把外壳和出壳的地方的附着物去掉,然后上锅蒸熟,但不要蒸的时间太久。
然后把海螺肉从壳里“转”出来,就是转着圈的往外拉。尾巴那里要去掉,那是内脏部分,不吃比较好。
下面要去掉“海螺脑”,否则吃了容易头疼。这个环节比较麻烦,好象做手术。请参考下图进行操作。
▲剥出来的海螺肉,从箭头指示的地方揭开外层肉,打开里面的肉。
▲找到一片发白的地方(用圆形标记出),从边缘处下刀切出个口。
▲切出口以后稍微挤一下就能看到白色的海螺脑露出来。
▲继续用力将海螺脑完全挤出来。
▲海螺脑有两块,第二块要往深处挖一挖才能找到。
收拾干净以后把海螺肉切成片,因为头那里比较硬,所以切薄一些比较好。后面软的部分可以厚一些。
配菜我用的蒜苗,带一些蒜味可以去腥。
炒锅烧热放油,放少许辣椒炸到刚出辣味,放葱、蒜一起爆香,然后下海螺肉翻炒几下,再放蒜苗大火炒,加鸡精和少许酱油,炒到蒜苗不辣了即可出锅。
▲样子不太好看,味道还可以。
▲其他海鲜,做法以前写过,就不重复了。
▲整个晚餐,吃的很撑。 9月7日 linux系统字符集影响TOMCAT运行,造成页面HTML代码输出不全OS:REDHAT LINUX AS4
TOMCAT:5.5.3
JDK:1.5.0_12
随着网站访问量的加大,一个奇怪的现象引起我的注意。某些页面下部的文字或者按钮没有显示,有时候页面中会显示出一些HTML标签。这种情况并不是每次都出现,在访问量比较大的时候可能性大一些。查看页面代码发现HTML代码在某个位置被截断了,后面的都没有输出?!于是写在未输出部分里的文字或者按钮自然不能显示,而一些标记因为缺少对应的结束标记,所以被显示出来。
这个问题我觉得很诡异。作为TOMCAT这么一个长期发展项目,出现这种情况而没人发现是不应该的。但是用GOOGLE查遍中文、英文站点,都没有找到合理的解释。一般都是说因为程序出错,所以JSP页面不能完全输出。但是在TOMCAT的日志里没有任何异常。
为了能稳定的重现这种问题,我找到一个根本不用动态输出的页面(也是JSP)来研究,发现如果使用80端口访问,经由APACHE转给TOMCAT处理,输出的页面完整;如果使用8080端口直接提交给TOMCAT,输出的HTML就不全;如果将页面内的JAVA代码全部去掉,只保留<%@ page language="java"%>,则页面显示乱码,HTML输出完全,且可以通过修改浏览器编码的方式显示出正常的中文。
通过这些现象,我判断应该是TOMCAT的问题,而且和编码方式有关系。我们知道JSP页面上的pageEncoding和contentType的charset 是指定不同的编码方式,前者指定JSP在被编译时使用的编码,后者指定JSP被输出时使用的编码。因为开发都在WINDOWS上做的,所以JSP文件的编码都是GB2312,指定pageEncoding=GB2312或者pageEncoding=GBK 应该都没问题,但只要一加上就会输出不全,页面被截断。我因此怀疑TOMCAT和JVM不能完全协调,很可能就是在对中文的编码方面。比如JVM便宜JSP的时候根据指定的pageEncoding进行了编码,而TOMCAT则对JSP采用另一种编码,二者计算出来的页面字节数不同,TOMCAT按照自己计算的字节输出,结果没输出完就给截断了。当然这只是我的推测了,国外的人很少有遇到中文编码的情况,国内的资料又没有,就先提出这么个假设吧。
然后我去研究TOMCAT的配置文件server.xml,里面说TOMCAT运行时使用的是与操作系统相同的字符集。我忽然想到这个LINUX不是我亲手装的,是让一个新手装的,本来想让新人练练手,后来发现他把LINUX的默认字符集设置成中文了。打开/etc/sysconfig/i18n查看:
[root@localhost ~]# vi /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
SUPPORTED="zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="latarcyrheb-sun16" 把LANG="zh_CN.UTF-8"改成LANG="en_US.UTF-8"
重起服务器之后再测试那JSP,发现80端口访问依然正常,但是8080访问的时候超级慢,而其他页面在访问量很大的时候也不出现页面显示不全的现象了。
老问题解决了,新问题出现了,实在是很让人诧异。为什么TOMCAT会出这种问题呢?也许是我用的版本不好,5.5.3有些低了,以后用高版本或者用6.x试试。如果还出这种问题,也给写个BUG REPORT吧。让TOMCAT项目组重视一下中文问题!
如果哪位也遇到了类似的问题,希望能交流一下解决的经验。 8月18日 家庭自制鱼翅汤+烤鸡翅 “吃货”团队中的朋友贡献出一盒鱼翅和大家分享,制作的任务就由我负责了。正好人家还有电烤箱,在家自己烤鸡翅,飞禽游鱼都有,算得上是丰盛的一餐。
●鱼翅汤
以前从来没做过鱼翅,就在网上查了很多资料,结合自己这次的制作经验,总结有以下几点需要注意
1.干鱼翅这种食材,和干鲍鱼、燕窝什么的类似,自己本身的味道不明显,提供的是一种口感,味道主要靠其他食材来提供。所以在制作的时候要注意配料的选择,自己在家做的时候不要太杂,弄些能提鲜的东西就成。
2.干鱼翅可以分几类,在前期准备的时候要区别对待。有的是大个儿的,有的是小个儿的,有的经过精加工,有的没有。
没有经过精加工的鱼翅有沙子、骨头、软骨甚至腐肉,要去干净。网上的介绍说,就是反复在冷水和热水里浸泡,出热水以后刮沙子和剔骨头,弄干净了再做。精加工过的就不必这么麻烦了,比如这次这盒就已经去了沙子,只有一些软骨,用冷水泡2到4小时以后,下开水烫2分钟捞出来,软骨就基本和肉脱开了,用手抠下来即可。
大个儿的鱼翅一般比较老,在浸泡的时候需要时间长一些,比如冷水4小时,开水煮2小时,冷水2小时,开水煮1小时……重复几次,最后要达到杂质去除干净,肉质恢复柔软的结果。小鱼翅往往比较嫩,浸泡的时候不能在热水中时间太长。我做的这次用冷水就可以把鱼翅泡软,为了去骨头才下的开水。没有软骨的话用冷水泡1晚,或者泡5、6个小时以后用温水泡1、2个小时就差不多了。
3.干鱼翅还有一些腥味儿,在浸泡过程中最好加一些葱和姜,但是在制作过程中就不用加了。
鱼翅汤具体制作过程:
干鱼翅用冷水泡2到4小时,回软。
沙锅里放葱姜加水烧开,回软的鱼翅下水烫2分钟捞出来,软骨就基本和肉脱开了,比较方便去掉。
沙锅里的葱姜捞出不要,放一块浓汤宝,再次烧开以后放入火腿条(火腿质量越高味道越好)和蘑菇,大火烧半小时。
最后放入弄干净的鱼翅,改中火,熬上两小时就可以了。最后出锅的时候根据个人口味放盐调味。
▲ 熬好的鱼翅汤,看上去还可以吧。
鸡翅以及骨肉相连:
▲烤箱鸡翅时间长一些水分才会出去。 ▲ 骨肉相连要买奥尔良口味的,这样的不好吃 8月10日 首都博物馆“中国记忆”等展览 首都博物馆盖起来也挺长时间了,一直没去过,听说最近展览不错,就利用假期去逛了逛。
先说一下位置,地址是复兴门外16号,在长安商场斜对面,地铁1号线南礼士路和木樨地站之间,靠近后者。提前3天在网上预约可以免费参观普通展览,注意预约后还要在门口免费领票。想看特展(比如这次的“中国记忆”就是特展)可以拿着免费的普通票去加钱换通票,可以节省一些钱。
▲ 特展“中国记忆”的入口。
“中国记忆”这个展览还不错,全国很多博物馆都有送藏品过来,不乏精美的珍品,看着比较过瘾。这次的展览允许拍照,但不能使用闪光灯,我那A570拍着有些吃力。加上人多,挤来挤去的,拍的模糊就请凑合看吧。
▲ 有鹰的造型的陶尊,看上去憨态可鞠。这是公元前3000年左右的东西。
▲ 这个车做的很精巧,除了各种装饰造型以外,还有个小门,据说可以开关,甚至车轮和顶部的鸟都是可以转动的。
▲ 各种各样的玉佩,而且应该是和人“盘”过很久的。
▲ 造型奇特的玻璃制品,据说是用罗马吹管技术制作的,经过丝绸之路进入中国。可惜不知道是做什么用的。
除了特展,同时举办的其他展览也浏览了一下,精品也一起贴出来吧。应该注意的是,这次的展览有些是仿制品,你会看到同一样东西在两个不同的展览里同时出现。我觉得组织者应该更详细的加以说明,区分真品和仿制品。
▲ 相当精美的瓷观音。 ▲ 很漂亮的一对瓷瓶。
▲ 几乎是透明的一对玉碗,雕有淡淡的花纹。 ▲ 明陵出土的装饰,中间最大的那块就是所谓
的“猫眼石”。
最后提醒想去看的人,展览虽然好,但是观众太多了。北京的最好等奥运结束以后,该回家的人都回家了,再来看这展览。 7月27日 IPTABLES配置举例 上一篇已经写了怎么编译内核增加connlimit模块,这里给一个IPTABLES的配置文件作为例子,类似的功能可以自己加。
需要注意的是,如果给WEB服务器配置了比较高的安全级别,比如对于输入包(INPUT)默认拒绝接受(DROP),则必须考虑到连接的双向问题。也就是说,如果服务器主动与另外一台服务器建立连接,比如连接数据库,或者用域名访问其他站点时需要与DNS服务器建立连接,类似这些情况都需要接收对方服务器的数据,会受到防火墙的影响,必须考虑是否需要专门配置过滤通道,免得无法接收数据。
另外还要注意各种过滤规则的匹配流程,整体的顺序是在配置文件中设置的条件按照从上到下逐一匹配。我们常用的接受(-j ACCEPT)和拒绝(-j DROP)这种类型的过滤条件都是匹配到即执行,然后跳出流程不做其他条件的匹配了。有些规则的操作执行后并不跳出流程,而是继续向下进行匹配,比如-j LOG和-j MARK,只是目前我还没有用到。如果所有规则都没有匹配到,就执行默认的操作。具体流程可以参考下图:
以下是我做的配置,首先打开配置文件,直接对内容进行编辑:
vi /etc/sysconfig/iptables
###########以下为文件内容,IP地址数值使用☆代替###########
# Generated by iptables-save v1.2.11 on Thu Jul 17 19:39:41 2008 *filter :INPUT DROP [488:44294] #对接收到的输入包,默认为不接受,除非符合下面的规则。
#[xxx:xxx]代表[符合规则的包数:符合规则的包的字节数]
:FORWARD DROP [0:0]
#默认转发包都做转发
:OUTPUT ACCEPT [3348:636912]
#默认输出包都输出
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s ☆.☆.☆.☆/32 -j ACCEPT
#接收到的来自☆.☆.☆.☆的所有包都接受,保证连接数据库服务器正常
-A INPUT -s ☆.☆.☆.☆/32 -j ACCEPT
#将接收到的来自☆.☆.☆.☆的所有包都接受,保证连接DNS服务器正常
-A INPUT -s 127.0.0.1 -j ACCEPT
#将接收到的本机自己发送的包都接受
-A INPUT -p tcp -m tcp -s ☆.☆.☆.☆ -j ACCEPT
#将接收到的☆.☆.☆.☆所有的TCP包都接受,保证本公司连接不受限制
-A INPUT -m conntrack --ctstate INVALID -j DROP
#将所有不正常的包都丢弃
-A INPUT -p tcp -m connlimit --connlimit-above 10 --connlimit-mask 24 -j DROP
#限制所有C类IP的TCP连接数最大为10个,超过的丢弃
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#接受80端口的TCP包,开通WEB服务
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
#接受22端口的TCP包,开通SSH
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
#接受8080端口的TCP包,可以直接调用TOMCAT
-A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
#限制IP碎片输入为每秒100个包,防止IP碎片攻击
-A INPUT -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT
#连续接受10个PING包以后,限制每秒只接受1个PING包
-A FORWARD -m conntrack --ctstate INVALID -j DROP
#不转发不正常的包
-A FORWARD -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT
#连续转发10个PING包以后,限制每秒只转发1个PING包
-A OUTPUT -p tcp -m tcp --sport 31337 -j DROP
#禁止31337端口发送TCP包
-A OUTPUT -p tcp -m tcp --dport 31337 -j DROP
#禁止朝其他机器的31337发送包
COMMIT
# Completed on Thu Jul 17 19:39:41 2008
IPTABLES的配置文件修改以后需要重起服务使规则生效:
service iptables restart
查看当前过滤规则可以用以下命令: iptables -v -n -L 查看设置的规则,以及符合各个规则的包、数据流量。 以上配置可以在一定程度上防御DOS攻击。 LINUX_ AS4编译内核connlimit模块,用IPTABLES防御DOS攻击 上上周服务器总是受到流量攻击,查看连接数都比较大:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看各种TCP连接的数量
netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $4}'|sort |uniq -c|sort -r +0n
查看各个IP地址ESTABLISHED(已经建立的)连接的数量
netstat -an|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort |uniq -c|sort -r +0n 查看各个IP地址SYN(正在建立中的)连接的数量
对于这种情况,短期内可以采用禁止连接数太大的IP访问的方法,但需要管理员随时注意监控。如果遇到大规模的DOS(拒绝服务)或者DDOS(分布式拒绝服务)攻击,正规一些的做法需要配置流量防火墙。但是对于拒绝服务类的攻击,目前没有特别有效的解决方案,只能是对访问请求包进行过滤,对于连接数量过大的IP加以阻止。拒绝服务类攻击也有多种方式,具体区别请自行查阅。
要提高防御DDOS攻击的效果需要软件、硬件防火墙相互配合,所以最好联系机房做硬件防火墙配置。这里只提供本机用IPTABLES做软件防火墙的方法。
目前的LINUX内核版本已经是2.6.x,防火墙工具也改为iptables,以下是各个内核对应的防火墙工具 Linux 2.4.x and 2.6.x iptables Linux 2.2.x ipchains Linux 2.0.x ipfwadm 需要理解的一点是,IPTABLES是设置工具,真正的防火墙是netfilter,是包含在内核中的一个模块,IPTABLES是用来配置内核中这部分功能的一个工具。正是因为防火墙集成在内核中,效率比较高,但升级和修改比较困难,需要升级内核和设置工具,也就是重新编译内核、升级IPTABLES。 准备工作:
确保已经安装各种编译工具,建议在安装LINUX的时候将所有开发工具都选上。 最重要的是研究内核版本、connlimit模块版本、IPTABLES版本之间的兼容性。在LINUX系统中,兼容性是很难掌握的,即使微小的版本差异,也可能造成编译失败等情况。而版本的更新更是相当频繁,IPTABLES基本上每天都更新…… 本次的升级操作是以REDHAT LINUX AS4为基础(内核版本2.6.9-22.ELsmp),connlimit需要2.6.11以上的内核。实际采用的搭配是:linux-2.6.15(内核)+iptables-1.3.5-20061006(IPTABLES)+patch-o-matic-ng-20060725(包含connlimit模块的补丁集合)。 下载地址: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.gz ftp.netfilter.org/pub/iptables/snapshot/iptables-1.3.5-20061006.tar.bz2 http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20060725.tar.bz2 注意所有地址都不要死记硬背,最好从根目录逐步找进去,因为目录结构可能修改。 压缩包下载以后放在/usr/src/目录下解开
tar -gxf linux-2.6.15.tar.gz bunzip2 -d iptables-1.3.5-20061006.tar.bz2 tar -xf iptables-1.3.5-20061006.tar bunzip2 -d patch-o-matic-ng-20060725.tar.bz2 tar -xf patch-o-matic-ng-20060725.tar 修改补丁里的配置文件
vi patch-o-matic-ng-20060725/patchlets/connlimit/linux-2.6.11/net/ipv4/netfilter/Makefile.ladd 将obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o 改为obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o 给内核以及IPTABLES的源码打补丁
进入补丁包patch-o-matic-ng-20060725的目录,里面有runme脚本。然后给出内核源码和IPTABLES源码的路径再执行: KERNEL_DIR=/usr/src/linux-2.6.15 IPTABLES_DIR=/usr/src/iptables-1.3.5-20060725 ./runme connlimit 会显示一个字符界面的提示信息,如下: Welcome to Patch-o-matic ($Revision: 6577 $)! Kernel: 2.6.18, /usr/src/linux-2.6.18.8
Iptables: 1.3.5, /usr/src/iptables-1.3.5-20060725 Each patch is a new feature: many have minimal impact, some do not. Almost every one has bugs, so don't apply what you don't need! ------------------------------------------------------- Already applied: Testing connlimit... not applied
The connlimit patch: Author: Gerd Knorr <kraxel@bytesex.org> Status: ItWorksForMe[tm] This adds an iptables match which allows you to restrict the
number of parallel TCP connections to a server per client IP address (or address block). Examples:
# allow 2 telnet connections per client host
iptables -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT # you can also match the other way around:
iptables -p tcp --syn --dport 23 -m connlimit ! --connlimit-above 2 -j ACCEPT # limit the nr of parallel http requests to 16 per class C sized
# network (24 bit netmask) iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 16 \ --connlimit-mask 24 -j REJECT ----------------------------------------------------------------- Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] 输入y,回车,即可在内核与IPTABLES的源文件里加入connlimit模块代码。
然后编译内核。进入内核源码目录linux-2.6.15,然后执行 make mrproper make clean make menuconfig 这时会出现一个内核模块选择的界面,用空格可以切换模块编译形式,[*]为加入内核,[M]为以模块形式使用。有些是有详细设置的,按Enter进入,双击Esc可以返回上一级。 我们需要依次进入 Networking -->Networking options -->Network packet filtering(replaces ipchains) -->IP: Netfilter Configuration 找到Connections/IP limit match support项(应该在最下方),并设置为[*] 然后保存退出,继续执行编译 make bzImage make modules make modules_install make install 如果没有报错(warning“警告”问题不大),在/boot下就已经有了编译过的内核程序,在重新启动时会增加内核选项,可以选择新内核或者老内核启动。万一新内核不能启动,记得选回老的,设法重新编译。 然后编译新的IPTABLES。进入源码目录iptables-1.3.5-20060725执行: make KERNEL_DIR=/usr/src/linux-2.6.15 make install KERNEL_DIR=/usr/src/linux-2.6.15 make install-devel 这样所有编译工作都结束了。但如果选择新内核启动会失败,需要把SELinux禁止掉。这可能是老的SELinux版本不能与新内核兼容造成的,以后还是用LINUX AS5做操作系统比较保险。 禁止SELinux的方法: vi /etc/selinux/config 把SELinux的选项改为disable或者permissive。 将新内核作为默认启动内核方法:(注意,一定要确定新内核可以启动再执行) vi /boot/grub/grub.conf 找到在开头部分的default=x(x是一个数字),数字代表下面的内核序号,由上到下,从0开始。默认的是老内核,新内核一般加在最前面,也就是把default=0就可以了。 重新启动之后,就可以使用IPTABLES来设置访问限制了,可以限制同一IP的连接数。 6月2日 户外烧烤 利用休息日和同事一起去烧烤,准备了鸡翅、骨肉相连、腰子、红薯、杏鲍菇、大蒜、茄子、馒头,吃的挺爽。
鸡翅:
从超市买来日式烧烤酱,调入少量花椒、适量红酒、蜂蜜,对鸡翅进行淹制,一夜即可。
烤的时候等鸡翅变金黄以后,再刷一遍烧烤酱,烤一会儿就能吃了。想吃辣的就加辣椒面。
▲烤好的鸡翅,蜜汁口味和微辣的。
腰子:
买来的腰子需要去掉里面的筋。整个腰子平着片成两半,可以看到里面白色的筋分散的很广,用手撕加用刀割,尽量去除干净。
水里加料酒,少量花椒,盐。把腰子洗干净以后泡进去,放在冰箱里保存。
烤之前切成块,串起来。在烤到7、8成熟的时候加盐、孜然、辣椒面,然后一直烤到完全熟。
▲腰子、红薯、茄子、大蒜,相当丰富 ▲骨肉相连在超市里有半成品卖,解冻以后直接烤
烤蘑菇、红薯:
蘑菇切成片,刷一点儿油,烤到快熟的时候刷烧烤酱,味道也很好!
红薯不用刷酱,直接烤就可以,水分蒸发以后香甜可口。
▲蘑菇刷些油和酱,口感更好!
5月25日 “古典与唯美”欧洲19世纪画展4月29日 立水桥的海鲜市场也很好 之前在电视上看到介绍,北边的立水桥附近也有海鲜市场了,利用周末特意去考察了一番。
坐5号线在立水桥下,往回走1站地,或者在立水桥南下,往北走一站,路西边就是。不是紧靠路边,但可以看到招牌。
进去下到地下,觉得不象市场,挺冷清的,还有好多卖菜的。但是闻着味道往里走,有一片卖海鲜的摊位,品种还是比较多的。虽然规模上不如南城的京深海鲜市场,但是东西还不错,常见的品种也都有,关键是也够新鲜。
买完了到门口就有加工的小饭馆,价格统一而且明码标注,还比较公道。一会儿工夫海鲜上桌了,吃起来口味相当好。
郑重推荐立水桥的海鲜市场!!!! 4月24日 webbrowser控件缓存问题邪道解决方法 最近使用VB6做一个简单的小软件,使用到WEBBROWSER控件来做个浏览器。但是缓存问题一直很难控制,总是显示缓存过的页面。查了很多资料,有关的信息就这么几条:
1,WEBBOWSER控件的缓存方式可以用IE来控制,也就是在IE[Internet选项]->[常规]->[Internet临时文件]的设置里去更改。但是作为一个独立运行的软件,不能让用户去IE里做设置。
2,本来WEBBROWSER的Navigate2方法提供了缓存控制参数:1,2,4,8,但实际上并没有实现这些参数的控制,所以是无效的。
3,可以用WINDOWS的API来删除缓存,但WEBBROWSER控件的缓存文件和IE放在一起,分不出来。API好象是根据条目序号来定位删除的文件,所以这种方法会把IE的缓存也删了。
这样一来,问题就不好解决了。但好在用这个软件主要浏览的站点是可以控制的,所以可以在两方面用邪道方法绕开缓存。主要是两步:
1,在VB程序里,执行WEBBROWSER的Navigate方法之前,把URL后面加一个CACHE参数,参数值用个随机数。这样一来,所有从VB程序直接写URL访问的地址都不一样了,从而避免缓存。函数如下:
==============================
Public Function ranURL(ByVal strURL As String) As String
Dim IMFlag As Integer Dim cacheNU As Long IMFlag = InStr(strURL, "?") '判断URL是否带参数 cacheNU = Fix(Timer()) '取时间做随机数 If IMFlag > 0 Then ranURL = strURL & "&cache=" & cacheNU Else ranURL = strURL & "?cache=" & cacheNU End If End Function ==============================
2,在服务器端页面里,所有页面上的链接全在后面加一个CACHE参数,也用一个随机数。这样保证在VB程序里点击页面链接访问的地址也都不一样。 4月21日 春季海鲜春天该吃海蟹和皮皮虾了,又去同事家腐败了一把。
这次除了螃蟹、皮皮虾、青虾、香螺、蛏子以外,还尝试着做了海胆蒸鸡蛋和豆豉蒸扇贝。
海胆蒸鸡蛋:
海胆翻过来,用剪子先把嘴附近的刺剪掉一圈,并清理一下碎茬。然后用剪子绕着嘴把外壳剪开,挑出嘴来,控掉里面的血水。
鸡蛋打碎,加盐、味精,倒进海胆里。然后上锅蒸,开锅以后用小火,免得鸡蛋飞出来。等鸡蛋凝固了就可以吃了。
总结:应该把海胆里面用水清理一下,要不沙子太多了。另外鸡蛋里应该少放盐,这次做的咸了。以后还是找个厚手套戴吧,手指头要成蜂窝煤。
其他的海鲜以前写过制作方法,这次就光上图了
被称做“螃蟹开会”的照片,6只螃蟹有5只黄很足,哈哈。
皮皮虾。这次的虽然也有黄,但是还觉得不够肥。就是比较新鲜,吃着嫩。 4月7日 尖椒蛤肉+葱烧海参放假时候总算有些时间做菜了。
超市里看到干蛤蜊肉还不错,买来本想用青椒炒,可惜楼下小店没有卖青椒的,只好用尖椒,比较辣。
正好家里还给了几个海参,冰鲜的,放了有段时间了,得赶紧吃了。就来次海鲜小宴。
尖椒蛤肉:
先要把干蛤蜊肉用水泡软,然后掐掉胃部的泥沙,再用水清洗几次,才能基本洗掉沙子。
尖椒里外都洗干净,切丝。
锅里放油用葱姜蒜爆香,下尖椒,大火翻炒,加鸡精、盐(少量)、糖,翻炒几下就放入蛤蜊肉,加料酒,再炒片刻即可,不能炒老了。
总结:因为怕辣,糖放多了,盖过了蛤蜊味道。
葱烧海参:
海参解冻之后清洗干净,给我的是已经去内脏的,不用怎么处理了,切成段就可以。
大葱切斜段,黄瓜切斜片,不要太薄。我不喜欢吃熟黄瓜,打算最后放黄瓜,翻两下就得,切厚点儿更不容易熟透。
锅里放油用姜蒜爆香,下葱段,稍加翻炒下海参段,加料酒,翻几下之后加鸡精、生抽酱油,加盖子中火小闷一下。
淀粉勾欠,然后下黄瓜,翻炒几下就出锅。
总结:海参更新鲜一点儿更好,欠汁多加一些更好
3月4日 VB6使用Toolbar控件制作工具栏,按钮图片不透明的问题 最近用VB6开发一个小软件,做好了菜单条和工具栏(toolbar控件+imagelist控件),发现在imagelist控件里加入的图片使用透明背景显示正常,一放到toolbar控件里就显示为白色了。查了很多地方都没有解决,后来研究出这么种方法:
1,制作透明背景的ICO图片
2,设置imagelist控件的usemaskcolor属性为true
3,将所有ICO文件加入到imagelist里之后,设置backcolor属性为&H00FF00FF&,maskcolor属性为&H00FF00FF&
4,将这个imagelist控件关联到toolbar控件里,设置好toolbar控件按钮索引和imagelist控件图片索引的对应关系,按钮就显示为透明背景。 最近看的DVD《名侦探柯南——给工藤新一的挑战书》
号称是柯南10周年纪念特别剧场版,采用真人扮演,实在是砸柯南牌子的作品。
本来柯南的动画人物形象就不合人体比例,非用真人演肯定觉得别扭。动画人物可以做出真人无法完成的夸张动作和表情,如果让演员去靠近动画,结果就是演的象疯子(尤其以毛利小五郎最明显)。
最大的问题在情节。这次的案件太简单了,很容易找到犯人,没什么悬念。虽然这几年柯南的案子越来越缺乏想象力,但剧场版里还没见过这么直白的。不如趁10周年就结束了吧,太敷衍观众。
《火线保镖》(枪战影片)
个人认为这个片子还可以,没什么深度,算不上经典,到还有些娱乐性。
片子节奏比较快,没快到波恩3那种程度,所以吃饭时候也能看。构思有些新意,神枪手+新生儿+喂奶妓女(第一次听说还有这种妓女),感觉好象狩人+NPC+白魔的组合,在做护送NPC的任务……
《死神狂吓》(安·斯通的各种死亡)
听人推荐这片子,看过之后感觉很一般。
也是类似《蝴蝶效应》那种多重人生的思路,但逻辑不如《蝴蝶效应》严谨,情节也比较单调。 |
|
|