经常在写代码的时候,会写很多代码,但是有时候只要是使用妥当,一行代码就可以代替,也就是很简单的一行代码就能实现。...3.枚举 枚举是一种用于同时获取可迭代对象中的元素和索引的函数。枚举可以避免使用额外的变量来记录索引,提高了代码的可读性和效率。...print(index, x) # 输出: # 0 a # 1 b # 2 c # 3 d # 4 e 使用枚举更加清晰,更加简洁 4.三元运算符 三元运算符是一种用于根据一个条件表达式来选择两个不同的值的简洁的语法...如果用装饰器呢 # 使用装饰器 import time def timer(func): def wrapper(*args, **kwargs): start = time.time...比如在测试中,之前我还自己简单写了一个巡检系统,不用定时器,自己用装饰器实现一个定时器,很简单的一两行代码不用依赖,只要有python环境随时可以执行了。当然了,还可以有很多用途。
为何 EOS 让你频频“丢钱”?BM告诉你,是你的代码“太笨”。 先说说交易验证,你不了解交易验证,但黑客了解。 因为在支付领域,这很重要。...在区块链领域,无论做 DApp,还是接入数字货币支付,交易验证都是重要部分。 交易验证,说起来也简单:就是如何确认一笔金额已经到账。...但是因为一般来说,失败的交易都不会提交到链上,所以,一些不谨慎的交易所、DApp 甚至没有验证这个参数。 这才有了最近的 hard_fail 状态攻击。...而且,如果是通过公共 API 或 API 服务商提供的数据进行交易验证,需要使用不同服务提供商的 API 至少进行二次确认,以防止 API 信息出错导致问题。...最常见的就是不可逆区块高度的缺失,还有一些直接查询 actions 的接口有交易状态参数缺失。 不过处理起来都很简单。
我是锋小刀! 在上一期视频中,我们讲解了excel如何按指定名称快速创建工作表,没有看的可以看一下:excel按指定名称快速创建工作表。...而python其实也是可以做到的,而且很简单,只需要几行代码即可。而python代码是可以重复利用,能节省很多时间,做到解放双手,拒绝做重复的事情。...今天就教大家如何利用python操作excel进行按指定名称快速创建工作表。...xlwt库是python的第三方库,需要安装,安装命令: pip install xlwt 实战代码 这里我创建了一个名为"名称"的文件,里面一共有996条数据。 ? 先导入xlwt库。...批量操作文件,解放双手,拒绝做重复的事情,让一些重复的事情不再重复! THE END
git使用之如果本地一套代码推送多个平台分支并且多个平台分支的账户不同如何配置登录账户问题问题背景接上一篇内容接下来会有个新问题,以github,gitee,gitcode三大平台为例子,本地代码推送多个平台...,但是全局账户配置只能有一个,git config —global user.name 这个只能有一个那么我们应该如何配置三个账户呢。
02 前言 好多小伙伴私信问我,说自己想做开源产品,想把自己的项目放到npm上,让别人去下载。 但不知道该如何去操作,首先还是非常地赞扬大家的开源精神的,帮助他人也等于帮助自己。...其实要把自己的前端项目放到npm也不难,下面就介绍一下怎么把项目放到npm上让大家下载去使用。...这里不多介绍概念性的东西了,总之就是一个组织,上面有好多别人写好的代码供我们使用,当然,我们也可以把自己的代码放上去供别人使用。...如果对这还不了解,建议您先去网上查一下资料再来阅读下面的内容哦~~~ 03 准备工作 如果我们想要把自己的代码放在npm,供别人下载使用,首先得先有源码呀 在开发 vue-admin-work的时候...,在登录页面中有一个滑动验证组件,为了方便后期的项目使用,我就把它抽取成一个项目,开发完之后就放到了npm上了。
这本书中阐述的一些代码调试应该遵循的规则似乎很有道理,比如说“了解系统”,“让它失败”,“别想了,先看看”,“分而治之”,“一次只改变一件事情”,“保持审查详细记录”,“从一个新的角度看问题”,和“如果你没有修复它...重现你的bug(但是要怎么做?) 接下来在这篇文章里,我将尝试整理大家针对我的关于代码调试的推文发来的各种不同的观点和看法。...做实验来验证这个猜测。 重复循环,直到你明白发生了根源所在。 一次只改变一件事情——所有人都肯定地同意,在做实验来验证一个假设时,一次只改变一件事情是很重要的。 ?...Peep是一个“Network Auralizer”,可以将系统上发生的事情转换成声音。我花了10分钟试图让它编译,但迄今为止失败了,但它看起来很有趣,我想继续尝试它!!...如果你知道其它语言中如何处理程序错误的方法,请告诉我,我会很感兴趣! ? 了解错误消息的含义 我经常理所当然地认为代码调试的一个子技巧是:正确理解错误消息的含义!
以下为译文: 昨天我和一些朋友一起调试代码,他们做程序员这一行都不太久,我向他们展示了一些代码调试技巧。 今天早上我在想,我应该如何教授他们学习代码调试?...这本书中阐述的一些代码调试应该遵循的规则似乎很有道理,比如说“了解系统”,“让它失败”,“别想了,先看看”,“分而治之”,“一次只改变一件事情”,“保持审查详细记录”,“从一个新的角度看问题”,和“如果你没有修复它...重现你的bug(但是要怎么做?) 接下来在这篇文章里,我将尝试整理大家针对我的关于代码调试的推文发来的各种不同的观点和看法。...Peep是一个“Network Auralizer”,可以将系统上发生的事情转换成声音。我花了10分钟试图让它编译,但迄今为止失败了,但它看起来很有趣,我想继续尝试它!!...如果你知道其它语言中如何处理程序错误的方法,请告诉我,我会很感兴趣! 了解错误消息的含义 我经常理所当然地认为代码调试的一个子技巧是:正确理解错误消息的含义!
如果您选择自己的惯例而不是选择现有的范例,那么这个困难就会被放大。不要这样做。你会冒着把大量时间花在考虑不重要的事情和忽略重要的事情上的风险。...在我们深入探讨可用的选择之前,您如何知道选择哪种API设计范式?做这个决定可能很棘手。为了让事情变得简单一点,菲尔·斯特金有一些很好的建议,我将在这里重述。...这些是我经常使用的问题。 5. 想想以前那些使用返回错误状态码的API 我发现查看HTTP状态代码对了解在资源上操作时会发生什么很有用。无法找到资源吗?...您可以为诸如“我如何告诉我的调用者如何缓存”或“我如何告诉我的调用者他们犯了错误?”或者你可以屈服于老板的压力,“把事情做好”。但是如果你真的想要一个好的设计,看看RESTul web服务。...如果这个范例符合您的需求,那么就让它来引导您的思维,让它为您的API提供健康的特性。解放你的思想,专注于真正重要的事情。RESTful web服务让您关注如何使您的API可用且简单。
最简单的事情——只要google一下 我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。 所以,我必须使用google搜索。我每天都这样做。...以及合并后的某个时间也是如此; 付钱让其他人来审核你的代码。此手段可以产生巨大的积极影响!因为如果是陌生的开发人员来查看你的代码,他们更容易发现不一致和糟糕的设计决策。...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...实际上,有一些工具可以使得查找和解决现有问题更加容易。 Sentry。当你的任何用户发生错误时——你将收到通知。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。
最简单的事情——只要google一下 我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。 所以,我必须使用google搜索。我每天都这样做。...以及合并后的某个时间也是如此; 付钱让其他人来审核你的代码。此手段可以产生巨大的积极影响!因为如果是陌生的开发人员来查看你的代码,他们更容易发现不一致和糟糕的设计决策。 不仅适用于我 ?...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...实际上,有一些工具可以使得查找和解决现有问题更加容易。 Sentry。当你的任何用户发生错误时——你将收到通知。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。
我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。 ? 最简单的事情——只要google一下 我记不了很多东西。...以及合并后的某个时间也是如此; 付钱让其他人来审核你的代码。此手段可以产生巨大的积极影响!因为如果是陌生的开发人员来查看你的代码,他们更容易发现不一致和糟糕的设计决策。 不仅适用于我 ?...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...实际上,有一些工具可以使得查找和解决现有问题更加容易。 Sentry。当你的任何用户发生错误时——你将收到通知。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。
我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。 最简单的事情——只要google一下 我记不了很多东西。...即使是项目最简单的部分,我也可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误(我向来最为喜欢的!)...以及合并后的某个时间也是如此; 付钱让其他人来审核你的代码。此手段可以产生巨大的积极影响!因为如果是陌生的开发人员来查看你的代码,他们更容易发现不一致和糟糕的设计决策。 不仅适用于我 ?...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...实际上,有一些工具可以使得查找和解决现有问题更加容易。 Sentry。当你的任何用户发生错误时——你将收到通知。
但是,每当我编写任何代码时——我都不自信。即使是项目最简单的部分,我也可以把事情搞得一塌糊涂。搞糟的原因包括: 语言错误 逻辑错误 设计错误 样式错误 安全错误 WTF错误(我向来最为喜欢的!)...以及合并后的某个时间也是如此; 付钱让其他人来审核你的代码。此手段可以产生巨大的积极影响!因为如果是陌生的开发人员来查看你的代码,他们更容易发现不一致和糟糕的设计决策。 04 不仅适用于我 ?...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 ? 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...实际上,有一些工具可以使得查找和解决现有问题更加容易。 Sentry。当你的任何用户发生错误时——你将收到通知。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。
我实际上发现类对于组合非常有效。对于如何做不同的事情,我真的没有任何好的、清晰的想法。我会以不同方式做的一些事情有点奇怪。在 C 中有宏,这几乎是一场灾难,因为宏不是语言的一部分;他们有点不在乎。...Grigory:25 年前,当我开始自己的软件开发职业生涯时,我编写了大量 C 和 C++ 代码。我记得这些每月发生一次的神秘指针错误。调试这样的错误很痛苦。...我一生中的大部分时间都是作为一名软件工程师度过的,对我来说,最不令人满意的消磨时间的方式就是寻找在奇怪的时间发生的晦涩的错误。我能做的任何事情都可以让错误在它们浪费我的时间之前消失,这是一件好事。...所以,我非常喜欢 IDE 可以做的任何事情来降低出现错误的可能性。...我认为我们正在引领它,无论黄金时代是什么。我认为可能会发生很多有趣的改进。目前,我们面临着各种围绕安全以及人们如何进行网络恐怖主义的危机。当这种事情发生时正在发生,我不认为这是黄金时代。
它教会了我一些重要的习惯:经常跟进,而且如果你负责一项任务,那么推进这项任务就是你的责任。不要在其位不谋其政,而是要真正把事情做好:不管是授权做还是自己做。 这也强化了一个原始习惯:珍惜惊讶。...这些都是假阳性,它们给了你一种错误的自信感。我如何修补这些呢?好吧,我首先要在代码评审时额外认真。其次,测试这个问题的肯定触发的方法是让你的测试失败。我将等于换成了不等于。...有时候,你可以通过一些绝妙的方法来降低复杂性,或者让事情变得更快。但是,基础设施不会变化。 其次,每个人都有一些快乐的主题可以回顾,他们已经在过去看到了很好的效果。这些都是观察系统的不同视角。...这里链接有一些我经常问的一些问题。 最后一节将深入讨论一些问题,一些我曾经做错的事情,以及对所有做对的事情的总结。 一些对我来说很好用的小诀窍 尽可能多地做代码审查。...代码审核就是编辑阶段,而且对我的代码进行代码审核也会让我更好地编写代码,发现不一致的地方,并知道其他人是如何进行代码审核的。 超能力 就像在电子游戏中,你可以获得一些力量。
可用率的周期是怎么计算的?按照一个月还是一个周?一个周是最近的 7 天还是计算一个自然周? 如何对 SLI 和 SLO 做监控? 如果错误预算即将用完,有什么措施?比如减少发布?...比如 Google 在 SLI/SLO 还有预算的时候,会在满足 SLI/SLO 的时候自行对服务做一些破坏,让用户不要对服务有 100% 可用的错误预期。...如果相同的团队、或者不同的团队之间需要相互勾心斗角的话,如果工作环境不允许大方承认(SRE 无可避免地会犯一些错误)自己的错误,说明公司营造的氛围有问题。...比如某些公司规定,发生 P1 级别的错误就必须开除一个 Px 级别的员工,发生 P0 级别的错误就必须开除一个 Py 级别的员工一样。...排查错误可能是转行做 SRE 最大的一个门槛,这个需要一些经验。如果没有经验的话,就补足一些操作系统的知识,这样遇到未知的问题也可以通过已知的知识和工具去排查。
当他们在建筑方面做决策时,如果做得正确,它们可以立足百年。而软件却与此完全不同,它是一个不断变化的领域。因为你不断重建代码,而成功与否取决于代码的状态、最初编写时的质量,以及不断变化的业务环境。...我认为这就是生成式AI最令人兴奋的事情之一,因为它也可以做。 在编写代码时,你要把它视为合作伙伴,因为软件工程实践真的很重要。...我昨晚听说IBM已经发布了一些东西,他们声称可以做到这一点,但我相信这只是个开始,这非常令人兴奋。生成式 AI 还可以做一些疯狂的怪事,比如用星球大战的隐喻来解释代码,所以你可以玩得很开心。...所以你可以开始思考软件开发生命周期的所有这些不同部分,让生成式 AI 扮演其中某部分的不同角色,以及可以做的事情和工具。这听起来真是既令人惊叹,又令人恐惧,又令人兴奋。...你让 AI 给我一个总结,总结过去 190 次提交中代码库中的所有变化,它就可以帮助你来做一些研究和发现。 关于软件架构和设计的一个难点是考虑到所有的跨功能问题,如安全性问题、可访问性问题和性能问题。
(特别是如果每个函数只转换传递给它的数据)可以让你重用代码并将不同的函数组合成紧凑的数据管道,从而节省时间。...我们得到一个 assertion 错误和一个很有用的错误信息! 虽然这是一个非常简单的例子,但是包含一些测试可以帮助你确保代码正在做你认为它正在做的事情。...当你需要回到一个项目,或者当你第一次遇到新的代码并且需要了解正在发生的事情时,这会节省你的时间。 风格 ---- 当我在这里说「风格」时,我的字面意思是「遵循特定的风格」。...具有通用性的代码解决了会不止一次发生的问题,并预期数据变化。 如果我打算重用代码,我应该重写代码吗? 不,当然不是。写新代码来解决一个独特的问题没有错。...数据科学家必须做很多不同的事情,知道很多不同的事情:比起仔细地润色每一行你曾经编写的代码,你的时间可能能够用在更好的地方。当你知道代码将被重用时,花时间去完善你的代码是有意义的。
上周我与同事们进行了一次关于职业生涯中搞砸了一些事情的简短谈话。这确实会沦为他人笑柄,却更给我们带来了珍贵的教训。重要的是,我们应该分享那些曾经的错误,这样其他人就可以从其中学习。...我们应该如何告诉客户这个事情?不知道。 我犹记得自己走向项目经理那里,坐在她身边,向她解释了发生了什么事情时的场面。因为我们的内容库中没有内容,这就是为什么网站上空空如也的原因。...把它单列出来是我做的一个错误决定。我忽略了一些重要事情: 用户在登陆之后会从cookie中加载内容,但是这个页面却试图在没有任何等待的情况下进行加载。...我想说的是:在此之后,我花费了时间去学习认证程序。我现在了解了OAuth、JWT、刷新令牌和到期行为。我仔细研究了其他人所编写的身份验证代码。我能够在不同的语言和框架中建构身份验证程序。...将失败转化为未来的成功 这是我从那些表现糟糕的事情中所获得的经验。如果你愿意,那么几乎所有好的结果都会由此而来。 如果有人能从自己的错误中汲取教训,那么他就会比现在更优秀。