首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你真的会 C 语言吗

下面一个函数 sum_elements( ),它作用是对给定数组中所有元素求和并返回其值,按照代码中给定值去执行,你认为会得到什么结果呢?...length = 0 ,想要得到结果 0.000000,但是运行时你会发现该程序会报出内存访问异常错误。...你知道是什么原因出现这个错误吗?这就是检验你功底是否扎实时候了,先仔细看看代码,好好想一想再继续往下看。 ... ... 怎么样,知道是什么原因导致这段代码出现了我们预料之外错误了吗?...(2^32 - 1)而不是我们想要 -1,循环 i 初值被赋为 0 ,一直小于这个数,所以循环会不断地进行,代码试图访问数组 a 非法元素,导致内存访问异常。...现在这个 bug 原因已经找到了,如何修改这个 bug 使得该程序能够顺利执行呢?想法小伙伴可以在文章下方留言区告诉我想法哦。

99420

英伟达美女工程师:AI从业者要不要读博?要不要自己创业?

在GitHub上发布你代码,并投入你时间把GitHub页面运营好。已经不止一家公司向我提供了工作,因为他们对印象深刻。 不要为你 GPA 而抓狂。...当我看到我博士朋友每天醒来都在谈论/思考人工智能,这种想法变得更加强烈。 但我没有他们那种激情。想要不同东西。多不同?还没有搞清楚。 找工作出卖自己还是追随自己激情?...事实证明,当你一名留学生,追求激情在美国基本上不可能。为了留在美国,必须要有一份与研究领域相关工作。 可以去另一个国家生活,在南美海滩上写作想法非常浪漫。...当我带着这个疑惑找到教授时,他很困惑:“为什么你必须在工程和写作之间做出选择?为什么不两者都干呢?” 许多人在技术领域取得了成就,但也是多产作家。...当我去咨询别人时候,很多人都告诉我,去做让自己开心事情。 虽然很欣赏这种态度,但这个建议经常让更加困惑。“开心”是什么意思?该如何衡量它? “开心”也是相对

82230
您找到你想要的搜索结果了吗?
是的
没有找到

干货 | 从资深软件工程师学到避坑大法

每次代码审查都问自己:「他们为什么这样做?「。每当我找不到合适答案就会去和他们谈谈。 在第一个月后,开始在同事代码中找到错误(就像他们对代码一样)。...认为测试一种文档,代码假设文档。测试会告诉我(或之前的人)他们预想代码如何工作,以及他们预期哪里会出错。 所以,当写测试,我会记住: 记录如何使用测试用到类/函数/系统。...仅仅编写这些测试并不能提高代码质量,而编写代码却可以。但是从阅读测试代码获得了写更好代码直觉。 但是,并不只有这一种测试,这就是为什么部署环境测试原因。...如果不知道 bug 在哪就不能修改错误。其中一种最糟糕感觉从客户那里知道 bug。 「做了什么?!甚至不知道系统出了什么问题?」...即使吧组件测试到位,也还不足以了解出错情况。这些错误通常是由客户来告诉我——这看起来不太对劲。 总结 在过去一年里,学到了很多东西。当我对这篇文章进行回顾能够更好地体会到我成长。

55620

什么网站404,为啥404?

但是,它历史来源却充满了神秘和诱人探索。21世纪初,甚至一群人试图研究404错误来源。 只知道404网页错误,但我不知道它来自哪里。...在中国,404错误更多延伸意义,可能网页不存在,也可能内容非法,或者内容创作者主动删除。 事实上,我们想说,虽然人类创造了网络技术,他也受到了我们控制,但是它并不完全可靠。...事实上,在因特网诞生后不久,错误网址访问也随之而来。当我们享受因特网所带来知识、方便,自然也要忍受404错误所带来痛苦,或者说‘一切都是两面的’。...对于这一点,Cailliau表示:当你为新系统编写代码,不要浪费太多时间来检测错误地址访问要求。否则,服务器要记住太多信息,会浪费太多资源,现代极客根本不知道用64K内存编程是什么感觉!...另外,完全没想到‘404错误来源就是这个想法,也许每个人都更喜欢一些非理性、神秘故事吧,当然这在人类中很常见,当人影响力小,信息传播缓慢,这些非理性特质无罪

2.2K10

如何在Linux上获得错误核心转储

步骤1:运行 valgrind 发现找出为什么程序出现段错误最简单方式使用 valgrind:运行 1. valgrind -v your-program 这给了我一个故障堆栈调用序列...但我想也希望做一个更深入调查,并找出些 valgrind 没告诉我信息! 所以我想获得一个核心转储并探索它。...如何获得一个核心转储 核心转储(core dump)程序内存一个副本,并且当您试图调试您问题程序哪里出错时候它非常有用。...当您程序出现段错误,Linux 内核有时会把一个核心转储写到磁盘。 当我最初试图获得一个核心转储很长一段时间非常沮丧,因为 – Linux 没有生成核心转储!核心转储在哪里?...这个博客听起来很多,当我做这些时候很困惑,但说真的,从一个段错误程序中获得一个堆栈调用序列不需要那么多步骤: ☉ 试试用 valgrind 如果那没用,或者你想要拿到一个核心转储来调查: ☉ 确保二进制文件编译带有调试符号信息

4K20

盘点六个阅读React源码后get到基础知识

而阅读源码终极目的还是应用,在这个想法下,盘点了一些可以快速在工程中应用( 或许冷门 )知识,希望读者可以get到 2 盘点 2.1 多层循环中跳出最外层 曾在部分场景中,遇到多层循环需要一次性跳出场景...,虽然已经找不到原场景了,但是还好并不妨碍我们给出一个demo。...continue baseWhile; } } } console.log("test", baseCount); } test(); 2.2 void 0 在阅读React编译后代码...为什么呢,当时就懵了,虽然知道使用void 0===undefined,但是不曾使用过void这个关键字。 所以,进行了一定探索。最终发现了一个惊人事件。...而Object对象索引特点,会默认调用key.toString()作为索引。以1作为key举例子,那么当我们再次获取key时候,就成了string类型'1'。

56220

什么人们担心云中个人数据?

当我订购,网站都会发出一条消息,表明可能或者通常会在这个日期订购蛋糕。而蛋糕网站保存了这些数据以供将来使用。这是一条对于蛋糕店有用信息,并可以在那个日期发送给我产品报价。”...他指出,云计算应用让人们在工作和生活中变得更容易,但这可能牺牲一些隐私而获得便利。云计算托管应用程序易用性和熟悉性前所未有的。...和朋友探讨了这个问题,他们表示关于云计算的话题仍然存在争议。但是,如果企业或服务提供商试图通过那些可预测元素来衡量,并提供一些下意识地选择东西。 当我寻找更多信息往往参与数字空间。...当我相信数据中心已经采取措施保护数据不受到任何破坏,云计算为数据提供了便利。社交媒体通过图片和文本分享另一种媒介。...他说,“从门户网站购买了一张桌子,而Facebook现在却向我展示有关不同品牌椅子广告,但我已经一把椅子,因此对需求预测显然错误。据我所知,人们每天都会接触到大量不必要信息。

55630

程序员获得高薪哪些谈判技巧

程序员获得高薪哪些谈判技巧 问题 在工作几年后失业了,并不担心找不到工作,因为目前工程师市场处于旺季,不过已经好久没面试了,无法确保谈判技巧如今是否还能奏效。...如果你手里正好几个offer,只要合理就请告诉我。如果你没有,通常可以这样说:“正在面试其它几家公司,但我对谷歌最感兴趣。觉得薪水可以是X,你认为可以么?”...如今,在第一次面试时候就开始谈薪资了。 软件开发者不要太关心钱,只要保证招聘方能够公平对待就好。如果面试了一堆虚高报价面试者,或者为了获得职位而降低报价都觉得不合适。...Daniel Petrikin: 避免过早谈钱问题。过高会吓跑客户,或者你最初报价远低于他们想法; 展现你为公司带来价值。...总之,职场谈判和市场讨价还价买水果完全不同,因为你要建立一个长期合作关系。 匿名用户: 最好策略就是你失业。 当你好几个offer,你会很浮躁,给出不切实际报价

51180

给计算机科学毕业生22条职业建议

学术环境提供持续反馈——如果你稍微偏离了轨道,肯定有人会让你知道,甚至引导你回来。在现实生活中,害怕自己会做出一系列错误决定,但没有人会告诉我,直到为时已晚。...一个错误工作选择可能会让失去几年时间,以及许多更好选择能带来机会。 当我在网上查找应届毕业生职业建议发现大多数文章都是关于如何找到工作。...当我和我博士朋友们见面,看到他们在醒着每个时刻都在谈论/思考AI这种想法更加强烈了——没有他们那样热情。想要不同东西。怎么不同?还在想办法弄清楚。 随波逐流还是听从内心?...然而事实证明,当你一名国际学生,追求自己激情在美国是不合法。要留在美国,必须找到一份与我专业相关工作。当然,可以去另一个国家生活。在南美洲海滩上生活和写作想法相当浪漫。...他们都给了我令人信服论据。当然,每个公司优缺点各不相同。 但我与别人谈论这个问题,许多人告诉我要选择让自己快乐事情。虽然很欣赏这种观点,但这个建议经常让更加困惑。“快乐”到底是什么呢?

40130

从谷歌辞职后,作为独立开发者第三年,从年入 3 万做到了年入 40 万

失败项目 在过去一年中,学到最重要经验之一就是,追求正确想法意味着拒绝错误想法。6~8 周后,如果一项业务无法带来有意义收入,就会转向其他客户,或者转向一个全新项目。...每名访客带来少于 0.01 美元收入,因此需要大量增加访客和 / 或收入。 试图把文章写作自动化,以获得更大发展。...初看起来,TinyPilot 就是产品与市场契合,一发表博文就知道了。 对于 TinyPilot,感觉产品推动了业务,而我则顺其自然。几个月,在管理业务犯了严重错误,但是它一直在发展。...当我对产品进行改进,效果立竿见影,而且实质性。11 月,发布了一款高端型号新 TinyPilot。第 1 个月就卖出了 55 台,创造了 1.4 万美元额外收入。...在两年左右时间里,脑海里开始浮现出这样一种想法:那就是这件事阻碍了前进。别的创始人都在创建承诺持续可用服务,而我为什么要以更少投入获得成功呢?

55430

代码调试最佳实践

在Twitter上发了一条推文说,从来没有见过任何好调试代码指南。像往常一样,得到了很多有帮助回答,现在对如何教授代码调试技巧/描述调试过程了些想法。...每当我程序问题并且报告这样错误信息“Error:无法连接到某个IP端口443:连接超时”都想说:“谢谢,这就是想知道事情”。...找出崩溃原因很容易,但是更好错误处理方式(返回错误而不是崩溃)可以节省一点间,因为不必去检查崩溃原因,只需阅读错误信息,知道发生了什么就可以了。...如果你知道其它语言中如何处理程序错误方法,请告诉我,我会很感兴趣! 了解错误消息含义 经常理所当然地认为代码调试一个子技巧:正确理解错误消息含义!...所以这个问题绝对不仅仅是初学者需要面临问题。 结语 当我在谈到代码调试技巧总感觉遗漏了一件重要事情,那就是对人们在代码调试中哪里会遇到困难一种更深入理解。

93610

代码调试最佳指南

像往常一样,得到了很多有帮助回答,现在对如何教授代码调试技巧/描述调试过程了些想法。 ?...下面一些例子: 此变量设置为X(“该文件名绝对正确”); 该变量值不可能在X和Y之间变化; 这段代码以前没有问题; 此函数执行X; 正在编辑正确文件; 那一行代码不可能有任何拼写错误,只是一行代码而已...每当我程序问题并且报告这样错误信息“Error:无法连接到某个IP端口443:连接超时”都想说:“谢谢,这就是想知道事情”。...找出崩溃原因很容易,但是更好错误处理方式(返回错误而不是崩溃)可以节省一点间,因为不必去检查崩溃原因,只需阅读错误信息,知道发生了什么就可以了。 ?...如果你知道其它语言中如何处理程序错误方法,请告诉我,我会很感兴趣! ? 了解错误消息含义 经常理所当然地认为代码调试一个子技巧:正确理解错误消息含义!

1.1K40

获取编程新技能5个技巧

啊,还有要向合适的人征求意见。聪明的人通常都很乐于教导和帮助别人。“告诉我朋友,同时心中想,什么不关于这方面的内容写一篇博客文章呢。——于是了本文。...什么想法,就去实现它!如果没想法,那么下面一些帮助你找到项目的小提示。 说实话,当我想学习新内容时候,常常也找不到合适项目。做法咨询其他人看法,直到遇到一个让兴奋好点子。...最后,如果你找不到项目,那么不妨想想有什么只能用你正在学习这种框架或工具构建东西,然后开工。 3.开始启动项目 万事开头难。不要想着得过且过。从现在就开始,将时间尽可能多地投入到学习中来。...最近在和Hector Ramos(一个花了大量时间帮助大家解决Parse问题的人)交流,他提到了当别人询问他,他喜欢两类比较简单明了问题。...想用Parse来实现this,以及this部分文档,但是它不工作(肯定是哪里犯了错误)。你能帮我看看吗?这是代码片段。 可以用Parse执行x吗? 问题要问得简单明了,要便于对方答案。

52680

如何从头开始构建数据科学项目

许多关于数据科学和机器学习在线课程将指导您完成理论,并为您提供一些代码示例和对非常干净数据分析。 然而,为了开始实践数据科学,最好挑战现实生活中问题。深入研究数据以便发现更深层次见解。...这可能数据科学项目的另一个好想法来源。在那些人们仍在抱怨情况下,这可能意味着问题在第一间没有得到妥善解决。因此,如果您用数据挑战它,您可以提供更好解决方案,并对如何理解这个主题产生影响。...在谷歌上搜索了几家出租公寓网站,问了几个人,但找不到任何可信统计数据或当前市场价格数据可视化。这就是提出这个分析想法原因。...另外,通过机器学习,可以识别租金驱动因素,并运用不同机器学习算法进行训练。 从web中提取数据并进行清理 获得数据 现在您已经对您数据科学项目了一个想法,您可以开始寻找数据了。...当我在柏林搜索租房价格信息发现了很多可视化东西,但是它们都是旧,或者没有具体年份。 对于一些统计数据,他们甚至一条告示说,这个价格只适用于一套50平方米两室公寓,没有家具。

79120

程序员获取新编程技能5个技巧学习

啊,还有要向合适的人征求意见。聪明的人通常都很乐于教导和帮助别人。“告诉我朋友,同时心中想,什么不关于这方面的内容写一篇博客文章呢。——于是了本文。...2.找一个值得构建项目 你挑选项目必须你热爱,能够真正投入到学习中去什么想法,就去实现它!如果没想法,那么下面一些帮助你找到项目的小提示。...说实话,当我想学习新内容时候,常常也找不到合适项目。做法咨询其他人看法,直到遇到一个让兴奋好点子。...最后,如果你找不到项目,那么不妨想想有什么只能用你正在学习这种框架或工具构建东西,然后开工。 3.开始启动项目 万事开头难。不要想着得过且过。从现在就开始,将时间尽可能多地投入到学习中来。...想用Parse来实现this,以及this部分文档,但是它不工作(肯定是哪里犯了错误)。你能帮我看看吗?这是代码片段。 可以用Parse执行x吗? 问题要问得简单明了,要便于对方答案。

837100

ES6 循环和可迭代对象

for ... of 循环 ES6 试图不用第三方库去解决其中一些问题方式。...另外,生成器函数又是什么鬼? 下面逐个解决这些疑问。 内置 Iterable 首先,javascript 对象中一些内置对象天然可以迭代,比如最容易想到就是数组对象。...^ TypeError: Result of the Symbol.iterator method is not an object 这是 javascript 告诉我们它在试图调用 Symbol.iterator...为了消除这个错误,需要用迭代器方法来返回实现了迭代器协议对象。这意味着迭代器方法需要返回一个 next 键对象,而 next 键一个函数。...如果 done 为 false 或不存在,则需要 value 键。value 键通过循环此应该返回值。 所以在代码中放入另一个程序,它带有一个简单迭代器,该迭代器返回前十个偶数。

1.9K20

这是给你职业建议(亮点在最后)

而进入社会后,很害怕我会做出一系列错误决定,而不会有人告诉我它们,直到最后追悔莫及。选择一个错误工作可能会荒废几年时间,还会让错失很多有可能更好机会和选择。...当我遇到那些博士朋友,并看到他们在每个清醒时刻都在谈论/思考人工智能想法得到了强化——以前从未有过他们那样激情。希望能有一些不同东西。究竟如何不同?仍在探求。 ?...当我带着这样困境见我教授时,他很困惑:「为什么你要在工程和写作之间做出选择?为什么不都选?」很多人既是成就卓越研究者,也是多产作家。...朋友创业公司中相当一部分已经失败了,即使他们都非常聪明、很好想法,也得到了著名投资者支持。每当我感觉糟糕都会给这些创业朋友打电话,看到他们艰难地挣扎,我会很高兴不是他们。...当我与人们讨论这些问题,很多人会说「你开心就好」。虽然很欣赏这种态度,但这样建议却让更迷茫了。「开心」究竟是什么意思嘛?如何衡量它?「开心」也是相对

46320

这是给你职业建议(亮点在最后)

学术环境会提供持续性反馈——你偏离了轨道一点点,没关系,肯定会有人让你知道这一点,甚至会引导你走回正轨。而进入社会后,很害怕我会做出一系列错误决定,而不会有人告诉我它们,直到最后追悔莫及。...选择一个错误工作可能会荒废几年时间,还会让错失很多有可能更好机会和选择。 当我在网上查阅近期研究生就业建议看到大部分文章都在谈如何找到工作。...当我遇到那些博士朋友,并看到他们在每个清醒时刻都在谈论/思考人工智能想法得到了强化——以前从未有过他们那样激情。希望能有一些不同东西。究竟如何不同?仍在探求。...当我带着这样困境见我教授时,他很困惑:”为什么你要在工程和写作之间做出选择?为什么不都选?“很多人既是成就卓越研究者,也是多产作家。...朋友创业公司中相当一部分已经失败了,即使他们都非常聪明、很好想法,也得到了著名投资者支持。每当我感觉糟糕都会给这些创业朋友打电话,看到他们艰难地挣扎,我会很高兴不是他们。

37060

所有程序员都应该遵守11条规则

今天早上应该去健身房吗? 规则告诉我要在周三前往健身房,今天周三,因此要去健身房,就这么办了!...这周,当我正在思考那些对施加有影响规则想到了去制定一系列软件开发者都应该遵守规则,认为这可能一个好主意。...一种经常出现情况当我们写出一段“聪明”代码,这段代码并不是特别的“清晰”。 这条规则非常重要,尤其当我们思考我们要做一些特别“聪明”事情。...写代码很多乐趣,希望能写更多代码这几天经常忙于写代码试图让它占据我更多时间,这也是什么如此清晰地记得它有多么有趣。...当我代码我会遵循很多”最佳实践“,但有时也会背离它们。 原则是永恒,最佳实践变通. 11、力求精简 所有问题都可以进行分解. 最佳解决方案往往最简单.

72980

哥德尔奖得主 Daniel Spielman:实现「躺平」办公,失败乃家常便饭

通常这种情况下妻子会告诉我:“去睡觉吧,明早你就会发现bug了。”她知道,几乎每次以为自己解决了什么问题时候,其实根本就没解决。但当人自觉已经解决了一些问题,就会有一种内啡肽激增感觉。...了将概率可检测证明与扩展图联系起来想法,结果证明这实际上没什么用——但我意识到概率可检测证明对编写纠错码很有用。我们本来想要研究问题没能解决,却意外在其他地方做出了成果。...我们注意到,当我们不注意数值精确性,突然之间,那些本应该破坏单纯形法东西并没有造成破坏。这就是我们想法,如果输入中有一点随机性,这个方法会很好。我们能够证明这一点。...这个想法颇具影响力,因为其能够让人们理解为什么这个算法有效,人们也通过这个想法和概念去发散理解为什么许多其他算法有效。 QuantaMagazine:您认为自己和滕尚华合作为何如此成功?...在麻省理工学院办公室里两个沙发。这意味着和尚华都可以躺着工作,一整天都躺着思考问题,想法时候就站起来讨论。他很乐意花很多时间思考和谈论问题。

16520
领券