工程师和医生是很多人的头两个选择。现在,随着互联网的兴起,事情正在发生变化,但是父母期望孩子成为医生或工程师的情况并不少见。 我知道我不能当医生,因为我既不勇敢也不耐心。...我记得在W3Schools网站上我花费了无数个小时来学习和测试新的有趣事物。 无论如何,正如他们所说,所有美好的事物都会结束。最后,我毕业了。...很快,我意识到工作编程与学校编程有很大不同。这是真的,在学校里没有人真正谈论过。没有大量的课程和作业可以让您为现实世界中的期望做好准备。 我与在该行业拥有多年经验的开发人员一起工作。...分配给我的任务通常是一些小错误修复(更改文本的颜色,在此处添加“确认”按钮,修复此小部件的大小,等等)。...无法为实际的设计阐述阶段做出贡献的挫败感,再加上较小的错误修复和高级开发人员的不断沟通,使我开始完全鄙视编码。我意识到我对创意的产生,与用户会面,理解他们的问题,然后创造性地解决它们更感兴趣。
2.不知道从什么技术入手 很多人会问:“我应该先学什么编程语言?”之所以会提出这个问题,是因为他们不知道自己为什么要学习编程。...我的代码是否足够整洁?对其他开发人员,甚至是自己而言,代码是否易于理解和改变?因为以后可能需要修复隐藏在这段代码中的问题,或者根据其他产品规格改变代码。 我的方法是最好的吗?...有没有其他选项是我可以选择使用的?各个方案的利弊?这任务是否值得用不同的方式解决? 此模块与其他模块是如何交互的?是否会对其他模块造成负面影响?是否容易被其他模块影响? ?...5.你不知道如何处理一个任务 你不知道从哪里开始?你可能会随机地去尝试,或者从其他地方复制一些你自己也不明白的代码。但是,这是没有帮助的。即使你复制来的代码有效也没用。...不妨将此看成是一个机会,一个修复错误提高编程能力的机会。当你解决了一个bug,可以问问自己这个问题:“我为什么会犯这种错误?以后我该如何预防再犯?”
调试九法:软硬件错误的排查之道-“你知道,现阶段我非常忙,但我打算在晚年倾力写一本书,把所有侦探艺术都集中写在这本书里。”...2、制造失败-“什么也比不上直接取得的证据来得重要。”-福尔摩斯《血字的研究》 制造失败。目的是为了观察它,找到原因,并检查是否修复。 从头开始。修车工需要知道汽车车窗在被冻结之前你洗过车。...高级工程师看到了真实的问题,并且能够找到原因。而初级工程师们认为他们知道错误发生在哪里,结果他们修复的地方根本没有出错。 查看细节。听到水泵似乎发出声音时不要停下来。到地下室查明是哪个水泵。...虽然它是软件成品,但它出问题了,你必须打开并修复它。 注意海森堡效应。不要让仪器影响了系统。 猜测只是为了确定搜索的重点。大胆地猜测内存时序发生了错误,但在修复之前应该先查看它。...如果你在不知道具体发生了什么问题的情况下就试图去修理核潜艇,可能会引发一次水下的切尔诺贝利爆炸。 一次只改一个测试。我之所以知道我的VGA采集相位被破坏了,就是因为其他东西都没有发生改变。
两年前,我开始在网上自学机器学习,并且通过 YouTube 和博客分享了我的学习过程。我并不知道我在做什么,在决定开始学习机器学习之前我从没写过代码。 当人们发现我的作品,他们通常会私信并提问。...有人告诉我他已经开始学习 Python 并打算学习机器学习了,但不知道下一步该做什么。 「我已经学习了 Python,下一步该做什么?」 我回复了一系列学习的步骤,并且复制到了这里。...如果你想成为一个机器学习从业者,却不知道怎么写代码的话,可以把本文当作一个大纲。我的学习风格是代码优先:先把代码运行起来,再根据需要学习理论、数学、统计以及概率等方面的东西,而不是一开始就学理论。...你可以开始把这样的小贴士用一张便条记录,然后边学习边收集这些信息。...先运行起来,然后用你的研究技巧来验证它是否正确。 证书? 证书很好,但你不是为了证书而学习,而是为了提高技能。不要和我犯同样的错误,不要认为证书越多代表技能越多,并不是这样的。
在此,推荐开发者可以查阅一本使用广泛的测试书籍,Robert C.Martin 编写的《Clean Code》,其中部分内容是为了响应更复杂的代码而写的,在这些程序中,你阅读了 1000 行代码,但仍然不知道发生了什么...在一大堆“小单元”中拆分它可以大大减少代码理解的容易程度,因此更难以验证它是否正确。 我必须修复一些 Ruby 代码,其中所有东西都是小单元。...我不完全确定如何看待 BDD。我持怀疑态度,但我从来没有在一个大型项目中正确使用它,所以我犹豫不决是否放弃他。...请注意,对于调试周期,我并不是说“你需要修复的代码中存在错误”,而是“我需要查看此代码来修复错误”。 一般来说,我已经发现测试代码比常规代码更难调试,因为“代码表面”往往更大。...结语 编写好的软件真的很难。当前我有一些关于如何实现好的软件的想法,但没有完整的实施方案。我知道“总是添加单元测试”和“总是使用 TDD”不是答案,尽管它们是有用的概念。
我对如何做到这一点有直觉,但是对于怎样才能从“我看到这个bug两次”跨越到“我可以根据需要在笔记本电脑上持续地再现这个bug”这一点,我不知道怎么解释,而且我想知道你用来调试的技术是否依赖于这些不同的开发领域...有了这样的错误信息,我就可以检查我是否需要修复防火墙,或者我是否由于某种原因得到了错误的IP地址。...,谁都不知道它会拿这些数据做什么,结果只会让你头痛。...如果你知道其它语言中如何处理程序错误的方法,请告诉我,我会很感兴趣! ? 了解错误消息的含义 我经常理所当然地认为代码调试的一个子技巧是:正确理解错误消息的含义!...当你切换到一个新的开发领域时,理解错误消息的技能通常是不可转移的(假如我明天开始大量地编写React或其它编程语言的代码,一开始我可能根本不知道任何错误消息的含义!)。
我对如何做到这一点有直觉,但是对于怎样才能从“我看到这个bug两次”跨越到“我可以根据需要在笔记本电脑上持续地再现这个bug”这一点,我不知道怎么解释,而且我想知道你用来调试的技术是否依赖于这些不同的开发领域...有了这样的错误信息,我就可以检查我是否需要修复防火墙,或者我是否由于某种原因得到了错误的IP地址。...,谁都不知道它会拿这些数据做什么,结果只会让你头痛。...如果你知道其它语言中如何处理程序错误的方法,请告诉我,我会很感兴趣! 了解错误消息的含义 我经常理所当然地认为代码调试的一个子技巧是:正确理解错误消息的含义!...当你切换到一个新的开发领域时,理解错误消息的技能通常是不可转移的(假如我明天开始大量地编写React或其它编程语言的代码,一开始我可能根本不知道任何错误消息的含义!)。
首先声明,我不是搬运答案,所有问题我的回答都是个人见解。 总有人忧虑自己是不是长期不跟大部队,就不知道外界的情况了,相信通过这些问答,大家会对整个行业有更清晰的认识和自我的定位。...我们先来看时间最近的这个: 点击打开,可以看到居然是5分钟前发出的,没想到这大半夜的居然还有人在卷啊,看名字还是个女孩,这么努力的妹子真的很可贵。...接口测试的bug如何提交,这个简单的问题相信几乎所有的同学都有自己的答案,而且是大体相同的。...比如bug关联的需求id、自动化脚本id等,这是为了修复后进行测试和追踪 比如bug影响的其他功能,这是为了之后进行周边影响法复测。...所以开发同学一般会费劲巴力的重新构造整个请求,或者抓包来复现。 除了复现外,亲自构造复现这个错误接口和其上游接口,也是调试自测修复的必要过程,当然这是一个极其麻烦的过程。
大家好我是痴海,一位转型做增长的爬虫师,由于工作的缘故,对于身边许多信息都非常敏感。上个月朋友圈有很多人都在晒四六级成绩,有人欢喜有人忧愁,而我却感受到深深的恐惧。...我自己还在上大学时,辅导员不知多少次把我们本系的学生信息随意就在群里上传,你的身份证号、电话号码、父母姓名、家庭住址全部裸露在同学眼里。 在学校里知道你身份证号有什么用?来看下一位读者和我说的话。...下图就是我在网上随便搜索某个大学,找到的艺术类 2019 新生名单。 ? 姓名知道了,我们现在就差一个准考证号就可以知道某位同学的四六级成绩。 我们要如何知道一位同学的准考证号?...现在的人热衷在社交软件上晒自己的心情和各种照片,但有太多的人不知道如何保护自己的隐私,一些关键的信息根本不打码,分享的图片也不进行处理。而有时候往往就是这些小的细节把你个人隐私暴露。...有了你的详细地址,那些不怀好意的人不知道能做出多么疯狂的事。 生活中还有非常多能拿到你隐私的方法,而今天给大家展示的隐私泄漏的案例,只是数据全裸时代的冰山一角,冰山之下还有很多你不知道的世界。 ?
我的个人时间大部分都在学习如何使AI安全——例如,如何确保恶意攻击者无法欺骗AI系统去执行攻击者的意图,而不是设计者的意图。 2....在我的科学职业生涯中,这段辩论的经历经常在不同的方面帮助到我,这令我很惊讶。在克服挫折方面,辩论是有用的,因为辩论者都学会了如何处理失败情绪。每场辩论都有胜利者和失败者。没有人能够一直胜利。...我完全可以理解为什么有人会认为这是一种谦虚的自夸,但我想大多数人也明白我这样做是为了帮助其他人摆脱妄自菲薄。 5. 另一方面,你是否认为失败是普遍的,人们可能会决定不分享他们的成功?...也不知道导师是谁,而且这些学校支持深度学习研究的导师相对较少。我选择去蒙特利尔大学来克服这一障碍,因为可以提前选Yoshua Bengio做导师。...),这个问题已经提出近4年,仍然没有人知道在这种设置下如何构建高精度的 模型。
用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等,我在之前删除了这些数据库所以导致了1146的错误。...解决方法: 1、cmd命令管理员方式运行,使用dos命令进入mysql的安装路径,例如我的mysql路径:D:\tools\mysql_5.7\mysql-5.7.30-winx64\bin 2、执行升级修复错误命令...:mysql_upgrade -u root -p ,之后需要输入密码,由于我根本不知道root的默认密码是什么,所以选择了修改密码的方式,这个我忘记了具体如何操作的了(百度看来的不知道是否正确),若是有知道的也可以告诉我呢...3、启动mysql ,net start mysql,我的是启动失败了,报错发现错误5,执行初始化语句 mysqld –initialize,再次启动,启动成功。...4、执行升级修复错误命令mysql_upgrade -u root -p,之后会出现succesfully的字样,表示升级成功 5、再次打开navicat,打开,已可以使用 —以上是我解决此问题的方法,
---- 最近我收到一封读者来信让我陷入了思考,信是这么写的: Hi Philip,您是否介意我问,您是如何成为一名卓越 (great) 的前端工程师的?对此您有什么建议吗?...我只确定自己比自己想象中还才疏学浅,而且大家面试我的时候都不知道从何问起 话虽这么说,我到现在做得还算不错,而且成为了团队中有价值的一员。...,他们往往答道:“我也不知道,可是我一删掉它们,页面就乱套了。”...JavaScript也是一样,我总会在一个条件竞争的地方看到一个setTimeout,或者有些人无意中阻止了事件传播,却不知道它会影响到页面中其它的事件处理。...我着实认为很多公司在招聘新员工的时候犯的最大错误是他们只评估应聘者从轮廓开始写新代码的能力。我几乎没有见过一场面试会要求应聘者阅读现有的代码,找出其中的问题,并修复它们。
我知道这一点,但我并没有想过要有其他的选择,因为正如人们所说,你不知道自己不知道什么。 当我改用 Linux 时,我发现安装应用的方式有些不同。...大量涌入的安全漏洞报告似乎是一件坏事,但这绝对是一个知道远比不知道好的案例。毕竟,没有人告诉你有问题,并不意味着没有问题。漏洞报告是好的。它们对每个人都有好处。...而且,当开发人员修复安全漏洞时,对你而言,及时获得这些修复程序很重要,最好不用自己记着动手修复。 包管理器正是为了实现这一点而设计的。...我承认我不会整天坐在这里琢磨软件库,但我确实记得我琢磨的日子,尽管我不知道这就是困扰我的原因。...我不必考虑我安装的软件,我需要更新的东西,也不必考虑完成后是否真的将其卸载了。我毫不犹豫地试用软件。
最近我收到一封读者来信让我陷入了思考,信是这么写的: Hi Philip,您是否介意我问您是如何成为一名卓越 (great) 的前端工程师的?对此您有什么建议吗?...我只确定自己比自己想象中还才疏学浅,而且大家面试我的时候都不知道从何问起 话虽这么说,我到现在做得还算不错,而且成为了团队中有价值的一员。...,他们往往答道:“我也不知道,可是我一删掉它们,页面就乱套了。”...JavaScript 也是一样,我总会在一个条件竞争的地方看到一个 setTimeout,或者有些人无意中阻止了事件传播,却不知道它会影响到页面中其它的事件处理。...我着实认为很多公司在招聘新员工的时候犯的最大错误是他们只评估应聘者从轮廓开始写新代码的能力。我几乎没有见过一场面试会要求应聘者阅读现有的代码,找出其中的问题,并修复它们。
此外,很多学生也反映,他们的照片在未经授权下被使用。扎克伯格为此公开道歉,并且在校报上公开表示‘这是不适当的举动’。” 我不知道人大的这位马某,是否是受到了扎克伯格的启发,才干了这么一件荒诞的事情。...你说这个毕业于人大的马某会不知道他所公布的消息是公民个人消息吗? 肯定是知道的嘛。但是他在赌:我只是搞着玩儿的,我只是想表达一下我的技术很牛逼,这个应该没事吧?...后来我发现,我每次想起这句话的场景,都是为了“开脱”一些事情,给某个“事情”找个借口。...前几年特别流行的“校园贷注销”诈骗,我也接到过,那些上来就直接报学校、专业、姓名的,说你有校园贷要注销的,说的那叫一个真。 你说为什么有人会上当?...那么对方的消息怎么来的呢? 我也不知道,反正就是有很多渠道。 第二点是我看到有人说“照片、姓名、学号、籍贯、生日”这些消息也没啥重要的吧,公布了就公布了吧。
漏洞影响以及如何处理等问题。...NNNN 的非公开或个人信息是否会受到影响? 如果是,请立即向 NNNN 提供详细信息。 什么时候完成修复?列出每个步骤,包括每个步骤的完成日期。 NNNN 需要采取什么行动来完成此修复?...而当出现严重安全漏洞时,负责 Excel 工作表的人员(非开发人员,也不知道这些依赖项如何使用,甚至不知道它们是什么)必须联系每个依赖项的所有者并向他们提出相同的问题。...他们这样做不是为了做有用的事情,只是为了告诉他们的客户“我们正在竭尽全力修复这个漏洞”。大多数情况下,这些甚至要被写进合同中。...他甚至不在乎公司是否被黑,也不在乎会不会被起诉,他只关心自己的工作,那就是做好准备,以防万一。 因此,有人庆幸道,这就是为什么开源许可证非常重要的原因。
我看到人们认为我做的很酷、我也很酷,即使他们不知道我是谁。就像突然在柏拉图式的速配约会中交朋友一样,重要的是有兴趣做点什么 - 兴趣点是什么不重要,只要有意义就行。...我有一个为 HTTPd 文档设计评论系统的想法,于是就(再次)礼貌地询问我是否可以做这件事。...有些我几乎不知道他们具体做的是什么,但这在 Apache 根本不重要。真正重要的是你愿意贡献,无论你的专业水平如何,无论你的专业特长是什么。...如果你能改正拼写错误,你就可以提供帮助。如果你能用编程语言写一些代码,你就可以提供帮助。如果你能写时事通讯,知道如何修复配置错误,帮助 IRC 上的人,你就可以提供帮助.........你也可以浏览https://projects.apache.org ,看看里面是否有你知道的 Apache 项目,或者发现你感兴趣的新项目,欢迎加入!
对Wagstaf而言,他觉得理解人工智能的目的是实现特定算法的关键。如果执行机器学习过程中在如何使用图像方面存在计算错误,那就意味着数据转移的任务成本价值数百万美元以上。...Wagstaff说:“当你看到一个电脑说‘这很有趣,让我看一看这张图片’时,你就会处于不确定的状态,因为你自己没有完整的看过这百万张照片,你不知道这些哪些是有趣的,或者为什么这是有趣的。”...解读能力是否意味着人工智能专家知道为什么Facebook数据的算法会向每个人展示一个特定的帖子,或者说,这是一种能让你了解自己的方式?...使用人工智能治疗推荐系统的医生是否需要知道为什么采用特定的建议治疗方案,或者说我们还需要在医院里创建另一个角色——人工智能监测人员?...Wallach称解读能力是一种潜在的构想:一种无法察觉的东西,但却被测试了真实的人们如何正确或错误地使用人工智能系统。这不仅仅是提升算法观察以及引擎运行的方式。
有人花了整整两天的时间改好了代码,但为什么我们回头去看的时候会觉得这些改动如此简单? 因为问题报告对如何再现的描述非常模糊。 我花了好几个小时才成功地重现了问题。...我知道报告错误非常困难,我非常感谢那些报告错误的人。我会尽可能利用已有信息,实在没办法再去请求报告错误的人提供更多信息,目的是为了表达对他们的感谢。...因此,我花费了很长时间来理解如何使用这个功能,以及这个bug与软件交互的具体过程。 因为我花了很长时间调查引发问题的真正原因,而不仅仅是流于表面。...掩盖错误很容易引发其他意料之外的副作用。我不想留到将来,再与它们打交道。 因为我调查了除了问题报告的步骤之外,是否还有其他方法可以再现这个问题。...比如代码的实际使用方式,可能其他地方存在有待解决的问题,或者存在代码不一致,导致某个代码路径中引发了错误,而其他路径则不会。 因为我花时间验证了代码的其他部分是否会受到类似问题的影响。
产品团队会发现此部分有助于衡量他们应该关注的程度,也有助于管理层确定行动项目的优先级。 错误率随时间变化的示例图 此图表显示,在30分钟内,边缘路由器的所有请求中的20%会返回500错误。...如果你的陈述或问题是指责性的或咄咄逼人的,那最好不要说了。有时候,如果看起来某人不知道某事,你可以在会议后顺便提一下。你可以说,“嘿,我注意到你调试时没有使用Y工具。你以前用过吗?...前面的部分描述了发生了什么,或者它们是如何发生的,但不是发生的原因。如果想预防未来的中断,那么就需要知道它们为什么会发生。...我们的目的不是说中断是某个人的错,而是要找出系统如何失败、为什么失败,以及将来如何防止这种情况。根本原因是分析得出的主要结果。 一个关于根本原因的例子。 所做的配置更改触发了边缘路由代码中的未知错误。...如果你的企业还年轻,并且不知道业务或存储的数据在6个月内是否还有用,那么如果尝试自建一个不依赖于第三方系统的解决方案可能会很危险。你会希望花更多的时间专注于业务逻辑,而不是来回地重建。
领取专属 10元无门槛券
手把手带您无忧上云