竹磬网-邵珠庆の日记 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier


2211月/130

正则表达式在线生成器

发布在 邵珠庆

对正则表达式很头疼,是不是?每次看到都觉得像看天书似的,别说让人自己整一个出来了。下面这个网站可以帮你生成正则表达式,而且还可以根据不同的语言生成不同的代码示例,很强大。 

http://www.txt2re.com/index.php3 

打开上面那个网页,你会看到有三步。 

第一步,输出你想匹配的一个文本示例,然后点“Show Machted”,于是进入第二点。 

第二步,当你看到那花花绿绿的界面是不要头大(那个配色也太可怕了),那是这个会把你的这个字串每个字符都拆出来,并把单词分隔。于是,你可以点击那些花绿格子间的链接来组织你的正规表达式。,比如:c表示任意字符,还有什么int,day,string之流的东西。(相当ugly的界面)在这一步,你一点要点点什么,不然不会进入第三步。 

第三步,选择一个编程语言,然后你可以看到相关的代码示例。语言支持:Perl  PHP  Python  Java  Javascript  ColdFusion  C  C++  Ruby  VB  VBScript  J#.net  C#.net  C++.net  VB.net (这么多) 

总之,这是一个很酷,但却界面很丑陋的在线的正则表达式生成工具。 

2111月/130

海底捞培训体系

发布在 邵珠庆

第一天:

 

一:海底捞三大目标

1、在海底捞创造一个公平公正的工作坏境;

2、致力于双手改变命运价值观,在海底捞变成现实;

3、将海底捞开向全国。

 

二:海底捞服务宗旨

1、细心、耐心、周到、热情

2、客人的每件小事要当成大事去做

 

三:海底捞员工四不准

1、不准给脸色给客人看,不准与客人争吵;

2、不准因客人的打扮而轻视客人、议论客人;

3、不准因与客人认识知道客人的过去而议论客人;

4、客人掉在餐厅的物品不能容纳为己有,因主动上交吧台。

 

四:海底捞的含义

1、对员工的解释

海:大海宽阔(品牌)无穷无尽;

2、底:海底捞用人的原则,每位员工必须从底层做起;

3、捞:综合素质,用勤劳的双手去改变自己的命运;

4、对客人的解释:海底捞的火锅有大海一样无穷无尽的食物,应有尽有给顾客品尝。

 

五:海底捞用人原则

必须是一位勤快的人,哪怕你再笨我们都愿去教你。

 

六:海底捞的14个岗位

店长、大堂经理、后堂经理(厨房)、吧台、门迎、司机、保安、骨干员工、收货、美甲(最优秀的员工)、擦鞋(最优秀的员工)、游乐园、电工、质检员工

 

七:培训基地对员工的要求

1、排队吃饭,必须排队,不准抢先;

2、节约粮食;

3、吃饭时脚不准踩踏桌椅,必须放在地上,如有违反清理所有饭堂桌椅;

4、打饭时必须给打饭的师傅说声“谢谢”;

5、未经批准不准离开培训基地,如有违反直接出名;

6、男生仪容要求:必须留寸头,剔须,剪指甲。

女生仪容要求:发不过眉,不准戴任何金银首饰,留指甲,已婚女士可以佩戴一个结婚戒指

 

八:上课要求

1、坐姿要不倚不靠,不翘腿;

2、上课时手机必须关机状态,如有违反培训师没收保管,培训结束后交还;

3、不准打瞌睡;

4、不准说话;

5、禁止抽烟。

 

九:宿舍要求

1、宿舍内员工自己选举宿舍长,一旦认可必须服从;

2、进入宿舍必须穿拖鞋(其他鞋子放在宿舍外鞋柜);

3、床上只能放床单、枕头、被子,床底下不准放如:脸盆、鞋、袜子;

4、宿舍员工自己的袜子必须每天清洗,如有违反清理宿舍内所有员工袜子,以免影响他人健康;

5、宿舍内不准抽烟;

6、早上起床必须碟好床上用品,整理干净,必须统一。

 

第二天:

 

一:海底捞考勤制度

1、薪酬制度

⑴服务员的基本工资:1080元每月,二级员工1100元每月,一级员工1120元每月;

⑵工龄工资:员工满一年后加40元,两年80元,三年120元,四年120元,五年以上140元;

⑶公司每月给新员工一月2天带薪公休,满一年后每月3天,三年后每月4天;

⑷新进员工进店标准:14号以前公休一天,14号以后的没有公休;

⑸如员工辞职必须提前15天,如提前离职,公司不给与结算工资;

新进员工每月店方扣除员工20元作为公司保证金,如店方许可正常辞职,将退还保证金,否则不退。

 

二:迟到奖罚制度

1、迟到1—5分钟扣0.5元,迟到5—30分钟扣10元,迟到30—120分钟扣除半天工资,迟到120分钟以上处矿工一天处罚,而且必须照常上班;

2、一月内迟到三次以上只发基本工资,月底奖金扣除;

3、因私事不请假、休息、早退视为旷工;

4、处罚标准:普通员工迟到半天扣20元,一天扣40元,月底只发基本工资;

5、员工无故旷工一天以上除名开除;

6、干部以上级别的员工旷工直接开除处理。

 

三:人事管理条例(以下几点可直接解聘)

1、受聘者业务技术水平差,经考核不能接受胜任本职岗位要求;

2、违反工作规章制度,批评后仍不改正;

3、受聘者长期请假;

4、旷工;

5、因员工身体状态不适应岗位要求;

6、违反国家法律法规。

备注:员工解聘或辞退后必须办理解聘手续,三天内离开本店宿舍。

 

四:规章制度:

轻度过失的员工有以下几点:

1、上班时间衣冠不整;

2、上班时不穿工服进入店内或者工服不齐,不佩戴员工牌号或不佩戴在指定地方;

3、工作时间用餐厅电话办理私事;

4、工作时间吃东西聊天,围成一团;

5、下班后不应在店内逗留,并且打扰其他正常上班员工;

6、在店内高声喧哗,发出怪叫或吹口哨;

7、随地吐痰,仍纸屑杂物;

8、不遵守店内安全条例;

9、违反部门常规;

10、工作时间佩戴手机(店经理除外);

11、在自己的负责范围内储放饮料或私人物品。

较重过失的员工有以下几点:

1、工作时间睡觉;

2、擅离工作岗位,经常迟到;

3、对客人不礼貌,与客人争辩;

4、在店内、宿舍内主动参与或变相赌博活动;

5、未经许可私自配取宿舍、餐厅钥匙;

6、搬弄是非,诽谤他人,影响团结和公司声誉;

7、未立即上缴客人遗留物品或拣到的物品;

8、不经店内相关领导允许带亲戚朋友到店内或者在宿舍逗留;

9、工作时间擅离工作岗位,做其他与工作不相关的事情;

10、未经批准不回宿舍休息。

严重过失的员工有以下几点

1、工作时间醉酒;

2、贪污、盗窃、受贿、行贿;

3、故意损坏公物或客人用品;

4、打架斗殴。

各项处理方法

轻度过失的处理方法:处相关处理外批评教育方法。

较重过失的处理方法:采取罚款,限期改正并填写过失单。

严重过失的处理方法:扣除当月工资,并且除名,情节严重者追究法律责任。

员工单独在外面网吧上网直接开除!

 

五:员工过生日聚餐标准

1、员工之间过生日送生日礼物不得超过10元;

2、员工吃饭过生日必须AA制;

3、员工之间过生日消费金额不得超过两百元。

 

六:海底捞的宣誓词

我宣誓:我愿意努力的工作,因为我盼望明天会更好;

我愿意尊重每一位同事,因为我也需要大家的关心;

我愿意诚实,因为我要问心无愧;

我愿意接受意见,因为我们太需要成功;

我坚信只要付出终有回报。

 

七:海底捞的店歌:《携手明天》

唱着同样的旋律,共创美好的明天,怀着同样的梦想,时刻发奋图强,为了飞跃成长,为了创业而坚强,心连心,一起度过艰难,手拉手,分秒并肩作战,创造奇迹,拥有梦想,知恩图报,双手创造未来;

带着同样的目标,共创美好的明天,怀着家人的期望,时刻发奋图强,带着母亲等长城,终有一天会实现,心连心,一起度过艰难,手拉手,分秒并肩作战,创造奇迹,拥有梦想,知恩图报,双手创造未来。

 

八:海底捞给员工创造发展的途径

走管理路线:

1、新员工——合格员工——优秀员工——实习领班——优秀领班——实习大堂经理——优秀大堂经理——实习店经理——优秀店经理——实习大区经理——片区经理——总经理——董事长

2、年龄偏大的员工

新员工——合格员工——优秀员工——先进员工(连续3个月当选)——标兵(连续5个月当选)——劳模(连续6个月当选)——功勋(相当于店经理的福利待遇)

注:成为一名合格员工的基本标准

1、业务熟练,顾客满意率较高;

2、团结同事;

3、工作主动,积极性强;

4、工作责任心强;

5、员工情绪稳定;

6、能准确快速完成上级交待的任务;

7、不违反规章制度;

8、任劳任怨,不怕苦不怕累。

 

九:海底捞岗位分化流程

1、门迎组:

保安——门迎——接电话——酒水吧——收银吧——擦鞋——美甲——游乐园——打发票

2、服务组:

服务员——发毛巾人员——前堂保洁人员

3、上菜房

洗菜员——备菜员——上菜员——切羊肉、肥牛人员

4、传菜组

传菜员——收台人员——打汤豆浆人员——切果盘人员——柠檬水配制人员——水果房

5、油碟房

油碟——香菜——葱花——豆腐乳——韭菜花——花生仁——榨菜

6、配料房

配料师——葱段——红油——花椒面——呼叫——药材——员工餐——捞面——电工——小吃房

7、保洁组

洗杯人员——洗毛巾人员——洗碗人员——大嫂走道人员——打扫卫生间人员——洗碗间

8、凉菜房

凉菜——黄瓜——醋——酱油——鸡精——盐

9、库房

办公室人员——出纳——会计

 

第三天

 

一:海底捞岗位描述

1、欢迎顾客时目光要注视对方,让顾客感受到热情的笑容;

2、员工以友善的话语表示欢迎,不要使用重复机械的问候语;

3、客人到桌后5秒内必须有服务员接待;

4、对待老人、小孩、残疾人应该做到特需服务;

案例:一位顾客来用餐,由于之前的车祸腿骨折段,无法上楼用餐,该店保安立即通知店经理,店经理马上组织6名年轻传菜部员工到地下室停车场,用凳子将该顾客从楼梯间抬上3楼就餐,当时该顾客感动得流下眼泪,后来该顾客成为海底捞的忠实顾客。

5、员工应该把客人所点的菜品快速准确的传递给上菜房;

6、在保证客人满意的情况下,认真服务,争取做到操作流程不漏项、不掉项;

7、配备所用的用品用具;

8、服务员应保证帐单的准确性,做到唱收唱付,并提前找零;

9、及时恢复摆台工作;

10、及时做好人走岗位净;

11、及时关灯关气;

12、做好餐前餐后的电脑正常使用和关闭;

13、做好突发事件的处理和创造感动;

14、做好授权工作;

15紧急的预案处理,停水、电、气,客人打架处理;

16同一区域不要走一桌,关一桌灯,等客人走完才关灯。

备注:服务员的餐前准备工作是否到位:

1.笔3支、备用的翻台餐具、打火机或火柴、烟灰缸、餐巾纸;

2.炉具是否有气,是否能正常打火;

3.不主动询问顾客是否需要发票;

4.客人给钱埋单是必须说谢谢;

5.客人埋单要带上收银夹,装零钱袋,送薄荷糖;

6.处理所有问题应在第一时间。

以上岗位描述的目的就是提高翻台率

 

二:岗位职责

发毛巾人员:

1、给客人发毛巾时要面带微笑,热情大方,保证热毛巾的用量和质量,(80度);

2、顾客到桌后两分钟内递给热毛巾,并称呼先生女士,发毛巾要分清主次,动作要规范;

3、每桌每位顾客换毛巾次数不低于4次,顾客无特需要求不得高于6次,无需要不必勉强;

4、满足顾客的合理要求;

5、顾客从身边走过时一定要让路并且打招呼;

6、对突发事件的应急处理,如打破餐具、客人呕吐等;

7、按时准备好所有的原材料和用具。

保洁人员:

1、拾到客人物品应及时上交;

2、欢迎顾客时目光注视对方,要以友善的话语表示欢迎,如你好、小心路滑,要让顾客感受到热情;

3、严格按照卫生标准进行;

4、满足顾客的合理要求;

5、顾客从身边走过时一定要让路并且打招呼;

6、对突发事件的应急处理,如打破餐具、客人呕吐等;

7、按时准备好所有的原材料和用具。

传菜员:

1、站岗之前准备好足够的干净托盘(50块)、托盘布(50块),并且保持托盘的卫生干净,如脏及时更换;

2、每个托盘的物品无挤压和摞叠;

3、传菜生做到6不端:标准量不符不端、颜色不纯不断、形状不符合要求不端、不熟不热不端、卫生不合要求不端、菜品不点缀不端;

4、传菜过程中应热情礼貌的招呼客人,满足顾客合理要求;

5、及时回收用后的餐具,必须做到来回不走空路;

6、保持站姿端正,认真等待端菜,穿菜时要注意安全,必须做到快走慢跑,不能撞到客人及其他同事;

送柠檬水、汤、豆浆的人员:

1、上午11点、下午5点半检查是否到位;

2、保证汤、豆浆80度和柠檬水的质量卫生;

3、对汤、豆浆、柠檬水随时供应,确保安客区域到位、无短缺;

4、面对顾客时目光要注视对方,以友善的华语表示对顾客的欢迎,让顾客感受到热情地笑容,满足顾客的合理要求;

5、柠檬水的制作必须按照量化标准;

6、对自己负责的汤壶、豆浆壶要保证干净卫生,摆放整齐;

7、注意操作现场的卫生;

8、满足顾客的合理要求,及时写作服务员,做好服务和收台工作;

注:汤要随时转移,避免浪费

9、生意低峰期做好本组的汤、豆浆的转移工作和收尾工作。

收台人员:

1、首先在收台前检查顾客有无意识物品;

2、一个餐桌收台时间为2—3分钟内全部完成;

3、在收台当中要对客人礼貌微笑或者点头并运用敬语问候;

4、收台过程中取下锅圈减少噪音,保护餐具,随时准备一条毛巾擦凳子;

5、餐桌表面卫生干净,无油渍及杂物,凳子五水渍,协助服务员恢复台面;

6、擦桌子的水、毛巾要及时更换,保持干净;

7、收台的准备工作应齐全,干湿毛巾三条,桶一个。

 

三:五声四勤

五声:迎声——答声——谢声——歉声——送声

四勤:眼勤:眼看六路,耳听八方,重要的是注意客人的各个神态,如:招手、探头

嘴勤:做到人未到声先到

手勤:做到客人想之前、做之前

腿勤:速度

 

四:服务员敢于主动向客人介绍自己

例:我是小李,有什么事请叫我。

 

五:一个服务员要有怎样的精神面貌?

答:做事要开朗、乐观、大方,不拘谨,不扭捏,表里如一,襟怀坦然,不存心机,热情,充满活力,要有进取上进心;

一切以企业为重,上班不带任何情绪,遇事冷静不慌,遇客人答问百问不烦,百答不厌。

注:服务员不懂就是不懂,切忌不能故作老练

如:客人问长城在哪里?不能乱回答。

 

六:服务员十四字礼貌用语

请、谢谢、对不起、您好、再见、没关系、欢迎光临

 

七:海底捞发展史

培训师:总经理助理

1、海底捞原名:楼外楼,现更名为四川省简阳市海底捞餐饮有限公司;

2、总经理:张勇;

3、专营:四川药膳火锅;

4、现在职员工:3000人,以农村人为主;

5、发展:

1994年3月:海底捞在简阳市一个偏僻的小巷开了一个不足72平米的水珠小店,只有4张桌子,在设施简陋的情况下迈出了第一步

1998年9月:张勇成功的引进豆花鱼这道菜,以味型占领市场,从四川72平米一下发展到西安1400平米的正规化餐厅,他严格要求餐厅服务、菜品质量。

 

公司高压线

1、从人品,不说谎;

2、从勤劳,不喜欢懒惰的员工;

3、从敬业;

4、从诚实;

5、从孝敬父母(在海底捞工作你能改变自己的命运价值观,你是否改变了家人的命运价值观,你做到了吗???

案例:在西安店有一名服务员在一年半的时间升到了店长职位,一个月工资4000—5000,现在生活比较宽裕,忘记了原来,现在一个月买化妆品得1000多元,买衣服1000多元,吃零食1000多元,而她万万没想到远在几千公里以外的小孩都没鞋穿,难道这样叫做改变了你的命运价值观吗?

 

八:服务员有权向吧台借助200元先解决顾客问题

课后提:6个怎么办?

1、讨论你是怎么样理解授权工作?

2、当你不小心将豆浆撒在顾客身上,你该怎么办?

3、当客人的锅底、菜品出现质量问题,你该怎么办?

4、当遇到喝醉酒的客人,你该怎样服务?

5、当你遇到客人叫打折,你该怎么办?

6、当你遇到餐厅停电,你该怎么办?

 

九:海底捞的所有员工在操作过程中都应首先避开老人和小孩

海底捞品牌

提问:M代表什么?

KFC代表什么?

海底捞的品牌靠每个员工来创造

 

十:激励员工的方法

好,很好,非常好,耶

游戏一:

考验员工个人的反应能力

游戏名称:数青蛙

规则:五人一组,分别说:一只青蛙一张嘴,两只眼睛,四条腿,依次增加,错了淘汰,最后赢了奖励可乐一瓶。

游戏二:

游戏名称:所有人一起拍掌

规则:大家齐拍掌,拍到声音齐为止

目的:把大家的心溶为一起,齐心协力完成。

环境创造一个人

一个农村人,没有文化。在他的环境下的乡村小路上,随便扔果皮纸屑,对于他来说,是很正常的事。如果把他带到天安门广场,让他带上一袋橘子,他会吃完后,主动把桔子皮放到袋子里面。因为他已经接受了这种严谨的环境。让他明白,桔子皮不是随便乱扔的。我们是一个大家庭,大家庭会给每个成员带来家的温暖。但家有家规,家规是严格的。你在大家庭里可以受到良好的教育,只要你积极主动,你的素质很快可以得到提升。

做管理的人就像写毛笔字一样,你可以写出10个一模一样“山”字吗?

你肯定是做不到的,这必须要时间的磨练和学习

 

十一:人事管理

1、入职员工必须要求认真填写个人档案已便于公司调动;

2、规范员工档案表(附员工入职表)。

 

十二:海底捞员工宿舍管理规定

1、下班回宿舍途中衣着整齐,过马路不准闯红灯;

2、严禁外出在附近的餐馆、小吃店吃饭,统一在店里用餐,如有违反者,第一次罚款10元,第二次开除;

3、进入住宅区时要轻手轻脚,不能大声喧哗,做到尊老爱幼,礼貌待人;

4、乘坐电梯时一般情况下只能坐货用电梯,人多时必须排队等待,必须遵守电梯制度,一次不得超过13人,在电梯内不准抽烟;

5、在通道内不准追赶、打闹、唱歌,要放轻脚步,放低声音,保持安静,以免影响他人休息,如不遵守者一律重罚;

6、男生女生不得互串寝室,有事必须经过寝室长同意,否则违反一次罚款50元;

7、在宿舍内任何地方、任何角落不准随地吐痰、扔垃圾,不准在宿舍内任何地方抽烟,如发现一次罚款10元;

8、宿舍管理人员必须熟悉水电开关,随时注意节约用水用电,如发现重罚;

9、保护爱护宿舍内的家电设备,不准在墙上乱画和损坏、拆卸家电设备;

10、刷子、脸盆、鞋子必须统一摆放,整齐干净;

11、宿舍内员工的工衣不能乱拿乱穿,不准用其他宿舍员工的洗发水,香皂,毛巾,牙膏等物品,如有违反一律重罚,如拿宿舍员工的物品不打招呼一律除名;

12、床上只能放枕头、被子,适当可备一个小盒子,并且床铺必须干净整洁,统一摆放整齐;

13、宿舍内不得私自乱接插头;

14、休息的员工看电视时间规定:早上11点,下午4点半,关电视时间:下午2点,晚上12:30,且看电视声音不能过大,不能影响他人休息,如有违反者罚款宿舍长10元;

15、熄灯时间规定:中班22:30,晚班24:30。

 

北京“海底捞”调查报告

 

一、顾客等位区

1、设置宽大的等位区域,设有折叠桌椅。桌子套上桌布。

①为等位的顾客提供休闲娱乐项目

如:跳棋、五子棋、象棋、陆战旗、扑克等

②提供免费的额外服务

如:为女士提供美甲(时间为18:00-23:00),为男士提供擦鞋服务、上网

③分季节提供丰富的免费食品和饮品

如:萝卜干、橙子、苹果、西瓜、黄豆、炸虾皮、薄荷糖、柠檬水、豆浆(点餐时3元一杯)

2、对等位的顾客实话实说(告诉等候所需时间的实情)例如:“您至少还需要等半个小时以上”。

3、等位信息用LED即时的显示,提醒顾客有免费提供的服务项目

4、设置儿童游乐园,方便带小孩的顾客。安排有专人看管,有醒目详细的告示。

 

二、关于用餐感受

1、服务

①洗手间洁净

*男女洗手间各配一名大叔与大姐,和蔼有礼,笑容可掬(笑得非常到位,令人印象深刻)

*清扫的人员主动为每位顾客挤洗手液,递上擦手纸,甚至有时候会敲背。

*洗手间清洁不仅用拖把而且用双手加毛巾清理,保证地面无水渍,无异味。

②设置专门的接待部门、收台部门、清洁部门。

③员工对顾客的提醒和问候到位

*顾客路过台阶时有服务员提醒:小心台阶

*任何客人问洗手间时,服务员会将顾客送到洗手间门口

*顾客叫到任何服务员时,他会立即停下手中的事情来为顾客服务。

*迎宾微笑到位,可看到到八颗牙齿,并且热情洋溢

④用餐途中

*若看到顾客的手机放在桌上,五分钟内会有服务员将你的手机套上手机袋

*如果桌面没有烟盅,看到顾客抽烟即时提供

*即时用专用木板打白汤锅中产生的泡沫

*整个用餐途中提供2-3次热毛巾

*点餐用语标准

*店经理与服务员会经常巡台分菜,在分菜的过程中会友善地跟顾客沟通。目的是加快翻台

*日常的药品准备,即时提供给有需求的顾客(感冒药、防中暑药、胃药消化药)例子:可以要到十滴水。

*会调节客人情绪

*收台之前就会把顾客带到桌前,收餐具、擦桌子(3条专用毛巾)极快,成了表演,很具观赏性

*传菜速度很快,服务员和传菜员几乎用竞走与小跑的速度

*客户经理带动员工做服务

 

2、出品

*火锅的红油用专用袋装上桌,感觉干净卫生

*中途有拉面表演

*会告诉顾客品汤的要点

*出品速度快,3分钟内上齐

*除特色菜外其它烫菜可点半份

 

特色的广告语:好吃的火锅会说话

2011月/131

《肖申克的救赎》的几点启示

发布在 邵珠庆

信念

没有信念,什么事情都做不好,因为小小的一个困难就能将你击退。Andy的信念是自由,正是带着这个强烈的信念,才能因为一颗刻字时掉了的石头,联想到越狱,并且实践。花十多年的时间去挖一条隧道,这简直是不可想像的,一旦被发现后果也将非常严重。随便找个理由,都能说服自己不继续这项危险的行为,此时唯有信念才能支撑着Andy继续挖下去。

无论何时都不要放弃希望

Andy及同一批的囚犯到达肖申克时,海利就当场打爆了一个人的头,在这样的环境下,还能有所作为吗?还能对自由抱有幻想吗?Andy用实际行动做了最好的解答:新建图书馆,替狱友考取学历,最后拿着一大笔钱来到了梦想中的地方。

Red说: 希望是危险的东西,是精神苦闷的根源。Andy说: 记住,希望是好事——甚至也许是人间至善。而美好的事永不消失。

规划自己的人生路线

如果Andy只是通过自己挖的洞越狱,那么他很可能会被再次通缉,然后再次进入肖申克。显然Andy考虑到了,他需要一笔钱和一个合法的身份。钱可以从典狱长那里来,而人则可以通过写信写出来。如果把一大笔钱放在一个银行又很容易被怀疑,所以要分散到多家银行,又因为要到银行去取钱,所以需要一身体面的着装(典狱长友情提供)… Andy在之前就已经考虑到了后面的路要怎么走。

精通一门对大家都有用的技能(尤其是当权者)

大家都需要Andy,因为他精通理财,给大家带来了实实在在的好处。正因为这个他才得以得到警卫的庇护,逃离鸡奸狂的魔爪。于是有了为典狱长洗钱的机会,而这个机会对Andy来说是至关重要的。于是他可以新建图书馆,帮狱友考取学历,只要是不太过分的事,基本都能做到。

友谊

Andy与几位狱友有着纯洁的友谊,因为相互之间没有利害关系,尤其是和Red,两人都比较内敛,但心心相应。相比之下,我们的友情则不那么纯粹,经不起时间的考验。尽管大团圆的结局看了很多,但当他们最终在海滩边拥抱时,还是为这份友情而感动。

不抱怨

这是一个被束缚的空间,有着不讲理甚至残暴的当权者,一切都受约束。在这里,有太多可以抱怨的,但是Andy没有,他学会了接受现实,学会了新的游戏规则,在这个规则下,依然可以有希望,有信念,有建树。这点对于我们尤为重要。

坚持

在成功学里,这个词被使用过无数次,也被证明过无数次。Andy用了6年的时间来写信申请图书馆的经费,终于在第6年收到了每年$200的回报和一大堆捐的书/唱片等等。他居然说: it only take 6 years! 那个通向自由的洞,也是在坚持了将近20年后才通的。

1511月/130

web安全扫描工具

发布在 邵珠庆

扫描程序可以在帮助造我们造就安全的Web 站点上助一臂之力,也就是说在黑客“黑”你之前,

先测试一下自己系统中的漏洞。我们在此推荐10大Web 漏洞扫描程序,供您参考。

1. Nikto  http://www.xdowns.com/soft/184/Linux/2012/Soft_99498.html

以下是引用片段:
这是一个开源的Web 服务器扫描程序,它可以对Web 服务器的多种项目(包括3500个潜在的危险
文件/CGI,以及超过900 个服务器版本,还有250 多个服务器上的版本特定问题)进行全面的测
试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。
Nikto 可以在尽可能短的周期内测试你的Web 服务器,这在其日志文件中相当明显。不过,如果
你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker 的反IDS方法。
不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提
供信息(“info only” )类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过
Web 管理员或安全工程师们并不知道。这些项目通常都可以恰当地标记出来。为我们省去不少麻
烦。 

2. Paros proxy  http://www.xdowns.com/soft/8/19/2012/Soft_99499.html 

以下是引用片段:
这是一个对Web 应用程序的漏洞进行评估的代理程序,即一个基于Java 的web 代理程序,可以
评估Web 应用程序的漏洞。它支持动态地编辑/查看HTTP/HTTPS,从而改变cookies和表单字段
等项目。它包括一个Web 通信记录程序,Web 圈套程序(spider),hash 计算器,还有一个可以
测试常见的Web 应用程序攻击(如SQL 注入式攻击和跨站脚本攻击)的扫描器。

  

3. WebScarab   http://www.xdowns.com/soft/8/19/2012/Soft_99500.html

以下是引用片段:
它可以分析使用HTTP 和HTTPS 协议进行通信的应用程序,WebScarab 可以用最简单地形式记录
它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程
序的运行状态,那么WebScarabi 就可以满足你这种需要。不管是帮助开发人员调试其它方面的
难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。 

4. WebInspect  http://www.xdowns.com/soft/8/19/2012/Soft_99501.html 

以下是引用片段:
这是一款强大的Web 应用程序扫描程序。SPI Dynamics 的这款应用程序安全评估工具有助于确
认Web 应用中已知的和未知的漏洞。它还可以检查一个Web 服务器是否正确配置,并会尝试一些
常见的Web 攻击,如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。

  

5. Whisker/libwhisker   http://www.xdowns.com/soft/184/Linux/2012/Soft_99502.html 

以下是引用片段:
Libwhisker 是一个Perla 模块,适合于HTTP 测试。它可以针对许多已知的安全漏洞,测试HTTP
服务器,特别是检测危险CGI 的存在。Whisker 是一个使用libwhisker 的扫描程序。 

6. Burpsuite   http://www.xdowns.com/soft/8/19/2012/Soft_99503.html 

以下是引用片段:
这是一个可以用于攻击Web 应用程序的集成平台。Burp 套件允许一个攻击者将人工的和自动的
技术结合起来,以列举、分析、攻击Web 应用程序,或利用这些程序的漏洞。各种各样的burp
工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。 

7. Wikto   http://www.xdowns.com/soft/8/19/2012/Soft_99504.html 

以下是引用片段:
可以说这是一个Web 服务器评估工具,它可以检查Web 服务器中的漏洞,并提供与Nikto 一样的
很多功能,但增加了许多有趣的功能部分,如后端miner 和紧密的Google 集成。它为MS.NET
环境编写,但用户需要注册才能下载其二进制文件和源代码。 

8. Acunetix Web Vulnerability Scanner  http://www.xdowns.com/soft/8/19/2008/Soft_46786.html 

以下是引用片段:
这是一款商业级的Web 漏洞扫描程序,它可以检查Web 应用程序中的漏洞,如SQL 注入、跨站脚
本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专
业级的Web 站点安全审核报告。

  

9. Watchfire AppScan     http://www.xdowns.com/soft/8/19/2012/Soft_99505.html

以下是引用片段:
这也是一款商业类的Web 漏洞扫描程序。AppScan 在应用程序的整个开发周期都提供安全测试,
从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞,如跨站脚本攻击、
HTTP 响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。 

10. N-Stealth   http://www.xdowns.com/soft/8/19/2012/Soft_99509.html 

以下是引用片段:
N-Stealth 是一款商业级的Web 服务器安全扫描程序。它比一些免费的Web 扫描程序,如
Whisker/libwhisker、Nikto 等的升级频率更高,它宣称含有“30000个漏洞和漏洞程序”以及
 “每天增加大量的漏洞检查”,不过这种说法令人质疑。还要注意,实际上所有通用的VA 工具,
如Nessus, ISS Internet Scanner, Retina, SAINT, Sara 等都包含Web 扫描部件。(虽然这些
工具并非总能保持软件更新,也不一定很灵活。)N-Stealth 主要为Windows 平台提供扫描,但
并不提供源代码。 

--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
 

商业产品*国外
     ·Acunetix Web Vulnerability Scanner 6 :简称WVS,还是不错的扫描工具,不知道检查
的太细致还是因为慢,总之经常评估一个网站的时候一晚上不关电脑都扫描不万……但是报
表做的不错。一般用这个扫描的话,不用等那么久,像区县政府的,扫20 分钟就差不多了。

     ·IBM   Rational  AppScan:这个是IBM 旗下的产品,扫描速度中规中矩,报表功能相当
强大,可以按照法规遵从生成不同的报表,如:ISO27001、OWASP 等,界面也很商业化。

     ·HP  WebInspect:没错,的确就是卖PC 的HP 公司旗下的产品,扫描速度比上面的2
个都快得多,东西还算不错。不过这几天在和NOSEC                     (下面说的“诺赛科技”)掐架,愣是
说NOSEC 的iiScan 免费扫描平台侵犯隐私,说NOSEC 有国家背景……这市场了解的!

     ·N-Stealth:没装成功,不过很多地方在推荐这个

     ·Burp Suite:貌似是《黑客攻防技术宝典·WEB 实战篇》作者公司搞的,安全界牛人。
虽然工具没用过,但是这本书的确是不错……如果您做WEB 安全,游侠强烈建议您读一下。

商业产品*国内

     ·智恒联盟WebPecker      网站啄木鸟:程序做的不错,扫描速度很快。

     ·诺赛科技Pangolin、Jsky :Pangolin 做SQL 注入扫描,Jsky  全面评估,就是上文说的
NOSEC,网上扫描平台是iiScan,后台的牛人是zwell。

     ·安域领创WebRavor:记得流光(FluXay)否?是的,WebRavor 就是小榕所写!小榕
是谁?搜下……不用我介绍了吧?

     ·安恒MatriXay   明鉴WEB 应用弱点扫描器:还没用过,和NOSEC 一样,也有网上扫
描平台。

绿盟NSFOCUS RSAS    极光远程安全评估系统:极光扫描系统新增的WEB 安全评估插
件,在某客户处见到过扫描报告,不过没用过产品。依照绿盟的一贯风格和绿盟的实力,应
该不错。

免费产品

     ·Nikto:很多地方都在推荐,但游侠本人实在不喜欢命令行产品……各位喜欢的Google
或Baidu 下吧

     ·Paros Proxy:基于Java 搞的扫描工具,速度也挺快,在淘宝QA 团队博客也看到在介
绍这个软件。

     ·WebScarab:传说中很NB 的OWASP 出的产品,不过我看下载地址的时候貌似更新挺

     ·Sandcat:扫描速度很快,检查的项目也挺多。机子现在就装了这个。
    ————

     ·NBSI:应该说是黑客工具更靠谱,国内最早的,可能也是地球上最早的一批SQL 注入
及后续工作利用工具,当年是黑站挂马必备……

     ·HDSI:教主所写,支持ASP 和PHP 注入,功能就不多说了,也是杀人越货必备!

     ·Domain:批量扫描的必备产品,通过whois              扫描服务器上的服务器,在很长一段时
间内风靡黑客圈。
    ————

     ·Nessus:当然它有商业版,不过我们常用的是免费版。脆弱性评估工具,更擅长于主
机、服务器、网络设备扫描。

     ·NMAP:主要倾向于端口等的评估。

     ·X-Scan:安全焦点出品,多少年过去了,依然是很强悍的产品。大成天下曾经做过商
业版的“游刃”,但最近已经不更新了,很可惜。

    其实能做评估的工具还有很多,如:

     ·Retina Network Security Scanner

     ·LANguard Network Security Scanner

榕基RJ-iTop 网络隐患扫描系统

    不过和Nessus 和NMAP 一样,主要倾向于主机安全评估,而不是WEB 应用安全评估。
但我们在WEB  安全评估的时候,不可避免的要对服务器做安全扫描,因此也是必然要用的
工具。

    好了,大体的也说了下,各位感兴趣的可以在网上找下相关资料或下载。看完感觉有点
收获的,就转发给您的朋友吧。

1411月/130

程序员,你还酷吗?–Limboy | 无网不剩

发布在 邵珠庆

当别人问起你的职业,是否会有一丝卑微感,是不是更希望自己的头衔是经理、总监、主管之类的?

面对琳琅满目且不断调整的需求,是否会以完成需求为目的,而不顾程序本身的优雅?

是否觉得程序员就是吃青春饭的,迟早得转型到管理,不如趁早转,积累点经验?

是否觉得自己做的事情很重要,但做成后被褒奖的却不是你,或者只是顺带一提?

看到满屏的英文文档,或遇到搞不定的Bug时,开始怀疑人生?

与女孩子接触的机会太少,真希望调到XX组?

是否觉得与其他人交流起来会有点困难?

是否讨厌办公室政治,又不得不在其中涡旋?

面对不断更新的技术,是否有种无力感?

是否也希望某天能做出一个NB的应用,改变世界?

是否会有扁项目经理的冲动?

如果你对上面提到的这些深有同感,那么作为一个程序员,你可能真的不够酷。程序(app)能够以其独有的方式改善人们的生活,而程序员是触发这一切的根本。他们坐在电脑前,噼里啪啦敲一些外人根本看不懂的符号,熟练地使用快捷键,变魔术般的做好了一个网站/应用,然后你打开电脑/手机就能看到并使用他们,这难道还不够酷吗?

要让人们对某一行业的态度发生转变,最好的方式就是从事该行业的人自己去证明。如果越来越多的程序员创造出了能够改善人们生活方方面面的应用,而且程序员不是简单地去实现,而是以主导者的身份出现,那时候人们对程序员的认识一定会比现在好不少。这就需要程序员不光要会写程序,还要具备创业家的心态,这并没有想像中的那么难,连那么复杂的程序都能搞定,还有什么是自己搞不定的?

在使用一个应用时,如果界面很漂亮,我们会感叹:设计师真NB;如果体验很好,我们会感叹:产品经理真NB;如果程序出了点Bug,我们会抱怨:程序员弱爆了。一个应用正常运行,是程序员应该做的;如果出了问题,自觉修Bug去吧。一个应用,如果真有用户对程序本身赞叹不绝,很可能是UI/UE很不咋地,但程序运行地还挺符合预期。

程序员要得到外界的认可是比较难的,虽然他们在做着很重要的事情。但如果我们真的享受编程带来的乐趣,坚信程序可以让人们的生活变得更加方便和美好,又何必在意外人的看法呢?在属于自己的世界里,静静地绽放,就像深海的水母一样。

最后,千万别惹程序员,因为他们会顺手拿起封面是犀牛的O’Reilly书砸你。

 

http://blog.leezhong.com/essay/2012/07/19/hey-programmers-are-you-cool.html

1411月/130

职业规划是不靠谱的

发布在 邵珠庆

经常会在各种场合听到人们问起:你的职业规划是什么?有些人很快就能给出答案,有些人临时想了一个,有些人则坦然没有想好。

职业规划到底是个什么东西?以程序员来说,架构师、技术总监、CTO等等看起来很风光的Title都会是不错的候选,让自己看起来很有抱负的样子。

可这一点用都没有!甚至还有负作用!假如每天怀揣着成为架构师的目标去工作去学习,我敢保证,不出一个礼拜就会被这个目标拖垮,因为这实在是没有什么激励作用,是扎扎实实的负反馈。感觉今天学到了不少东西,可是一看架构师要懂那么多,那么深,就会觉得自己的这些收获好渺小。

或许你会说,这是大目标,会拆分成很多的小目标。这个理论没有错,但实现上会有不少问题。因为这是一个探索的过程,就好像一个从来没出过远门的南方人,在没有地图的情况下要走到北方的某个城市去。只是知道大概的方向,这种情况下如何设置小目标呢?即使有了地图,能不能把小目标设置地合理也是很大地挑战。这也是为什么有专门的「关卡设计师」这个职位。如果小目标设置得不合理,要么产生挫败感,要么觉得没挑战,这两种情绪对于长远地目标来说都是很不利的。

我们需要的是「浸入式」的体验,这个词对于游戏设计师是很重要的。为什么有些游戏我们能玩上上百关,还乐此不疲?不是因为在最开始的时候,告诉自己「我一定要玩到100关!」,而是渐进的难度设置让你在每一关完成后都有成就感。在玩第19关时,你断然不会想「真好,离100关又进了1步」。

游戏和生活很多地方是相通的。为什么有些人从事了某项职业10年还不如别人3年成就更高,道理也一样。因为在玩到某一关后,他停止了向难度更大的下一关迈进,反复玩着同一关,自然不会有进步。所以用「工龄」去判断一个人的能力是很容易失误的。

我们希望自己变得强大,这没有问题。希望自己变得像XXX一样,这也没有问题,有希望总是好的嘛。但如果把XXX(高级Title)作为自己的职业目标,就有些问题了。你不一定知道怎样才能成为XXX,也就是说没有一条明确的道路,即使有,也未必适合你,即使你已做好了充分的准备,也难保在行进的过程中不受其他事物的诱惑,或者发现自己并不喜欢这条路。很可能你只是看到了XXX光鲜的一面,然后天真地以为自己只要努力也一定能做到,直到被现实虐得体无完肤。

每一行都不容易,这是很简单就可以推导出来的,假设确实有那么几个行业很容易,也很挣钱,除非正好被你赶上了,不然人一多,门槛自然也就上去了。

费曼老师说过:每一件事情都可以很有意思。认清自己的现状,发现自己的不足,享受解决问题的乐趣,在不断的正反馈下慢慢地去拓宽自己的知识圈,增强解决问题的能力。如果有了这种元能力,在每一行都能做得很好,很快乐。

1311月/130

《将博客搬至CSDN》 2013-11-13 13:56 225人阅读 评论(0) 收藏

发布在 邵珠庆

(为了确认是您本人在申请搬家,请在原博客发表一 篇标题为《将博客搬至CSDN》的文章,

并将文章地址填写在上方的"搬家通知博文地址"中。)

1211月/130

PHP中Push(推送)技术的探讨

发布在 邵珠庆

随着人们对Web即时应用需求的不断上升,Server Push(推送)技术在聊天、消息提醒尤其是社交网络等方面开始兴起,成为实时应用的数据流核心。这篇日志试图探讨的便是各种适合于PHP的Push的实现方式以及其优劣。

1. 什么是Server Push

想象在聊天应用中,如果使用传统的ajax来承担消息的传入,那么一般是通过每隔一定时间拉取一次信息的方式实现,但是其实这种方式有大量查询是浪费的。聊天等Web应用更需要服务器在特定时间来主动告知前端有新的消息(Push),而不是前端每时每刻问服务器:“来消息了吗?”(Pull)。这也正是为什么这个技术常被叫做反向ajax。

其他别名:Comet,反向Ajax

 

2. 如何实现Push

其实所谓的推送技术也没有多么复杂,目前从大类上有3种,一种仍然建立在ajax基础上,还有一种建立在框架基础上,最后一种抛弃了传统的HTTP协议,使用Flash或者HTML5的WebSockets技术。接下来将对这三种类别产生的不同的方式进行探讨。

 

1) Ajax 长轮询

Ajax长轮询从本质上来说仍然是一种pull,但是实时性较高,无用请求减少很多,是一种不错的Push实现方案。不过它只减少了网络上的无谓消耗。

核心: 客户端发起一个ajax请求,服务端将请求搁置(pending)或者说挂起,直到到了超时时间(timeout)或需要推送时返回;客户端则等待ajax返回后处理数据,再发起下一个ajax请求。

优点: 兼容性较高,实现简单

缺点: 对于php这种语言来说,如果要做到实时,那么服务端就要承受大得多的压力,因为搁置到什么时候往往是不确定的,这就要php脚本每次搁置都进行一个while循环。
当然,如果服务器刷新每秒级,那尚可接受,只是实时性上退化了。

注意: 浏览器有连接数限制。我得出的结论是如果当前页面上有一个ajax请求处于等待返回状态,那么其他ajax请求都会被搁置(Chrome, Firefox已测)。似乎跟页面标记有关,一个规范的HTML可以同时有多个请求。如果页面有一般ajax需求怎么办?解决方法是开个框架,框架中使在另一个域名下进行Comet长轮询,需要注意跨域问题。

PHP实现: Jquery+php实现comet

相关: Ajax跨域和js跨域解决方案

 

2) Frame 长连接

受到ajax启发,出现了框架下的长连接。

核心: Frame中发起一个普通请求,服务器将其搁置;需要推送时输出直接执行
脚本,然后继续保持连接。如果担心超时问题可以改成框架论询。

优点: 与1一样具有高兼容特性

缺点: 最大的问题是如果框架在载入,那么浏览器就好一直显示“载入中”,这就弱爆了(解决方法参见文末的相关阅读资源)。同样服务器也要能hold住大量循环……另外,是否有同域连接限制没测试。

 

3) Flash/HTML5 WebSockets

用flash来发起WebSockets,秒杀前面一切问题。

优点: 标准化, RealTime, Push

缺点: 服务器需要能应对WebSockets;还有如果既没有Flash又不支持HTML5的怎么办?

PHP实现: Start Using HTML5 WebSockets Today

 

6) 使用兼容封装层(socket.io)

以上每种方法都有优劣,那么终极解决方案便是合在一起!能WebSockets时候就WebSockets,不支持HTML5特性就退化到Flash,没有Flash则退化到Ajax长轮询。这也是我的Rainbowfish所采用的方式。

优点: 高度封装,编写非常容易,几乎不需要关心如何去实现的。实时,超低负载,高并发。

缺点: 其实算不上缺点,socket.io的服务器端要求是node.js,而不是php。

个人看法: 如果你是独立主机,能运行程序,那么socket.io配合node.js是个非常高效的选择。为什么呢?因为它还可以避免php的服务端高负载。

Rainbowfish的消息系统通过这种方式实现: 所有客户端都通过socket.io挂在nodejs服务器上(注意: 只是挂着,不需要任何循环,因为它是事件驱动的);需要推送消息了,服务器就与nodejs通信(比如访问某个地址来实现),告诉它推送什么消息到哪里;nodejs收到推送信号后,则通过socket.io实时传输数据给浏览器。这个其实也是一条单向的路,因为nodejs服务器不具备与php通信的能力,实际上也不需要,网页上直接连php就可以了。

 

3. 结束语

事实上,第一个方法(Ajax Long Pull)是一个不错的方法,只是如果使用php完成的话服务器负载上有点大,但这其实是通病;而最后列举的socket.io方案完全避免了这个问题,因为它属于另一种架构,并且这种组合也可以配合几乎所有的脚本语言实现push。

对于实时性要求非常高的应用,或许使用php实现实时部分并不是一个好的选择,将会面临非常大的服务器负载(可以通过编写支持等待事件的扩展来解决这个问题);如果只是消息提示等,则可以调整服务器上刷新的间隔降低到秒的级别,负载尚可接受。不过无论哪种用途,配合那些非阻塞语言或许才是最好的选择。

 

4. 相关阅读

How to implement COMET with PHP

Start Using HTML5 WebSockets Today

Comet(Wikipedia)

Ajax跨域和js跨域解决方案

Jquery+php实现comet

811月/130

谷歌Web界面和搜索语言代码

发布在 邵珠庆

谷歌Web界面和搜索语言代码

本文包含谷歌Web界面语言列表
验证码(hl=)和搜索语言代码(lr=) ,可以被插入
Web浏览器时,在地址栏的URL (网页地址)
使用谷歌的服务,如果你的问题,请
与谷歌的语言设置。在那里的那一刻( 2012年6月)
149 Web界面语言代码和46个搜索语言代码。该
已收集到的HTML源代码的谷歌语言代码
首选项页面,你可以找到他们从那里还可以。此页面
主要的目的是列出的语言代码,这样你就可以复制
您正在使用的URL的字符(例如HL = EN或LR = lang_en )
但你也可以直接到您的首选语言界面
通过点击相应的链接在一个网页或搜索语言页
下面的两个列表。

记住,不是所有的谷歌服务已被翻译成
下面列出的所有语言。此外,增加后的语言代码
任何的URL不会起作用,所以你可能需要做一些试验
找出你可以将它们添加。

用法示例
例如,如果您使用的是谷歌网页搜索页面和URL
在您的网页浏览器的地址栏中:

   http://www.google.com/search ?

您可以定义web界面语言是英语,加入
HL = EN结尾的网址,变更后的网址看起来
像这样:

   http://www.google.com/search?hl=en

当你使用一个以上的设置代码,你需要在URL中使用
与他们之间的字符。例如,如果你也想定义
搜索语言是英语,你需要使用&字符
像这样的代码之间:

   http://www.google.com/search?hl=en&lr=lang_en

因为上面的URL可能不会工作,使选定的搜索
语言将被使用,如果你尝试在该网页上做一个搜索,你也
需要添加一个搜索查询的URL (Q =) ,所以产生的URL
是:

   http://www.google.com/search?hl=en&lr=lang_en&q=example

记住按后键盘上的回车键(或等效键)
添加了所需的字符。

Web界面语言代码
hl=af          Afrikaans
hl=ak          Akan
hl=sq          Albanian
hl=am          Amharic
hl=ar          Arabic
hl=hy          Armenian
hl=az          Azerbaijani
hl=eu          Basque
hl=be          Belarusian
hl=bem         Bemba
hl=bn          Bengali
hl=bh          Bihari
hl=xx-bork     Bork, bork, bork!
hl=bs          Bosnian
hl=br          Breton
hl=bg          Bulgarian
hl=km          Cambodian
hl=ca          Catalan
hl=chr         Cherokee
hl=ny          Chichewa
hl=zh-CN       Chinese (Simplified)
hl=zh-TW       Chinese (Traditional)
hl=co          Corsican
hl=hr          Croatian
hl=cs          Czech
hl=da          Danish
hl=nl          Dutch
hl=xx-elmer    Elmer Fudd
hl=en          English
hl=eo          Esperanto
hl=et          Estonian
hl=ee          Ewe
hl=fo          Faroese
hl=tl          Filipino
hl=fi          Finnish
hl=fr          French
hl=fy          Frisian
hl=gaa         Ga
hl=gl          Galician
hl=ka          Georgian
hl=de          German
hl=el          Greek
hl=gn          Guarani
hl=gu          Gujarati
hl=xx-hacker   Hacker
hl=ht          Haitian Creole
hl=ha          Hausa
hl=haw         Hawaiian
hl=iw          Hebrew
hl=hi          Hindi
hl=hu          Hungarian
hl=is          Icelandic
hl=ig          Igbo
hl=id          Indonesian
hl=ia          Interlingua
hl=ga          Irish
hl=it          Italian
hl=ja          Japanese
hl=jw          Javanese
hl=kn          Kannada
hl=kk          Kazakh
hl=rw          Kinyarwanda
hl=rn          Kirundi
hl=xx-klingon  Klingon
hl=kg          Kongo
hl=ko          Korean
hl=kri         Krio (Sierra Leone)
hl=ku          Kurdish
hl=ckb         Kurdish (Soranî)
hl=ky          Kyrgyz
hl=lo          Laothian
hl=la          Latin
hl=lv          Latvian
hl=ln          Lingala
hl=lt          Lithuanian
hl=loz         Lozi
hl=lg          Luganda
hl=ach         Luo
hl=mk          Macedonian
hl=mg          Malagasy
hl=ms          Malay
hl=ml          Malayalam
hl=mt          Maltese
hl=mi          Maori
hl=mr          Marathi
hl=mfe         Mauritian Creole
hl=mo          Moldavian
hl=mn          Mongolian
hl=sr-ME       Montenegrin
hl=ne          Nepali
hl=pcm         Nigerian Pidgin
hl=nso         Northern Sotho
hl=no          Norwegian
hl=nn          Norwegian (Nynorsk)
hl=oc          Occitan
hl=or          Oriya
hl=om          Oromo
hl=ps          Pashto
hl=fa          Persian
hl=xx-pirate   Pirate
hl=pl          Polish
hl=pt-BR       Portuguese (Brazil)
hl=pt-PT       Portuguese (Portugal)
hl=pa          Punjabi
hl=qu          Quechua
hl=ro          Romanian
hl=rm          Romansh
hl=nyn         Runyakitara
hl=ru          Russian
hl=gd          Scots Gaelic
hl=sr          Serbian
hl=sh          Serbo-Croatian
hl=st          Sesotho
hl=tn          Setswana
hl=crs         Seychellois Creole
hl=sn          Shona
hl=sd          Sindhi
hl=si          Sinhalese
hl=sk          Slovak
hl=sl          Slovenian
hl=so          Somali
hl=es          Spanish
hl=es-419      Spanish (Latin American)
hl=su          Sundanese
hl=sw          Swahili
hl=sv          Swedish
hl=tg          Tajik
hl=ta          Tamil
hl=tt          Tatar
hl=te          Telugu
hl=th          Thai
hl=ti          Tigrinya
hl=to          Tonga
hl=lua         Tshiluba
hl=tum         Tumbuka
hl=tr          Turkish
hl=tk          Turkmen
hl=tw          Twi
hl=ug          Uighur
hl=uk          Ukrainian
hl=ur          Urdu
hl=uz          Uzbek
hl=vi          Vietnamese
hl=cy          Welsh
hl=wo          Wolof
hl=xh          Xhosa
hl=yi          Yiddish
hl=yo          Yoruba
hl=zu          Zulu

搜索语言代码
lr=lang_af    Afrikaans
lr=lang_ar    Arabic
lr=lang_hy    Armenian
lr=lang_be    Belarusian
lr=lang_bg    Bulgarian
lr=lang_ca    Catalan
lr=lang_zh-CN Chinese (Simplified)
lr=lang_zh-TW Chinese (Traditional)
lr=lang_hr    Croatian
lr=lang_cs    Czech
lr=lang_da    Danish
lr=lang_nl    Dutch
lr=lang_en    English
lr=lang_eo    Esperanto
lr=lang_et    Estonian
lr=lang_tl    Filipino
lr=lang_fi    Finnish
lr=lang_fr    French
lr=lang_de    German
lr=lang_el    Greek
lr=lang_iw    Hebrew
lr=lang_hi    Hindi
lr=lang_hu    Hungarian
lr=lang_is    Icelandic
lr=lang_id    Indonesian
lr=lang_it    Italian
lr=lang_ja    Japanese
lr=lang_ko    Korean
lr=lang_lv    Latvian
lr=lang_lt    Lithuanian
lr=lang_no    Norwegian
lr=lang_fa    Persian
lr=lang_pl    Polish
lr=lang_pt    Portuguese
lr=lang_ro    Romanian
lr=lang_ru    Russian
lr=lang_sr    Serbian
lr=lang_sk    Slovak
lr=lang_sl    Slovenian
lr=lang_es    Spanish
lr=lang_sw    Swahili
lr=lang_sv    Swedish
lr=lang_th    Thai
lr=lang_tr    Turkish
lr=lang_uk    Ukrainian
lr=lang_vi    Vietnamese


简短的文字只有语言代码一览表

af, ach, ak, am, ar, az, be, bem, bg, bh, bn, br, bs, ca, chr, ckb, 
co, crs, cs, cy, da, de, ee, el, en, eo, es, es-419, et, eu, fa, fi, 
fo, fr, fy, ga, gaa, gd, gl, gn, gu, ha, haw, hi, hr, ht, hu, hy, ia, 
id, ig, is, it, iw, ja, jw, ka, kg, kk, km, kn, ko, kri, ku, ky, la, 
lg, ln, lo, loz, lt, lua, lv, mfe, mg, mi, mk, ml, mn, mo, mr, ms, mt,
ne, nl, nn, no, nso, ny, nyn, oc, om, or, pa, pcm, pl, ps, pt-BR, 
pt-PT, qu, rm, rn, ro, ru, rw, sd, sh, si, sk, sl, sn, so, sq, sr, 
sr-ME, st, su, sv, sw, ta, te, tg, th, ti, tk, tl, tn, to, tr, tt, 
tum, tw, ug, uk, ur, uz, vi, wo, xh, xx-bork, xx-elmer, xx-hacker, 
xx-klingon, xx-pirate, yi, yo, zh-CN, zh-TW, zu.
链接

相关网页

谷歌翻译
谷歌音译
谷歌在你的语言
谷歌翻译工具
谷歌翻译博客


新闻

现在谷歌搜索支持切诺基(2011年3月)
现在我们听! ( 2010年12月)
屏幕上的键盘谷歌翻译(2010年12月)
在香港(2010年12月,谷歌推出广东话语音搜寻)
音译走向全球(2009年12月)
51语言在Google翻译(2009年8月)
 
版权所有(C) 2007-2014 :shaozhuqing( shaozhuqing.com )。

 
免责声明:本文提供不带任何明示或
暗示的保证。虽然已采取一切努力,以确保
本文中包含的信息的准确度的
贡献者的错误或遗漏,或不承担任何责任
从使用的信息造成的损害所载。


最后编辑时间: 2012年6月11日
整理:邵珠庆( shaozhuqing.com )
网址: http://shaozhuqing.com/?p=2769
411月/130

Iframe高度自适应(兼容IE/Firefox、同域/跨域)

发布在 邵珠庆

在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此。

随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固定而显示出来的滚动条,不仅影响美观,还会对用户操作带来不便。于是自动调整iframe的高度就成为本文的重点。

采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域、跨域两种情况。

同域时Iframe高度自适应
下面的代码兼容IE/Firefox浏览器,控制id为“iframeid”的iframe的高度,通过JavaScript取得被嵌套页面最终高度,然后在主页面进行设置来实现。

代码如下,可复制。另外,请注意此解决方案仅供同域名下使用。

<script type="text/javascript">
 function SetCwinHeight(){
  var iframeid=document.getElementById("iframeid"); //iframe id
  if (document.getElementById){
   if (iframeid && !window.opera){
    if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight){
     iframeid.height = iframeid.contentDocument.body.offsetHeight;
    }else if(iframeid.Document && iframeid.Document.body.scrollHeight){
     iframeid.height = iframeid.Document.body.scrollHeight;
    }
   }
  }
 }
</script>
<iframe width="100%" id="iframeid" onload="Javascript:SetCwinHeight()" height="1" frameborder="0" src="kimi.php"></iframe>

跨域时Iframe高度自适应
在主页面和被嵌套的iframe为不同域名的时候,就稍微麻烦一些,需要避开JavaScript的跨域限制。

原理:现有iframe主页面main.html、被iframe嵌套页面iframe.html、iframe中介页面agent.html三个,通过main.html(域名为http://www.ccvita.com)嵌套iframe.html(域名为:http://www.phpq.net),当用户浏览时执行iframe.html中的JavaScript代码设置iframeC的scr地址中加入iframe页面的高度,agent.html(域名为:http://www.ccvita.com)取得传递的高度,通过JavaScript设置main.html中iframe的高度。最终实现预期的目标。

演示地址:http://www.ccvita.com/usr/uploads/demo/iframe/main.html
代码下载:http://www.ccvita.com/usr/uploads/demo/iframe/iframe.zip

 

iframe主页面main.html

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>iframe主页面</title></head>
<body>
 
<div style="border:1px solid #ccc;padding:10px;"><iframe id="frame_content"  name="frame_content" src="iframe.html" width="100%" height="0" scrolling="no" frameborder="0"></iframe></div><br />尾部<br /></body>
</html>

iframe嵌套页面iframe.html

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>被iframe嵌套页面</title></head>
<body>
 
文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><iframe id="iframeC" name="iframeC" src="" width="0" height="0" style="display:none;" ></iframe>
 
<script type="text/javascript">
function sethash(){
    hashH = document.documentElement.scrollHeight;
    urlC = "agent.html";
    document.getElementById("iframeC").src=urlC+"#"+hashH;
}
window.onload=sethash;
</script>
 
</body>
</html>

iframe中介页面agent.html

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>iframe中介页面</title></head>
 
<body>
 
<script>
function  pseth() {
    var iObj = parent.parent.document.getElementById('frame_content');
    iObjH = parent.parent.frames["frame_content"].frames["iframeC"].location.hash;
    iObj.style.height = iObjH.split("#")[1]+"px";
}
pseth();
</script>
 
</body>
</html>

UPDATE:长期以来一直有网友说方案不能跨域,今天我重新又测试了下,确定在IE6、IE7、IE8、IE9、Firefox全系列、Chrome全系列均可以成功跨域控制高度。请注意以下要点

  • 第一,修改main.html文件中iframe的src地址为需要跨域的域名(比如ccvita.sinaapp.com)
  • 第二,修改iframe.html文件中的urlC值为源域名(比如www.ccvita.com)这点最重要
   下一页