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

我看不懂这段代码的最后一部分

相关·内容

这段代码在本地运行没问题啊?”

代码仓库 代码是运行互联网项目的核心。在快速迭代互联网项目开发中,最常见便是多人共同协作开发场景。将代码托管至云端并使用优秀代码管理系统,对于开发人员是至关重要。...CODING DevOps代码托管服务,除了基本代码版本管理能力之外,还提供质量门禁、代码扫描等能力,能够帮助开发者规避本地代码管理局限与安全性障碍,回归开发本身,赋能云端协作,实现快速迭代。...其次,微服务架构下自测反馈流程实在太长了,每次写完代码要想自测一下,我们都需要经过编译-打包-推送仓库-部署整个流程才能看到结果。...再次,本地环境、测试环境、线上环境很可能差别极大,在本地调试没问题程序员,换个环境说不定就会出大问题。因此经常听到程序员抱怨:“这段代码本地是没问题啊?”...本书通过虚拟主人公小灰心路历程,用漫画形式讲述了算法和数据结构基础知识、复杂多变算法面试题目及算法实际应用场景。

33110

这段代码在本地运行没问题啊?”

代码仓库 代码是运行互联网项目的核心。在快速迭代互联网项目开发中,最常见便是多人共同协作开发场景。将代码托管至云端并使用优秀代码管理系统,对于开发人员是至关重要。...CODING DevOps代码托管服务,除了基本代码版本管理能力之外,还提供质量门禁、代码扫描等能力,能够帮助开发者规避本地代码管理局限与安全性障碍,回归开发本身,赋能云端协作,实现快速迭代。...发布到 CODING DevOps制品仓库,也可以有序管理构建出制品。...其次,微服务架构下自测反馈流程实在太长了,每次写完代码要想自测一下,我们都需要经过编译-打包-推送仓库-部署整个流程才能看到结果。...再次,本地环境、测试环境、线上环境很可能差别极大,在本地调试没问题程序员,换个环境说不定就会出大问题。因此经常听到程序员抱怨:“这段代码本地是没问题啊?”

73510

这段Java代码连不少大佬都栽了跟头,何况

看了源码之后才恍然大悟,不过翻车不是一个人,很多人都说自己在这个地方翻过车,其中不乏一些大佬级的人物。 接下来看看都是怎么翻车吧。...String conditional = doPlanA(); if (conditional==null){ conditional = doPlanB(); } 这个代码片段相信大家都知道什么意思吧...如果好好按照规矩写就没什么问题,可我偏偏想用Optional重写这个逻辑,想当然地以为是这么写: String conditional = Optional.ofNullable(doPlanA(...)) .orElse(doPlanB()); 当我执行了这段代码之后,怎么肥事?...因为这段代码其实执行就是orElse逻辑,而ofNullable是定义初始化逻辑,思维惯性把带沟里了。

35620

为什么抽不到SSR,原来是这段代码在作祟...

为什么抽不到SSR,原来是加权随机算法在作祟 ★阅读本文需要做好心理准备,建议带着深究到底决心和毅力进行学习! ” 灵魂拷问 为什么有 50% 几率获得金币?...先别急往下看,你能想到更好办法吗? 方案二、略显聪明 由于总权重为 15(1+2+4+8),我们可以生成一个 [0,15) 随机整数,然后根据这个数字返回索引。代码如下。...但你以为这就是效率最高办法吗? 写那么多if else不痛苦吗宝贝。 方案三、神之一手 何必将随机数和所有的范围进行比较呢?...优化源码中二分法。 轮盘赌算法,每次都去赌。 内联:编译器一个名词。我们代码最终都是经过编译系统转换成可执行二进制文件。汇编阶段读取是词法、语法单元输出结果。...而内联是编译器对词法、语法分析器对源代码做出分析,然后产生二进制代码这个过程叫内联。 源代码 https://github.com/guowei-gong/weighted-random

1.3K20

在线求CR,你觉得这段Java代码还有优化空间吗?

上周,因为要测试一个方法在并发场景下结果是不是符合预期,写了一段单元测试代码。写完之后截了个图发了一个朋友圈,很多人表示短短几行代码,涉及到好几个知识点。 还有人给出了一些优化建议。...// 再对关键字段做注意校验 } } 以上,就是做了简化之后单元测试部分代码。...我们来看看上面的代码涉及到哪些知识点? 知识点 以上这段单元测试代码中涉及到几个知识点,这里简单说一下。...AtomicInteger 因为在单测代码中,创建了10个线程,但是需要保证只有一个线程可以执行成功。所以,需要对失败次数做统计。...e); failedCount.increment(); } finally { countDownLatch.countDown(); } 这段代码

82230

CAS,你看不懂教你

引入 CAS重要就不多说了,好多文章,都讲不是很全面,通过自己理解,来帮助大家!...什么是CAS 用在并发,是一种思想,一种算法,也是cpu指令,cpmpare and swap 核心思想是,认为一个值是A,是的话,就改成B,不是的话,证明被改过了,就不改了 主要是三个操作:...,不会出现线程安全问题 CAS等价语义 /** * 模拟CAS操作,等价代码 */ public class SimulatedCAS { ​ private volatile int value...:"+i); } ​ } } 应用场景 乐观锁,利用CAS,比如数据库,通过版本号,进行库存扣减,乐观锁 并发容器、 原子类、 原子类如何通过Java代码如何实现CAS?...通过Atomic::compxchg实现原子性比较和替换,完成cas过程 缺点 ABA问题, 5才可以修改,但是修改了一次,又被其他线程修改为5了 比如,修改,修改了两次,认为时候,就是跟没修改过一样

18720

为什么这段代码输出是”Hello World”

使用同样种子实例化Random对象,每次运行时将会遵循同一种模式,产生同样序列。”...这就是为什么每次运行该程序都会产生同样结果原理啦~ 当然,关于这个话题,高手林立Stackoverflow上是不缺乏懂行专家和见解。...还有的人就非常精辟地指出了,这是计算机所谓“伪随机数”问题(详细见扩展阅读),更有部分Geek回复者从计算机理论和概率论角度说明了,应该如何找到这些神奇“随机数种子”。...能够把这么一个原意为搞笑帖子发展到理论高度~,相信这应该也是计算机科学家境界和觉悟了吧!...尤其是在复杂计算环境下高质量随机数产生,需要牵涉到非常高深计算科学和数学方面的理论研究。 在计算机随机数产生理论研究上,美籍华人姚期智(目前任职于清华大学)是世界顶尖专家。

94720

很想学编程,但看不懂编程代码怎么办?

从事编程开始十几年,面试过很多初级学习编程的人,几乎每个人都有一种所谓编程情怀,觉得编程非常有意思,想着去学习编程,所以开始看不懂编程代码是一件非常正常事情,很多人学了几个月编程头脑还是浆糊状态也是特别正常...,既然要学习编程就要拿出学习编程决心和毅力,正是因为看不懂才会绞尽脑汁学习,并且不断变换自己学习思路,来完成编程学习路子上一个个困难。...,都是讲求在短时间内能上线自己产品,希望招的人能直接上手工作,但是市场上并没有这么多足量熟手这才是培训行业盛行关键因素,在这个行业内入门门槛已经提升了许多,不是因为培训机构多了这个行业门槛提升了...学习编程关键在于内在因素,很多人觉得学习编程就需要花大价钱,现实中未必是真实,很多对编程感兴趣大学生通过四年大学学习,就把基本功弄得非常扎实,并且通过开源社区获取了大量代码进行实践研究,有很大一部分还没出校门就把自己工作搞定了...,而且还是非常优秀企业,机会都是自己创造出来,真要有一颗想学习编程决心,任何场景下都能创造学习机会。

2.4K30

为什么学了那么多门语言,还是编不好这段代码

2 如果你不能用一种编程语言基本特性写出好代码,那换成另外一种语言也无济于事,你会写出同样差代码。比如,你 Java 代码写得很糟糕,那么换成 Go、Ruby,你代码也会一样糟糕,甚至更差。...平时工作中对 Ruby、Python、C++、和 Java 熟练程度差不多,但是面试中使用 Ruby 或者 Python 答题,写代码时间估计是那两者一半。...关于更多面试语言详情,可以参考之前专栏文章“硅谷面试:那些你应该知道事儿”。...如果让推荐学习一门脚本语言,那就是 Python,关于 Pythond 历史和语言特性,可以参考池老师之前写过“人生苦短,用 Python”一文。...7 最后,也是最重要是:在任何时候都要用并发、分布式思维去看待你程序。因为竞争条件或者并发中不确定因素(比如调用顺序)导致 Bug,仅仅理解语言基本特性,根本不能解释。

33710

看不懂 build.gradle 代码

但是,不知道你们会不会跟我一样,在 github 上 clone 大神项目后,总会发现他们 build.gradle 里多了很多平常没看见过代码,而且还看不懂代码要做什么; 或者是比如当需要进行签名时...---- 系列索引 build.gradle系列一:看不懂build.gradle代码 build.gradle系列二:学点Groovy来理解build.gradle代码 build.gradle...项目 直接在代码上加注释,参照着注释看代码就行,是不是发现有很多代码平时都没看见过。...} else { println "Meizhi: using default key" } //这段代码应该会在大神项目里挺常见...,在很多项目里都看见过了 //这也是groovy代码,这里代码作用是重命名最后打包出来apk //根据 def fileName 设置格式来命名

1.5K50

为什么这段代码输出是”Hello World”

使用同样种子实例化Random对象,每次运行时将会遵循同一种模式,产生同样序列。”...这就是为什么每次运行该程序都会产生同样结果原理啦~ 当然,关于这个话题,高手林立Stackoverflow上是不缺乏懂行专家和见解。...还有的人就非常精辟地指出了,这是计算机所谓“伪随机数”问题(详细见扩展阅读),更有部分Geek回复者从计算机理论和概率论角度说明了,应该如何找到这些神奇“随机数种子”。...能够把这么一个原意为搞笑帖子发展到理论高度~,相信这应该也是计算机科学家境界和觉悟了吧!...尤其是在复杂计算环境下高质量随机数产生,需要牵涉到非常高深计算科学和数学方面的理论研究。 在计算机随机数产生理论研究上,美籍华人姚期智(目前任职于清华大学)是世界顶尖专家。

97120

你能发现这段 Python 代码 bug 吗?

看似很简单,可以使用 pandas DataFrame 编写几行代码就够了。 下面是编写代码: 你发现 bug 了吗?反正没看出来。...下面,来详细解释一下这段代码,并深入剖析究竟错在哪儿了。 代码详解 CSV文件是列表列表 简单地认为,CSV 数据就是列表列表。因此,可以将各个元素视为嵌入列表。...这个嵌套列表会生成以下字节码: 然后,一些自己代码进行扩展,最终得到了以下代码: 错误 事实证明,Python 无法按照想象将可迭代文本分解与推导式结合起来,你必须把 .split(",...不太明白。尝试通过编译器浏览器寻找答案。下图展示了正确生成器表达式与我编写代码之间差异: 你看出问题所在了吗?代码问题在于,在分解文本之前,.split() 返回值是迭代器。...最后在 CPython 贡献者 Crowthebird 帮助下解决了这个问题,他演示了在不使用推导式情况下重写代码问题。 错误写法: 正确写法: 这个问题可以得到解决吗?

11830

这段代码很Pythonic | 相见恨晚 itertools 库

很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pythonic代码在执行上也更有效率。今天就先给大家介绍一下Python系统库itertools。...话虽这么说但大家平时用到迭代器大概只有range了,而通过iter函数把列表对象转化为迭代器对象又有点多此一举,这时候我们今天主角itertools就该上场了。...使用itertools itertools中函数大多是返回各种迭代器对象,其中很多函数作用我们平时要写很多代码才能达到,而在运行效率上反而更低,毕竟人家是系统库。...itertools.takewhile(lambda e: e < 5, range(10)) >>> print(list(x)) [0, 1, 2, 3, 4] itertools.tee 这个函数也不是很懂...,最终达到随手拈来程度,装逼说就是由术入道。

54930

谷歌工程师写这段代码什么水平?

源 / 菜鸟教程 代码,正在改变世界。正是因为有了代码存在,才有了阿里巴巴、百度、京东、天猫等存在。 有网友分享了一篇名为 “看看牛B程序员是如何写好看代码文章。...整篇文章只有放了一段代码,而且这段代码据说是前谷歌工程师写,大家快来看看什么水平? ? 在这段代码下面,很多网友跟帖,下面精选一些网友回答: 网友一:不是说不要嵌套太多if么?...网友六:觉得这个问题得看看这段代码解决是什么问题,然后我们再基于这个问题考虑,就会体会到这段代码厉害之处了,相同之处参见刷算法题时费尽千辛万苦解决了一个问题,看答案排行,发现第一名代码量能只有自己十分之一运算性能还强令人发指...这样做后果是,自身旋转变得更加严重,最后也彻底失控。 据悉,“瞳”卫星造价是2.86亿美元,也就是人民币18.6亿元。“瞳”卫星曾经被寄予了很大厚望,它代表是新一代X射线天文学未来。...因为一行代码错误,“瞳”卫星成为科学界悲剧。 代码可以改变世界,也可以毁灭世界,程序员就是这样一群牛逼存在。上面谷歌程序员写那段代码,你觉得水平怎样,可以在下面留言!

55430

这段代码很Pythonic | 相见恨晚 itertools 库

很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pythonic代码在执行上也更有效率。今天就先给大家介绍一下Python系统库itertools。...话虽这么说但大家平时用到迭代器大概只有range了,而通过iter函数把列表对象转化为迭代器对象又有点多此一举,这时候我们今天主角itertools就该上场了。...使用itertools itertools中函数大多是返回各种迭代器对象,其中很多函数作用我们平时要写很多代码才能达到,而在运行效率上反而更低,毕竟人家是系统库。...itertools.takewhile(lambda e: e < 5, range(10)) >>> print(list(x)) [0, 1, 2, 3, 4] itertools.tee 这个函数也不是很懂...,最终达到随手拈来程度,装逼说就是由术入道。

56930

如何让别人看不懂代码

那么换个角度,如何让别人看不懂代码,如何让你代码只有你能维护,可能更容易理解吧~ 命名 获取用户上次登陆使用设备,这个简单名字 getUserLastTimeLoginDeviceUsed,...getUserShangCiLoginseBei,别人看代码时候应该也开始看不懂啦 别人嫌名字太长缘故,非让改。 改就改 getULTLDU,来吧哥们儿,这个够短吧~ 还是长?...注释 注释里可能需要一点社会工程学知识 有如下选择,别人看不懂代码可能性依次增加 1、不加注释 2、加上注释,注释内容放一串所需解释代码代码,再或者写一篇800字儿散文 3、写注释时候记住...实践出真知,懂没懂先用上再说,慢慢代码就开始变丰富起来啦~ 遗留无用代码 遗留代码可是前辈们沉淀,一旦发现,即使无用,马上自己想一个用处给它注释上。...可能IDE有检测功能,别慌,可以试着调用它,这样能唤醒一大片无用代码最后,记住,把Author 默默删掉,循序渐进修改代码,等它们慢慢分布到整个业务系统各个模块,别急着上来就让别人看不懂,要不很容易被重构掉

1.9K40

你能发现这段 Python 代码 bug 吗?

看似很简单,可以使用 pandas DataFrame 编写几行代码就够了。下面是编写代码:你发现 bug 了吗?反正没看出来。下面,来详细解释一下这段代码,并深入剖析究竟错在哪儿了。...代码详解CSV文件是列表列表简单地认为,CSV 数据就是列表列表。因此,可以将各个元素视为嵌入列表。...这个嵌套列表会生成以下字节码:然后,一些自己代码进行扩展,最终得到了以下代码:错误事实证明,Python 无法按照想象将可迭代文本分解与推导式结合起来,你必须把 .split(",") 调用放在另一个列表中...不太明白。尝试通过编译器浏览器寻找答案。下图展示了正确生成器表达式与我编写代码之间差异:你看出问题所在了吗?代码问题在于,在分解文本之前,.split() 返回值是迭代器。...不确定,但我相信这关系到最初提出列表推导式建议时确立实现细节。最后在 CPython 贡献者 Crowthebird 帮助下解决了这个问题,他演示了在不使用推导式情况下重写代码问题。

19020

如何让别人看不懂 JS 代码

大家好,是 Conar 我们在上周文章中一种奇特 JavaScript 编码风格:Get 一种可以用来装逼 JavaScript 编码风格,引起了广大网友热议。...这是实际上属于一种代码混淆技术,可以让们代码更难阅读和逆向,同时也能租网一些恶意爬虫和自动化分析。天就带大家来看看还有哪些其他能让 JavaScript 代码变得难以分析代码混淆技术。...我们以下面这段代码为例: console.log("ConardLi",666); 通过一些转换,它可以变成下面这个样子: 怎么做到呢?...死代码注入 死代码其实指就是一些无法访问代码,我们可以在原本代码上额外注入一些永远无法访问代码来让代码难以阅读,但是同时也会让代码变得更大。...调用 a 函数时只传入了第一个参数 792,然后就会发现 a 函数里有个 switch 语句,只会执行到第二个 case,里面是这样语句: e、f、g、h、j、i 这几个函数都是没有调用,所以只会执行最后

1K31
领券