“华贵人寿擎天柱CP保定期寿险”的等待期是多长时间?

《2018(首届)中国百强客栈》即将发布
发布时间: 17:58:01
来源:北国网
责任编辑:
随着旅游业的兴起和人们对于文化与品位的追求,作为旅游业态中的客栈,日益受到人们关注,发展迅速,并引发资本介入,一大批有文化、有品位的客栈迅速崛起。
为了倡导旅行的方式和态度,促进客栈业交流与合作,褒奖、传播、展示真正有文化、有品味的客栈,《2018(首届)中国百强客栈》发布会即将于2018年11月在北京大学举行,届时邀请文化和旅游部官员、主流媒体主编、副主编,旅行媒体总编出席,为与会入选客栈颁发奖牌、证书。
记者了解到,《2018(首届)中国百强客栈》采用&景观与环境&、&规模与设施&、&服务与舒适度&、&文化与氛围&四项大指标、八项小指标,对国内客栈市场(近40000家)进行研究。数据取得包括陌生拜访、问卷调查、第三方云数据、研究报告、媒体监测、专家意见,依据综合得分,最终发布100家有品牌、有品味的客栈入选《2018(首届)中国百强客栈》。
名单全国分布,按省份推出,不进行排名。省内二-四个名额、旅游城市外,城市限一家客栈入选。
记者了解到,活动由斯坦福大学世界文化与旅行促进中心、国内领先的品牌传播机构品牌时代国际传媒联合国内新浪、网易、凤凰、新华等国内十余家媒体共同举办,意在打造中国客栈传播旗舰品牌。本届活动为首届,以后将每年发布一次。责任编辑:
“开门见山” 众美集团让老舍笔下的济南尽收眼底
Vitamix倾情推出七夕单身贵族自救攻略
网易发布2018年Q2财报,长线布局最强在线教育集群
睿正微享会集锦,汇集人才管理领域的精彩故事
欧普与大师有约收官之站:大师齐聚杭州,玩转照明控制
拥抱新消费,兔比兔有着怎样的生意经?
“狐友国民校草大赛”十强选手登台与粉丝见
中国国际进口博览会—— 在中国“买全球”
河南邓州:市委副书记刘建民一行亲切慰问武警
从7月上旬开始,大范围、长时间的高温天气在
河南邓州:深入开展改善农村人居环境工作,打好
周国兵,楚沩山人,国礼书画家,友明书画院副院长
九成受访者呼吁堵塞个人信息防护漏洞
保障食品安全没有旁观者
法律顾问:
对外服务:
版权所有 中国互联网新闻中心 电子邮件:
电话: 86-10- 京ICP证 040089号 网络传播视听节目许可证号:0105123椰风魅影华服叹 |2018马来西亚森林城市少儿时装周圆满结束
发布时间: 15:20:12
来源:北国网
责任编辑:
蔚蓝海岸白沙滩
仲夏有梦赴东南
椰风魅影华服叹
最是童年盼新山
一千个人心中有一千个马来西亚,
每一座城每一个地方有万千异样。
在马来西亚,在新山,一场跨域国界的少儿时尚盛事于日至7日隆重举行。来自中国各地及加拿大的小超模们不远万里陆续抵达马来西亚。
每个家庭抵达机场的第一瞬间就感受到了来自森林城市工作人员热情的迎接,来自世界各地的孩子们与家长虽然连夜乘坐国际航班路途遥远,但依然洗刷不掉小超模发自内心的兴奋。
本届盛会共有三大童装品牌发布:
偎爱而生亲情定制&&VICKY'Z;
风起敦煌意境山海&&JOJO;
潮童炫酷燃炸流行&&JOKII;
这里风景如画,这里蓝天白云,这里碧海晴空,这里琼林玉树。这里还有来自全球最顶尖的小超模们,他们不顾舟车劳顿为发布会前期的筹备试装,充分展现出职业小超模的专业素养。
本次马来西亚森林城市少儿艺术周还特启动全新公平赛制,并巧妙融合时尚&&所有的参赛小选手都身着统一的、由著名亲子品牌VICKY'Z设计的靓丽衣装登台亮相。在小选手们带给全场惊艳表现的同时,在座的每一位热爱少儿模特事业的人无不为之赞叹,她们的基本功与临场驾驭能力无不展现着平时的努力与刻苦。
组委会在马来西亚克服思想文化差异,与国际制作团队与马来西亚舞美制作方秉烛达旦,不断挑战异国搭建难题,不惜多次大幅度提升制作成本,只为解决一切的不可能。终于在美丽的新山,用中国时尚态度闪耀东南亚。
&责任编辑:
椰风魅影华服叹 |2018马来西亚森林城市少儿时装周圆满结束
第十二届中国品牌节开幕 “完达山”牌牛初乳精彩亮相
告别传统线性增长,志高空调指数级成长领涨2018冷年
温州民警连夜救治弃婴,10万抖音网友点赞人间至善
首届青海地方特色小吃大赛拉开战幕 珍馐美馔角逐美食“奥斯卡”
“狐友国民校草大赛”十强选手登台与粉丝见
中国国际进口博览会—— 在中国“买全球”
确认过眼神,这就是今夏最美的脸…
暑假来临,出行又迎高峰。从历年数据来看,暑期
30日,第十九届九色甘南“香巴拉”旅游艺术节
当父母、室友或者伴侣向你吼出这句话时,你的
邓州龙堰乡中心校:细排查保辍劝返,进村组扶
河南邓州:市委副书记刘建民一行亲切慰问武警
法律顾问:
对外服务:
版权所有 中国互联网新闻中心 电子邮件:
电话: 86-10- 京ICP证 040089号 网络传播视听节目许可证号:0105123&p&&b&注意:以下健身方法内容仅供参考,不是医学忠告,开始练习前请咨询医生。有颈椎病的朋友请咨询医生,这个仅适合脖子劳损。&/b&&/p&&p&曾经转动脖子会咔咔响,往后仰头脖子会疼,最严重的时候握鼠标的手都感觉发麻。&/p&&p&成为困扰我很长一段时间的问题。尝试过贴各种药膏,找师傅按摩,发现只能缓解几天,等过几天毛病又犯了。&/p&&p&后来自己摸索到一个超简单的方法,每天只需要&b&运动2分钟&/b&,这个曾经困扰我很长一段时间的问题,如今再也不是问题了,希望也能对你有帮助。&/p&&p&先说原理,很简单,就是通过几个动作增强颈部肌肉,一般人一周就能见效。&/p&&p&但每个人颈椎的情况各不相同,这里再强调一遍,有颈椎病的朋友请看医生,听医生嘱咐,这个仅适用脖子劳损。&/p&&p&&b&1.躺着抬头&/b&&/p&&p&这个躺在被窝里就可以做,特别适合懒虫~ 你可以把枕头拿起来。腿怎么放无所谓,可能你刚开始做10个脖子就会酸,有的朋友可能会晕,因为你之前几乎没有锻炼过脖子的肌肉,那就休息一下,明天做再加几个,这样每天增加几个,能做到30个就可以了。早上起来身体还没舒展开,动作要慢一点,做完30个大概耗时一分钟。&/p&&p&&b&另外评论区有人反馈起床做会头晕,那就洗脸刷牙热身后再做。&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/50/2fadde4c45f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&642& data-rawheight=&430& class=&origin_image zh-lightbox-thumb& width=&642& data-original=&https://pic4.zhimg.com/50/2fadde4c45f_r.jpg&&&/figure&&p&&br&&/p&&p&&b&2.左右旋转&/b&&br&还是躺在床上,头微微抬起一点,然后慢慢左右旋转脖子,还是30个,做完耗时不会超过一分钟。&br&这个比保健操左右旋转要累,更能锻炼脖子肌肉。&/p&&figure&&img src=&https://pic2.zhimg.com/50/39f415a79b9a24b7f1a91bb96397bce3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&860& data-rawheight=&452& class=&origin_image zh-lightbox-thumb& width=&860& data-original=&https://pic2.zhimg.com/50/39f415a79b9a24b7f1a91bb96397bce3_r.jpg&&&/figure&&p&&br&&/p&&p&就这么简单,每天早上起来,在被窝里动2分钟左右,脖子的肌肉慢慢就会增强,脖子也不容易难受了。建议开始的时候次数不要太多,循序渐进,因为你的脖子之前几乎没有运动过,做得太猛可能会疼(就像身体很久不运动,突然运动就会疼一样)一般一周到两周,你就会感觉自己的脖子越来越轻松了,渐渐的转脖子也不会咔咔响了。&/p&&p&另外,为了不忘记锻炼脖子,&b&推荐在手机闹钟提示里写上锻炼脖子&/b&,这样每天早上起来就记得锻炼脖子了,只要一周你就养成习惯了,每天早上在床上动动脖子会很舒服~&/p&&p&如果你现在在床上刷知乎,那你马上就可以试一试了。&/p&&p&&br&&/p&&p&&b&升级版&/b&&/p&&p&如果你已经锻炼一段时间,已经熟练了,感觉还可以提高强度,那么尝试升级版&/p&&p&&b&1.躺在床边缘抬头,&/b&这样你的脖子运动幅度会更大&/p&&p&&b&2.侧卧抬头,&/b&手臂放哪里无所谓,和抬头原理一样&/p&&figure&&img src=&https://pic3.zhimg.com/50/850a345de26c99c1b11fc15_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&488& data-rawheight=&402& class=&origin_image zh-lightbox-thumb& width=&488& data-original=&https://pic3.zhimg.com/50/850a345de26c99c1b11fc15_r.jpg&&&/figure&&p&&br&&/p&&p&&b&3.往后抬头,&/b&趴在床缘,往前低头,然后往后抬头。很像蛙泳的动作。&b&其实这就是在床上模拟蛙泳,打羽毛球脖子的运动,不过这是性价比更高的方式。你也可以往后抬头保持一段时间,那就是小燕飞动作了。&/b&&/p&&p&&br&&/p&&p&次数30次只是推荐次数,你做50次都可以,有时间也可以分组做,多做几组。慢慢来,让身体有时间恢复。不要一开始就做很多。&/p&&p&锻炼有效或无效,都欢迎来评论区反馈,如果能详细反馈更好,对后面的小伙伴有帮助,谢谢~,希望大家都能解决这个问题。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-a5ad869c7ab53bc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&232& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/50/v2-a5ad869c7ab53bc_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/50/v2-15d35cdc409c5fee6f5ec11fd8592d00_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1262& data-rawheight=&322& class=&origin_image zh-lightbox-thumb& width=&1262& data-original=&https://pic4.zhimg.com/50/v2-15d35cdc409c5fee6f5ec11fd8592d00_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/v2-bcaac8737fc6f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1272& data-rawheight=&226& class=&origin_image zh-lightbox-thumb& width=&1272& data-original=&https://pic3.zhimg.com/50/v2-bcaac8737fc6f_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/v2-538b7fd7a9e230b1f3963fe7acea821b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1304& data-rawheight=&424& class=&origin_image zh-lightbox-thumb& width=&1304& data-original=&https://pic2.zhimg.com/50/v2-538b7fd7a9e230b1f3963fe7acea821b_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/50/v2-379d836caf7dfba81b16da6a89cf2a6a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1282& data-rawheight=&240& class=&origin_image zh-lightbox-thumb& width=&1282& data-original=&https://pic4.zhimg.com/50/v2-379d836caf7dfba81b16da6a89cf2a6a_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/v2-e4ce472e74d5d4a3b00c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1276& data-rawheight=&260& class=&origin_image zh-lightbox-thumb& width=&1276& data-original=&https://pic3.zhimg.com/50/v2-e4ce472e74d5d4a3b00c_r.jpg&&&/figure&&p&如果觉得有用,想收藏或感谢,请随手点个赞,谢谢了~&/p&&p&&b&每个人情况各不相同,建议第一次尝试体验就行,感觉ok了再慢慢增加数量。&/b&&/p&&p&另外,正确的坐姿和看手机姿势也非常重要,如果坐姿不正确,你还是会可能无法根治,如何训练正确坐姿,请看我的公众号——升级健身,回复『肩膀』或『脖子』就会就获得详细教程。&/p&&figure&&img src=&https://pic4.zhimg.com/50/cf362a9fcbf2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1466& data-rawheight=&722& class=&origin_image zh-lightbox-thumb& width=&1466& data-original=&https://pic4.zhimg.com/50/cf362a9fcbf2d_r.jpg&&&/figure&
注意:以下健身方法内容仅供参考,不是医学忠告,开始练习前请咨询医生。有颈椎病的朋友请咨询医生,这个仅适合脖子劳损。曾经转动脖子会咔咔响,往后仰头脖子会疼,最严重的时候握鼠标的手都感觉发麻。成为困扰我很长一段时间的问题。尝试过贴各种药膏,找…
&figure&&img src=&https://pic4.zhimg.com/v2-d93f413b0b32e702dbdbda178f26e768_b.jpg& data-rawwidth=&580& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic4.zhimg.com/v2-d93f413b0b32e702dbdbda178f26e768_r.jpg&&&/figure&&blockquote&莱文斯坦距离,又称Levenshtein距离,是编辑距离的一种。指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。&/blockquote&&br&&p&莱文斯坦距离与 React 有千丝万缕的关系,所以花了几天的时间研究了 levenshtein 的算法,以及使用 js 实现了一遍,从 &a href=&https://link.zhihu.com/?target=https%3A//rosettacode.org/wiki/Levenshtein_distance%23JavaScript& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&(此链接给出了大多数语言版本的实现)copy 了测试用例。后面如果有时间我再另写一篇莱文斯坦距离与 React 的 &b&key&/b& 的关系的文章。&/p&&br&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&s1&&'use strict'&/span&
&span class=&kr&&const&/span& &span class=&nx&&min&/span& &span class=&o&&=&/span& &span class=&nb&&Math&/span&&span class=&p&&.&/span&&span class=&nx&&min&/span&
&span class=&c1&&// 构造二维数组&/span&
&span class=&kr&&const&/span& &span class=&nx&&initialArray&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&nx&&lgt1&/span&&span class=&p&&,&/span& &span class=&nx&&lgt2&/span&&span class=&p&&)&/span& &span class=&o&&=&&/span& &span class=&p&&{&/span&
&span class=&kd&&let&/span& &span class=&nx&&array&/span& &span class=&o&&=&/span& &span class=&p&&[]&/span&
&span class=&k&&for&/span& &span class=&p&&(&/span&&span class=&kd&&let&/span& &span class=&nx&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span& &span class=&o&&&&/span& &span class=&nx&&lgt1&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span&&span class=&o&&++&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&array&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&nb&&Array&/span&&span class=&p&&(&/span&&span class=&nx&&lgt2&/span&&span class=&p&&)&/span&
&span class=&p&&}&/span&
&span class=&k&&return&/span& &span class=&nx&&array&/span&
&span class=&p&&}&/span&
&span class=&cm&&/**&/span&
&span class=&cm&& * Levenshtein Distance&/span&
&span class=&cm&& * 从一个字符串转成另一个字符串所需要的最小操作步数&/span&
&span class=&cm&& */&/span&
&span class=&kr&&const&/span& &span class=&nx&&levenshtein&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&nx&&sa&/span&&span class=&p&&,&/span& &span class=&nx&&sb&/span&&span class=&p&&)&/span& &span class=&o&&=&&/span& &span class=&p&&{&/span&
&span class=&kd&&let&/span& &span class=&nx&&d&/span& &span class=&o&&=&/span& &span class=&p&&[]&/span&
&span class=&p&&,&/span& &span class=&nx&&algt&/span& &span class=&o&&=&/span& &span class=&nx&&sa&/span&&span class=&p&&.&/span&&span class=&nx&&length&/span&
&span class=&p&&,&/span& &span class=&nx&&blgt&/span& &span class=&o&&=&/span& &span class=&nx&&sb&/span&&span class=&p&&.&/span&&span class=&nx&&length&/span&
&span class=&p&&,&/span& &span class=&nx&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&p&&,&/span& &span class=&nx&&j&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&nx&&algt&/span& &span class=&o&&===&/span& &span class=&mi&&0&/span&&span class=&p&&)&/span& &span class=&k&&return&/span& &span class=&nx&&blgt&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&nx&&blgt&/span& &span class=&o&&===&/span& &span class=&mi&&0&/span&&span class=&p&&)&/span& &span class=&k&&return&/span& &span class=&nx&&algt&/span&
&span class=&c1&&// 初始化二维数组&/span&
&span class=&nx&&d&/span& &span class=&o&&=&/span& &span class=&nx&&initialArray&/span&&span class=&p&&(&/span&&span class=&nx&&algt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&nx&&blgt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&k&&for&/span& &span class=&p&&(&/span&&span class=&nx&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span& &span class=&o&&&&/span& &span class=&nx&&algt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span&&span class=&o&&++&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span&&span class=&p&&][&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&
&span class=&o&&=&/span& &span class=&nx&&i&/span&
&span class=&p&&}&/span&
&span class=&k&&for&/span& &span class=&p&&(&/span&&span class=&nx&&j&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span& &span class=&nx&&j&/span& &span class=&o&&&&/span& &span class=&nx&&blgt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&j&/span&&span class=&o&&++&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&nx&&j&/span&
&span class=&p&&}&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&nx&&i&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span& &span class=&o&&&&/span& &span class=&nx&&algt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&i&/span&&span class=&o&&++&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&k&&for&/span&&span class=&p&&(&/span&&span class=&nx&&j&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&j&/span& &span class=&o&&&&/span& &span class=&nx&&blgt&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&;&/span& &span class=&nx&&j&/span&&span class=&o&&++&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&k&&if&/span&&span class=&p&&(&/span&&span class=&nx&&sa&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&===&/span& &span class=&nx&&sb&/span&&span class=&p&&[&/span&&span class=&nx&&j&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&])&/span& &span class=&p&&{&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span&
&span class=&p&&}&/span& &span class=&k&&else&/span& &span class=&p&&{&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&nx&&min&/span&&span class=&p&&(&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span&
&span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&
&span class=&p&&)&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&span class=&k&&return&/span& &span class=&nx&&d&/span&&span class=&p&&[&/span&&span class=&nx&&i&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&][&/span&&span class=&nx&&j&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&&span class=&p&&]&/span&
&span class=&p&&}&/span&
&span class=&c1&&// test case&/span&
&span class=&c1&&// copy from https://rosettacode.org/wiki/Levenshtein_distance#JavaScript&/span&
&span class=&p&&;[&/span&
&span class=&p&&[&/span&&span class=&s1&&''&/span&&span class=&p&&,&/span& &span class=&s1&&''&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'yo'&/span&&span class=&p&&,&/span& &span class=&s1&&''&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&''&/span&&span class=&p&&,&/span& &span class=&s1&&'yo'&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'yo'&/span&&span class=&p&&,&/span& &span class=&s1&&'yo'&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'tier'&/span&&span class=&p&&,&/span& &span class=&s1&&'tor'&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'saturday'&/span&&span class=&p&&,&/span& &span class=&s1&&'sunday'&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'mist'&/span&&span class=&p&&,&/span& &span class=&s1&&'dist'&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'tier'&/span&&span class=&p&&,&/span& &span class=&s1&&'tor'&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'kitten'&/span&&span class=&p&&,&/span& &span class=&s1&&'sitting'&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'stop'&/span&&span class=&p&&,&/span& &span class=&s1&&'tops'&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'rosettacode'&/span&&span class=&p&&,&/span& &span class=&s1&&'raisethysword'&/span&&span class=&p&&,&/span& &span class=&mi&&8&/span&&span class=&p&&],&/span&
&span class=&p&&[&/span&&span class=&s1&&'mississippi'&/span&&span class=&p&&,&/span& &span class=&s1&&'swiss miss'&/span&&span class=&p&&,&/span& &span class=&mi&&8&/span&&span class=&p&&]&/span&
&span class=&p&&].&/span&&span class=&nx&&forEach&/span&&span class=&p&&(&/span&&span class=&kd&&function&/span&&span class=&p&&(&/span&&span class=&nx&&v&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&kd&&var&/span& &span class=&nx&&a&/span& &span class=&o&&=&/span& &span class=&nx&&v&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&nx&&b&/span& &span class=&o&&=&/span& &span class=&nx&&v&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&nx&&t&/span& &span class=&o&&=&/span& &span class=&nx&&v&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&],&/span& &span class=&nx&&d&/span& &span class=&o&&=&/span& &span class=&nx&&levenshtein&/span&&span class=&p&&(&/span&&span class=&nx&&a&/span&&span class=&p&&,&/span& &span class=&nx&&b&/span&&span class=&p&&);&/span&
&span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&nx&&d&/span& &span class=&o&&!==&/span& &span class=&nx&&t&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&console&/span&&span class=&p&&.&/span&&span class=&nx&&log&/span&&span class=&p&&(&/span&&span class=&s1&&'levenstein(&'&/span& &span class=&o&&+&/span& &span class=&nx&&a&/span& &span class=&o&&+&/span& &span class=&s1&&'&,&'&/span& &span class=&o&&+&/span& &span class=&nx&&b&/span& &span class=&o&&+&/span& &span class=&s1&&'&) was '&/span& &span class=&o&&+&/span& &span class=&nx&&d&/span& &span class=&o&&+&/span& &span class=&s1&&' should be '&/span& &span class=&o&&+&/span& &span class=&nx&&t&/span&&span class=&p&&)&/span&
&span class=&p&&}&/span&
&span class=&p&&})&/span&
&/code&&/pre&&/div&&br&&p&嗯,已经很晚了,针对这个算法以后有机会再分析原理吧。&/p&
莱文斯坦距离,又称Levenshtein距离,是编辑距离的一种。指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 莱文斯坦距离与 React 有千丝万缕的关系,所以花了几天的…
&p&昨天回答了:&/p&&p&&br&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&长期使用电脑工作,肩膀脖颈疼的不行。是否有减轻的办法? - 知乎&/a& - 丁香医生的回答&/p&&p&&br&&/p&&p&就说今天要来给大家解答下如何改善脖子前倾,也就是「乌龟颈」的问题。&/p&&p&&br&&/p&&p&所以,今天丁香医生就出现在这题下面了。&/p&&p&&br&&/p&&p&毕竟就算已经高产如母猪,自己立的 flag,含着泪也要把字码完。&/p&&p&&br&&/p&&p&「乌龟颈」是困扰很多人的问题,造成这个情况的原因有很多:&/p&&p&&br&&/p&&p&比如&b&经常低头玩手机&/b&或者&b&长时间用电脑。&/b&&/p&&p&&br&&/p&&p&比如&b&睡觉枕头太高&/b&,或者&b&力量训练缺少背部动作导致肌力不平衡&/b&等等。&/p&&p&&br&&/p&&p&对于很多人来说,「乌龟颈」对形象的影响是很严重的。&/p&&p&&br&&/p&&p&你作为一个男生,在这个只爱高个子的世界里,本身条件也就一般,脖子前倾的话,那就显得更矮了。&/p&&p&&br&&/p&&p&你作为一个女生,在这个只爱好身材的世界里,本身就是个飞机场,脖子前倾的话,别人看到你会说:&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-cdca4da240d9e99d7ebcd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&486& data-rawheight=&283& class=&origin_image zh-lightbox-thumb& width=&486& data-original=&https://pic2.zhimg.com/50/v2-cdca4da240d9e99d7ebcd_r.jpg&&&/figure&&p&&br&&/p&&p&然而,如果你认为「乌龟颈」只是影响形象那就太天真了。&/p&&p&&br&&/p&&p&如果长期不矫正头前伸的问题,时间久了,可能会导致慢性肌肉劳损,&b&造成椎间盘突出&/b&;压迫神经,&b&造成紧张性头痛&/b&;肺活量降低,影&b&响心血管健康&/b&;血液循环变慢,&b&影响大脑血供&/b&!&/p&&p&&br&&/p&&p&怕了吧......&/p&&p&&br&&/p&&p&不过也别那么紧张,昨天我说了,对于「乌龟颈」还是有办法缓解的。&/p&&p&&br&&/p&&p&具体来说有四步:&/p&&ol&&li&&b&放松颈部肌肉&/b&&/li&&li&&b&拉伸紧张肌肉&/b&&/li&&li&&b&强化弱势肌肉&/b&&/li&&li&&b&改善胸椎活动度&/b&&/li&&/ol&&p&&br&&/p&&p&&b&第一步:放松放松颈部肌肉&/b&&/p&&p&&br&&/p&&p&头前伸的姿势久了,颈部深层的伸肌肌群(半棘肌、最长肌、头夹肌、枕下肌等)会变得非常紧张。&/p&&p&&br&&/p&&p&▼ 就是这个打 XX 的地方:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-98e1bb23a031a505a33d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic3.zhimg.com/50/v2-98e1bb23a031a505a33d_r.jpg&&&/figure&&p&&br&&/p&&p&很多人抱怨「脖子难受」时,大多想表达的,也是这个位置沉重僵硬,严重时,会引起头晕或头痛等症状。&/p&&p&&br&&/p&&p&因为在深层的缘故,这些肌肉并不能通过拉伸很好地放松。&/p&&p&&br&&/p&&p&这时,我们可以利用按摩球或者网球等类似的物体进行按摩放松,效果非常棒。&/p&&p&&br&&/p&&p&▼ 将球压在枕骨下缘位置,也就是上文 X 标记处:&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-ddb0c4bdbdf36be_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic2.zhimg.com/50/v2-ddb0c4bdbdf36be_r.jpg&&&/figure&&p&球放上去后,活动头部,找到能感到稍微疼痛的区域,小范围反复滚动按压 5 分钟。两侧都做,过程保持放松,收下巴,不要耸肩。&/p&&p&&br&&/p&&p&缓解效果谁用谁知道!&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&第二步:拉伸紧张肌肉&/b&&/p&&p&&br&&/p&&p&拉伸紧张肌肉有两招:&b&前中斜角肌拉伸和胸部拉伸&/b&&/p&&p&&br&&/p&&p&&b&1. 胸锁乳突肌,前中斜角肌拉伸&/b&&/p&&p&&br&&/p&&p&对紧张的浅层颈肌肉及筋膜,进行拉伸放松。每侧维持 30 秒,重复 3 次;过程中,身体站直,不要耸肩。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-d4a8cf5b9c3d04ce9646d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic2.zhimg.com/50/v2-d4a8cf5b9c3d04ce9646d_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&b&2. 胸部拉伸&/b&&/p&&p&&br&&/p&&p&头前伸的姿势,大多都会伴有含胸、圆肩的情况(小胸的要特别注意了)。这时我们不能忽略对胸部肌肉的拉伸。&/p&&p&&br&&/p&&p&如下图所示,两只手架在门框上,弓步向前感受胸与肩部交界区域的牵拉。还可以移动手臂,尝试不同角度的拉伸,每次保持 30 秒,重复 3 次。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-6accdee252d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic2.zhimg.com/50/v2-6accdee252d_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&b&第三步:强化弱势肌肉&/b&&/p&&p&&br&&/p&&p&放松完紧张肌肉后,我们要开始锻炼用来固定和维持头部正常姿势的肌肉。&/p&&p&&br&&/p&&p&这有三招:&b&收下巴、点头和 YTWL&/b&&/p&&p&&br&&/p&&p&&b&1. 收下巴&/b&&/p&&p&&br&&/p&&p&做收下巴的动作,让你有脖子后面被拉长的感觉,就像下面这样。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-9e7ebd7778fdf5ac3ab7395_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic1.zhimg.com/50/v2-9e7ebd7778fdf5ac3ab7395_r.jpg&&&/figure&&p&动作过程中,下巴水平向后移动,确保你的眼睛和下巴保持水平,不要上下移动,每次保持 5 秒,重复 30 次。&/p&&p&&br&&/p&&p&当你做这个动作感觉很轻松后,可以尝试增加重力的负荷,如下图:&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-4bd32e72a7a2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic1.zhimg.com/50/v2-4bd32e72a7a2d_r.jpg&&&/figure&&p&&br&&/p&&p&&b&2. 点头&/b&&/p&&p&&br&&/p&&p&除了收下巴,我们还需要增强颈部深层屈肌的训练。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-9b335f7df7cd30ff0b483_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic3.zhimg.com/50/v2-9b335f7df7cd30ff0b483_r.jpg&&&/figure&&p&&br&&/p&&p&仰卧躺在床上(或瑜伽垫上),保持上述收下巴姿势的同时,做点头动作。&/p&&p&&br&&/p&&p&整个过程要放松、缓慢,你会感受到颈后轻微的拉伸,每次保持 5 秒,重复 30 次。同样,如果想要进阶,可以让头部悬空对抗重力。&/p&&p&&br&&/p&&p&&b&3. YTWL&/b&&/p&&p&&br&&/p&&p&这组动作的目的,是为了增强后背薄弱肌群的力量,能预防和改善驼背的姿势。&/p&&p&&br&&/p&&p&至于为啥叫 YTWL,看下图就明白了:&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-796b623cf90a08521c6f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic4.zhimg.com/50/v2-796b623cf90a08521c6f_r.jpg&&&/figure&&p&&br&&/p&&p&整组动作注意保持对肩胛骨(后背两大块蝴蝶骨)的挤压,拇指朝上,上背挺直。每组由 Y 到 T 做 10 次,由 T 到 W 做 10 次,W 到 L 做 10 次,每次做 3 组。&/p&&p&&br&&/p&&p&你们不说我也知道,这个图实在太魔性......&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&最后一步:改善胸椎活动度&/b&&/p&&p&&br&&/p&&p&缺少背部力量训练动作导致肌力不平衡,或者睡觉枕头太高,都可能造成头前伸,往往还导致胸椎的僵硬和曲度变大。&/p&&p&&br&&/p&&p&而胸椎灵活性的降低,又很容易影响到肩颈、躯干和髋关节,但却经常被忽视。所以要注意改善胸椎活动度。&/p&&p&&br&&/p&&p&&b&1. 如果你是个健身好青年,那你一定有泡沫轴&/b&&/p&&p&&br&&/p&&p&可以利用它很好地放松胸椎周围的软组织,改善胸椎活动度。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-7004fc9cfb49e3fe41df27ceea3f828a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic1.zhimg.com/50/v2-7004fc9cfb49e3fe41df27ceea3f828a_r.jpg&&&/figure&&p&&br&&/p&&p&&b&2. 如果你没有泡沫轴&/b&&/p&&p&&br&&/p&&p&可以做下面的动作:手膝四点支撑,呼气时弓背,感受脊柱的轻柔伸展;塌腰时吸气。每组做 20 次交替,每次做 3 组:&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-5d755c3c8be_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic4.zhimg.com/50/v2-5d755c3c8be_r.jpg&&&/figure&&p&或者,双膝单手支撑,一侧手放于脑后,最大程度旋转胸椎,尽量保持肋骨向下,在最高位置保持 5 秒。两边都做,每组 20 次,做 3 组。&/p&&p&&br&&/p&&p&也就是下面这样&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-dc38876be4bcaba79c8a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic2.zhimg.com/50/v2-dc38876be4bcaba79c8a_r.jpg&&&/figure&&p&&br&&/p&&p&这图真不是两个男人在讨论哲♂学问题。&/p&&p&&br&&/p&&p&基本上能经常做到上面的四种方法,是可以很好缓解头部前伸的问题。&/p&&p&&br&&/p&&p&&b&当然,除了这种改善性训练,最最重要的还是时刻注意生活中保持正确姿势,避免「乌龟颈」的发生。&/b&&/p&&p&&br&&/p&&p&因为改善性的训练不会立竿见影,需要长时间练习,提早预防才是王道。&/p&&p&&br&&/p&&p&毕竟一旦「乌龟颈」了,就好像每天顶着个 gui 头去工作学习社交,十分影响形象啊。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-b2d4298dfd46e0a72c972ff_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&462& data-rawheight=&270& class=&origin_image zh-lightbox-thumb& width=&462& data-original=&https://pic2.zhimg.com/50/v2-b2d4298dfd46e0a72c972ff_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&内容参考丁香医生科普文章:&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//dxy.com/column/7972& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&脖子前倾「乌龟颈」怎么办?多练这几个动作 - 丁香医生&/a&&/p&&p&作者:&a href=&//link.zhihu.com/?target=http%3A//dxy.com/column/author/liuqiang& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&刘强&/a&
运动康复硕士 &/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-e8a2d6ae2ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&600& data-rawheight=&268& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic2.zhimg.com/50/v2-e8a2d6ae2ae_r.jpg&&&/figure&
昨天回答了:
- 丁香医生的回答 就说今天要来给大家解答下如何改善脖子前倾,也就是「乌龟颈」的问题。 所以,今天丁香医生就出现在这题下面了。 毕竟就算已经高产如母猪,自己立的 flag,含…
&figure&&img src=&https://pic1.zhimg.com/v2-fb8c46558abfc_b.jpg& data-rawwidth=&1920& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic1.zhimg.com/v2-fb8c46558abfc_r.jpg&&&/figure&&p&一直以来,都有不少朋友问到这两个问题:&/p&&p&&br&&/p&&p&&b&为什么有了意外险还需要寿险?&/b&&/p&&p&&b&这种“保死不保生”的保险有什么用?&/b&&/p&&p&而最近咨询定期寿险的朋友越来越多,小编也真切地感受到大家的保险意识在慢慢提高。本期藏保君就带大家看看近期咨询较多的,也是市面上性价比较高的几款定期寿险是否值得购买?如何做选择?&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-154c3bbc0baefcecb10dd_b.jpg& data-rawwidth=&640& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-154c3bbc0baefcecb10dd_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&先回答前面两个问题:&/p&&p&&b&为什么有了意外险还需要寿险?&/b&如果是非意外导致的死亡呢,如疾病,见义勇为等?&/p&&p&&b&这种“保死不保生”的保险有什么用?&/b&假设作为家庭支柱的35岁小王,家有妻儿父母需要赡养,还有房贷百万,突发猝死或者疾病身故,是否需要一笔钱维持3-5年家庭开支呢?&/p&&p&&br&&/p&&p&在之前的文章中小编已经具体写过从哪几个方面来挑选寿险,这里就不赘述了,有需要的朋友请戳 &b&藏保系列四 - 小白如何挑选寿险?&/b&&/p&&p&&br&&/p&&p&既然今天话题是定期寿险,那么首先搞清楚下面两个问题:&/p&&p&&b&为什么买定期寿险?适合谁?&/b& - 相较于终身寿险,定期寿险保费低,保障高,适合事业起步期的年轻人以及预算紧张、家庭责任重、对保额需求高的家庭支柱;&/p&&p&&b&多少保额足够?&/b& - 一般覆盖3-5年的日常开销、父母赡养、子女赡养教育费用,再加上家庭负债(房贷车贷等);&/p&&p&&br&&/p&&p&接下来我们步入正题,从以下几方面来看看市面上热销的这几款定期寿险:&/p&&p&&b&投保规则&/b&&/p&&p&&b&保险责任&/b&&/p&&p&&b&健康告知&/b&&/p&&p&&b&费率&/b&&/p&&p&&b&核保&/b&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-8d1b8c32c390e_b.jpg& data-rawwidth=&640& data-rawheight=&463& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-8d1b8c32c390e_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&b&1. 投保规则:&/b&&/p&&p&投保年龄: 其中年龄最宽泛的为横琴人寿的优爱宝,18-60岁均可投保。&/p&&p&职业限制:对职业限制最为宽松的是瑞泰人寿的瑞和定寿,无限制,其次为华贵人寿的擎天柱,1-6类均可投保,但对部分危险职业有限制。&/p&&p&保障年限: 瑞泰瑞和年龄段选择最广,最高可达88岁。&/p&&p&交费年限:这里最为人性化的是弘康人寿的大白、华贵人寿的擎天柱以及上海人寿的小蘑菇,可选30年期交费,为预算不足的人群减轻压力;&/p&&p&免体检最高保额:除弘康最高限额100万,其余公司大同小异,一线城市150万,其余100万或50万。&/p&&p&&br&&/p&&p&&b&2. 保险责任:&/b&&/p&&p&等待期及等待期出险:横琴人寿优爱宝90天等待期拔得头筹,而其他均为180天。而瑞泰瑞和等待期出险为120%的已交保费,优于其他品种。&/p&&p&免责条款:瑞泰瑞和为市面上最少免责条款,仅3条,这在理赔时有一定优势。而华贵人寿擎天柱和上海人寿小蘑菇免责条款为5条。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-98a55d1d06ed29ac155ce17dcb791980_b.jpg& data-rawwidth=&640& data-rawheight=&449& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-98a55d1d06ed29ac155ce17dcb791980_r.jpg&&&/figure&&p&&br&&/p&&p&身故全残责任:五家均包含身故全残责任。其中弘康大白、瑞泰瑞和和上海人寿小蘑菇保险条款为意外和非意外导致的身故全残为保险责任,而横琴人寿优爱宝和华贵人寿擎天柱则为意外和疾病。&/p&&p&是否只有意外和疾病会导致身故或全残呢?小编认为这里就有一定的争议了,如果是非疾病非意外身故呢,比如“无疾而终”,见义勇为?虽然在实际理赔中保险公司可能会通融赔付,但是会不会有纠纷,目前暂无实际案例。&/p&&p&&b&3. 健康告知:&/b&&/p&&p&瑞泰瑞和和华贵擎天柱健康告知均为4条,较为宽松。其中华贵擎天柱多了脑外伤严重后遗症、严重肝病(乙肝大三阳患者不能投)、以及器官移植。其他三家就较为严格了,这里就不展开讨论。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b9d4ce72c392e0d81987e_b.jpg& data-rawwidth=&640& data-rawheight=&482& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-b9d4ce72c392e0d81987e_r.jpg&&&/figure&&p&&br&&/p&&p&&b&4. 费率:&/b&&/p&&p&华贵人寿擎天柱男性最有优势,而上海人寿小蘑菇女性最划算。在小编看来,保费差异不大的情况下,先看哪一款自己能够符合健康告知,其次所在地域能满足保额需求,最后通过保险责任来对比价格。&/p&&p&另外,瑞泰瑞和和弘康大白算是市场先吃螃蟹的人,而华贵擎天柱、横琴优爱宝、上海人寿小蘑菇均为成立不久的保险公司推出的不到半年的新品。虽然小编也看好新晋保险公司,但对于长险而言,谨慎建议产品上市半年后再来验证,因此目前小编仍然推荐弘康大白和瑞泰瑞和。当然,相对于重疾险、意外险而言,寿险理赔算是争议最少的,怎么选择小伙伴们自己考虑。&/p&&p&&b&5. 核保:&/b&&/p&&p&网销产品能否人工核保是很多不符合健康告知的朋友关心的问题,其中弘康大白支持线下核保、瑞泰瑞和支持预核保,而横琴优爱宝和上海人寿小蘑菇暂不支持人工核保,完全符合健康告知才可投保。&/p&&p&&br&&/p&&p&&b&本文系公众号:藏保阁live原创,未经许可请勿抄袭。&/b&&/p&&p&&b&喜欢请关注公众号:藏保阁live。&/b&&/p&&p&&b&咨询请联系藏保君微信号: cangbaogestory。&/b&&/p&
一直以来,都有不少朋友问到这两个问题: 为什么有了意外险还需要寿险?这种“保死不保生”的保险有什么用?而最近咨询定期寿险的朋友越来越多,小编也真切地感受到大家的保险意识在慢慢提高。本期藏保君就带大家看看近期咨询较多的,也是市面上性价比较高…
&figure&&img src=&https://pic1.zhimg.com/v2-7a352a9edf12b11213fafef75e7bc7d6_b.jpg& data-rawwidth=&678& data-rawheight=&196& class=&origin_image zh-lightbox-thumb& width=&678& data-original=&https://pic1.zhimg.com/v2-7a352a9edf12b11213fafef75e7bc7d6_r.jpg&&&/figure&&blockquote&在一个Node.js项目中,&b&package.json&/b&几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是&b&npm&/b&命令的入口文件。&/blockquote&&h2&&b&npm&/b& 目前支持以下几类依赖包管理:&/h2&&ul&&li&dependencies&/li&&li&devDependencies&/li&&li&peerDependencies&/li&&li&optionalDependencies&/li&&li&bundledDependencies / bundleDependencies&/li&&/ul&&p&如果你想使用哪种依赖管理,那么你可以将它放在package.json中对应的依赖对象中,比如:&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span&&/span&&span class=&s2&&&devDependencies&&/span&&span class=&err&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&fw2&&/span&&span class=&p&&:&/span& &span class=&s2&&&^0.3.2&&/span&&span class=&p&&,&/span&
&span class=&nt&&&grunt&&/span&&span class=&p&&:&/span& &span class=&s2&&&^1.0.1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&webpack&&/span&&span class=&p&&:&/span& &span class=&s2&&&^3.6.0&&/span&
&span class=&p&&}&/span&&span class=&err&&,&/span&
&span class=&s2&&&dependencies&&/span&&span class=&err&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&gulp&&/span&&span class=&p&&:&/span& &span class=&s2&&&^3.9.1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&hello-else&&/span&&span class=&p&&:&/span& &span class=&s2&&&^1.0.0&&/span&
&span class=&p&&}&/span&&span class=&err&&,&/span&
&span class=&s2&&&peerDependencies&&/span&&span class=&err&&:&/span& &span class=&p&&{&/span& &span class=&p&&}&/span&&span class=&err&&,&/span&
&span class=&s2&&&optionalDependencies&&/span&&span class=&err&&:&/span& &span class=&p&&{&/span& &span class=&p&&}&/span&&span class=&err&&,&/span&
&span class=&s2&&&bundledDependencies&&/span&&span class=&err&&:&/span& &span class=&p&&[]&/span&
&/code&&/pre&&/div&&p&下面我们一一来看:&/p&&h2&dependencies&/h2&&p&应用依赖,或者叫做业务依赖,这是我们最常用的依赖包管理对象!它用于指定应用依赖的外部包,这些依赖是应用发布后正常执行时所需要的,但不包含测试时或者本地打包时所使用的包。可使用下面的命令来安装:&/p&&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&n&&npm&/span& &span class=&n&&install&/span& &span class=&n&&packageName&/span& &span class=&p&&-&/span&&span class=&n&&-save&/span&
&/code&&/pre&&/div&&p&&b&dependencies&/b&是一个简单的JSON对象,包含&b&包名&/b&与&b&包版本&/b&,其中&b&包版本&/b&可以是版本号或者URL地址。比如:&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&p&&{&/span&
&span class=&s2&&&dependencies&&/span& &span class=&o&&:&/span&&span class=&p&&{&/span&
&span class=&s2&&&foo&&/span& &span class=&o&&:&/span& &span class=&s2&&&1.0.0 - 2.&&/span&&span class=&p&&,&/span& &span class=&c1&&// 指定版本范围&/span&
&span class=&s2&&&bar&&/span& &span class=&o&&:&/span& &span class=&s2&&&&=1.0.2 &2.1.2&&/span&&span class=&p&&,&/span&
&span class=&s2&&&baz&&/span& &span class=&o&&:&/span& &span class=&s2&&&&1.0.2 &=2.3.4&&/span&&span class=&p&&,&/span&
&span class=&s2&&&boo&&/span& &span class=&o&&:&/span& &span class=&s2&&&2.0.1&&/span&&span class=&p&&,&/span& &span class=&c1&&// 指定版本&/span&
&span class=&s2&&&qux&&/span& &span class=&o&&:&/span& &span class=&s2&&&&1.0.0 || &=2.3.1 &2.4.5 || &=2.5.2 &3.0.0&&/span&&span class=&p&&,&/span&
&span class=&s2&&&asd&&/span& &span class=&o&&:&/span& &span class=&s2&&&http://asdf.com/asdf.tar.gz&&/span&&span class=&p&&,&/span& &span class=&c1&&// 指定包地址&/span&
&span class=&s2&&&til&&/span& &span class=&o&&:&/span& &span class=&s2&&&~1.2&&/span&&span class=&p&&,&/span&
&span class=&c1&&// 最近可用版本&/span&
&span class=&s2&&&elf&&/span& &span class=&o&&:&/span& &span class=&s2&&&~1.2.3&&/span&&span class=&p&&,&/span&
&span class=&s2&&&elf&&/span& &span class=&o&&:&/span& &span class=&s2&&&^1.2.3&&/span&&span class=&p&&,&/span& &span class=&c1&&// 兼容版本&/span&
&span class=&s2&&&two&&/span& &span class=&o&&:&/span& &span class=&s2&&&2.x&&/span&&span class=&p&&,&/span& &span class=&c1&&// 2.1、2.2、...、2.9皆可用&/span&
&span class=&s2&&&thr&&/span& &span class=&o&&:&/span& &span class=&s2&&&*&&/span&&span class=&p&&,&/span&
&span class=&c1&&// 任意版本&/span&
&span class=&s2&&&thr2&&/span&&span class=&o&&:&/span& &span class=&s2&&&&&/span&&span class=&p&&,&/span& &span class=&c1&&// 任意版本&/span&
&span class=&s2&&&lat&&/span& &span class=&o&&:&/span& &span class=&s2&&&latest&&/span&&span class=&p&&,&/span& &span class=&c1&&// 当前最新&/span&
&span class=&s2&&&dyl&&/span& &span class=&o&&:&/span& &span class=&s2&&&file:../dyl&&/span&&span class=&p&&,&/span& &span class=&c1&&// 本地地址&/span&
&span class=&s2&&&xyz&&/span& &span class=&o&&:&/span& &span class=&s2&&&git+ssh://:npm/npm.git#v1.0.27&&/span&&span class=&p&&,&/span& &span class=&c1&&// git 地址&/span&
&span class=&s2&&&fir&&/span& &span class=&o&&:&/span& &span class=&s2&&&git+ssh://:npm/npm#semver:^5.0&&/span&&span class=&p&&,&/span&
&span class=&s2&&&wdy&&/span& &span class=&o&&:&/span& &span class=&s2&&&git+https:///npm/npm.git&&/span&&span class=&p&&,&/span&
&span class=&s2&&&xxy&&/span& &span class=&o&&:&/span& &span class=&s2&&&git://github.com/npm/npm.git#v1.0.27&&/span&&span class=&p&&,&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&h2&devDependencies&/h2&&p&开发环境依赖,仅次于&b&dependencies&/b&的使用频率!它的对象定义和&b&dependencies&/b&一样,只不过它里面的包只用于开发环境,不用于生产环境,这些包通常是单元测试或者打包工具等,例如&b&gulp, grunt, webpack, moca, coffee&/b&等,可使用以下命令来安装:&/p&&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&n&&npm&/span& &span class=&n&&install&/span& &span class=&n&&packageName&/span& &span class=&p&&-&/span&&span class=&n&&-save-dev&/span&
&/code&&/pre&&/div&&p&举个栗子:&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span&&/span&&span class=&p&&{&/span& &span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&ethopia-waza&&/span&&span class=&p&&,&/span&
&span class=&nt&&&description&&/span&&span class=&p&&:&/span& &span class=&s2&&&a delightfully fruity coffee varietal&&/span&&span class=&p&&,&/span&
&span class=&nt&&&version&&/span&&span class=&p&&:&/span& &span class=&s2&&&1.2.3&&/span&&span class=&p&&,&/span&
&span class=&nt&&&devDependencies&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&coffee-script&&/span&&span class=&p&&:&/span& &span class=&s2&&&~1.6.3&&/span&
&span class=&p&&},&/span&
&span class=&nt&&&scripts&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&prepare&&/span&&span class=&p&&:&/span& &span class=&s2&&&coffee -o lib/ -c src/waza.coffee&&/span&
&span class=&p&&},&/span&
&span class=&nt&&&main&&/span&&span class=&p&&:&/span& &span class=&s2&&&lib/waza.js&&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&prepare脚本会在发布前运行,因此使用者在编译项目时不用依赖它。在开发模式下,运行npm install, 同时也会执行prepare脚本,开发时可以很容易的测试。&/p&&blockquote&至此,你理解了&b&--save&/b&和&b&--save-dev&/b&的区别了吗?&/blockquote&&h2&peerDependencies&/h2&&p&同等依赖,或者叫同伴依赖,用于指定当前包(也就是你写的包)兼容的宿主版本。如何理解呢? 试想一下,我们编写一个gulp的插件,而gulp却有多个主版本,我们只想兼容最新的版本,此时就可以用同等依赖(&b&peerDependencies&/b&)来指定:&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span&&/span&&span class=&p&&{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&gulp-my-plugin&&/span&&span class=&p&&,&/span&
&span class=&nt&&&version&&/span&&span class=&p&&:&/span& &span class=&s2&&&0.0.1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&peerDependencies&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&gulp&&/span&&span class=&p&&:&/span& &span class=&s2&&&3.x&&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&当别人使用我们的插件时,&b&peerDependencies&/b&就会告诉明确告诉使用方,你需要安装该插件哪个宿主版本。&/p&&p&通常情况下,我们会在一个项目里使用一个宿主(比如gulp)的很多插件,如果相互之间存在宿主不兼容,在执行&b&npm install&/b&时,cli会抛出错误信息来告诉我们,比如:&/p&&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&n&&npm&/span& &span class=&n&&ERR&/span&&span class=&p&&!&/span& &span class=&n&&peerinvalid&/span& &span class=&n&&The&/span& &span class=&n&&package&/span& &span class=&n&&gulp&/span& &span class=&n&&does&/span& &span class=&n&&not&/span& &span class=&n&&satisfy&/span& &span class=&n&&its&/span& &span class=&n&&siblings&/span&&span class=&err&&'&/span& &span class=&n&&peerDependencies&/span& &span class=&n&&requirements&/span&&span class=&p&&!&/span&
&span class=&n&&npm&/span& &span class=&n&&ERR&/span&&span class=&p&&!&/span& &span class=&n&&peerinvalid&/span& &span class=&n&&Peer&/span& &span class=&n&&gulp-cli-config&/span&&span class=&nv&&@0&/span&&span class=&p&&.&/span&&span class=&n&&1&/span&&span class=&p&&.&/span&&span class=&n&&3&/span& &span class=&n&&wants&/span& &span class=&n&&gulp&/span&&span class=&p&&@~&/span&&span class=&n&&3&/span&&span class=&p&&.&/span&&span class=&n&&1&/span&&span class=&p&&.&/span&&span class=&n&&9&/span&
&span class=&n&&npm&/span& &span class=&n&&ERR&/span&&span class=&p&&!&/span& &span class=&n&&peerinvalid&/span& &span class=&n&&Peer&/span& &span class=&n&&gulp-cli-users&/span&&span class=&nv&&@0&/span&&span class=&p&&.&/span&&span class=&n&&1&/span&&span class=&p&&.&/span&&span class=&n&&4&/span& &span class=&n&&wants&/span& &span class=&n&&gulp&/span&&span class=&p&&@~&/span&&span class=&n&&2&/span&&span class=&p&&.&/span&&span class=&n&&3&/span&&span class=&p&&.&/span&&span class=&n&&0&/span&
&/code&&/pre&&/div&&p&运行命令&b&npm install gulp-my-plugin --save-dev&/b&来安装我们插件,我们来看下依赖图谱:&/p&&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&err&&├──&/span& &span class=&n&&gulp-my-plugin&/span&&span class=&nv&&@0&/span&&span class=&p&&.&/span&&span class=&n&&0&/span&&span class=&p&&.&/span&&span class=&n&&1&/span&
&span class=&err&&└──&/span& &span class=&n&&gulp&/span&&span class=&nv&&@3&/span&&span class=&p&&.&/span&&span class=&n&&9&/span&&span class=&p&&.&/span&&span class=&n&&1&/span&
&/code&&/pre&&/div&&p&OK, Nice!&/p&&blockquote&注意,npm 1 与 npm 2 会自动安装同等依赖,npm 3 不再自动安装,会产生警告!手动在package.json文件中添加依赖项可以解决。&/blockquote&&h2&optionalDependencies&/h2&&p&可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用&b&optionalDependencies&/b&。另外&b&optionalDependencies&/b&会覆盖&b&dependencies&/b&中的同名依赖包,所以不要在两个地方都写。&/p&&p&举个栗子,可选依赖包就像程序的插件一样,如果存在就执行存在的逻辑,不存在就执行另一个逻辑。&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&k&&try&/span& &span class=&p&&{&/span&
&span class=&kd&&var&/span& &span class=&nx&&foo&/span& &span class=&o&&=&/span& &span class=&nx&&require&/span&&span class=&p&&(&/span&&span class=&s1&&'foo'&/span&&span class=&p&&)&/span&
&span class=&kd&&var&/span& &span class=&nx&&fooVersion&/span& &span class=&o&&=&/span& &span class=&nx&&require&/span&&span class=&p&&(&/span&&span class=&s1&&'foo/package.json'&/span&&span class=&p&&).&/span&&span class=&nx&&version&/span&
&span class=&p&&}&/span& &span class=&k&&catch&/span& &span class=&p&&(&/span&&span class=&nx&&er&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&foo&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&
&span class=&p&&}&/span&
&span class=&k&&if&/span& &span class=&p&&(&/span& &span class=&nx&&notGoodFooVersion&/span&&span class=&p&&(&/span&&span class=&nx&&fooVersion&/span&&span class=&p&&)&/span& &span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&foo&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&
&span class=&p&&}&/span&
&span class=&c1&&// .. then later in your program ..&/span&
&span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&nx&&foo&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&foo&/span&&span class=&p&&.&/span&&span class=&nx&&doFooThings&/span&&span class=&p&&()&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&h2&bundledDependencies / bundleDependencies&/h2&&p&打包依赖,&b&bundledDependencies&/b&是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里。如:&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span&&/span&&span class=&p&&{&/span&
&span class=&nt&&&name&&/span&&span class=&p&&:&/span& &span class=&s2&&&fe-weekly&&/span&&span class=&p&&,&/span&
&span class=&nt&&&description&&/span&&span class=&p&&:&/span& &span class=&s2&&&ELSE 周刊&&/span&&span class=&p&&,&/span&
&span class=&nt&&&version&&/span&&span class=&p&&:&/span& &span class=&s2&&&1.0.0&&/span&&span class=&p&&,&/span&
&span class=&nt&&&main&&/span&&span class=&p&&:&/span& &span class=&s2&&&index.js&&/span&&span class=&p&&,&/span&
&span class=&nt&&&devDependencies&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&fw2&&/span&&span class=&p&&:&/span& &span class=&s2&&&^0.3.2&&/span&&span class=&p&&,&/span&
&span class=&nt&&&grunt&&/span&&span class=&p&&:&/span& &span class=&s2&&&^1.0.1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&webpack&&/span&&span class=&p&&:&/span& &span class=&s2&&&^3.6.0&&/span&
&span class=&p&&},&/span&
&span class=&nt&&&dependencies&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&gulp&&/span&&span class=&p&&:&/span& &span class=&s2&&&^3.9.1&&/span&&span class=&p&&,&/span&
&span class=&nt&&&hello-else&&/span&&span class=&p&&:&/span& &span class=&s2&&&^1.0.0&&/span&
&span class=&p&&},&/span&
&span class=&nt&&&bundledDependencies&&/span&&span class=&p&&:&/span& &span class=&p&&[&/span&
&span class=&s2&&&fw2&&/span&&span class=&p&&,&/span&
&span class=&s2&&&hello-else&&/span&
&span class=&p&&]&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&执行打包命令&b&npm pack&/b&, 在生成的&b&fe-weekly-1.0.0.tgz&/b&包中,将包含&b&fw2&/b&和&b&hello-else&/b&。 但是值得注意的是,这两个包必须先在&b&devDependencies&/b&或&b&dependencies&/b&声明过,否则打包会报错。&/p&&h2&总结&/h2&&p&以上就是目前npm支持的依赖管理,如有不明白或者错误之处,请在评论区留言。&/p&&p&&br&&/p&&p&欢迎关注我们专栏:&a href=&https://zhuanlan.zhihu.com/itech& class=&internal&&ELSE&/a&&/p&&p&&br&&/p&&h2&更多参考:&/h2&&ul&&li&&a href=&https://link.zhihu.com/?target=https%3A//docs.npmjs.com/files/package.json& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&docs.npmjs.com/files/pa&/span&&span class=&invisible&&ckage.json&/span&&span class=&ellipsis&&&/span&&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//blog.domenic.me/peer-dependencies/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&blog.domenic.me/peer-de&/span&&span class=&invisible&&pendencies/&/span&&span class=&ellipsis&&&/span&&/a&&/li&&/ul&
在一个Node.js项目中,package.json几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是npm命令的入口文件。npm 目前支持以下几类依赖包管理:dependenciesdevDependenciespeerDependenciesoptionalDependenciesbundledDepe…
&p&首先对于vue考察,我觉得题主你应该先问下面试者vue对于mvvm的一个实现,这是一个通透的理解,不仅能考察对vue的理解,还能了解到求职者在前端这一块整体的一个把关。&/p&&p&其次,对于vue,你还能问下项目开发中经常出现的一些点,比如什么时候适合用methods,什么时候适合用computed,什么时候适合用watch。再比如钩子函数你怎么理解,事件修饰符等等。这些能考察到求职者对vue的基础的一些掌握。&/p&&p&再稍微高级点的就是vue组件开发这一点了,如何合理的抽离出组件,各组件如何通信(父传子,子传父,同级组件),公用方法mixin处理,全局状态该如何存储(这又可以牵扯到vuex),如何自定义组件的指令,内置组件等等等等。&/p&&p&然后你就可以问全家桶了。&/p&&p&再高级点的就是vue-cli脚手架了,vue是如何通过使用webpack进行测试和生产环境进行一个构建处理的(这里题主你还能拉出grunt,gulp让求职者去分析一下三者)。&/p&&p&最后你就可以闲聊一下了,比如问问求职者是不是研究过源码,vue是如何实现一些指令,对于指令解析,vue又是如何获取到指令的expression去做这么一个解析的(如果只说正则处理那就太不负责了,应该听到的是:解析具体expression的处理,比如test.xxx.a[&asa&][test1[idx]]的一个处理&/p&&p&对于解析的处理,给你两地址
parseText-&a href=&//link.zhihu.com/?target=https%3A//github.com/vuejs/vue/blob/dev/dist/vue.js%23L7948& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/vuejs/vue/bl&/span&&span class=&invisible&&ob/dev/dist/vue.js#L7948&/span&&span class=&ellipsis&&&/span&&/a&
parseModel-&a href=&//link.zhihu.com/?target=https%3A//github.com/vuejs/vue/blob/dev/dist/vue.js%23L5888& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/vuejs/vue/bl&/span&&span class=&invisible&&ob/dev/dist/vue.js#L5888&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&对于mvvm的理解,也给你两链接(原谅我无耻的打了波广告)
&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&合格前端系列第三弹-实现一个属于我们自己的简易MVVM库 - 知乎专栏&/a& &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&合格前端系列第四弹-如何监听一个数组的变化 - 知乎专栏&/a&&/p&&p&总之,可以问的点有很多。当然,这里我肯定遗漏了一些点,如果有一些其他点大家觉得重要,欢迎大家在评论区指出。&/p&&br&&p&最后, 码字不易, 如果有收获千万别忘记点赞哦 &/p&
首先对于vue考察,我觉得题主你应该先问下面试者vue对于mvvm的一个实现,这是一个通透的理解,不仅能考察对vue的理解,还能了解到求职者在前端这一块整体的一个把关。其次,对于vue,你还能问下项目开发中经常出现的一些点,比如什么时候适合用methods,什…
&figure&&img src=&https://pic2.zhimg.com/v2-4ecdc19b0eb5f2a3b60730_b.jpg& data-rawwidth=&1650& data-rawheight=&559& class=&origin_image zh-lightbox-thumb& width=&1650& data-original=&https://pic2.zhimg.com/v2-4ecdc19b0eb5f2a3b60730_r.jpg&&&/figure&&p&自动化部署是一门最大限度简化不必要工作的&b&工程艺术&/b&,通过自动化部署,可以实现互联网业务的产品直达DevOps一站式服务,极大的解放了生产力。&br&&/p&&p&本文将使用docker+webhook以及shell实现一个小型的单机自动化部署系统。&/p&&h2&业务需求&/h2&&p&一切技术都离不开业务,先看下我们的系统架构:&/p&&p&&figure&&img src=&https://pic4.zhimg.com/v2-ee9be6d8c724f0fb3c4fe3afecca55ef_b.jpg& data-rawwidth=&629& data-rawheight=&519& class=&origin_image zh-lightbox-thumb& width=&629& data-original=&https://pic4.zhimg.com/v2-ee9be6d8c724f0fb3c4fe3afecca55ef_r.jpg&&&/figure&整个系统采用前后端分离,前后胎通过RESTful API交互,并依此,衍生出了2个项目:&/p&&p&1、api(由koa编写的RESTful API)&/p&&br&&p&2、core(Web前端)&/p&&p&由于前端为SPA(Single Page Application,单页面应用),所以还需要一个项目专门用来存储core经过打包之后的文件,这些文件最终将会同步到服务器上,这个项目叫:&b&core-dist&/b&&/p&&p&此外,我们还需要一个负责处理自动化的脚本项目,我们叫它:&b&deploy&/b&&/p&&p&最后,我们还需要负责同步开发机和服务器代码的webhook,我们就叫它:&b&webhook&/b&&/p&&p&&b&将这些项目依次在Github 上创建,最终结果如下:&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-dd5291acc_b.jpg& data-rawwidth=&710& data-rawheight=&439& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic4.zhimg.com/v2-dd5291acc_r.jpg&&&/figure&&p&目前的部署具体需求是:&/p&&ol&&li&启动三个docker,一个docker运行web前端页面,一个docker运行api,另一个运行mongodb数据库;&/li&&li&向github提交代码后服务器自动拉取最新代码,实时更新到各个容器,包括webhook和deploy自身;&/li&&li&域名全部自动部署至nginx配置中;&/li&&li&服务器环境自动配置。&/li&&/ol&&p&现在我们开始吧。&/p&&h2&构建docker&/h2&核心业务在docker上,所以我们从docker开始,我们将所有部署相关shell写在deploy中,最终deploy的文件结构如下:&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&p&&.&/span&
&span class=&err&&├──&/span& &span class=&n&&README&/span&&span class=&p&&.&/span&&span class=&n&&md&/span&
&span class=&err&&├──&/span& &span class=&n&&api&/span&
&span class=&err&&│&/span&
&span class=&err&&├──&/span& &span class=&n&&Dockerfile&/span&
&span class=&err&&│&/span&
&span class=&err&&└──&/span& &span class=&n&&deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&domain&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&domain_api_deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&domain_pix_deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&domain_tpls_deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&├──&/span& &span class=&n&&mongodb&/span&
&span class=&err&&│&/span&
&span class=&err&&└──&/span& &span class=&n&&deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&span class=&err&&└──&/span& &span class=&n&&core&/span&
&span class=&err&&├──&/span& &span class=&n&&Dockerfile&/span&
&span class=&err&&└──&/span& &span class=&n&&deploy&/span&&span class=&p&&.&/span&&span class=&n&&sh&/span&
&/code&&/pre&&/div&&p&可以看到deploy项目下有三个文件夹;api、core和mongodb,这三个文件夹代表了三个核心业务docker,每个文件夹下,先从最简单的core开始吧,它放置的是打包之后的web前端静态资源。&/p&&p&&b&core&/b&&/p&&p&&i&Dockerfile&/i&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&FROM nginx
MAINTAINER ivy ''
RUN rm -rf /usr/share/nginx/html
ENTRYPOINT cd /usr/share/nginx/html && nginx && /bin/bash
&/code&&/pre&&/div&&p&这个Dockerfile非常简单,就是一个最基础的nginx容器。&br&&/p&&p&&i&deploy.sh&/i&&/p&&p&这个文件用来停止、删除、构建和启动容器。&/p&&div class=&highlight&&&pre&&code class=&language-powershell&&&span&&/span&&span class=&n&&docker&/span& &span class=&n&&stop&/span& &span class=&n&&core&/span& &span class=&p&&&&&/span& &span class=&n&&docker&/span& &span class=&n&&rm&/span& &span class=&n&&core&/span&
&span class=&n&&docker&/span& &span class=&n&&build&/span& &span class=&n&&-t&/span& &span class=&n&&core&/span& &span class=&p&&.&/span&
&span class=&n&&docker&/span& &span class=&n&&run&/span& &span class=&n&&-itd&/span& &span class=&n&&-p&/span& &span class=&n&&7777&/span&&span class=&err&&:&/span&&span class=&n&&80&/span& &span class=&n&&-v&/span& &span class=&p&&/&/span&&span class=&n&&mnt&/span&&span class=&p&&/&/span&&span class=&n&&pix&/span&&span class=&p&&/&/span&&span class=&n&&core-dist&/span&&span class=&err&&:&/span&&span class=&p&&/&/span&&span class=&n&&usr&/span&&span class=&p&&/&/span&&span class=&n&&share&/span&&span class=&p&&/&/span&&span class=&n&&nginx&/span&&span class=&p&&/&/span&&span class=&n&&html&/span& &span class=&n&&-w&/span& &span class=&p&&/&/span&&span class=&n&&usr&/span&&span class=&p&&/&/span&&span class=&n&&share&/span&&span class=&p&&/&/span&&span class=&n&&nginx&/span&&span class=&p&&/&/span&&span class=&n&&html&/span& &span class=&p&&-&/span&&span class=&n&&-name&/span&&span class=&p&&=&/span&&span class=&s2&&&core&&/span& &span class=&n&&core&/span&
&/code&&/pre&&/div&&p&可以看到我们挂载了宿主机的/mnt/pix/core-dist的目录到容器内的nginx目录内。/mnt/pix/core-dist内是打包好的Web前端静态资源,我们使用docker部署遵循一个原则:&/p&&blockquote&docker内不存储任何数据,所有数据都在宿主机上,这些数据包括程序代码和用户数据。&/blockquote&&p&待会我们会说到怎么往宿主机上同步代码。&/p&&p&接下来是api和数据库docker,这两个需要放在一起说。&/p&&p&先看api:&/p&&p&&i&Dockerfile&/i&&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&nx&&FROM&/span& &span class=&nx&&node&/span&&span class=&o&&:&/span&&span class=&mf&&7.10&/span&
&span class=&nx&&MAINTAINER&/span& &span class=&nx&&ivy&/span& &span class=&s1&&''&/span&
&span class=&nx&&RUN&/span& &span class=&nx&&apt&/span&&span class=&o&&-&/span&&span class=&nx&&get&/span& &span class=&nx&&update&/span&
&span class=&nx&&RUN&/span& &span class=&nx&&apt&/span&&span class=&o&&-&/span&&span class=&nx&&get&/span& &span class=&nx&&install&/span& &span class=&nx&&zip&/span& &span class=&o&&-&/span&&span class=&nx&&y&/span&
&span class=&err&&#&/span&&span class=&nx&&use&/span& &span class=&nx&&cnpm&/span&
&span class=&nx&&RUN&/span& &span class=&nx&&npm&/span& &span class=&nx&&install&/span& &span class=&o&&-&/span&&span class=&nx&&g&/span& &span class=&nx&&cnpm&/span& &span class=&o&&--&/span&&span class=&nx&&registry&/span&&span class=&o&&=&/span&&span class=&nx&&https&/span&&span class=&o&&:&/span&&span class=&c1&&//registry.npm.taobao.org&/span&
&span class=&nx&&RUN&/span& &span class=&nx&&cnpm&/span& &span class=&nx&&install&/span& &span class=&o&&-&/span&&span class=&nx&&g&/span& &span class=&nx&&supervisor&/span&
&span class=&err&&#&/span& &span class=&nx&&修改时区&/span&
&span class=&nx&&RUN&/span& &span class=&nx&&cp&/span& &span class=&o&&/&/span&&span class=&nx&&usr&/span&&span class=&o&&/&/span&&span class=&nx&&share&/span&&span class=&o&&/&/span&&span class=&nx&&zoneinfo&/span&&span class=&o&&/&/span&&span class=&nx&&Asia&/span&&span class=&o&&/&/span&&span class=&nx&&Shanghai&/span& &span class=&o&&/&/span&&span class=&nx&&etc&/span&&span class=&o&&/&/span&&span class=&nx&&localtime&/span&
&span class=&nx&&ENTRYPOINT&/span& &span class=&nx&&cd&/span& &span class=&o&&/&/span&&span class=&kd&&var&/span&&span class=&err&&/www/api && supervisor index.js && /bin/bash&/span&
&/code&&/pre&&/div&&p&我们用到了zip这个命令和supervisor来运行node程序(没用pm2是因为觉得暂时没必要),其它都是基本的node 7.0容器信息。&br&&/p&&p&&i&deploy.sh&/i&&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&nx&&docker&/span& &span class=&nx&&stop&/span& &span class=&nx&&api&/span& &span class=&o&&&&&/span& &span class=&nx&&docker&/span& &span class=&nx&&rm&/span& &span class=&nx&&api&/span&
&span class=&nx&&docker&/span& &span class=&nx&&build&/span& &span class=&o&&-&/span&&span class=&nx&&t&/span& &span class=&nx&&api&/span& &span class=&p&&.&/span&
&span class=&nx&&docker&/span& &span class=&nx&&run&/span& &span class=&o&&-&/span&&span class=&nx&&itd&/span& &span class=&o&&-&/span&&span class=&nx&&p&/span& &span class=&mi&&7776&/span&&span class=&o&&:&/span&&span class=&mi&&3000&/span& &span class=&o&&-&/span&&span class=&nx&&v&/span& &span class=&o&&/&/span&&span class=&nx&&mnt&/span&&span class=&o&&/&/span&&span class=&nx&&pix&/span&&span class=&o&&/&/span&&span class=&nx&&api&/span&&span class=&o&&:&/span&&span class=&err&&/var/www/api/ -v /mnt/pix/templates:/var/www/api/templates -w /var/www/api --name=&api& --link mongodb:mongo api&/span&
&/code&&/pre&&/div&&p&可以看到我们将宿主机上的/mnt/pix/api(api源代码)暴露至了容器中的/var/www/api文件夹,还用到了--link命令,link命令可以连接我们的mongodb。&br&&/p&&p&&b&mongodb&/b&&/p&&p&mongodb不需要重新构建镜像,直接使用官方的mongodb镜像即可。&/p&&p&&i&deploy.sh&/i&&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&nx&&docker&/span& &span class=&nx&&rmi&/span& &span class=&nx&&mongodb&/span&
&span class=&nx&&docker&/span& &span class=&nx&&run&/span& &span class=&o&&-&/span&&span class=&nx&&v&/span& &span class=&o&&/&/span&&span class=&nx&&mnt&/span&&span class=&o&&/&/span&&span class=&nx&&pix&/span&&span class=&o&&/&/span&&span class=&nx&&mongodb&/span&&span class=&o&&/&/span&&span class=&nx&&db&/span&&span class=&o&&:&/span&&span class=&err&&/data/db -d --name=&mongodb& mongo:3.2&/span&
&/code&&/pre&&/div&&p

我要回帖

更多关于 华贵人寿 的文章

 

随机推荐