BFG50A跟 RN对比,看完你我觉得我的人生完了哪把更好

region-detail-title
正品 高压限流熔断器 RN3-6KV/10A 20A 30A 40A 50A
region-detail-gallery
用阿里巴巴客户端扫码
手机下单享受额外优惠
region-detail-property
享受会员价、淘宝数据等更多权益
手机下单更便宜
RN1 RN2 RN3
(1000只可售)
申请已发出!
已选0只/0.00元
一般情况下:
划线价格:划线的价格可能是商品的销售指导价或该商品的曾经展示过的销售价等,并非原价,仅供参考。
未划线价格:未划线的价格是商品在阿里巴巴中国站上的销售标价,具体的成交价格根据商品参加活动,或因用户使用优惠券等发生变化,最终以订单结算页价格为准。
活动预热状态下:
划线价格:划线的价格是商品在目前活动预热状态下的销售标价,并非原价,具体的成交价可能因用户使用优惠券等发生变化,最终以订单结算页价格为准。
未划线价格:未划线的价格可能是商品即将参加活动的活动价,仅供参考,具体活动时的成交价可能因用户使用优惠券等发生变化,最终以活动是订单结算页价格为准。
*注:前述说明仅当出现价格比较时有效。若商家单独对划线价格进行说明的,以商家的表述为准。
联系卖家:
交易勋章:
交易勋章-A级
供应等级:
在线销售产品金额等级,彰显供应商在线销售服务能力
经营模式:
所在地区:
&女士&(销售部 经理)
电&&&&&&话:
传&&&&&&真:
抱歉,公司地址无法被地图定位
地址因网络出错无法加载,请刷新页面试试
@88.com 版权所有region-detail-title
RN3-6KV/30A-50A高压限流熔断器 高压熔断器价格
region-detail-gallery
用阿里巴巴客户端扫码
手机下单享受额外优惠
region-detail-property
享受会员价、淘宝数据等更多权益
手机下单更便宜
RN3-6KV/30A-50A
(100000只可售)
申请已发出!
已选0只/0.00元
一般情况下:
划线价格:划线的价格可能是商品的销售指导价或该商品的曾经展示过的销售价等,并非原价,仅供参考。
未划线价格:未划线的价格是商品在阿里巴巴中国站上的销售标价,具体的成交价格根据商品参加活动,或因用户使用优惠券等发生变化,最终以订单结算页价格为准。
活动预热状态下:
划线价格:划线的价格是商品在目前活动预热状态下的销售标价,并非原价,具体的成交价可能因用户使用优惠券等发生变化,最终以订单结算页价格为准。
未划线价格:未划线的价格可能是商品即将参加活动的活动价,仅供参考,具体活动时的成交价可能因用户使用优惠券等发生变化,最终以活动是订单结算页价格为准。
*注:前述说明仅当出现价格比较时有效。若商家单独对划线价格进行说明的,以商家的表述为准。
图片包下载功能只提供给真实的跨境用户并且领取了跨境VIP的用户
联系卖家:
企业官微:
交易勋章:
交易勋章-AA级
供应等级:
在线销售产品金额等级,彰显供应商在线销售服务能力
经营模式:
所在地区:
乐清市度外电气科技有限公司是一家集高低压电器生产、销售、代理、采购配置、信息资源整和于一身的专业化全方位综合性公司,在电器方面我们有着多年的生产经验和广泛的销售、采购渠道,并与众多知名电器公司、集团保持着长期友好合作关系。主要产品:船用电铃,仪器仪表,船用接插件,SM绝缘子,MNS绝缘子,塑料扎带,光电编码器,令克棒电力工具,KB0,双电源等电气配套标准产品。
&先生&(销售部 财务总监)
电&&&&&&话:
移动电话:
传&&&&&&真:
抱歉,公司地址无法被地图定位
地址因网络出错无法加载,请刷新页面试试
@88.com 版权所有1.2K25 条评论分享收藏感谢收起赞同 2.3K91 条评论分享收藏感谢收起我刚做Leetcode的时候,一道 easy 都要想半天,现在除了大多数的hard,一般都能通过。。。&br&大多数的 hard 都是特定领域的问题,如TCP的滑动窗口,编辑距离等。这些如果之前没有做过, 是很难独立完成的。我遇到问题的时候一般到 &a href=&//link.zhihu.com/?target=http%3A//fisherlei.blogspot.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&水中的鱼&/a& 找答案。这个博主是 facebook 的工程的,但有些题目他也没法立即想到答案或者最优解。所以别太灰心,好好做,会有收获的。&br&建议一次只针对一种题型进行训练,如数组、链表、二叉树、回溯、动态规划,这样效果会更好。&br&上个图说明我刷得很艰难。。&br&&figure&&img src=&https://pic3.zhimg.com/50/422ca09a09faf_b.jpg& data-rawwidth=&1211& data-rawheight=&471& class=&origin_image zh-lightbox-thumb& width=&1211& data-original=&https://pic3.zhimg.com/50/422ca09a09faf_r.jpg&&&/figure&&br&书籍方面《STL 源码剖析》 和 《算法技术手册》会帮你理解最常见的数据结构,查找和排序算法。&br&&a href=&//link.zhihu.com/?target=https%3A//www.gitbook.com/book/siddontang/leetcode-solution/details& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&LeetCode题解&/a&&br&&a href=&//link.zhihu.com/?target=http%3A//blog.csdn.net/linhuanmars/article/details/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&blog.csdn.net/linhuanma&/span&&span class=&invisible&&rs/article/details/&/span&&span class=&ellipsis&&&/span&&/a&
我刚做Leetcode的时候,一道 easy 都要想半天,现在除了大多数的hard,一般都能通过。。。 大多数的 hard 都是特定领域的问题,如TCP的滑动窗口,编辑距离等。这些如果之前没有做过, 是很难独立完成的。我遇到问题的时候一般到
找答案。这个博主…
&p&这是真的:程序员的思维方式不同于其他人。&/p&&p&这并不是说程序员必然比其他人更聪明,更有逻辑性,或者更理性。科学家们最近开始研究程序员的大脑,并得出了一些有趣的结论。&/p&&p&1. 编程塑造你的心智&/p&&p&你第一种学习的编程语言会影响你的大脑。有些人从c开始学习编程,年长一些的人很可能是从FORTRAN、COBOL或BASIC语言开始的,现在很多年轻人是从Java或Python开始的。&/p&&p&编程语言的设计塑造了你的思维方式。Edsger Dijkstra是历史上最有影响力的计算机科学家之一,他说:&/p&&p&“我们使用的工具对我们的思维习惯产生了深远的影响,因此也影响了我们的思维能力。”&/p&&p&“COBOL的使用削弱了思维能力,因此,它的教学应被视为刑事犯罪。”&/p&&p&“几乎不可能教给那些之前接触过BASIC的学生编程。作为潜在的程序员,他们在精神上受过伤害,很难进行再培养。”&/p&&p&一方面,所有的编程语言都具有同样的能力,因为它们在计算机上的运行都是完整的。另一方面,掌握一种语言会导致很难接触另一种语言。Java程序员和Python程序员是两种不同的动物,他们以两种完全不同的思维方式进行编码。&/p&&p&换句话说,你的第一个编程语言的标准和习惯影响甚至决定你如何看待数据结构、算法等。&/p&&p&因此,我们可以使用匿名代码来确定是谁编写的这段代码,评判标准完全基于任务是如何处理的,以及代码是如何编写的。任务越困难,找到是谁写的就越容易。&/p&&p&论文网址:&u&&a href=&//link.zhihu.com/?target=https%3A//www.cs.drexel.edu/%7Eac993/papers/caliskan_deanonymizing.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&cs.drexel.edu/~ac993/pa&/span&&span class=&invisible&&pers/caliskan_deanonymizing.pdf&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&“程序员可以混淆他们的变量或函数名,但绝不会混淆他们潜意识中喜欢使用的结构或者他们最喜欢的增量运算符。”&/p&&p&当你只有锤子的时候,所有的东西看起来都像钉子。同样地,一旦你学会了以某种方式编程,你就会很容易用那种方式去思考所有的问题。&/p&&p&所以,在选择编程语言时,一定要谨慎。&/p&&p&2. 编码增强大脑健康&/p&&p&人们常说,大脑就像一块肌肉,如果你想保持敏锐,你就需要锻炼它。如果真是这样,编程是否算作脑力锻炼,足以影响大脑健康?&/p&&p&1991年的一项元研究对“计算机编程对认知结果的影响”进行了研究,发现有计算机编程经验的学生在认知能力测试中得分比没有计算机编程的学生高出16个百分点。论文网址:&u&&a href=&//link.zhihu.com/?target=http%3A//psycnet.apa.org/record/-001& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&psycnet.apa.org/record/&/span&&span class=&invisible&&-001&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&1999年的一项更大的研究发现并证实“参与智力活动有助于减缓个人认知能力的衰退”,但同时也指出,认知能力的下降可能导致较少参与智力活动。&/p&&p&论文网址:&u&&a href=&//link.zhihu.com/?target=http%3A//journals.sagepub.com/doi/abs/10.& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&journals.sagepub.com/do&/span&&span class=&invisible&&i/abs/10.&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&2009年的一项更大的研究得出了类似的结论,表明“那些在晚年从事大脑刺激活动的人可以降低或许和推迟老年痴呆症和其他类型的痴呆症发作的风险。”大脑刺激活动包括阅读、写作、拼图、棋盘和纸牌游戏,以及演奏音乐。&/p&&p&论文网址:&u&&a href=&//link.zhihu.com/?target=http%3A//www.einstein.yu.edu/news/releases/395/stimulating-brain-activities-delay-onset-of-memory-decline/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&einstein.yu.edu/news/re&/span&&span class=&invisible&&leases/395/stimulating-brain-activities-delay-onset-of-memory-decline/&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&2013年发表的一项研究发现,只有特定类型的智力活动能真正地让大脑变得更敏锐,比如学习和智力上需要客服困难的高要求认知任务。当然,还需要做更多的研究证实,但很难编程确实是这种高要求的认知任务。&/p&&p&论文网址:&u&&a href=&//link.zhihu.com/?target=https%3A//www.ncbi.nlm.nih.gov/pubmed/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&ncbi.nlm.nih.gov/pubmed&/span&&span class=&invisible&&/&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&此外,尽管这些研究都没有证实智力活动能让你变得更聪明或更有能力,但它们确实表明,高要求的认知任务至少能延长你的大脑健康,并能显著地防止神经细胞退化。&/p&&p&3. 编程并不全是数学和逻辑&/p&&p&根据2014年的一项研究,论文网址:&u&&a href=&//link.zhihu.com/?target=http%3A//www.cs.cmu.edu/%7Eckaestne/pdf/icse14_fmri.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.cmu.edu/~ckaestne/pd&/span&&span class=&invisible&&f/icse14_fmri.pdf&/span&&span class=&ellipsis&&&/span&&/a&&/u&&/p&&p&当程序员试图理解代码时,使用功能磁共振成像扫描来观察大脑活动,大脑的五个不同区域参与理解源代码:&/p&&p&BA 6:中额回(注意力,语言,工作记忆)&/p&&p&BA 21:中颞回(语义记忆检索)&/p&&p&BA 40:下顶叶(工作记忆)&/p&&p&BA 44:额下回(工作记忆)&/p&&p&BA 47:额下回(语言,工作记忆)&/p&&p&这意味着,编写代码主要是使用与语言处理、记忆和注意力相关的部分大脑。&/p&&p&最明显的缺失是大脑中通常与数学和计算相关的区域几乎没有参与理解代码,甚至在理解包含循环、条件、计算和其他算法操作的代码时也是如此。&/p&&p&当然,这项研究有些不完整,研究人员也承认:&/p&&ul&&li&实验中的代码片段在20行代码以内,并且有时间限制,这意味着代码难度较低。&/li&&li&编程语言和外语本质上是不一样的,虽然研究表明它们涉及大脑的相似区域。&/li&&li&实验对象没有编写自己的代码,比起只有理解代码,编写代码可能涉及到大脑的不同区域。&/li&&/ul&&p&&br&&/p&&p&但有以下研究成果:&/p&&p&我们知道程序员会定期检查源代码,不管是自写的代码还是他人的代码。我们还知道,程序员通常花费更多的时间来修复和重构代码,而不是从头开始编写新的代码。&/p&&p&所以这项研究并不是没有意义的。编程不只是一种左脑活动,甚至还有人会认为右脑活动的程序员在这方面会有优势。&/p&&p&正如艺术可以以不同的方式塑造你的思想一样,编程也会影响你的思考方式——也许是你意想不到的方式。&/p&&p&&br&&/p&&p&欢迎关注我的微信公众号:九章算法(ninechapter),帮助你了解IT技术前沿,通过面试、拿到offer、找到好工作!&/p&&p&&/p&
这是真的:程序员的思维方式不同于其他人。这并不是说程序员必然比其他人更聪明,更有逻辑性,或者更理性。科学家们最近开始研究程序员的大脑,并得出了一些有趣的结论。1. 编程塑造你的心智你第一种学习的编程语言会影响你的大脑。有些人从c开始学习编程,…
&p&1、霸道总裁的人设比小奶狗人设好用太多了。总裁与狗,孰优孰劣,一目了然。我就不说行为了,下面两张图,都是我,光看外表,我相信,也应该是左面的顺眼一点吧。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-251cb799e866b0f66478_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&465& data-rawheight=&592& class=&origin_image zh-lightbox-thumb& width=&465& data-original=&https://pic2.zhimg.com/50/v2-251cb799e866b0f66478_r.jpg&&&/figure&&p&2、问“你是不是喜欢我?”,女生回答“你猜?”,结果55开,甚至更大几率偏向“不喜欢”。但如果女生回答“你猜?+任一正能量表情或表情包”,恭喜,答案90%是“喜欢”。&/p&&p&3、不要在女生面前炫富,甚至不要再她们面前表现出强烈的“我愿意为和你交往买单”。LOW。&/p&&p&4、性格开朗阳光直爽不做作的女生,注意了,以我判断,秉性极刚烈,相当多的原则问题上,没第二次机会。&/p&&p&5、降维打击的意思是——不要去追女生,要挖空心思制造你和她的维度或格局差,让其被吸引;&/p&&p&6、破冰之后,若连续三次聊天都是由你主动发起,并不代表她对你一定无感,但个人建议是,删除之(未必是真的拉黑或删除,而是作冷处理),因为即便你俩之后能发展出点什么,双方地位不对等的基调已经定下来了,很没意思;若对此条有异议,请直接跳转至21条;(请大家再次注意,我的建议只是建议,不是标准答案,喜欢折磨男生,就是要求男生主动的女生,和喜欢打攻坚战,就是要强撩硬贴上去的男生,你们无视就好)&/p&&p&7、朋友圈负面情绪太多的女生,别怼,别碰,别念;&/p&&p&8、喜欢发自拍的女生,别兴冲冲每条都去点赞,你根本点不过来,凑整,满10次点一次。&/p&&p&9、连续三次聊天都是由女生主动发起,你可以问任何问题,被拒绝的概率不大;&/p&&p&10、不要轻易对丰满的女生说“你去减肥嘛”“你瘦下来会更好看”,礼貌些的会以尴尬的表情包回复你,但也有几率直接收到红色叹号。&/p&&p&11、“你有男朋友吗?”是最傻的问题,没有之一。(这个是我最最痛彻心扉的血泪教训)这里其实非常讲究,我给你们解释一下。“你有男朋友吗?”这句话为什么作为男生,你不到万万不得已,千万不要主动开口问。首先当然是万一你问了,别人回答有,显得多尴尬,你很不好往下接话。一张白纸,大家你一划我一划,涂鸦得开心着,结果你pia几,拿美工刀给裁坏了,多破环感觉,没劲。还有一层意思,这个我估计我说了,你们都未必能理解到,就是日积月累潜移默化地堆积女生内心的负罪感。你不问,女生不说的时候,我不敢说她对你一定有意思,但多少有点小暧昧的感觉在里面,你不能否认吧?完事你还故意不问,不捅破。女生若有男朋友,这时会有一种脚踏多条船的微妙负罪感(我只是这么一说,不牵涉此女生的真实人品),那么,你的潜在机会将越来越大,当某天这位女生和她的男朋友因为信任问题发生了冲突,哪怕和你没有半毛钱关系,但那种负罪感会促使其将心里的指针拨向你,我这么说可能太腹黑了,但这就是事实——你唯一需要做的,就是默默等她分手就好了,不用很久。&/p&&p&当然,这是上帝视角。一般在实操过程中,只需记住,她不说,你别问,谁先开口谁就滚蛋,说明玩不起。&/p&&p&12、不要用疑问,多用祈使句,尤其在发出外出聚会邀约的时候。&/p&&p&13、会抽烟的女生一般比较讲义气,借钱一般都能还上。另外,夜店酒吧的女生比较好搭讪,你对自己颜值有自信的话,可以先从这里开始,记得,今日事今日毕,哪怕和你在舞池里互相啃得牙结石都没了,你想着做长线,放人跑了,结果人第二天当什么没发生过,太多了,确实有这么个潜规则&/p&&p&14、帅气,是杀器。但杀伤范围只针对22岁以下的女生, 25岁以上的女生基本免疫,当然你是吴彦祖或者杨洋级别的除外。25岁以上女生绝少,纯因颜就献身认追的,乃至倒贴的。高中大学,哪些男生身边的迷妹最多?篮球队、田径队、街舞社、COS社,是吧。22岁本科毕业,出了社会混个2,3年,到了25岁,又是哪些男人身边莺莺燕燕最不缺呢?我想人民币的魅力应该是公认的吧。况且,我说实话,男人的帅比女人更……怎么说,女人好看可以靠整靠画,男人你往脸上抹眼影试试?你往脸上整一斤遮暇试试?所以,男生的帅更稀缺,同样,更不易维持,别的不说,光体重控制在偏瘦区间,就是很要人命的事情。因此,帅的男生,别总以为自己是人中吕布马中赤兔,赶紧将自己的颜值转化成生产力,最不济,也要找渠道变现之。&/p&&p&15、当女生问,你有什么爱好?回答“吃鸡”是比较稳妥不易出错的回答。(体会一下,农药?看书?音乐?蹦迪?钓鱼?健身?爬山?是不是总觉得不如“吃鸡”接地气又不易遭人反感?),评论有人对此条异议较多,我的意思是“当你的爱好确实乏善可陈时,而并非我是健身达人,放着健身这么优良的爱好不提,强行编造出吃鸡的爱好”,懂我意思吗?&/p&&p&另外,吃鸡也是一个进可攻退可守的爱好,看你的语气怎么拿捏了。你得知道对方是真的想知道你业余时间在干什么,还是她只是为了快速破冰乱找话题。&/p&&p&16、女生生理期非常好判断,一个冰淇淋就搞定,当然稳妥一些的,需要用到2个冰淇淋,每月1号一个,15号一个,具体推算方法相信评论区大神会有演算过程的。这有什么用?当然有用,生理期结束的2到3天,表白成功率较高。&/p&&p&17、女生是咪蒙的粉丝,请立即优化你的择友策略;&/p&&p&18、高傲的女生,就比她更高冷,即便高冷到最后俩人没交集了,也别低头。激发她好奇和好胜心是你唯一的机会。其他全白扯。当然我不排除确实有女生是外冷内热,不过话说回来,如果是我,我不会浪费时间去追这样一个女生,太忙了,那有这么多闲功夫来剥开层层保护和伪装,呵护你内心的柔软和脆弱。追这种高冷的女生,是有闲情雅致的男生的专属任务,一般人连过遍脑子都别过,没意思的,一点都么有。年少时不懂事,看到话少胸小表情屌的高冷系花,觉得人可能不用上厕所,觉得人可能是冰山美人,每次和她说话都小心翼翼,呼吸都不敢呼大气。&/p&&p&这不是傻么?你们说是吧,这种高冷的,她爱在上面就让她呆着,一个萝卜一个坑,或者叫一物降一物,男生追女生,永远是向下兼容比较占便宜。&/p&&p&19、强烈的反差是激发一个人好奇心和注意力的不二法门。&/p&&p&20、追女孩这东西,不要怕,确定好目标,划好底线,没有什么手段是不能用的。&/p&&p&21、失败就失败,换一个,没有说一定要此人不可的事情。这条非常重要,这一大篇,如果你一定要记住一条,我希望是这条。人生很多事情皆是如此,千万千万不要有执念,不然你的逻辑和思路,你的行为和动作,会失去条理和章法,一乱,就完蛋。小年轻们会反驳,没事,以后你们会懂的。女孩,追女孩,男欢女爱,你侬我侬,勾心斗角,互彪段位,旖旎缱绻,凡此种种,根本是人生非常无聊和微不足道的插曲,不要在插曲中置入太多心血。更直接一些的,当你确认,对方收到了“我打算追你”的信息或暗示,那么剩下的事情,你压根就不应该再花哪怕一丢丢心血,需要综合判断做决策这种伤脑筋的事情,已经成功抛给对方了。&/p&&p&22、我这两天轻微肺炎,略好转,歪打正着算是初步把烟戒了。洗衣服的时候才发现原来的衣物上的烟味竟如此明显——喝醉的人是不会知道自己的步态已然不稳,抽烟的人是不会知道自己身上的味道有多重——就像如果你爱对方卑微至极,TA是不会知道你有多辛苦的。这条男女通用。已经自陷这种境地的朋友,做好心理建设吧,收藏下我这个答案,到时候分手之后,翻出来看看,你就会觉得,我一点都没有乱讲。&/p&&p&23、大多数情况下,为了大家的面子,女生会有轻微的“口是心非”的行为存在,不必太在意。但某些情况,你需要确认其真实意图,最好的方法就是迫使其“知行合一”。举个例子,我的拿手菜是上海爆鱼,女生一尝之下,放下筷子大呼过瘾。是不是以后每次她来做客,你都要做这道菜呢?不然,最好的方法是让她重新拿起筷子,让她继续,若是她面有难色百般托词,那么极大概率,你的爆鱼其实她根本不爱吃,下次别做了。&/p&&p&24、送礼给女生,护肤品是不会出错的选择,这里唯一的坑,在于你是否知道对方的肤质。因此尽量送口红和化妆工具为主,不然你攒小一千弄套雪肌精,结果人妹子是敏感肌,白扯。YSL12号,杨洋代言的叫什么?娇兰?3几5号我忘了,这两支口红,我记得是百搭色。化妆工具,尤妮佳的化妆棉,露娜的洗脸仪、资深堂的粉底刷,都可以。别说我一大老爷们要知道这个做什么,废话让你学就记着点,总有天用得上的。&/p&&p&记得女孩子的基础护肤不是欧莱雅火山洗颜泥+大宝SOD蜜。而是卸妆水+氨基酸洗面奶+纯露(水)+水膜(面膜)+精华+面霜+眼霜+晚安粉。&/p&&p&神仙水,奥尔滨,城野医生,纪梵希,希思黎,海蓝之谜,肌肤之钥CPB,资生堂这些都是大牌,和百雀羚、御泥坊之流,是有区别的。不要求精通,但你得懂,特别是分别在哪个价位,别一进去“卧槽,这么一罐东西要1000,我去尼玛”,这就很没劲了。&/p&&p&25、哪怕你身高180+,也要备一双4到6CM的内增高鞋。以防不时之需。&/p&&p&26、没有哪个女生是“傻得天真,蠢得可爱”的,都是人设,你信了,你才是哪个傻子。但你要顺着别人的毛摸,适当宠溺一下。&/p&&p&27、不要轻易和别人上床,信我,尤其不要成天脑中被此等床帷之事萦绕,烦恼之源尽始于此。不是我装X,人生比这有趣的事情太多了,并且风险还低。万花丛中过只需要勇气和体力,但片叶不沾身,需要得可就是过人的技巧和天赐的运气了。&/p&&p&28、最后一条,献给女生,如果你想追男生,我自然是有1万种方法,但目前以我浅薄的阅历总结下来,能被称之为杀手锏的,只有一个,百试不爽——把他当偶像。绝少有男生定力高到可以拆了这招的,甚至我都很难。当然这个能百分之一百帮你搞定你的男神,但同样的,你俩的地位已经不对等了,往后的交往,你会比较累,值不值得你自己考虑了。&/p&&p&我可以写100条,但不代表我失败了很多次,甚至不代表我追过很多女生,不要误会,算所见所闻的归纳总结吧。我这把年纪,很难对恋爱或者这种类似懵懂情愫的东西心有涟漪,如果以上的总结,让人觉得叙述平直,心态功利,还望手下留情。&/p&&p&我,曾经也是你。&/p&&p&你,终将会是我。&/p&
1、霸道总裁的人设比小奶狗人设好用太多了。总裁与狗,孰优孰劣,一目了然。我就不说行为了,下面两张图,都是我,光看外表,我相信,也应该是左面的顺眼一点吧。2、问“你是不是喜欢我?”,女生回答“你猜?”,结果55开,甚至更大几率偏向“不喜欢”。但…
&figure&&img src=&https://pic2.zhimg.com/v2-8e420b6b51fc22bd0a3c886_b.jpg& data-rawwidth=&720& data-rawheight=&960& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic2.zhimg.com/v2-8e420b6b51fc22bd0a3c886_r.jpg&&&/figure&&p&&/p&&p&有人的地方就有江湖&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-55c1ef37c60d7dedf7b6ff5259c1cdab_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&732& data-rawheight=&393& class=&origin_image zh-lightbox-thumb& width=&732& data-original=&https://pic1.zhimg.com/v2-55c1ef37c60d7dedf7b6ff5259c1cdab_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&人在江湖,有一本武功秘籍保命杀敌是很重要的&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-9c775dddfdfe6c5ec50c53cddda411ef_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&446& data-rawheight=&246& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&https://pic3.zhimg.com/v2-9c775dddfdfe6c5ec50c53cddda411ef_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&当然,很多秘籍可能不适合你修炼&/p&&p&&br&&/p&&p&不过&/p&&p&&br&&/p&&p&船到桥头自然直&/p&&p&&br&&/p&&p&总会找到适合的自己的那一份&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e0f967ad1026ebaa635f8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&550& data-rawheight=&260& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic4.zhimg.com/v2-e0f967ad1026ebaa635f8_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&此时&/p&&p&&br&&/p&&p&你可能内心毫无波动&/p&&p&&br&&/p&&p&甚至还想笑&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-dc82e949_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&527& data-rawheight=&314& class=&origin_image zh-lightbox-thumb& width=&527& data-original=&https://pic1.zhimg.com/v2-dc82e949_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&当然&/p&&p&&br&&/p&&p&在数据科学的江湖&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-7ecf985b7a891d37548eba0fdee7d834_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic1.zhimg.com/v2-7ecf985b7a891d37548eba0fdee7d834_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&第一步修炼的可能就是获取数据&/p&&p&&br&&/p&&p&而&b&网络爬虫&/b&则是获取数据的一大手段&/p&&p&&br&&/p&&p&所以&/p&&p&&br&&/p&&p&修炼网络爬虫显得&b&尤为重要&/b&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e62a84dac477ddc02f730a8f9f294624_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&507& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&507& data-original=&https://pic2.zhimg.com/v2-e62a84dac477ddc02f730a8f9f294624_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&作为一名刚修炼完Python基础的侠客&/p&&p&&br&&/p&&p&大部分会开始接触Python网络爬虫&/p&&p&&br&&/p&&p&但是&/p&&p&&br&&/p&&p&他们在修炼Python网络爬虫的时候&/p&&p&&br&&/p&&p&他们会遇到各种瓶颈&/p&&p&&br&&/p&&p&&b&官方文档看不懂&/b&&br&&/p&&p&&b&技术博客太散碎&/b&&/p&&p&&b&视频教程不深刻&/b&&/p&&p&&b&萌新接触项目难&/b&&/p&&p&&br&&/p&&p&这时候&/p&&p&&br&&/p&&p&你可以考虑入手一本&/p&&p&&br&&/p&&p&Python网络爬虫学习秘籍&br&&/p&&p&&br&&/p&&p&在这里给大家推荐这本普适的秘籍&br&&/p&&p&&br&&/p&&p&老少咸宜&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-972c2a540c615bd00973ee88cdac68d2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&300& data-rawheight=&340& class=&content_image& width=&300&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&推荐这本秘籍是有原因的&/p&&p&&br&&/p&&p&且听我娓娓道来&/p&&p&&br&&/p&&p&秘籍名为&/p&&p&&br&&/p&&p&&b&《Python3网络爬虫开发实战》 京东购买地址:&/b&&a href=&https://link.zhihu.com/?target=https%3A//item.jd.com/.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Python 3网络爬虫开发实战》(崔庆才)【摘要 书评 试读】- 京东图书&/a&&/p&&p&&br&&/p&&p&&b&发明者:崔庆才&/b&&/p&&p&&br&&/p&&p&那崔庆才为何许人也?&/p&&p&&br&&/p&&p&先一睹真容&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5a367a6317769fbaf90dcd8d469b53f9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&1440& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic3.zhimg.com/v2-5a367a6317769fbaf90dcd8d469b53f9_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&喂!小姐姐们!&/p&&p&你们不要往这边挤啊!&/p&&p&听我说完啊!&br&&/p&&p&&br&&/p&&p&崔庆才身为静觅博客博主&/p&&p&&br&&/p&&p&博客地址:&a href=&https://link.zhihu.com/?target=https%3A//cuiqingcai.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&cuiqingcai.com&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&p&博客 Python 爬虫博文阅读量已过百万&br&&/p&&p&北京航空航天大学硕士&/p&&p&微软小冰大数据工程师&/p&&p&有多个大型分布式爬虫项目经验&/p&&p&乐于技术分享&/p&&p&文章通俗易懂 &br&&/p&&p&&br&&/p&&p&立即推出结论:&/p&&p&&b&你的同龄人正在抛弃你!!!&/b&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-efd736b5cae0e6b87e8b48a7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&629& data-rawheight=&513& class=&origin_image zh-lightbox-thumb& width=&629& data-original=&https://pic1.zhimg.com/v2-efd736b5cae0e6b87e8b48a7_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&莫慌&/p&&p&&br&&/p&&p&作为一个乐于分享的博主&/p&&p&&br&&/p&&p&他将多年Python网络爬虫精华&/p&&p&&br&&/p&&p&系统化&br&&/p&&p&完善化&/p&&p&&br&&/p&&p&通过层层打磨&/p&&p&&br&&/p&&p&将精华集结于本秘籍中&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-9ad930b46b600cdc6e66_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&340& data-rawheight=&186& class=&content_image& width=&340&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&本秘籍共604页&/p&&p&重1kg&/p&&p&&br&&/p&&p&(秘籍还论斤卖了?)&/p&&p&&br&&/p&&p&相比于其他秘籍&/p&&p&&br&&/p&&p&有以下&b&11个&/b&突出特色&/p&&p&&br&&/p&&p&&b&1. 各种基础环境搭建与爬虫原理知识&/b&&/p&&p&&b&2. 详解各种请求库和解析库&/b&&/p&&p&&b&3. 异步加载数据爬取方式&/b&&/p&&p&&b&4. 爬取数据多种存储形式&/b&&/p&&p&&b&5. 应对反爬的多种措施&/b&&/p&&p&&b&6. 代理和代理池维护&/b&&/p&&p&&b&7. 模拟登陆爬虫手段&/b&&/p&&p&&b&8. App爬虫抓取手段&/b&&/p&&p&&b&9. 处理各种验证码&/b&&/p&&p&&b&10.分布式爬虫部署&/b&&/p&&p&&b&11. 多种爬虫框架&/b&&br&&/p&&p&&br&&/p&&p&&b&什么?说的不够详细?&/b&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6fc1bafbc967eb248e7ee5be_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&640& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-6fc1bafbc967eb248e7ee5be_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&下面请欣赏修炼完整路线图:&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-f121ebf51_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&251& data-rawheight=&253& class=&content_image& width=&251&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&&b&整本秘籍的修炼路线&/b&&br&&/p&&p&&br&&/p&&p&&br&&/p&&ul&&li&&b&1-开发环境配置&/b&&/li&&li&1.1-Python3的安装&/li&&li&1.2-请求库的安装&/li&&li&1.3-解析库的安装&/li&&li&1.4-数据库的安装&/li&&li&1.5-存储库的安装&/li&&li&1.6-Web库的安装&/li&&li&1.7-App爬取相关库的安装&/li&&li&1.8-爬虫框架的安装&/li&&li&1.9-部署相关库的安装&/li&&li&&b&2-爬虫基础&/b&&/li&&li&2.1-HTTP基本原理&/li&&li&2.2-网页基础&/li&&li&2.3-爬虫的基本原理&/li&&li&2.4-会话和Cookies&/li&&li&2.5-代理的基本原理&/li&&li&&b&3-基本库的使用&/b&&/li&&li&3.1-使用urllib&/li&&li&3.1.1-发送请求&/li&&li&3.1.2-处理异常&/li&&li&3.1.3-解析链接&/li&&li&3.1.4-分析Robots协议&/li&&li&3.2-使用requests&/li&&li&3.2.1-基本用法&/li&&li&3.2.2-高级用法&/li&&li&3.3-正则表达式&/li&&li&3.4-抓取猫眼电影排行&/li&&li&&b&4-解析库的使用&/b&&/li&&li&4.1-使用XPath&/li&&li&4.2-使用Beautiful Soup&/li&&li&4.3-使用pyquery&/li&&li&&b&5-数据存储&/b&&/li&&li&5.1-文件存储&/li&&li&5.1.1-TXT文本存储&/li&&li&5.1.2-JSON文件存储&/li&&li&5.1.3-CSV文件存储&/li&&li&5.2-关系型数据库存储&/li&&li&5.2.1-MySQL存储&/li&&li&5.3-非关系型数据库存储&/li&&li&5.3.1-MongoDB存储&/li&&li&5.3.2-Redis存储&/li&&li&&b&6-Ajax数据爬取&/b&&/li&&li&6.1-什么是Ajax&/li&&li&6.2-Ajax分析方法&/li&&li&6.3-Ajax结果提取&/li&&li&6.4-分析Ajax爬取今日头条街拍美图&/li&&li&&b&7-动态渲染页面爬取&/b&&/li&&li&7.1-Selenium的使用&/li&&li&7.2-Splash的使用&/li&&li&7.3-Splash负载均衡配置&/li&&li&7.4-使用Selenium爬取淘宝商品&/li&&li&&b&8-验证码的识别&/b&&/li&&li&8.1-图形验证码的识别&/li&&li&8.2-极验滑动验证码的识别&/li&&li&8.3-点触验证码的识别&/li&&li&8.4-微博宫格验证码的识别&/li&&li&&b&9-代理的使用&/b&&/li&&li&9.1-代理的设置&/li&&li&9.2-代理池的维护&/li&&li&9.3-付费代理的使用&/li&&li&9.4-ADSL拨号代理&/li&&li&9.5-使用代理爬取微信公众号文章&/li&&li&&b&10-模拟登录&/b&&/li&&li&10.1-模拟登录并爬取GitHub&/li&&li&10.2-Cookies池的搭建&/li&&li&&b&11-App的爬取&/b&&/li&&li&11.1-Charles的使用&/li&&li&11.2-mitmproxy的使用&/li&&li&11.3-mitmdump爬取“得到”App电子书信息&/li&&li&11.4-Appium的基本使用&/li&&li&11.5-Appium爬取微信朋友圈&/li&&li&11.6-Appium+mitmdump爬取京东商品&/li&&li&&b&12-pyspider框架的使用&/b&&/li&&li&12.1-pyspider框架介绍&/li&&li&12.2-pyspider的基本使用&/li&&li&12.3-pyspider用法详解&/li&&li&&b&13-Scrapy框架的使用&/b&&/li&&li&13.1-Scrapy框架介绍&/li&&li&13.2-Scrapy入门&/li&&li&13.3-Selector的用法&/li&&li&13.4-Spider的用法&/li&&li&13.5-Downloader Middleware的用法&/li&&li&13.6-Spider Middleware的用法&/li&&li&13.7-Item Pipeline的用法&/li&&li&13.8-Scrapy对接Selenium&/li&&li&13.9-Scrapy对接Splash&/li&&li&13.10-Scrapy通用爬虫&/li&&li&13.11-Scrapyrt的使用&/li&&li&13.12-Scrapy对接Docker&/li&&li&13.13-Scrapy爬取新浪微博&/li&&li&&b&14-分布式爬虫&/b&&/li&&li&14.1-分布式爬虫原理&/li&&li&14.2-Scrapy-Redis源码解析&/li&&li&14.3-Scrapy分布式实现&/li&&li&14.4-Bloom Filter的对接&/li&&li&&b&15-分布式爬虫的部署&/b&&/li&&li&15.1-Scrapyd分布式部署&/li&&li&15.2-Scrapyd-Client的使用&/li&&li&15.3-Scrapyd对接Docker&/li&&li&15.4-Scrapyd批量部署&/li&&li&15.5-Gerapy分布式管理&/li&&/ul&&p&&br&&/p&&p&&br&&/p&&p&&b&什么?能不能试看一部分?&/b&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-024b97a3fdde57cff94e7c7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&309& data-rawheight=&295& class=&content_image& width=&309&&&/figure&&p&&br&&/p&&p&秘籍竟然提供免费修炼前7章的机会&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//germey.gitbooks.io/python3webspider/content/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&germey.gitbooks.io/pyth&/span&&span class=&invisible&&on3webspider/content/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&什么?看书太枯燥?&/b&&/p&&p&我们提供了配套的&b&视频教程&/b&&/p&&p&二者结合&/p&&p&修炼提升效果更佳!&/p&&p&&b&视频限时优惠,下图扫码了解一下?&/b&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-bca9719bac9149c8ddb0f5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&540& data-rawheight=&304& class=&origin_image zh-lightbox-thumb& width=&540& data-original=&https://pic4.zhimg.com/v2-bca9719bac9149c8ddb0f5_r.jpg&&&/figure&&p&&br&&/p&&p&已经接近&b&1800人&/b&修炼本视频:自己动手,丰衣足食!Python3网络爬虫实战案例 &a href=&https://link.zhihu.com/?target=https%3A//edu.hellobi.com/course/157& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自己动手,丰衣足食!Python3网络爬虫实战案例 &/a&&br&&/p&&p&Python网络爬虫秘籍已经奉上&/p&&p&是否开启急速修炼模式就看你自己了&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-7cdfb4b2dcae0cc0a55d03_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&196& data-rawheight=&195& class=&content_image& width=&196&&&/figure&&p&&br&&/p&&p&书籍购买地址:&a href=&https://link.zhihu.com/?target=https%3A//item.jd.com/.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Python 3网络爬虫开发实战》(崔庆才)【摘要 书评 试读】- 京东图书&/a&&/p&&p&&/p&
有人的地方就有江湖 人在江湖,有一本武功秘籍保命杀敌是很重要的 当然,很多秘籍可能不适合你修炼 不过 船到桥头自然直 总会找到适合的自己的那一份 此时 你可能内心毫无波动 甚至还想笑 当然 在数据科学的江湖 第一步修炼的可能就是获取数据 而网络爬虫则…
&p&之前公司有个同事,满嘴跑火车,说他朋友多么牛逼,什么月薪多少K,什么技术最牛逼,之类的。每次听他说话我都只能微微一笑以作回应。后来项目上线后出了点问题,让他排查,结果他一点头绪都没。遇到报错,他就一顿瞎改,然后试下跑一下看看行不行;让他查问题,他不看问题日志,直接就跑去问他Q群的那些月薪13K的“大神”。在公司待了一整年,都搞不懂业务逻辑。&/p&&p&&br&&/p&&p&所以说,看程序员的水平高低,一是看排查问题,二是看业务理解能力和逻辑思维,三是看他对技术的理解。这些都是一个合格的程序员应该有的东西。如果这些能力都没有,水平不会高到哪里去。&/p&
之前公司有个同事,满嘴跑火车,说他朋友多么牛逼,什么月薪多少K,什么技术最牛逼,之类的。每次听他说话我都只能微微一笑以作回应。后来项目上线后出了点问题,让他排查,结果他一点头绪都没。遇到报错,他就一顿瞎改,然后试下跑一下看看行不行;让他查…
&figure&&img src=&https://pic4.zhimg.com/50/v2-475b2e0b41b8cf84db2205_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&703& data-rawheight=&258& class=&origin_image zh-lightbox-thumb& width=&703& data-original=&https://pic4.zhimg.com/50/v2-475b2e0b41b8cf84db2205_r.jpg&&&/figure&&p&Python 库实在是太多了,已经多到不管是谁都不可能知道全部的 Python 库。这里面有很多库大家一定耳熟能详,比如 Pandas,Scikit-learn 和 Numpy,但是也有些库大家可能错过了,虽然它们有些老旧,但是同样非常有用。&/p&&p&&br&&/p&&p&我们今天就分享一些比较小众的 Python 库,建议 Python 老手也可以看一看,里面可能有那么一两个库你也没有见过。(库都送到嘴边了请你一定要尝尝&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-114eed85aedd0f4c71ca5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&400& data-rawheight=&225& class=&content_image& width=&400&&&/figure&&p&&br&&/p&&h2&&b&Delorean&/b&&/h2&&p&Delorean 是一个很酷炫的日期时间库,是 Python 中用着最顺畅的日期时间库之一。它有点像 JavaScript 里的 moment,可以让你更简洁省心的解决 Python 中使用时间模块中遇到的问题,比如转换、操控和生成时间日期。&/p&&p&Delorean 这个名字也有点意思,源自科幻电影《回到未来》中那辆叫 Delorean 的梦幻鸥翼门汽车。&/p&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//delorean.readthedocs.io/en/latest/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&delorean.readthedocs.io&/span&&span class=&invisible&&/en/latest/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&from&/span& &span class=&nn&&delorean&/span& &span class=&k&&import&/span& &span class=&n&&Delorean&/span&
&span class=&n&&EST&/span& &span class=&o&&=&/span& &span class=&s&&&US/Eastern&&/span&
&span class=&n&&d&/span& &span class=&o&&=&/span& &span class=&n&&Delorean&/span&&span class=&p&&(&/span&&span class=&n&&timezone&/span&&span class=&o&&=&/span&&span class=&n&&EST&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&&br&&/p&&h2&&b&Prettytable&/b&&/h2&&p&很可能你没听过 Prettytable 这个库,因为它在 GoogleCode上···&/p&&p&简直就是编程圈里的西伯利亚,又偏又冷。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-d9e2ffbec10aed395b767fb6b5de954d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&252& data-rawheight=&200& class=&content_image& width=&252&&&/figure&&p&不过虽然身在犄角旮旯,Prettytable 却能帮我们在终端或浏览器上构造出很漂亮的外观。所以如果你在为 IPython Notebook 忙着找新插件,试试 Prettytable 用到你的 HTML_repr_上。&/p&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//code.google.com/archive/p/prettytable/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&code.google.com/archive&/span&&span class=&invisible&&/p/prettytable/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Wget&/b&&/h2&&p&是不是有时候因为工作需要,自己要闷头写网络爬虫?有个叫 Wget 的库就是个很好的爬虫工具。想递归下载一个网站?爬取页面的所有图片?想避开 cookie 追踪?没问题,全都可以。&/p&&p&&br&&/p&&p&甚至在电影《社交网络》里连马克·扎克伯格都说:&/p&&p&首先是 Kirkland,它们开放了所有的东西,允许在他们的 Apache 配置上索引内容。所以用点 Wget 的小技巧就足够下载整个 Kirkland Facebook。小菜一碟!&/p&&p&&br&&/p&&p&Wdget 的 Python 版本非常简单易用:&/p&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&import&/span& &span class=&nn&&wget&/span&
&span class=&n&&wget&/span&&span class=&o&&.&/span&&span class=&n&&download&/span&&span class=&p&&(&/span&&span class=&s&&&http://www.cnn.com/&&/span&&span class=&p&&)&/span&
&span class=&c&&# 100% [............................................................................] 280385 / 280385&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//pypi.org/project/wget/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pypi.org/project/wget/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&PyMC&/b&&/h2&&p&不确定现在有多少人用 PyMC,现在 Scikit-learn 好像成了人见人爱的小天使(也确实很厉害),但是 PyMC 也值得我们的关爱。&/p&&p&&br&&/p&&p&PyMC 是一个用于贝叶斯分析的库,在很多数据科学和 Python 博客里以及卡梅隆·戴维森-皮隆的《Bayesian Methods for Hackers》里多次出现。&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&from&/span& &span class=&nn&&pymc.examples&/span& &span class=&k&&import&/span& &span class=&n&&disaster_model&/span&
&span class=&kn&&from&/span& &span class=&nn&&pymc&/span& &span class=&k&&import&/span& &span class=&n&&MCMC&/span&
&span class=&n&&M&/span& &span class=&o&&=&/span& &span class=&n&&MCMC&/span&&span class=&p&&(&/span&&span class=&n&&disaster_model&/span&&span class=&p&&)&/span&
&span class=&n&&M&/span&&span class=&o&&.&/span&&span class=&n&&sample&/span&&span class=&p&&(&/span&&span class=&nb&&iter&/span&&span class=&o&&=&/span&&span class=&mi&&10000&/span&&span class=&p&&,&/span& &span class=&n&&burn&/span&&span class=&o&&=&/span&&span class=&mi&&1000&/span&&span class=&p&&,&/span& &span class=&n&&thin&/span&&span class=&o&&=&/span&&span class=&mi&&10&/span&&span class=&p&&)&/span&
&span class=&p&&[&/span&&span class=&o&&-----------------&/span&&span class=&mi&&100&/span&&span class=&o&&%-----------------&/span&&span class=&p&&]&/span& &span class=&mi&&10000&/span& &span class=&n&&of&/span& &span class=&mi&&10000&/span& &span class=&n&&complete&/span& &span class=&ow&&in&/span& &span class=&mf&&1.4&/span& &span class=&n&&sec&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//pymc-devs.github.io/pymc/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pymc-devs.github.io/pym&/span&&span class=&invisible&&c/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Sh&/b&&/h2&&p&不能没让你看到 Sh 这个库你就走掉了。Sh 能让你将 shell 命令以函数导入 Python 中。如果有些工作在 bash 中很简单,但你不知道怎么在 Python 中完成(比如递归搜索文件),这时 Sh 就会超级有用。&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&from&/span& &span class=&nn&&sh&/span& &span class=&k&&import&/span& &span class=&n&&find&/span&
&span class=&n&&find&/span&&span class=&p&&(&/span&&span class=&s&&&/tmp&&/span&&span class=&p&&)&/span&
&span class=&o&&/&/span&&span class=&n&&tmp&/span&&span class=&o&&/&/span&&span class=&n&&foo&/span&
&span class=&o&&/&/span&&span class=&n&&tmp&/span&&span class=&o&&/&/span&&span class=&n&&foo&/span&&span class=&o&&/&/span&&span class=&n&&file1&/span&&span class=&o&&.&/span&&span class=&n&&json&/span&
&span class=&o&&/&/span&&span class=&n&&tmp&/span&&span class=&o&&/&/span&&span class=&n&&foo&/span&&span class=&o&&/&/span&&span class=&n&&file2&/span&&span class=&o&&.&/span&&span class=&n&&json&/span&
&span class=&o&&/&/span&&span class=&n&&tmp&/span&&span class=&o&&/&/span&&span class=&n&&foo&/span&&span class=&o&&/&/span&&span class=&n&&file3&/span&&span class=&o&&.&/span&&span class=&n&&json&/span&
&span class=&o&&/&/span&&span class=&n&&tmp&/span&&span class=&o&&/&/span&&span class=&n&&foo&/span&&span class=&o&&/&/span&&span class=&n&&bar&/span&&span class=&o&&/&/span&&span class=&n&&file3&/span&&span class=&o&&.&/span&&span class=&n&&json&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&a href=&//link.zhihu.com/?target=https%3A//amoffat.github.io/sh/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&amoffat.github.io/sh/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Fuzzywuzzy&/b&&/h2&&p&Fuzzywuzzy 是一款非常简单的 Python 库,花个两三分钟就能通读它的原理:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//github.com/seatgeek/fuzzywuzzy/blob/master/fuzzywuzzy/fuzz.py& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/seatgeek/fuz&/span&&span class=&invisible&&zywuzzy/blob/master/fuzzywuzzy/fuzz.py&/span&&span class=&ellipsis&&&/span&&/a& &/p&&p&&br&&/p&&p&Fuzzywuzzy 是一款很强大的模糊字符串匹配工具,很适合用于在不同数据库中创建特征向量或匹配记录。&/p&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&chairnerd.seatgeek.com/&/span&&span class=&invisible&&fuzzywuzzy-fuzzy-string-matching-in-python/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Progressbar&/b&&/h2&&p&Progressbar 是 Python 中的一个文本进度条程序库,用于展示长时间运行操作的过程,从视觉上提示你程序的处理进度。&/p&&p&&br&&/p&&p&Progressbar 非常简单易用,也很强大。如果系统支持,它还能自动启用一些功能,比如自动调整。&/p&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&from&/span& &span class=&nn&&progressbar&/span& &span class=&k&&import&/span& &span class=&n&&ProgressBar&/span&
&span class=&kn&&import&/span& &span class=&nn&&time&/span&
&span class=&n&&pbar&/span& &span class=&o&&=&/span& &span class=&n&&ProgressBar&/span&&span class=&p&&(&/span&&span class=&n&&maxval&/span&&span class=&o&&=&/span&&span class=&mi&&10&/span&&span class=&p&&)&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&11&/span&&span class=&p&&):&/span&
&span class=&n&&pbar&/span&&span class=&o&&.&/span&&span class=&n&&update&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&p&&)&/span&
&span class=&n&&time&/span&&span class=&o&&.&/span&&span class=&n&&sleep&/span&&span class=&p&&(&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&pbar&/span&&span class=&o&&.&/span&&span class=&n&&finish&/span&&span class=&p&&()&/span&
&span class=&c&&# 60% |######################################################## |&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//github.com/niltonvolpato/python-progressbar& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/niltonvolpat&/span&&span class=&invisible&&o/python-progressbar&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Colorama&/b&&/h2&&p&前面说到可以让程序有很棒的进度条,干嘛不再酷炫点,比如变成彩色!这点也很实用,可以在运行出错时提醒你。借助 Colorama 就能做到,使用起来很简单。将它放入脚本中,往颜色中添加任何你想打印的文本即可:&/p&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//pypi.org/project/colorama/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pypi.org/project/colora&/span&&span class=&invisible&&ma/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Uuid&/b&&/h2&&p&&br&&/p&&p&如果你在编程过程中需要唯一 ID,那么这个叫 UUID 的 Python 库绝对是个好工具,它实现了 1,3,4 和 5 版本的 UUID 标准,用起来很方便。&/p&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&kn&&import&/span& &span class=&nn&&uuid&/span&
&span class=&nb&&print&/span& &span class=&n&&uuid&/span&&span class=&o&&.&/span&&span class=&n&&uuid4&/span&&span class=&p&&()&/span&
&span class=&c&&# e7bafa3d-274e-4b0a-b9cc-db61&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//docs.python.org/2/library/uuid.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&docs.python.org/2/libra&/span&&span class=&invisible&&ry/uuid.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&h2&&b&Bashplotlib&/b&&/h2&&p&Bashplotlib 是一款命令行工具,用于在终端绘制基本的图形。假如你没有 GUI 的话,它能让你迅速的可视化数据。它由 Python 编写,可以用 pip 随时随地迅速安装。&/p&&div class=&highlight&&&pre&&code class=&language-python3&&&span class=&err&&$&/span& &span class=&n&&pip&/span& &span class=&n&&install&/span& &span class=&n&&bashplotlib&/span&
&span class=&err&&$&/span& &span class=&n&&scatter&/span& &span class=&o&&--&/span&&span class=&n&&file&/span& &span class=&n&&data&/span&&span class=&o&&/&/span&&span class=&n&&texas&/span&&span class=&o&&.&/span&&span class=&n&&txt&/span& &span class=&o&&--&/span&&span class=&n&&pch&/span& &span class=&n&&x&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&地址:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//github.com/glamp/bashplotlib& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/glamp/bashpl&/span&&span class=&invisible&&otlib&/span&&span class=&ellipsis&&&/span&&/a&&/p&&hr&&blockquote&&b&&i&参考资料:&/i&&/b&&br&&b&&i&&a href=&//link.zhihu.com/?target=https%3A//community.alteryx.com/t5/Data-Science-Blog/11-Python-Libraries-You-Might-Not-Know/ba-p/138427& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&community.alteryx.com/t&/span&&span class=&invisible&&5/Data-Science-Blog/11-Python-Libraries-You-Might-Not-Know/ba-p/138427&/span&&span class=&ellipsis&&&/span&&/a&&/i&&/b&&/blockquote&&figure&&img src=&https://pic1.zhimg.com/50/v2-6c7ad69d62e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&600& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic1.zhimg.com/50/v2-6c7ad69d62e_r.jpg&&&/figure&
Python 库实在是太多了,已经多到不管是谁都不可能知道全部的 Python 库。这里面有很多库大家一定耳熟能详,比如 Pandas,Scikit-learn 和 Numpy,但是也有些库大家可能错过了,虽然它们有些老旧,但是同样非常有用。 我们今天就分享一些比较小众的 Python …
&figure&&img src=&https://pic4.zhimg.com/v2-22cd6feafbaf5ebd080cab_b.jpg& data-rawwidth=&500& data-rawheight=&312& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/v2-22cd6feafbaf5ebd080cab_r.jpg&&&/figure&&p&分享一篇文章:&a href=&https://link.zhihu.com/?target=https%3A//my.oschina.net/u/3708120/blog/1581023& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&理解TCP/IP三次握手与四次挥手&/a&,作者是&a href=&https://link.zhihu.com/?target=https%3A//my.oschina.net/u/3708120/home& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Champin&/a&。&/p&&h2&&b&背景&/b&&/h2&&p&和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。&/p&&p&从好上开始,到现在,一年多也算坚持下来了。&/p&&p&&b&问题&/b&&/p&&p&有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。&/p&&p&中间双方可能就要不断的确认网络是否恢复,但是有时候会:&/p&&p&她:“你可以听到了吗?”&/p&&p&我:“可以了,你呢?”、&/p&&p&她:“喂喂,你可以听到了吗?”&/p&&p&我:“可以了,我可以听到了,你呢?”&/p&&p&她:“你可以听到了吗?”&/p&&p&.....&/p&&p&这种情况很蛋疼,那么怎样才能找一个简单的办法,让两个人都确认自己可以听到对方的声音,对方也可以听到自己的声音呢?&/p&&p&注:以下情节纯属虚构&/p&&h2&&b&方案&/b&&/h2&&p&TCP建立连接为什么是三次握手,而不是两次或四次?&/p&&p&TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。&/p&&p&顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。&/p&&p&举个日常例子,打电话时我们对话如下:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c368d5cd8b80ed4bc19335_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&960& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic3.zhimg.com/v2-c368d5cd8b80ed4bc19335_r.jpg&&&/figure&&p&对应为客户端与服务器之间的通信:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ea262ece5e3a5da46ea72bcf272ce6ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&656& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&https://pic3.zhimg.com/v2-ea262ece5e3a5da46ea72bcf272ce6ec_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-f8da6b8c405_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&851& data-rawheight=&735& class=&origin_image zh-lightbox-thumb& width=&851& data-original=&https://pic4.zhimg.com/v2-f8da6b8c405_r.jpg&&&/figure&&p&于是有了如下对话:&/p&&p&我:1+1等于几?&/p&&p&她:2,2+2等于几?&/p&&p&我:4&/p&&p&首先两个人约定协议&/p&&p&1.感觉网络情况不对的时候,任何一方都可以发起询问&/p&&p&2.任何情况下,若发起询问后5秒还没收到回复,则认为网络不通&/p&&p&3.网络不通的情况下等1min路由器之后再发起询问&/p&&p&对于我而言,发起 “1+1等于几”的询问后&/p&&p&1. 若5s内没有收到回复,则认为网络不通&/p&&p&2. 若收到回复,则我确认①我能听到她的消息 ②她能听到我的消息,然后回复她的问题的答案&/p&&p&对于她而言,当感觉网络情况不对的时候&/p&&p&1. 若没有收到我的询问,则她发起询问&/p&&p&2. 若收到“1+1等于几”,则她确认 ①她可以听到我的消息,然后回复我的问题的答案和她的问题“2,2+2等于几”&/p&&p&3. 若5s内没有收到我的回复“4”,则她确认 ②我听不见她的消息&/p&&p&4. 若5s内收到了我的回复“4”,则她确认 ②我可以听见她的消息&/p&&p&这样,如果上面的对话得以完成,就证明双方都可以确认自己可以听到对方的声音,对方也可以听到自己的声音!&/p&&p&这个故事可以解释TCP为什么要三次握手吗 ... 囧&/p&&h2&&b&关于四次挥手&/b&&/h2&&p&先由客户端向服务器端发送一个FIN,请求关闭数据传输。&/p&&p&当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ack的值等于FIN+SEQ&/p&&p&然后服务器向客户端发送一个FIN,告诉客户端应用程序关闭。&/p&&p&当客户端收到服务器端的FIN是,回复一个ACK给服务器端。其中ack的值等于FIN+SEQ&/p&&figure&&img src=&https://pic1.zhimg.com/v2-a997bfabeff0299_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&698& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&https://pic1.zhimg.com/v2-a997bfabeff0299_r.jpg&&&/figure&&h2&&b&为什么要4次挥手?&/b&&/h2&&p&确保数据能够完整传输。&/p&&p&当被动方收到主动方的FIN报文通知时,它仅仅表示主动方没有数据再发送给被动方了。&/p&&p&但未必被动方所有的数据都完整的发送给了主动方,所以被动方不会马上关闭SOCKET,它可能还需要发送一些数据给主动方后,&/p&&p&再发送FIN报文给主动方,告诉主动方同意关闭连接,所以这里的ACK报文和FIN报文多数情况下都是分开发送的。&/p&&h2&&b&一、TCP报文格式&/b&&/h2&&p& TCP报文格式图:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-43fc8d05457f83dbdc8c6f31da422d48_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&383& data-rawheight=&168& class=&content_image& width=&383&&&/figure&&p&上图中有几个字段需要重点介绍下:&/p&&p&(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。&/p&&p&(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。&/p&&p&(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:&/p&&p&(A)URG:紧急指针(urgent pointer)有效。&/p&&p&(B)ACK:确认序号有效。&/p&&p&(C)PSH:接收方应该尽快将这个报文交给应用层。&/p&&p&(D)RST:重置连接。&/p&&p&(E)SYN:发起一个新连接。&/p&&p&(F)FIN:释放一个连接。&/p&&p&需要注意的是:&/p&&p&(A)不要将确认序号Ack与标志位中的ACK搞混了。&/p&&p&(B)确认方Ack=发起方Req+1,两端配对。 &/p&&h2&&b&二、三次握手&/b&&/h2&&p&TCP(Transmission Control Protocol) 传输控制协议&/p&&p&TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接&/p&&p&位码即tcp标志位,有6种标示:&/p&&ul&&li&SYN(synchronous建立联机)&/li&&li&ACK(acknowledgement 确认)&/li&&li&PSH(push传送)&/li&&li&FIN(finish结束)&/li&&li&RST(reset重置)&/li&&li&URG(urgent紧急)&/li&&li&Sequence number(顺序号码)&/li&&li&Acknowledge number(确认号码) &/li&&li&establish
建立,创建&/li&&/ul&&p&所谓三次握手(Three-Way Handshake)即建立TCP连接,是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f11e2dfaf7f8991_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&517& data-rawheight=&304& class=&origin_image zh-lightbox-thumb& width=&517& data-original=&https://pic1.zhimg.com/v2-f11e2dfaf7f8991_r.jpg&&&/figure&&p&(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。&/p&&p&(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack (number )=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。&/p&&p&(3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-bbfa42f21b48_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&463& data-rawheight=&268& class=&origin_image zh-lightbox-thumb& width=&463& data-original=&https://pic3.zhimg.com/v2-bbfa42f21b48_r.jpg&&&/figure&&p&SYN攻击:&/p&&p&在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&#netstat -nap | grep SYN_RECV
&/code&&/pre&&/div&&h2&&b&三、四次挥手&/b&&/h2&&p&三次握手耳熟能详,四次挥手估计就..所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程如下图所示:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-0d34ae9f771e7b9e08e88bf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&507& data-rawheight=&323& class=&origin_image zh-lightbox-thumb& width=&507& data-original=&https://pic4.zhimg.com/v2-0d34ae9f771e7b9e08e88bf_r.jpg&&&/figure&&p&由于TCP连接时全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描述的即是如此。&/p&&p&(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。&/p&&p&(2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。&/p&&p&(3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。&/p&&p&(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-faabe1f5ded4b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&549& data-rawheight=&361& class=&origin_image zh-lightbox-thumb& width=&549& data-original=&https://pic3.zhimg.com/v2-faabe1f5ded4b_r.jpg&&&/figure&&p&上面是一方主动关闭,另一方被动关闭的情况,实际中还会出现同时发起主动关闭的情况,具体流程如下图:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-31deef252aa5b1897ceba_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&503& data-rawheight=&191& class=&origin_image zh-lightbox-thumb& width=&503& data-original=&https://pic3.zhimg.com/v2-31deef252aa5b1897ceba_r.jpg&&&/figure&&p&流程和状态在上图中已经很明了了,在此不再赘述,可以参考前面的四次挥手解析步骤。&/p&&h2&&b&四、附注&/b&&/h2&&p&关于三次握手与四次挥手通常都会有典型的面试题,在此提出供有需求的同学们参考:&/p&&p&(1)三次握手是什么或者流程?四次握手呢?答案前面分析就是。&/p&&p&(2)为什么建立连接是三次握手,而关闭连接却是四次挥手呢?&/p&&p&这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。&/p&&hr&&p&你想更深入了解学习Linux知识体系,你可以看一下我们花费了一个多月整理了上百小时的几百个知识点体系内容: &/p&&p&&a href=&https://link.zhihu.com/?target=http%3A//www.magedu.com/74163.html%3Flinux_wenzhang_zhihu_jinke_tiaocaobibei40ti_& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【超全整理】《Linux云计算从入门到精通》linux学习入门教程系列实战笔记&/a&&/p&
分享一篇文章:,作者是。背景和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。从好上开始,到现在,一年多也算坚持下来了。问题有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,…
&figure&&img src=&https://pic2.zhimg.com/v2-506d3a07bef0a2b3b2deaf7e46df8da8_b.jpg& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-506d3a07bef0a2b3b2deaf7e46df8da8_r.jpg&&&/figure&&p&很多小白学编程都学得蛮痛苦,甚至到了闻代码而色变的地步,如果不吃编程这口饭的话,业余学起来确实很费劲儿。 &/p&&p&贴心的程序员哥哥们看不下去了:那就让我们用代码来拯救你们吧……他们给小白们开发了一些学编程的游戏,通过游戏中的打怪、寻宝、解谜来学习代码知识。&/p&&p&虽说无法达到精通的地步,但能够让小白在入门的同时保持对代码的热情,而不至于走上放弃的道路:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-85c065ded52add45cf54c0b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&780& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-85c065ded52add45cf54c0b_r.jpg&&&/figure&&p&编程游戏有很多,今天推荐给大家的是 CodeCombat。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-d6223df18fee9fc87998_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2560& data-rawheight=&1400& class=&origin_image zh-lightbox-thumb& width=&2560& data-original=&https://pic3.zhimg.com/v2-d6223df18fee9fc87998_r.jpg&&&/figure&&p&CodeCombat 是一款创立于 2013 年的线上 web 游戏,界面和魔幻类游戏类似,有英雄和关卡,只不过角色需要通过『写代码』来获取装备、打怪升级。 &/p&&figure&&img src=&https://pic3.zhimg.com/v2-80fae1ba1a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2560& data-rawheight=&1412& class=&origin_image zh-lightbox-thumb& width=&2560& data-original=&https://pic3.zhimg.com/v2-80fae1ba1a_r.jpg&&&/figure&&p&每个关节对应相应的编程章节,也就意味着每通过一关,你就基本掌握了相应的语法知识~&/p&&figure&&img src=&https://pic2.zhimg.com/v2-b3ca3ddd3ab_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2532& data-rawheight=&1408& class=&origin_image zh-lightbox-thumb& width=&2532& data-original=&https://pic2.zhimg.com/v2-b3ca3ddd3ab_r.jpg&&&/figure&&p&游戏上手也很简单。选择英雄和想学的编程语言即可。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-0ce2fe8d7d2af3ba66eb7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&702& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-0ce2fe8d7d2af3ba66eb7_r.jpg&&&/figure&&p&每一关都有一个编程任务,别看名字『焰中舞动』这么中二,人家可是要利用 While Loops 来拯救英雄的!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6e6dffcded7b9edff87ad156_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2560& data-rawheight=&1408& class=&origin_image zh-lightbox-thumb& width=&2560& data-original=&https://pic2.zhimg.com/v2-6e6dffcded7b9edff87ad156_r.jpg&&&/figure&&p&而过关的英雄技能就是……while loop 语法……&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e903d176efb5d847486d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&701& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-e903d176efb5d847486d_r.jpg&&&/figure&&p&不要害怕不懂编程,每一关的游戏开始前会有简单的知识点解说。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e4c4aebf0c6b6e985fd938cee3774f5f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&703& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-e4c4aebf0c6b6e985fd938cee3774f5f_r.jpg&&&/figure&&p&在游戏中,你按照指示通过编程语句来操控英雄,完成行走、攻击、防守、交流以及更高级的自动化动作等等。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-c97f7ada_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2560& data-rawheight=&1394& class=&origin_image zh-lightbox-thumb& width=&2560& data-original=&https://pic2.zhimg.com/v2-c97f7ada_r.jpg&&&/figure&&p&胜利之后会有经验和钻石奖励,值得注意的是,『代码简洁』以及『没有错误』是获取额外奖励的重要标准。CodeCombat 在每一关都会灌输给玩家这样的理念。&/p&&p&看到这里是不是有点手痒痒?想立刻开始自己的编程游戏之旅?CodeCombat 目前只有 web 端,大部分关卡都是免费的。欲欲跃试的朋友们&b&点击阅读原文&/b&就可以直接进入游戏页面啦!&/p&&figure&&img src=&https://pic4.zhimg.com/v2-6c6d30aee2e38fe8ae7d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&480& data-rawheight=&200& data-thumbnail=&https://pic4.zhimg.com/v2-6c6d30aee2e38fe8ae7d_b.jpg& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&https://pic4.zhimg.com/v2-6c6d30aee2e38fe8ae7d_r.jpg&&&/figure&&p&不过这款游戏目前只能带你入门编程、掌握基本的语法知识和培养编程思维。&/p&&p&对于产品、运营、设计来说,有了语法基础之后,急需要学习&b&更高阶的技术知识&/b&,以及了解&b&如何在工作中运用这些技术&/b&,但是该从何下手呢?刚学完基础的小白都会有些迷茫吧!&/p&&p&不用担心,我们在知群推出了新的 M3 课程—— 由映客产品总监张涛和 SENSORO 产品总监 Huiter 一起开讲的&b&「产品、运营与设计师都该懂点技术」 。&/b&&/p&&p&在这门课里你会了解服务器、机器学习、数据表、前端、小程序、JavaScript……以及如何在有趣的实操案例里学会简单应用他们。&/p&&p&今天(12月11日)晚上7:30,Huiter 老师会在 &a href=&https://link.zhihu.com/?target=http%3A//a.app.qq.com/o/simple.jsp%3Fpkgname%3Dcom.zuiapps.zuilive& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&知群&/a&&b&(点击 下载Ap&/b&p)讲一&b&节免&/b&费试听课&b&:「非技术人员应该知道的入门小知&/b&识」,欢迎大家前来试听!&/p&&p&内容有以下三点:&/p&&p&&b&1. 一个产品的常规研发流程&/b&&/p&&p&&b&2. 工程师小伙伴的分类方法&/b&&/p&&p&&b&3. 如何渐进式地去学习技术&/b&&/p&&p&转发本篇文章至朋友圈即可解锁试听课&/p&&p&具体添加小助理&b& ZoeSoNice&/b& (&b&微信号&/b&)咨询&/p&&p&&/p&&p&&/p&&p&&/p&
很多小白学编程都学得蛮痛苦,甚至到了闻代码而色变的地步,如果不吃编程这口饭的话,业余学起来确实很费劲儿。 贴心的程序员哥哥们看不下去了:那就让我们用代码来拯救你们吧……他们给小白们开发了一些学编程的游戏,通过游戏中的打怪、寻宝、解谜来学习…
&figure&&img src=&https://pic2.zhimg.com/v2-4a070bf4505e_b.jpg& data-rawwidth=&655& data-rawheight=&475& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&https://pic2.zhimg.com/v2-4a070bf4505e_r.jpg&&&/figure&&p&&i&这是JavaScript开发者的时代,不仅仅是Html5规范尘埃落定,flash技术渐隐江湖,智能终端的大众普及,而是更具有划时代意义的nodejs推出,让JavaScript流程地运行在服务器端,彻底打破了前后端的原边界,解放了前端程序员的职责约束,走向一个崭新的舞台。&/i&&/p&&p&&b&&i&
——from Scott&/i&&/b&&/p&&h2&概念&/h2&&p&
NodeJs虽然带了一个js后缀,但是实际上是采用谷歌浏览器和V8引擎,由C++语言编写的,本质上是一个JavaScript的运行环境。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1fb33aebb5e4bd0f88a18cfcacd45a8e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&526& data-rawheight=&313& class=&origin_image zh-lightbox-thumb& width=&526& data-original=&https://pic3.zhimg.com/v2-1fb33aebb5e4bd0f88a18cfcacd45a8e_r.jpg&&&/figure&&p&
往往提到JS,大家都能想到各种交互组件和异步请求等等,它们依靠浏览器的JavaScript引擎,来解析页面的js代码。&/p&&p&
但是nodejs运行环境不仅仅可以解析JS代码,并且也没有浏览器端各种的安全限制,还提供许多系统级别的API:比如文件的读写,进程的管理,网络通信等等。&/p&&p&&b&HelloWorld&/b&&/p&&div class=&highlight&&&pre&&code class=&language-js&&&span&&/span&&span class=&c1&&//server.js&/span&
&span class=&kd&&var&/span& &span class=&nx&&http&/span& &span class=&o&&=&/span& &span class=&nx&&require&/span&&span class=&p&&(&/span&&span class=&s1&&'http'&/span&&span class=&p&&)&/span&
&span class=&nx&&http&/span&&span class=&p&&.&/span&&span class=&nx&&createServer&/span&&span class=&p&&(&/span&&span class=&kd&&function&/span& &span class=&p&&(&/span&&span class=&nx&&req&/span&&span class=&p&&,&/span& &span class=&nx&&res&/span&&span class=&p&&)&/span& &span class=&p&&{&/span&
&span class=&nx&&res&/span&&span class=&p&&.&/span&&span class=&nx&&writeHead&/span&&span class=&p&&(&/span&&span class=&mi&&200&/span&&span class=&p&&,&/span& &span class=&p&&{&/span&&span class=&s1&&'Content-Type'&/span&&span class=&o&&:&/span& &span class=&s1&&'text/plain'&/span&&span class=&p&&})&/span&
&span class=&nx&&res&/span&&span class=&p&&.&/span&&span class=&nx&&end&/span&&span class=&p&&(&/span&&span class=&s1&&'Hello World\n'&/span&&span class=&p&&)&/span&
&span class=&p&&}).&/span&&span class=&nx&&listen&/span&&span class=&p&&(&/span&&span class=&mi&&1337&/span&&span class=&p&&,&/span& &span class=&s1&&'127.0.0.1'&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&h2&模块的流程&/h2&&p&创建模块 —— teacher.j

我要回帖

更多关于 觉得自己完了 的文章

 

随机推荐