| zy's profile张宇PhotosBlogLists | Help |
|
September 13 去除衣服污渍的38招同样一套精美漂亮的服装,有的人穿的时间长,且能常穿常新,风采不减。而有的人却恰好相反,穿着时间不长,却已斑迹点点、周身皱福、白色变黄。这里面的奥妙,就在于对服装是如何保护的,其中去污洗熨是关键。也有的人一双皮鞋穿不了多久,便褪色变形、“满身疮痰”。皮鞋应当怎样养护,旧皮鞋能不能翻新“回春”呢?下面就服装以及鞋袜、首饰等6个分类、119个项目,向读者介绍179个小窍门,就服饰的去污、洗涤、熨烫、修补。保管保养等几个方面,比较详细地讲述了诀窍,为读者提供服务。 服装除污 1.除咖啡、茶渍三法 衣服上洒上咖啡或茶水,如果立丑口脱下用热水搓洗,便可洗干净。如果污渍已干,那就要用较复杂的办法洗涤了。 ①用甘油和蛋黄的混合溶液涂拭污渍处,待稍千后,再用清水洗涤即可。 ②先用甘油涂在污渍处,再撒上一些硼酸粉,然后浸入开采中洗涤即可除污渍。 ③用稀氨水、硼砂和温开水涂擦,也可除去污渍。若是羊毛混纺织品,不需滴氨水,只用10%的甘油溶液洗涤即可。 2.除酒渍 如果是刚染上的色酒、啤酒或其他酒渍,用清水就能洗去。若是陈迹则必须放在加有氨水的硼砂溶液内,才能去除。 3.除果汁渍兰法 ①新染上的果汁,可先撤些食盐,轻轻地用水润湿,然后浸在肥皂水中洗涤。 ②对于轻微的果渍可用冷水洗除,一次洗不净,再洗一次,洗净为止。污染较重的,可用稀氨水(1份氨水冲20份水)来中和果汁中的有机酸,再用肥皂洗净。呢绒衣服可用酒石酸溶液洗:丝绸可用柠檬酸或用肥皂、酒精溶液来搓洗。 ③在果汁渍上滴几滴食醋,用手揉搓几次,再用清水洗净。 4.除柿子渍 新渍,用葡萄酒加浓盐水一起揉搓,再用肥皂和水清洗,或用5%稀氨水和洗涤剂一起揉搓,然后用水漂洗干净。丝绸织物则用10%柠檬酸溶液洗涤。 5.除泡泡糖渍 用汽油或酒精擦洗即可去除。 6.除口香糖渍 将粘有口香糖而难以洗除的衣物,放入冰箱的冷藏格中冷冻一段时间,糖渍变脆,用小刀轻轻一刮,就能剥离干净。 7.除冰淇淋溃 用汽油即可擦洗干净。 8.除酱油渍 在温洗衣粉溶液中加少量氨水和硼砂,再将织品搓洗,即能去除。 9.除番茄酱渍. 将干的污渍刮去后,用温洗衣粉溶液洗净。 10·除鸡蛋渍 如果鸡蛋液污染了衣服,应等污迹干后,再用蛋黄和甘油融混合液擦拭,然后再把衣服放到水中清洗即可。 11.除动植物油渍 衣服上被动植物油污染后,挤点牙膏于渍处,轻轻擦几陬,再用清水搓洗,油污即可清除。 12.除咖喱油渍 用5%浓度的次氯酸钠洗后,再用清水洗净。 13.除蟹黄渍 可在已煮熟的蟹中取出白鳃搓拭,再放在冷水中用肥皂洗涤。 14.除圆珠笔油渍 将污渍用冷水浸湿后,用苯丙酮或四氯化碳轻轻擦去,再用洗涤剂、清水洗净。不能用汽油洗。也可涂些牙膏加少量肥皂轻轻揉搓,如有残痕,再用酒精擦拭。 15.除红墨水渍 先用洗涤剂洗,然后用10%的酒精擦洗,再用清水洗净。也可用0.25%的高锰酸钾溶液清除。用芥子末涂在红墨水迹上面,经过几小时,红墨水迹也会消退。 16.除蓝墨水渍 新污染的衣物可先在冷水中浸泡,然后用肥皂搓洗。陈迹则要放在2%的草酸溶液中浸泡几分钟,然后用洗涤剂洗除。 17.除墨溃 先用清水洗,再用洗涤剂和饭粒一起搓揉,然后用纱布或豫脂棉一点一点粘吸。残迹可用氨水洗涤。也可用牙膏、牛奶等擦洗,再用清水深净。 18.除复写纸、蜡笔色渍 先在温热的洗涤剂溶液中搓洗,尔后用汽油、煤油洗,用酒精擦除。 19.除印油渍 用肥皂和汽油的混合液(不含水)浸漂或涂在色渍上,轻搓洗,使其溶解脱落,再用肥皂水洗涤,用清水漂净。若经过肥皂洗涤,油脂已除,颜色尚在,应作褪色处理。要用漂白粉自保险粉(用于真丝衣物的)来消除颜色渍。 20.除汗渍五法 ①先用喷雾器在有汗渍的衣服上喷上一些食醋,过一4儿再洗,效果特别好。 ②将冬瓜一块捣烂,倒进布袋中,将其液汁挤出,用来洗沾有汗渍的衣服,然后再用清水漂净。 ③在清水里加几滴氨水,把有汗渍的衣服放进去漂洗一下,再用清水洗净。 ④把汗渍衣服放在5%的食盐水中,浸泡1小时,再轻揉搓,用清水洗净。 ⑤把生姜切成碎末,放在衣服汗渍上搓洗,然后用清水女净。 21.除血、奶渍二法 ①胡萝卜研碎拌上盐,涂在沾有血、奶渍的衣服上揉搓再用清水漂净 ②衣服上沾有血、奶迹,先用生姜擦洗,然后蘸冷水搓拶可不留痕迹。 22.除尿渍 刚污染的尿渍可用水洗除。着是陈迹,可用温热的洗衣%(肥皂)溶液或淡氨水、或硼砂溶液搓洗,再用清水漂净。 23.除油渍 翻毛衣,若沾上油渍,可在油渍处适当撒些生面粉,再棕刷顺着毛擦刷,直至油渍去掉。然后,用藤条之类拍打毛隐,去掉余粉,使毛绒蓬松清洁。滑雪衫若沾上油渍,用冷水把少许面粉冲调成浆糊状,涂油渍处,几小时后,用刷子蘸水刷去粉末,油渍就会消失。 24.除黄泥渍 衣裤上有黄泥斑痕,先用生姜汁涂擦,再用清水洗涤,黄簿会立刻褪去。 25.除胶类溃 灯芯绒衣物上沾有胶类等物时,可用清水浸泡后轻轻擦融,切忌干搓,以防拔掉绒毛。 26.除霉渍四法 ①梅雨季节.,洗好的衣服不易晒干,常有一股难闻的霉昧。若将衣服放在加有少量醋和牛奶的水中再洗一遍,便能除去霉味。若收藏的衣服或床单有发黄的地方,可涂抹些牛奶,到太阳下晒几个小时,再用通常的方法洗一遍即可。 ②如果呢绒织物上有了霉迹,须先将其挂在阴凉通风处晾干,再用棉花蘸少量的汽油在霉迹处反复擦拭即可。 ③新长的霉斑,先用刷子刷,再用酒精清除。陈旧霉斑需涂上氨水,放置一会儿,再涂高锰酸钾溶液,最后用亚硫酸氢钠溶液浸湿并用水冲洗。以上处理过程,要防止霉斑扩散。 ④皮件(皮衣、皮手套等)上长了霉,不宜用湿布揩,最好晒干(或烘干)后把霉刷掉。为了防霉,可配制一些药水,成分是对硝基酚(可在化工商店买到)3份、肥皂10份、水100‰,溶解后涂在皮件上,晾干即可。 27.除锈渍 用1%的草酸溶液擦拭衣服上的锈渍处,再用清水漂洗。 28.除漆渍二法 ①乘油漆未干,先用煤油反复涂擦,再涂擦一些稀醋l(不用醋酸也可以,只是效果要差些),最后经水洗,即可除去干了的油漆迹较难除去,有一种简单的方法:锅内加2.5公斤水、100克碱面和少许石灰,把衣服放到里面煮20分钟,取出后用肥皂洗净,油漆便会脱落。要注意的是:有色的衣服最不用此法,以免脱色。 ②衣物上不慎沾上漆渍,用汽油、香蕉水(乙酸乙脂)l除,会影响衣料质地。最好的办法是用清凉油涂拭:在漆渍处正反面涂清凉油少许,隔几分钟,用棉花球顺衣料的纹擦拭会收到理想的效果。 29.除桐油渍 可用汽油、煤油或洗涤剂擦洗,也可用豆腐渣擦洗,然E用清水漂净。 30.除柏油渍 可用汽油和煤油擦洗。如没有汽油或煤油,也可将花4油、机油涂在被沾污处,待柏油溶解后,就容易擦掉了。 31.除蜡烛油渍 衣服上沾上了蜡烛油,用一般洗涤办法是洗不掉的。可;用刀片轻轻刮去衣服表面的蜡质,然后将衣服平放在桌子上让带有蜡油的一面朝上,在上面放一两张吸附纸,用熨斗反复熨几下即可。 32.除烟油渍二法 ①衣服上刚滴上了烟筒油;应立即用汽油搓洗,如搓洗l仍留有色斑,可用2%的草酸液擦拭,再用清水洗净。 ②一旦衣物上滴上烟油,要速取炉灰一小撮;均匀撤在上面,待片刻炉灰干后,清去炉灰,烟油自掉。如果衣物上的烟油。已干,而且时间较久,可先用清水浸湿油迹处,然后再取炉灰适量撒在上面,干后油渍即除。 33.除沥青渍 先用小刀将衣服沾有的沥青轻轻刮去,然后用四氯化碳融(药店有售)路浸一会,再放入热水中揉洗。还可用松节油反复涂擦多次,再浸入热的肥皂水中洗涤即可。 34.除青草渍 用食盐水(1升水加100克盐)浸泡,即可除掉。 35.除红药水渍 先用温洗衣粉溶液洗,再分别用草酸、高锰酸钾处理,最后用草酸脱色,用清水漂净。 36.除碘酒渍 先用亚硫酸钠溶液(温的)处理,再用清水反复漂洗。也可用酒精擦洗。 37.除药膏渍 先用汽油、煤油刷洗,也可用酒精或烧酒搓擦,待起污后用洗涤剂浸洗,再用清水漂净。 38.除高锰酸钾渍 先用柠檬酸或2%的草酸溶液洗涤,后用清水漂净。 September 11 Interpreter设计模式<?PHP
/**
*Interpreter设计模式(PHP)
*/
interface Node { public function parse(Context $context); public function execute(); } // <program> ::= PROGRAM <command list> class ProgramNode implements Node { private $commandListNode; //Node public function parse(Context $context) { $context->skipToken("PROGRAM"); $this->commandListNode = new CommandListNode(); $this->commandListNode->parse($context); } public function execute() { $this->commandListNode->execute(); } public function toString() { return "[PROGRAM " . $this->commandListNode . "]"; } } // <command list> ::= <command>* END class CommandListNode implements Node { private $list = array(); //Vector private $commandNode; //Node public function parse(Context $context) { while (1) { if ($context->currentToken() == null) { echo "Missing 'END'"; break; } else if ($context->currentToken()=="END") { $context->skipToken("END"); break; } else { $this->commandNode = new CommandNode(); $this->commandNode->parse($context); $this->list[] = $this->commandNode; } } } public function execute() { foreach($this->list as $key => $value) { $value->execute(); } } public function toString() { return "" . implode(",", $this->list); } } // <command> ::= <repeat command> | <primitive command> class CommandNode implements Node { private $node; //Node public function parse(Context $context) { if ($context->currentToken()=="REPEAT") { $this->node = new RepeatCommandNode(); $this->node->parse($context); } else { $this->node = new PrimitiveCommandNode(); $this->node->parse($context); } } public function execute() { $this->node->execute(); } public function toString() { return $this->node->toString(); } } // <primitive command> ::= PRINT <string> | SPACE | BREAK | LINEBREAK class PrimitiveCommandNode implements Node { private $name; private $text; public function parse(Context $context) { $this->name = $context->currentToken(); $context->skipToken($this->name); if (!$this->name=="PRINT" && !$this->name=="BREAK" && !$this->name=="LINEBREAK" && !$this->name=="SPACE") { echo "Undefined Command"; } if ($this->name==("PRINT")) { $this->text = $context->currentToken(); $context->nextToken(); } } public function execute() { if($this->name==("PRINT")) echo $this->text; else if($this->name==("SPACE")) echo(" "); else if($this->name==("BREAK")) echo "<br>"; else if($this->name==("LINEBREAK")) echo "<br>------------------------------<br>"; } public function toString() { return $this->name; } } class RepeatCommandNode implements Node { private $number; private $commandListNode; //Node public function parse(Context $context) { $context->skipToken("REPEAT"); $this->number = $context->currentNumber(); $context->nextToken(); $this->commandListNode = new CommandListNode(); $this->commandListNode->parse($context); } public function execute() { for($i = 0; $i < $this->number; $i++) { $this->commandListNode->execute(); } } public function toString() { return "[REPEAT " . $this->number . " " . $this->commandListNode . "]"; } } class Context {
private $tokenizer=array(); //StringTokenizer private $currentToken; public function Context($text) { $this->tokenizer = explode(" ", $text); $this->nextToken(); } public function nextToken() { $this->currentToken = array_shift($this->tokenizer); return $this->currentToken; } public function currentToken() { return $this->currentToken; } public function skipToken($token) { if (!($token == $this->currentToken)) { echo "Warning: " . $token . " is expected, but " . $this->currentToken . " is found."; } $this->nextToken(); } public function currentNumber() { $number = 0; $number = $this->currentToken; return $number; } } $arr = array(); $arr[] = "PROGRAM"; $arr[] = "PRINT begin"; $arr[] = "BREAK"; $arr[] = "REPEAT 3"; $arr[] = "REPEAT 2"; $arr[] = "PRINT dog SPACE"; $arr[] = "PRINT is SPACE"; $arr[] = "PRINT a SPACE"; $arr[] = "PRINT animal"; $arr[] = "BREAK"; $arr[] = "END"; $arr[] = "END"; $arr[] = "END"; $text = "PROGRAM REPEAT 4 LINEBREAK PRINT justin SPACE PRINT momor LINEBREAK END END";
//$text = implode(" ", $arr); $node = new ProgramNode(); $node->parse(new Context($text)); $node->execute(); ?> May 16 Iterator模式 2006年5月16日<?php
/** * @Iterator功能演示
* @author 张宇 2006-5-16
* @version 1.0
*/
interface i_Aggregate //集合类 { function iterator(); //Iterator`э } interface i_Iterator { function hasNext(); //boolean类型 function next(); //Object类型 } class Student { private $name; private $sex; //男:1 女:2 public function Student($pName,$pSex) //构造函数 { $this->name = $pName; $this->sex = $pSex; } public function getName() //取得姓名 { return $this->name; } public function getSex() //取得性别 { return $this->sex; } } class StudentList { protected $students; //Student[] students; private $last = 0; public function StudentList($pStudentCount) //构造函数-指定学生的个数 { $this->students = array($pStudentCount); } public function add(Student $pStudent) //增加一个学生 { $this->students[$this->last] = $pStudent; $this->last++; } public function getStudentAt($pIndex) //返回某个位置的学生 { return $this->students[$pIndex]; } public function getLastNum() //返回学生的数目 { return $this->last; } } class MyStudentList extends StudentList implements i_Aggregate { public function iterator() //Iterator类型 { return new MyStudentListIterator($this); } } class MyStudentListIterator implements i_Iterator { private $myStudentList; //MyStudentList类型 private $index; public function MyStudentListIterator(MyStudentList $list) { $this->myStudentList = $list; $this->index = 0; } public function hasNext() { if($this->myStudentList->getLastNum() > $this->index) { return true; }else { return false; } } public function next() //Student类型 { $s = $this->myStudentList->getStudentAt($this->index); //Student类型 $this->index++; return $s; } } abstract class Teacher { protected $sudentList; //StudentList类的实例 public abstract function createStudentList(); //建立一个学生列表 public abstract function callStudents(); //输出student } class VeteranTeacher extends Teacher { private $list; //MyStudentList类型 public function createStudentList() { $this->list = new MyStudentList(6); $this->list->add(new Student("张",1)); $this->list->add(new Student("常",2)); $this->list->add(new Student("刘",1)); $this->list->add(new Student("沈",1)); $this->list->add(new Student("李",2)); $this->list->add(new Student("蔡",1)); } public function callStudents() { $itr = $this->list->iterator(); //Iterator类型 while($itr->hasNext()) { echo $itr->next()->getName()."<br>"; } } } $you = new VeteranTeacher(); $you->createStudentList(); $you->callStudents(); ?> April 17 得到当前列的列号//得到当前列的列号 function getCurrentColNo(tdObject) { var tableObject = getTableRootByTd(tdObject); var current_row_no = getCurrentRowNo(tdObject); var current_row_td_num = tableObject.rows[current_row_no].cells.length; for(var i=0;i<current_row_td_num;i++) { if(tableObject.rows[current_row_no].cells[i] == tdObject) { return i; } } } 得到当前行的行号//得到当前行的行号 function getCurrentRowNo(tdObject) { var tableObject = getTableRootByTd(tdObject); for(var i=0;i<tableObject.rows.length;i++){ if(tdObject.parentNode == tableObject.rows[i]){ return i; } } } |
|
|