01、故事开始的地方——这段代码为什么会阻塞?...这段代码开启了一个 goroutine,这个goroutine会向 in 通道中放入2000个 Content 对象,每个对象的 i 字段从0到1999。每放入一个对象都会记录日志。...你看出来这段代码为什么会阻塞了吗?...对于上文的代码实现,这话不对,因为 select 每次只会执行一个 case,并且在某个 case 阻塞时,是不会执行其它 case 的。...PS: 上面的将 wg.Wait() 放在 goroutine 中执行,并利用 multierror 来合并返回错误,是我比较喜欢的并发编程错误处理方式。
我说我为什么抽不到SSR,原来是加权随机算法在作祟 ★阅读本文需要做好心理准备,建议带着深究到底的决心和毅力进行学习! ” 灵魂拷问 为什么有 50% 的几率获得金币?...为什么有 40% 的几率获得钻石? 为什么只有 9% 的几率获得装备? 为什么才有 1% 的几率获得极品装备? 是人性的扭曲,还是道德的沦丧,请和我一起走进今日说法 !...代码如下。...写那么多if else不痛苦吗我的宝贝。 方案三、神之一手 何必将随机数和所有的范围进行比较呢?直接遍历随机数减去权重,如果结果小于等于零,不就是我们要的结果下标吗?...我们的代码最终都是经过编译系统转换成可执行二进制文件。汇编阶段读取的是词法、语法单元输出的结果。而内联是编译器对词法、语法分析器对源代码做出的分析,然后产生二进制代码这个过程叫内联。
2 如果你不能用一种编程语言的基本特性写出好代码,那换成另外一种语言也无济于事,你会写出同样差的代码。比如,你的 Java 代码写得很糟糕,那么换成 Go、Ruby,你的代码也会一样糟糕,甚至更差。...平时工作中我对 Ruby、Python、C++、和 Java 的熟练程度差不多,但是面试中使用 Ruby 或者 Python 答题,写代码的时间估计是那两者的一半。...如果让我推荐学习一门脚本语言,那就是 Python,关于 Pythond 的历史和语言特性,可以参考池老师之前写过的“人生苦短,我用 Python”一文。...5 SQL 是一门非常非常重要并且应该熟练掌握的语言(虽然它不能被称为程序语言),我在这里用了两个非常,因为很多工程师有些过于轻视 SQL 了,并为此付出了惨重的代价。...因为竞争条件或者并发中的不确定因素(比如调用顺序)导致的 Bug,仅仅理解语言的基本特性,根本不能解释。
Stackoverlfow.com上有一篇有趣的讨论帖: 在这篇帖子里提到了如下的程序: 明明是在程序里使用了java.util.Ramdom()函数产生随机数,为什么每次打出的结果都是Hello world...= 119 --> w 15 + 96 = 111 --> o 18 + 96 = 114 --> r 12 + 96 = 108 --> l 4 + 96 = 100 --> d 整个程序的执行就是这样...这就是为什么每次运行该程序都会产生同样的结果的原理啦~ 当然,关于这个话题,高手林立的Stackoverflow上是不缺乏懂行的专家和见解的。
很多人经常会有这个问题,为什么我的自动化流程不执行。...如果你设置好了自动化流程,但是自动化流程却没有执行,请按照如下的顺序检查你的流程配置:第一步:请检查自动化流程有没有发布和上线来到【操作后台】- 【我的流程】,上线的流程会如图显示【上线】;没有上线的流程会显示灰色...我的流程第二步:请检查自动化流程是否有执行请来到后台【流程日志】,如果运行成功的流程就会显示【执行成功】并有一个【运行id】。...自动化流程执行成功反之,如果失败的流程会显示【执行失败】,也会有一个对应的【运行id】,失败的流程会自动进行重试,可以点击【查看详情】确认流程出错的原因,不明确的可以把运行id发到客服消息/社群里,我们客服值班时间为周一到周五的...自动化流程执行失败第三步:确认流程是上线状态,但是流程没有执行,为什么?如果流程确认是上线状态,需要确定你的流程是否符合你设定的触发条件,如果没有达到对应的条件,是不会触发的。
代码仓库 代码是运行互联网项目的核心。在快速迭代的互联网项目开发中,最常见的便是多人共同协作开发场景。将代码托管至云端并使用优秀的代码管理系统,对于开发人员是至关重要的。...CODING DevOps的代码托管服务,除了基本的代码版本管理能力之外,还提供质量门禁、代码扫描等能力,能够帮助开发者规避本地代码管理的局限与安全性障碍,回归开发本身,赋能云端协作,实现快速迭代。...持续部署 CODINGDevOps提供的持续部署服务,以自动化方式,频繁而且持续性的将软件部署到生产环境,使软件产品能够快速的交付使用。...其次,微服务架构下的自测反馈流程实在太长了,每次写完代码要想自测一下,我们都需要经过编译-打包-推送仓库-部署的整个流程才能看到结果。...因此经常听到程序员抱怨:“这段代码在我本地是没问题的啊?” 不得不说,这届程序员,太难了...... 做过程序员的小伙伴,一定都知道Localhost这个概念。
最近开始一个人负责整个项目的全栈开发和维护,工作中没了和同事交叉 code review 的环节,所以就打算,如果工作中遇到一些比较典型的代码,包括好味道和坏味道,就拿出来分析下,与大家一起交流,作为另一种形式的...这天遇到这样一个问题:在 Android 手机上复制 assets 里的文件夹到手机里,实际并没有拷贝完成,但代码总是显示成功,看了下代码,使用的是阿里云播放器 Android SDK 的 Demo 里的一个工具类...工具类里的相关代码经过简化后示意如下: public class Commen { private static Commen instance; private volatile boolean...isSuccess = true; } catch (Exception e) { isSuccess = false; } } } 这段代码使用起来若不谨慎...如果由我来写这段代码,我会做这样的修改: 将类改为工具类,公开的方法都是静态方法,不需要单例控制; 方法执行是否成功,由返回值、是否抛出异常来表示,不使用成员变量记录; 拷贝过程中,记录拷贝成功的文件列表
看了源码之后才恍然大悟,不过翻车的不是我一个人,很多人都说自己在这个地方翻过车,其中不乏一些大佬级的人物。 接下来看看都是怎么翻车的吧。...)) .orElse(doPlanB()); 当我执行了这段代码之后,怎么肥事?...为什么当doPlanA的返回值不为null时doPlanB也执行了?不过认真看了之后确实是自己误解了。...因为这段代码其实执行的就是orElse逻辑,而ofNullable是定义初始化的逻辑,思维惯性把我带沟里了。...执行orElse逻辑必然执行doPlanB获取返回值传递给该方法的形参,因此出现了逻辑上的偏差。 那么如何才能真正的达到我们想要的效果呢?
无法执行的代码 更新之后,dot 、 plantuml 的代码段在 Org-mode 下无法执行,需要引入对应的 ob-xxx.el 才能正常执行。
但是代码中: return this.data 这个data 明显不是 construct 中的data 而是 函数data; 这样是一个递归使用的死循环;一直无法出栈; 会报错 以上代码可以改为这样
所以今天,我带大家来详细扯一下有哪些原因,相信你看完之后一定会有所收获,不然你打我。 一、开始装逼:分类讨论 一条 SQL 语句执行的很慢,那是每次执行都很慢呢?...2、拿不到锁我能怎么办 这个就比较容易想到了,我们要执行的这条语句,刚好这条语句涉及到的表,别人在用,并且加锁了,我们拿不到锁,只能慢慢等待别人释放锁了。...难道数据库就不会自动帮我们优化一下,自动把 c - 1=1000 自动转换为 c = 1000+1。 不好意思,确实不会帮你,所以,你要注意了。...所以呢,一条语句执行都很慢的时候,可能是该语句没有用上索引了,不过具体是啥原因导致没有用上索引的呢,你就要会分析了,我上面列举的三个原因,应该是出现的比较多的吧。...为什么会这样呢? 其实是这样的,系统在执行这条语句的时候,会进行预测:究竟是走 c 索引扫描的行数少,还是直接扫描全表扫描的行数少呢?
然后通过 rand.Intn() ,获取一个随机数,就完成了,代码如下。...代码如下。...但是我们必须写很多的 if else 代码,这看起来太难看了,为了避免编写过多的 if else 代码,衍生出了方案三。 不必将 r 与所有的范围进行比较。...源代码 https://github.com/guowei-gong/weighted-random 【选题思路】 在游戏开发的过程中,常见的场景就是通过抽奖来吸引玩家氪金,对于抽奖怎么实现的,可能读者不会感兴趣...【写作提纲】 1、随机加权概念介绍(介绍抽奖这个功能,从程序员的角度应该叫什么,再结合场景描述,什么地方会用到这个功能) 2、开始给出随机加权的实现,附带代码与描述,并且由浅入深,每一个步骤的引出,都和上一个步骤的缺陷有关或者说比上一个步骤有更好的做法
摘要:作为一个有点追求的程序员,应该每天练习写代码,而夜深人静的时候,似乎比较合适,至少对我来说是这样。 ? 我可真没时间写代码 写代码是我的工作,也是我的兴趣,本来以为,我应该可以一直写下去。...如果写代码的时候不能保持专注,一直被打断的话,代码质量可能都有问题,更谈不上刻意练习,也就不能有效提高编程技能。...Fundebug提供实时、专业的错误监控服务,为您的线上代码保驾护航,欢迎大家免费使用! 我为什么晚上写代码 套用海贼王的热血台词,我是要成为专家的程序员!...但是,如果每天只写10行代码,大概只能成为砖家。而且,如果不能完成工作任务的话,或许真的得去搬砖:( 于是,我做了一个艰难的决定:晚上写代码。...; 夜深人静,思路更加清晰,至少我是这样的; 现在,我每天晚上大概会写1~2个小时代码,工作量不会太多,但是对代码质量的要求会更高。
你发任你发,我用Java 8。听说你Java 8 用的很溜?...来用这段代码考察一下你的Java 8的熟练度,不要怀疑,这段代码是可执行的: public interface O { interface $ { void $()...} void O($ o); default O O() { return $::$; } } 这段代码非常抽象...不过通常我们不会这样写,写这样的代码可能会被同事打死。能写出这样的Java代码也需要一定的创造力,而阅读这样的代码需要一定的忍耐力。搞清楚这几行代码花了我近1小时的时间,你需要多长时间呢?
知识点 以上这段单元测试的代码中涉及到几个知识点,我这里简单说一下。...(关于线程池创建的OOM问题) CountDownLatch 因为我的单元测试代码中,希望在所有的子线程都执行之后,主线程再去检查执行结果。 所以,如何使主线程阻塞,直到所有子线程执行完呢?...AtomicInteger 因为我在单测代码中,创建了10个线程,但是我需要保证只有一个线程可以执行成功。所以,我需要对失败的次数做统计。...e); failedCount.increment(); } finally { countDownLatch.countDown(); } 这段代码中...,try、catch、finall都用上了,而且位置是不能调换的。
linux信号 而为什么不能在容器中kill 1号进程呢?进程在收到信号后,就会去做相应的处理。 第一个选择是忽略这个信号,但有两个信号例外:SIGKILL 和 SIGSTOP,进程不能忽略。...SIGKILL 和 SIGSTOP 也同样例外,不能有用户自己的处理代码,只能执行系统的缺省行为。...为什么在容器中不能kill 1号进程? 对于不同的程序,结果是不同的。把c程序作为1号进程就无法在容器中杀死,而go程序作为1号进程却可以。...如果信号被忽略了,那么 init 进程就不能收到指令了。 想要知道 init 进程为什么收到或者收不到信号,就要去看 sig_task_ignored()的实现。...0000000000004000 [root@043f4f717cb5 /]# kill 1 # docker ps CONTAINER ID IMAGE COMMAND CREATED 重点总结 “为什么我在容器中不能
后来我找到了中国信通院于2021年2月发表的一篇叫做《各国自动驾驶政策概况及特征》的文章,在文章当中我找到了特别精髓的一段,就是下面这段,关键词我已经给高亮标出来了。 ?...我个人觉得这其实基本上就等于L2水平的自动驾驶的意思,为什么我这么说呢,因为高速公路这个场景下会避免很多很多现实的问题。...既然这么多摄像头和传感器,那应该是万无一失才对,为什么市面上特斯拉这么多因为自动驾驶的事故?甚至很多例子是面前一个巨大的障碍,但是车辆居然不知道闪避,就直直地撞上去了。...我不知道特斯拉里面的代码是怎么写的,但显然在出现事故的例子当中,都选择相信了模型预测的结果,而把雷达的报警当成了误差。 从外界看来,很难知道特斯拉这么设计包含了哪些苦衷,但都看得到血淋淋的事故。...我们正常人在开车的时候,车辆拥有很多的传感器,把人的各种行为转化成驱动命令让车辆执行,这样的传感器称为ECU。在自动驾驶当中,驾驶系统直接给ECU发送指令,来控制汽车。
如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本文是“为什么我建议”系列第二篇,本系列中会针对一些在高并发场景下,我对于组内后台开发的一些开发建议以及开发规范的要求进行说明和分析解读...往期回顾: 为什么我建议在复杂但是性能关键的表上所有查询都加上 force index 在业务一开始上线的时候,我们线上日志级别是 INFO,并且在日志内容中输出了代码位置,格式例如: 2022-03...我们接下来测试下,模拟在不同堆栈深度下,获取代码执行会给原本的代码带来多少性能衰减。...模拟两种方式获取调用打印日志方法的代码位置,与不获取代码位置会有多大性能差异 以下代码我参考的 Log4j2 官方代码的单元测试,首先是模拟某一调用深度的堆栈代码: 然后,编写测试代码,对比纯执行这个代码...由此,我建议:对于微服务环境,尤其是响应式微服务环境,堆栈深度非常深,如果会输出大量的日志的话,这个日志是不能带有代码位置的,否则会造成严重的性能衰减。
领取专属 10元无门槛券
手把手带您无忧上云