你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。 咖啡一杯接着一杯。...所有重新发现编程趣味的努力都徒劳无功,即使是最优秀的程序员也会遭遇无法解决的软件工程问题。碰到这样的问题,并不一定意味着你缺乏技能或知识。 ?...编程不是一项容易的工作,我们可以通过采取非正统的方法来保持你想要的生产力水平,并确保提交高质量的代码。 如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。...我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。 这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。 有成效不?...主要包括: 测试不同的解决方案,直到感觉重复 在线寻找开源解决方案 向更有经验的程序员询问 1 – 测试不同的解决方案,直到感觉重复 在你研究或询问其他开发人员(=浪费他们的时间)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案
所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话: “我写不出代码了!” 编程的本质是棘手 即使是最优秀的程序员也会遭遇无法解决的软件工程问题。...如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。我不是胡言乱语——我只是觉得“没有人能够百死不悔”。 没有愤怒和悲伤。因为我已经尝试过所有方向,只是都走不通而已。...我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。 这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。 有成效不?...)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。...2 在线查找开源代码 当你投入于工作,却没有什么成果的时候,那么下一步你可以尝试开源代码。许多编程人员构建软件,是出于创造解决方案并在线发布以供大家使用的乐趣。
你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。 咖啡一杯接着一杯。...所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话: “我写不出代码了!” ?...编程不是一项容易的工作,我们可以通过采取非正统的方法来保持你想要的生产力水平,并确保提交高质量的代码。 如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。...我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。 这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。 有成效不?...)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。
你已经对着电脑n个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。 咖啡一杯接着一杯。...所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话: “我写不出代码了!” ? 编程的本质是棘手 即使是最优秀的程序员也会遭遇无法解决的软件工程问题。...如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。我不是胡言乱语——我只是觉得“没有人能够百死不悔”。 没有愤怒和悲伤。因为我已经尝试过所有方向,只是都走不通而已。...我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。 这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。 有成效不?...)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。
你已经对着电脑 N 个小时了。不知道该写什么代码,或者一种摔键盘的冲动正在你的胸中酝酿。 咖啡一杯接着一杯。...所有重新发现编程趣味的努力都徒劳无功,因为你的最后一点能量都用来驱逐大脑中正在攻城略地的话: “我写不出代码了!” 1 编程的本质是棘手 即使是最优秀的程序员也会遭遇无法解决的软件工程问题。...如果我在一个问题上花了几个小时,却仍然找不到解决方案的话,最后我会觉得这是浪费了时间。我不是胡言乱语——我只是觉得“没有人能够百死不悔”。 没有愤怒和悲伤。因为我已经尝试过所有方向,只是都走不通而已。...我觉得自己应该换工作,去做做调酒师或其他,至少研究和测试在啤酒中加点什么不会耗去我数个小时的时间。 这些都是我在不敲代码时的想法。我开始怀疑生活,怀疑编码,怀疑人生。 有成效不?...(=浪费他们的时间)之前,你应该尝试使用你现有的知识和思维来制定每一个可能的解决方案。
值得庆幸的是,那些日子正慢慢成为过去。 7. “这条逻辑语句的逻辑性不是很强” if/else 循环、for 循环、while 循环、do 循环,这些都是逻辑语句,除了这些之外还有很多。...花上几个小时盯着代码看,查找函数名或变量作用域中的错误,最后却发现少了右括号,那种感觉很怪异。所有的时间都浪费在了一个很小的语法错误上,感觉自己真是个天才,也是个傻瓜。 12....这是一种更好的分配时间和资源的方式,特别是如果你已经花了 5 个小时还解决不了一个问题的时候。 14. “有没有能够激发我编程能力的古典音乐?”...在经过了几个小时毫无头绪的工作之后,很明显,你可能需要尝试一种新的方法。在设计接口之前,程序员希望先让功能正常运行起来。...“扔掉这个,我要从头开始” 有时候,在花了几个小时尝试某个解决方案之后,你会将工作文件移动到存档目录(或删除它们),然后从头开始。
03 几个解决偶遇bug案例 我曾创建过的最愚蠢的偶现 bug 是在用一个函数式编程语言里为类工程做多线程实现的时候。...系统可能运行了很长一段时间,经常结束在我开始任何一个任务的时候,在任何能被注意到的事情出错之前。我很遗憾地承认在我理解我的错误之前,我甚至开始怀疑硬件了。...在工作中我们最近有这样一个偶现的 bug 让我们花了几个星期才发现。...每一次跳转会产生明显的卡顿然后停止做任何有用的事情,直到几个小时后,我们的日志才让我们了解到底发生了什么。因为我们有四个线程,在一个线程内部发生这种情况并不是什么大问题,除非所有的四个线程都阻塞了。...当它发生时,我们花了几个星期去最终理解并且解决了这个问题。 偶遇bug经常是花费很多时间去解决不了,这时候你需要冷静的去分析你的程序,你的业务逻辑,技术实现等,逐步去排除可能,最后定位。
另一个好的网站是Hacker News,但网站时常偏离话题。 2.不要陷入僵局。请求帮忙 我最大的错误是在学习编程陷入僵局的时候用了太长时间。...卡在一个东西上面超过一个小时基本上就是在浪费时间了。 我推荐三件事情以避免僵局。第一是试着总是阅读更多关于你使用的技术,并总体掌握正在发生什么。...例如,当学习Docker时,我花费了大量的时间从头开始重新构建图像。我从根本上不明白docker缓存,并用20分钟时间来等待单个更改到Dockerfile通过。我可能花了8个小时就用在等待构建上。...但是,通过尝试实际做一件事情,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个古怪细节的确是有帮助的,但它只会让你越来越落伍。...5.与其他程序员交谈 学习编程的一个很好的方法就是和其他的程序员交谈。不必谈论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在工作的东西,皆可。
找到一种方法让自己沉浸在编程中很长一段时间(几个月?)。为了让它奏效,你需要不断推动自己去学习新的东西,并迅速抽身离开。这是编码训练营的一个优点。当你出来时,尽管你还不是专家,但你会学得更快。...卡在一个东西上面超过一个小时基本上就是在浪费时间了。 我推荐三件事情以避免僵局。第一是试着总是阅读更多关于你使用的技术,并总体掌握正在发生什么。...例如,当学习Docker时,我花费了大量的时间从头开始重新构建图像。我从根本上不明白docker缓存,并用20分钟时间来等待单个更改到Dockerfile通过。我可能花了8个小时就用在等待构建上。...但是,通过尝试实际做一件事情,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个古怪细节的确是有帮助的,但它只会让你越来越落伍。...5.与其他程序员交谈 学习编程的一个很好的方法就是和其他的程序员交谈。不必谈论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在工作的东西,皆可。
有时候我需要花费好几天时间才能完成这些工作,而原本我可以用这些时间做更多的事情和学习更多的东西,如果我能找到更好的解决方法的话。卡在一个东西上面超过一个小时基本上就是在浪费时间了。...例如,当学习Docker时,我花费了大量的时间从头开始重新构建图像。我从根本上不明白docker缓存,并用20分钟时间来等待单个更改到Dockerfile通过。我可能花了8个小时就用在等待构建上。...但是,通过尝试实际做一件事情,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个古怪细节的确是有帮助的,但它只会让你越来越落伍。...与其他程序员交谈 学习编程的一个很好的方法就是和其他的程序员交谈。不必谈论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在工作的东西,皆可。...尝试一切。如果搞不懂的话,那就等6个月。 最后,我要说的是,一直以来在我身上发生着这样的事,我尝试过很多东西,但我就是不理解。在用30分钟尝试新的东西后,我会停下来。我想这在起步时是很正常的。
找到一种方法让自己沉浸在编程中很长一段时间(几个月?)。 为了让它奏效,你需要不断推动自己去学习新的东西,并迅速抽身离开。这是编码训练营的一个优点。当你出来时,尽管你还不是专家,但你会学得更快。...有时候我需要花费好几天时间才能完成这些工作,而原本我可以用这些时间做更多的事情和学习更多的东西,如果我能找到更好的解决方法的话。卡在一个东西上面超过一个小时基本上就是在浪费时间了。...例如,当学习Docker时,我花费了大量的时间从头开始重新构建图像。我从根本上不明白docker缓存,并用20分钟时间来等待单个更改到Dockerfile通过。我可能花了8个小时就用在等待构建上。...但是,通过尝试实际做一件事情,你可以学到如何分解问题并应用技术。你面对的各种问题,以及你如何解决它们才真正是所谓的编程。知道编程语言的每一个古怪细节的确是有帮助的,但它只会让你越来越落伍。...与其他程序员交谈 学习编程的一个很好的方法就是和其他的程序员交谈。不必谈论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在工作的东西,皆可。
想象一下,你花了几个小时来处理一个数据流,却发现了一个细微的“被零除”(division by zero)错误, 这会让你的所作所为化为乌有。...错误处理是 Tuplex 中的一种自动操作。它将忽略有错误的那一个,并返回其他的。上面的代码将返回 [2,-4],因为不能执行列表中的第一个和第三个输入。 然而,有时候忽略错误是有问题的。...第一种是直接的解决方案;只需将字典传递到 Context 初始化即可。下面是一个将执行内存设置为一个更高的值的示例。...在 for 循环执行中,执行速度较慢是可以预料的。但是让我们尝试一下 Python 内置的 multiprocessing 模块。...尽管如此,Tuplex 敦促我在再写一个 for 循环之前三思而行。 结 语 Tuplex 是一个易于设置的 Python 包,可以节省你很多时间。
尽管事后我知道是哪里出了问题,但也找不到可循的通关路径:基于像素数据的激励预测器网络准确性的确很好,我花了很长时间仔细检查激励预测器,才发现注意到激励正则化错误。...当进展时间不到几个小时的时候,没有工作日志也无关紧要, 但是如果再长一点的话,你就很容易忘记你已经尝试过的东西,结果只能是在原地打转。...对于每一个复杂的过程,测量它的不同部分花了多长时间。如果你有一个训练循环,测量每一批运行所需的时间。如果你有一个复杂的推理过程,测量每个子推理所花费的时间。...(我忽略了每秒的帧中一个微小但莫名的衰变,从而导致几个月的多线程错误。) 如果能在一个地方看到所有的度量标准,调试就容易得多。我喜欢尽可能多得使用Tensorboard。...(甚至在2018年,我仍然在谷歌云计算引擎虚拟机上花费了好几个小时处理更新TensorFlow时CUDA的版本问题。) 每次运行都是自动存档的。
周一我就有个困惑,还写成文章了:如何从 Spark 的 DataFrame 中取出具体某一行,里面提了自己猜想的几种解决方案。...好消息是,组织一个班进教室,和组织一百个班同时进教室,花费的时间差不多。 因此,一般来讲,老师都是直接把所有学生全部叫进这间教室来的。 但是我面临一个棘手的情况。...我就不甘心,就一直尝试,反反复复,然后几小时过去了。 这时又有位看官讲话了:别修教室了,你把孩子们分成几批,一次叫几个班进教室不就得了!...一些截图: .conf 我认为我的尝试产生了效果,因为原有的错误不报了, collect 这个过程也能走完(孩子们都能进教室,之前是进不去的),但是一旦涉及到操作(collect 结束后会卡顿很久,无法返回应有的...要是用时15小时的代码不是1个月前的我写的,而是别人写的,那我把他调到 12 分钟,还显得我蛮厉害的? 开个玩笑,我希望大家写出的代码都是很棒的,这样咱们都可以节省出时间休息?
作者 | Chris Lukic 译者 | 王强 策划 | 万佳 过去几个月里,我一直在对付一个流行健身品牌的 API,最后发现自己陷入了一种卡夫卡式的噩梦。...这样的循环已经持续几个月,这就像一场梦,日复一日,迟迟没有苏醒的一刻。我要处理的任务很简单:获取数据,保存数据,完事。但面对这个 API,我被一堆脆弱的代码团团围住,追逐着那些我永远都抓不到的错误。...不是一分钟一次,也不是一小时或一天一次——是这辈子都只能请求那么一次。这实际上意味着任何单元测试都是不可重复的,想要重来一次?请手动注册新帐户并在里面人工填好数据。...最厉害的是当你正在尝试开发一个高度可扩展的应用程序的时候,你到底该怎么开始测试随便什么类型的负载呢?简单的答案是你可以在生产环境中进行测试,也可以根本不做任何测试。...在过去的几个月里,我花了很多时间试图想象这个 API 背后的团队究竟是什么样子的,以及他们到底有什么样的动机来开发这样一个 API。无论你是如何看待它的,他们的初衷肯定是防止别人使用这个 API。
,在自己的txt文件里面找到了之前给业务方开过的一些账号权限,花了两个小时给修复了,期间包括测试服务是否可用,同步是否及时等等。...这种感觉真的很不好,不知道在哪儿看到过一句话,“毁掉一个ITer最好的方式,就是让他忙到没有时间成长”,我现在感觉自己就在这种恶性循环当中,又想起一个哥们儿给我说过的话,“埋头给公司拉车的时候,要时不时抬头看看前方的路...01 大库搭建主从的一种方式 今天早上去公司,遇到了一个问题,就是报警信息中显示一个分布式的集群中的一些主从关系down掉了,也就是从库断开了,然后查看了一下原因,是因为业务方和另外一个同事在同时对主库进行数据导入...看到这个问题,我先尝试着修复了一下从库,因为是使用gtid搭建的主从复制,所以就尝试着使用set next gtid的方法修复了一下,具体方法可以在gtid那篇文章中看一下,文章在公众号底部有分类。...这样做的好处有下面几个: 第一:各个备份之间解耦合,不受其他环境的影响。 第二:可以通过机器之间的带宽导入主库上的原生文件到从库,能够保证数据的完全一致。
考虑到两个任务都成功完成而没有显示任何错误被抛出,这似乎有点不寻常。 在浏览了一堆性能数据的发生后,一个更清晰的图片浮现出来,即正在发生什么。...我的意思是,我们在这里立即忽略了这些错误。为了测试这个理论,我记录了 try/catch 块捕获的所有错误。结果每个抛出的错误都是一个 ENOENT 代码或一个 ENOTDIR 代码。...更令人惊喜的是,同样的改变也使得测试速度得到了类似的提升。 文件系统很昂贵 通过消除该函数的堆栈跟踪开销,我觉得还有更多的事情要做。你知道,抛出几个错误在几分钟内捕获的跟踪中根本不应该出现。...该系统有几个“可爱”的特性,比如可以省略正在加载的文件的扩展名。当你编写像 require("./foo") 这样的语句时,它会自动添加 .js 扩展名并尝试读取 ./foo.js 处的文件。...代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
for 循环,while 循环,函数,导入模块 第三天:简单编程问题(5 小时):交换两个变量值,将摄氏度转换为华氏温度,求数字中各位数之和,判断某数是否为素数,生成随机数,删除列表中的重复项等等 第四天...我有几个朋友,他们因为语言工具包和 IDE 安装的失败而逐渐失去了学习下去的欲望。...不妨尝试综合你学到的知识完成一个实际的项目: 第一天:熟悉一种 IDE(5 小时): IDE 是你在编写大型项目时的操作环境,所以你需要精通一个 IDE。...走自己的路,让别人去说吧! 如果你有一份全职工作,或者你是一名学生,完成这些流程可能需要更长的时间。作为一名全日制学生,我花了 8 个月的时间来完成这份清单。现在我是一名高级开发人员。...第二天:作品集网站(6 小时):写几个博客,将它们添加到你之前开发的作品集网站中。
几个月前,我跟一个大型零售和电子商务企业的CEO交谈,他向我解释他们是如何利用大数据来接触他们的客户,找到他们,即使他们走在一个商场里面。...事实上是,他们花了很多钱在大数据分析和昂贵的数据挖掘上,但他们没有什么可利用它。我尝试了他们的网站,真是可怕,没有客户服务是。我不认为他们的CEO会从他们自己的网站上买他们自己做的饭。...在我看来,这些都是徒劳,除非人聪明地分析大数据,找到掘金。这些人很难找到。优秀的人都已经在自己的企业赚大钱了。 大数据就像一个大垃圾场。你必须知道哪些能变废为宝。...公司正在从许多不同的来源,例如从销售点收集他们的产品,他们的客户,以及客户的购买习惯数据,这些数据还可能来自网上调查,供应商和社会化媒体。只要你能说得出来名字,他们就能搞得到数据。...当我在很多年前在商学院读书的时候,我遇到了一个信奉“少即是多”的教授。收集的数据虽然较少,但收集相关度很高。跟你的客户好好面对面谈一谈。看看谁离开你,并试图找出为什么客户离开你。
在本文中,我们将介绍几个您之前可能不知道的 Python 秘密功能。 以下是我们必须知道的一些隐藏的Python功能- Pandas_ml Pandas是最著名的Python机器学习库之一。...列出 Python 中的推导 列表理解是Python最强大的技术之一。它有助于通过使用简洁的语法从一个列表派生另一个列表。当您想要过滤列表中的项目或对其应用函数时,列表推导式会派上用场。...Python Debugger 我们陷入了一些错误,并花了很长时间试图修复它们。此外,我们的所有努力都将是徒劳的。解决方案是未知的,但我们的努力都是徒劳的。...导入数据科学库 我们经常花费大量时间导入常见的库,如seaborn或pandas。手动导入它们可能非常耗时。 因此,有一个 pyforest 库形式的解决方案可以帮助您克服这一挑战。...这个模块是一个好处,也是Python的隐藏功能之一。直接操作比单独导入更方便。 负索引 负索引是Python的隐藏功能之一。我们都知道索引在所有编程语言的数组中使用。然后使用这些索引来访问数组的项。
领取专属 10元无门槛券
手把手带您无忧上云