view=classic 翻译作者:晚风(信安之路作者团队成员) 在本文中,我来讲讲我碰到的一个有趣的 XSS。2018 年 2 月,我在 google 的一个网络应用中发现了这个 XSS。...但不管怎么样我决定向 Google 提交这个 bug,因为 CSP 没有改变 XSS(MathJax bug)存在的这个事实。 我发送了一个报告给 Google 并决定睡觉去了。...在点击了“SHARE”后,你可以清楚地看到我写的“SOME RANDOM TEXT”文字出现,取代了之前的窗口。...总结 最后总结一下,首先我展示了我是如何在 Colaboratory 中识别 XSS,然后通过在 MathJax 依赖库中寻找到了安全问题从而在 DOM 树中注入了我们的恶意代码。...最后,我使用了一个被称为 JS 小技巧来绕过 CSP(内容安全策略)。 目前,MathJax 中的安全问题已经得到了修复。
原文出处: mkrecny 译文出处:外刊IT评论 【导读】:前几天的一篇文章《为什么Hacker News昨晚一夜宕机》讲的也是一个低级错误,但那个犯错误的人是老板自己,他在问题未解决前仍然能回家睡觉...,但如果你不是老板,而是一个普通员工,而且犯了一个无法饶恕的愚蠢错误,那你知道你的下场吗——死的很惨。...有两个“工程师”在为公司的旗舰产品——一款RPG游戏——写代码,我是其中之一。我在大学里学的是哲学,这意味着,虽然我知道如何去思考、解决一个问题,但我对最佳实践方法、设计模式等方面的知识很缺乏。...这种工作的单调让我精神恍惚,一个懒洋洋的下午,我发现自己昏昏欲睡,鼠标光标移到了 USERS 表达图标上,然后弹出右键菜单,点击 ‘clear’。 我的所作所为会带来的严重后果并没有立即击倒我。...大家都收到了一份邮件,里面称这是一个“初级程序员”的责任事故。公司里只有我和另外一个人被看作是“初级程序员”。 不超过三天,很显然,所有人都知道了是我。大家开始用异样的眼光看我。
实现一款自定义的任务调度器函数不也是一件非常酷的事情吗。说不定哪天就用上了呢,对吧! 任务调度器 文章的开头我简单和大家聊一聊什么是任务调度器。...这两个条件是调度器组成的基本内容,概念性的内容总是比较晦涩。没关系,接下来我们结合实际例子带你去看看它是如何在 Webpack 工作流中使用的。...AsyncQueue 本质上就是一款任务调度器,那么在 Webpack 中它是如何使用的呢,我们先来看一看它的用法。...= undefined; // 保存当前任务处理后的错误 this.error = undefined; } } 在 new AsyncEntry(item,callback) 中我们实例化了一个...我希望的是当存在重复的 key 值时,我会用上一个相同 key 的处理结果来调用重复的 callback 即可,完全没有必要重新在进入队列处理一次。
刚开始的时候,跟着公司一位PHP技术负责人一起做,用thinkPHP写商城的后台程序,写购物车,完善会员促销功能等等。...是的,作为新人,我开始有意识地要在公司好好表现,好让自己在公司有一席之地。从此之后,公司加班到最晚的永远都算上我一个,并且遇到力所能及的事情,我一定会第一个冲上去接下来。...自我感觉非常良好,也让我看清楚了公司的发展瓶颈,这样的小型在线商城,在如此缺乏资源的情况下,短时间内是很难做起来的,对于一名技术人员,如果与创业公司一同成长,就要承担个人技术发展缓慢的弊端,并且遇到个人技术瓶颈等问题...我当然明白,互联网公司所谓的“五天八小时,双休”都是哄人的,但其实这也并没有那么重要,重要的是晋升空间。进入公司,刚开始我负责电商平台的部分功能的开发,在团队里,应该算得上资历最浅的一位了。...是的,我涨薪了,来这家公司的第二年,公司结合我的年工作贡献、能力、岗位级别等,涨到了15K,福利也比之前的要好很多。
数据中台,是中台战略体系中非常重要的一部分。身为一名大数据架构师,在落地大数据中台架构的过程中,需要具备哪些架构能力和大数据能力?有哪些可复用的优秀经验,以及需要规避的问题点?...01 一个10年首席架构师的自白 作为前58集团技术委员会主席、前58转转首席架构师,我最近一直在反复问自己一个大数据架构师成长问题:百万年薪大数据架构师的核心竞争力,到底是什么?...我认为,是对架构设计的升维认知,以及所具备的顶级思维模型。 作为百万年薪大数据架构师的顶级思维模型之一:根据(业务)场景Balance的架构设计思维模型。...在新技术日新月异变化的今天才不会迷失方向,才不会担心惧怕所谓35岁年龄问题。 那么,如何拥有这些顶级架构思维模型?我想,只有切实在企业级真实架构设计实践才能出真知!...大数据架构师9大顶级思维模型 但回归企业现状,绝大数同学们都没有这样的企业真实案例的历练机会,如何帮助他们拥有这些大数据架构设计思维模型,学习和模仿是快速提升之路。
)的解码器模块构建的GPT-2模型,采用了BERT的分词器(划分句子里面的词语)构建了一个大型的深度学习模型。...BUG1.png BUG2.png 这个时候需要让计算机算法学习如何像人一样说话, 意味着要用很多数据给他训练(学习一下如何说话),我们先采用了100GB的中文语料CLUECorpus2020数据(...步骤四: 处理好后,可以看到黑框框打印出来的例子,但这个例子还不够用户友好,而且只有一个人能用,如何才能让大家也能在自己的电脑上用呢,需要把它变成一个所有人都能访问的东西。...把我们编写的人工智能程序变成了一个大家都可以访问的web服务,就是从世界各地请求它,要求他输出东西,他都能返回一个结果了。...步骤七:然后我们要发布我们的人机交互界面,在腾讯云上进行了又一番配置,我们的网站终于上线了!所有人都可以轻松愉快地访问并可以在微信进行分享了。
我编写了一个应用程序来告诉你区块链是如何运作的 blockchain.gif 根据维基百科的描述, 区块链是: 一个分布式数据库, 用于维护不断增长的记录列表, 这个列表称作块 听起来挺棒的, 但它是如何运作的...为了演示一个区块链, 我们将使用一个名为Blockchain CLI的开源命令行界面. 我在这里也构建了一个基于浏览器的版本....时间戳(Timestamp): 块是什么时候添加的? 数据(Data): 块中存储了什么信息? 随机数(Nonce): 在我们找到一个有效的块之前, 经历了多少次迭代?...命令提示符中键入 mine freeCodeCamp♥︎ 区块链会查看区块链上最新区块的索引和它的前一个哈希值. 在现在的情况下, 起始块是最新的块....在我们的例子中, 一个有效的散列值至少有四个前导0. 寻找与有效散列值相对应的随机数的过程就是挖矿. 随着难度的增加, 可能的有效散列值数量会减少.
本文来自公众号“程序员loading”,原标题是“排除万难,我终于入了程序员的坑!”。 1、引言 “恭喜你,成功的避过了所有的正确答案,选择了错误答案”。...像别人家孩子发生的事从来不会发生在我身上。在稀里糊涂的高考完之后,竟也能稀里糊涂的上了一个还凑活的本科院校(虽然是数学专业),算不上好,也算不上坏。...难以想象兴趣驱动的学习和考试驱动的学习差距是多么的大,经过几个月的学习与实战之后,没上过课的我,在考试中,有一哥们八分钟作弊被撵了出去,而我在一群崇拜的眼光中10分钟交了卷,最后竟然考了全系第一,拿到了一等奖学金...《一名90后二流大学程序员的自述:我是如何从“菜鸟”到“辣鸡”的》 《一个魔都程序员的3年:从程序员到CTO的历练》 《选择比努力更重要:我是如何从流水线工人到程序员的?》...《一个野生程序员的真实自述:我是如何从数学专业学渣入坑程序员的》 (本文同步发布于:http://www.52im.net/thread-2127-1-1.html)
大家好,我是Python进阶者。...一、前言 前几天在Python最强王者交流群【 】问了一个Python项目实战的问题,问题如下:请问,我如何每次运行程序时,都会将数据添加到对应的keys中,而不是重新创建一个dict啊。...print("密码不能小于6位") else: print("邮箱格式错误...如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答! 三、总结 大家好,我是Python进阶者。...这篇文章主要盘点了一个Python项目实战的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
不要喝鸡汤,我们看看 Quora 上面是如何回答的。 ? 在全栈开发者 Adam Leffert 看来,最重要的是态度: 我认为编程要想成功最重要的是态度。当然,最低水平的智力还是要的。...一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中。但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围。好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。...未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。...好的程序员,在写一长串代码的时候会把代码分解出来,分段测试。如果你因为前面 1 个小时总是碰到同样的问题就把电脑给关掉了事,可以认为这是迹象 1。最后你总会找到问题的,但一定不要放弃。...只对输出而不是质量感兴趣: 开发出好应用是你的责任。如果你为了赶时间而牺牲应用的质量,你可以成为程序员,但不会是伟大的程序员。
McGibney本来是一名前海军陆战队员,在军队时曾负责128个美国大使馆的网络安全。...McGibney说,最初是Moore找到他的,2012年的时候向他提供了一个在IsAnyoneUp上打广告的机会。...当McGibney第一次登上IsAnyoneUp网站时,他想起了他还是小孩子的时候在纽约的一个寄养系统中忍受的恐怖。那个家庭中,他和姐姐会被要求在客厅裸替站立数小时,随后养父会强奸姐姐。...目前,McGibney和Moore仍然在打官司,主要是为了争夺Moore在2013年的诽谤诉讼中欠下的34.5万美元。 在最近接受采访时McGibney说到,“我过得很开心,我也不后悔。...我希望我当时再努力10倍,因为结果也会一样”。 希望每一个女孩,好好珍爱自己,远离渣男。
我看到网络上很多文章介绍分段式内存或者介绍段寄存器的时候就止步于此了,而事实上,进入32位时代后,情况已经发生了翻天覆地的变化,只讲上面这一部分内容实际上会误导很多人。...4 段寄存器 让我们从段寄存器出发,在Win7 32位系统上,使用调试器(我用的WinDbg)随意调试一个程序,真的,随意,记事本、浏览器、Word,你看上谁就调试谁。...在中断的上下文中看一下,程序在执行时,段寄存器里面到底装了啥?...GDT的方式(如果你知道记得一定告诉我哦),于是去源代码中寻找答案: 看到了吗,这两项所描述的段和Windows一样,基地址为0,大小为4GB。...无论是分段还是分页,这是CPU自身的机制,操作系统在管理内存时绕不过去,但通过巧妙的分段内存设计,相当于把分段的概念给屏蔽了,由此造成了我们平时在谈论虚拟地址翻译时,忘记了段的存在,但不代表它真的不存在
不要喝鸡汤,我们看看 Quora 上面是如何回答的。 在全栈开发者 Adam Leffert 看来,最重要的是态度: 我认为编程要想成功最重要的是态度。当然,最低水平的智力还是要的。...一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中。但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围。好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。...未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。...好的程序员,在写一长串代码的时候会把代码分解出来,分段测试。如果你因为前面 1 个小时总是碰到同样的问题就把电脑给关掉了事,可以认为这是迹象 1。最后你总会找到问题的,但一定不要放弃。...什么样的人不适合当程序员,在正常智力情况下,也可以说是什么样的人不愿意当程序员,不是某些人当不了,而是某些人适应不了程序员的生活,一定程度上说这是一个“屁股决定脑袋”的事情,我是说屁股坐不住,基本上你做不了程序员
MSS分段 如何查看MSS? 我们都知道TCP三次握手,而MSS会在三次握手的过程中传递给对方,用于通知对端本地最大可以接收的TCP报文数据大小(不包含TCP和IP报文首部)。...说白了,数据在TCP分段,就是为了在IP层不需要分片,同时发生重传的时候只重传分段后的小份数据。 TCP分段了,IP层就一定不会分片了吗 上面提到了,在发送端,TCP分段后,IP层就不会再分片了。...同时返回一个ICMP错误给发送端,同时带上自己的MTU。 获得pmtu 发送端收到这个ICMP消息,会更新自己的MTU,同时记录到一个PMTU表中。...获得pmtu后的TCP重传 总结 数据在TCP分段,在IP层就不需要分片,同时发生重传的时候只重传分段后的小份数据 TCP分段时使用MSS,IP分片时使用MTU MSS是通过MTU计算得到,在三次握手和发送消息时都有可能产生变化...背后的原因让人暖心 i/o timeout,希望你不要踩到这个net/http包的坑 妙啊! 程序猿的第一本互联网黑话指南 程序员防猝死指南 我感觉,我可能要拿图灵奖了。。。
3,解耦合【正交性】 划分出细粒度的模块,然后各个模块之间解耦合,比如有一个函数的得墨忒耳法则.得墨忒耳定律也叫做“最少了解原理”,是一种软件设计原理,尤其是应用到面向对象的程序设计中,基本原理为:...6,软件程序的并发和次序 时间是软件架构的一个经常被忽略的方面,这里的时间指的是程序自身的时间因素: 并发:同一时间发生多个事件 次序:事件在时间中的相对位置 尤其是互联网的开发设计中,并发是一个不可忽视的因子...,那么代表程序一定在某些地方存在问题,尤其是一些无法必现的问题,那么就需要我们在错误发生之后能够有足够的信息去分析它并fix它。...检查每一个可能的错误,尤其是意料之外的错误是一种良好的实践。 如果程序发生一些极端错误之后,如果没有终止程序,很有可能导致后端数据产生脏数据或者后端请求出现批量异常等等。...通过断言来检测输入参数,在c、c++中是常用的优雅姿势,但是不要用断言去处理真正的错误流程 元数据的设计
---- 在报告中,赵老师通过大量的事例,结合报告人的经验,讲述论文写作过程中注意事项和常用步骤与方法,主要涉及的内容包括引文、模型、实验以及参考文献的写作方法,另外还介绍了初学者应该避免发生的写作问题...其实回头看18年的论文,有些地方也没有特别好,一些常见错误,我自己之前也会犯。 比如用到的两个事例的论文,我都觉得有些地方我好像有语病。语病可能不是写作的一个最关键,重要的是如何写出来,如何组织。...在相关工作中还有一个高水平的写是给某一类方法起简称,比如用开头字母代替。 ?...引文写作错误非常常见,我留意了这五六年的审稿情况,一直存在这种错误,大家可以看看上面三种写法都是错误的。什么能够充当主语,什么能够在人名处加括号,要完全弄清楚。 3 定义介绍要清晰 ?...强调大段的文字摆上来没有切割,没有分段,特别是双栏布局的,我有的时候会发现有一些论文,一个单栏,从头到尾没有出现一个黑体字,没有出现一个分段。然后一定再读一读各部分段落的题目。
这让我想到了习得性无助。如果你每次去上高数课都发现自己什么都听不懂,每次做高数作业都像是看天书一样,那么你还愿意去上高数课吗?你还愿意去做高数作业吗?...程序员是吃青春饭的,干这一行很难吃到退休。江山代有才认出,一代比一代浪,请做好从入门到被裁员的觉悟吧! 通过二十多天的沮丧,问题终于解决了,但不是我解决的,说起来很奇葩,是bug自己不见 了。...Instant Run作用是节约程序员在花大量的时间bulid,使用instant run, 在第一次运行之后,就可以快速的在真机中(或模拟器)看见修改后的结果。...也正因为这样,instant run可能会有记忆功能,把错误也记住了(我是我的一种猜测),你接下来修改了代码,增加了代码,还会报错。...如果大家以后遇到这样的情况,可以这样做,在Run菜单中Clean and Rerun找到它,点它运行程序 ? 这是我在网上找到了一种解决方案。
本文不是如何成为编程高手的秘籍,也不是介绍如何在职场中为人处世,更不是告诉你怎么成为优秀的程序员,本文只介绍如何处理好工作中的细枝末节,帮助你树立专业的、靠谱的程序员“人设”,是一篇程序员职业素养的《新人须知手册...如果要讨论一个业务需求,但业务负责人却不能把要做的事情有逻辑地写清楚,那么说明他自己也没想清楚,此时不应该发起和开发者的讨论。如果团队里经常做无稿的需求讨论,靠谱的程序员应该抵制并提出抗议。...等到了联调或者是验收的时候,却发现 A 说达成的方案是这样,B 说达成的方案是那样。 为了避免这样的情况发生,我们讨论达成的结论,务必“白纸黑字”写到需求稿中。...需要写数据说明文档,详细描述数据有哪些字段,以方便众多使用者,用了 0.5 天; 看到了吧,一个看起来很简单的小需求,我们考虑了很多细节(但不是所有细节),仍然有可能出现遗漏,所以一定要给自己足够的时间去全盘的拆解问题...本文是《如何成为一名靠谱的程序员》系列文章的上篇,在下篇文章中,我们将聚焦沟通协作、独立思考以及推荐阅读的书籍。
针对软件 bug,有人在 Wikipedia 的文章中写过:“软件 bug 是电脑程序或系统中,导致产生错误或意外结果、或非预期行为的 error、flaw、failure或 fault”。...上例包含了 bug 环境并列出了发生的情况。“崩溃”和“窗口关闭”可能是同义的,纳入两个词是以防某些人只用一个短语搜素,而不是另一个。...如果只写了 bug,读者可能不清楚你是在描述 bug 还是预期响应。Bug 通常是“features”,有时可能是见解不同。除非清楚什么不是 bug,否则永远也不清楚什么是 bug。...Bug 的证明或示范 我喜欢记录 bug 的证明,这样可以:1)要求我能够不断重现 bug。2)证明这真的是个 bug,而不是测试者的错误。3)展示清晰的情景以便开发者查看发生了什么。...如果你觉得是环境的问题,那么在不同环境中测试一下。 报 bug 前找找已有的 bug 报告。 避免主观意向。除非你提交的是功能需求,否则应该忠于事实,省略如果你是开发者会如何制作软件等内容。
但至少你得承认,相当多的文科专业同学,还是对技术不够熟悉,有抵触甚至是恐惧心理的。 我收到了不少读者留言和来信,提出了许多疑问。其中有很大一部分,是在实践编程环节,遇到了错误提示,向我求助。...许多程序员和专业人士可能会对这样的主题不以为然,甚至嗤之以鼻——除错(debug)是一门专业的学问,你打算一篇文章讲清楚?吹吧! 诚然,我不可能用一篇文章讲清楚如何编程除错。...我只想给文科生一些建议,因为他们的情况比较特殊。 对他们来说,直接列一个清单,说明如何除错是不够满足需求的。咱们得结合具体的场景来谈。 文科生遭遇Python编程问题的场景该如何分类呢?...我先说说面对程序给你的这一大堆报错,你该怎么办? 首先你要看看,错误出现在哪里。...这个时候似乎手头没有葫芦可以照着画,你得自己找葫芦。 例如读完了我那篇《如何用Python做词云?》后,有读者在微信公众号后台留言,询问我如何在绘制词云的时候,把词云变成需要的形状。 ?
领取专属 10元无门槛券
手把手带您无忧上云