首页
学习
活动
专区
圈层
工具
发布

一个困扰我122天的技术问题,我好像知道答案了。

我常常在夜里想起这个题以及这个题的变种问题,为什么呢?到底是为什么呢? ? 我再给你提供一个可以直接复制粘贴运行的版本,我建议文中的代码你都去执行一遍,你就会知道:MD,这事儿真是绝了!...我得亲自操作一下。 操作之后你就会说:卧槽,还真是这样?这是量子力学吗? ? 第一次程序改造 那我把上面这题变一下,改变成下面这样: ?...和我们这里的问题,如出一辙。该问题下面有一个回答,非常的好,得到了大家的一致好评: ? 该回答从现象到原理,再到解决方案都说的头头是道。建议你去阅读一下。...上面的问题关于输出语句和 sleep 对线程安全的影响,其实困扰我很长时间了,从第一次遇见到现在有122天了,这两个问题我现在是比较清楚了。...但是,我在写这篇文章的时候又遇到了上面说的最后一个关于 Integer 的问题。实在是不知道怎么回事。 也许,我可以把这个坑填上吧。 也许,编程的尽头,是玄学吧。

1.2K10

NFT能让艺术市场更透明吗?聊聊我眼里的区块链革命

“NFT能让艺术市场更透明吗?聊聊我眼里的区块链革命”说实话,我第一次听到NFT(Non-Fungible Token,非同质化代币)这个词时,心里是打问号的:“一张图片就能卖上百万?真的假的?”...先说说艺术市场为啥“不透明”传统艺术品交易的问题,我总结过三条:真假难辨:一幅画卖上千万,但真假凭专家一句话,买家很被动。交易信息封闭:价格、流转记录、历史持有人这些信息,不公开。...你很难知道这幅画之前是谁的、卖过几次。利益分配不公平:艺术家往往只在第一次卖出时赚到钱,之后在拍卖市场价格翻十倍,他一分钱拿不到。这些问题导致很多人觉得艺术市场像一个“贵族俱乐部”,普通人甚至不敢碰。...我的感受:技术有用,但不能解决所有问题虽然NFT确实能提升艺术市场的透明度,但我必须实话实说:**技术能解决“数据”问题,但解决不了“价值”问题。...✅ 总结一句NFT不是万能的,但它至少给了艺术品市场一个“数字化、可追溯、自动分账”的工具,让透明度从过去的“靠人说”变成了“靠链证”。

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

    我的巨噬细胞少了一个亚群吗,我错了吗

    前些天在我们生信技能树视频号直播一个文章的单细胞转录组数据(GSE208706)处理,文章是:《Amphiregulin from regulatory T cells promotes liver fibrosis...一般来说,麻烦的地方都是单细胞亚群的生物学命名啦,如下所示可以看到我在我们生信技能树视频号直播时候就是简单的分了大类,这个也是我常规的操作,代码在:(链接: https://pan.baidu.com/...pwd=a7s1) ,这样的话,很多看直播的小伙伴们就“如临大敌”,觉得做错了,很明显文章里面的给出来了两个不一样的髓系免疫细胞,但是我统一操作成为了巨噬细胞。...就算是髓系免疫细胞包括巨噬细胞,我演示的巨噬细胞少了一个亚群呀: 我统一操作成为了巨噬细胞 这个时候就回答了大家关心的另外一个话题了,降维聚类分群的时候设置的分辨率这个参数不高!...特异性亚群就是上面的编号8的亚群 ,而编号4是另外一个特异性基因比如 Chil3特异性巨噬细胞 : Trem2特异性亚群就是上面的编号8的亚群 另外,值得注意的基因表达量高低分群,靠的是相对高低,而且绝对的表达量的有无

    31100

    我整理了10多个问题的答案

    这是学习笔记的第 2125 篇文章 这是一个偶然碰到的问题,想想蛮有意思,就准备写一篇文章做下分析。...技术,只是简单用,想深入学习一下 所以针对不同的人群,回答也不尽相同,对此我做了梳理,我觉得可以把这个问题转换为另外一个问题: 学习MySQL要学些什么,需要注意些什么?...然后其余的部分会分为不同的人群来进行阐述。 1)求职储备类常见问题 l MySQL的认证考试值得考吗?含金量有多大? l 从事DBA岗位,选MySQL还是Oracle?...问题3:MySQL推荐的书和资料有哪些? 简单来说,官方文档是最好的学习资料,在这个基础上去阅读更多的书籍会起到融会贯通的作用。如果推荐书籍,我有下面的一个读书清单可供参考。...问题1:MySQL 的认证考试值得考吗?

    3.5K20

    重构 -- 我是一个类,难道我不配有专属的测试代码吗?

    这点我以前确实没想过 刚看到这个观点的时候,我是很不以为然的,谁让它标题不吸引人>>>《构建测试体系》 就这标题,谁不知道要测试啊。还好我没有“以貌取文”,我认真的看了下去。...但是项目run的时候爆了烦不烦?那会儿可就不是一个人烦了,那是一个团队一起烦。 就比方说上次我们服务器客户端对接测试一个项目,中间数据传输出问题了,好了,现在是谁的问题都不知道。。。...这种问题其实完全可以避免,甚至可以不发生,只要给每个类配备一个测试代码。 写一个测试代码能花多少时间,十分钟,测试一下能花多少时间,十分钟。害怕测出问题?...那有问题就是有问题啊,专项解决不是效率更高吗!!! 行吧,我写,那怎么写啊? 怎么写那是个人自己的事情。...但是,我想说的是,测试代码,最好写在功能类之前,这样可以预先界定功能类的具体功能,也可以把思路清晰一下。 至于测试代码要测试哪些东西?

    1.2K40

    昨天的一个问题及答案(关键字Gzip、MapReduce、Spark)

    问题是这样的: HDFS上存储了一个大小10G不可分割压缩格式的文件(gzip格式),当有一个mr任务去读取这个文件的时候会产生多少个map task?...spark去读取这种不可分割格式的大文件时是怎么处理的呢? 关于这个问题,大家应该都看过这个: Hadoop所支持的几种压缩格式 gzip文件最大的特点在于:不可分割。...到这里split的划分就介绍完了,但是有两个问题需要考虑: 如果一个record跨越了两个block该怎么办?...那么,第二个问题来了: 上一个block对应的Map Task并没有最后一条完整的record,它又该怎么办?...gzip问题这么多,常用的场景我能想到的只有一个,就是每天的日志文件。单个日志文件不太大,百兆以内。其他的场景暂时想不到。

    64720

    React 动画真的难吗?我用一个库解决了困扰大半年的性能问题

    一个同事曾经这样评价我之前做的一个 React 后台系统:"功能不错,但感觉就像是一个 Excel 表格。" Excel 表格。 那一刻我意识到,UI 动画根本不是锦上添花,而是基础体验的一部分。...我之前在做一个数据平台时,正是因为过渡动画处理不当,导致每次切换页签都有 0.3 秒的白屏闪烁——虽然时间短,但用户反馈里明确指出"界面不够流畅"。 为什么选择 Framer Motion?...实战场景:我是怎么用它解决性能问题的 前面提到的"白屏闪烁"问题,用 Framer Motion 怎么解决?...这一改进后,用户反馈里就再没有"界面不流畅"的吐槽了。 常见误区 ❌ 误区 1:动画越多越好 有一次我看到一个项目,几乎每个元素都在动画——按钮缩放、卡片旋转、文字淡入。结果呢?用户感觉很累。...一旦你用过 Variants、Layout Animations 这样的特性,就很难再接受之前的做法了。 你怎么看?有在 React 项目里用过 Framer Motion 吗?

    21610

    昨天的一个问题及答案(关键字Gzip、MapReduce、Spark)

    问题是这样的: HDFS上存储了一个大小10G不可分割压缩格式的文件(gzip格式),当有一个mr任务去读取这个文件的时候会产生多少个map task?...spark去读取这种不可分割格式的大文件时是怎么处理的呢? 关于这个问题,大家应该都看过这个: Hadoop所支持的几种压缩格式 gzip文件最大的特点在于:不可分割。...到这里split的划分就介绍完了,但是有两个问题需要考虑: 如果一个record跨越了两个block该怎么办?...那么,第二个问题来了: 上一个block对应的Map Task并没有最后一条完整的record,它又该怎么办?...gzip问题这么多,常用的场景我能想到的只有一个,就是每天的日志文件。单个日志文件不太大,百兆以内。其他的场景暂时想不到。

    74340

    震惊 | OpenCV的bug吗?我又发现了一个?

    大家好,最近我一直写东西,结果无意中我又有了新发现,这次主要是针对OpenCV中Mat对象的创建。...以前我经常写的代码是: // create Matlab风格 - 5 Mat m5 = Mat::ones(Size(4, 4), CV_8UC1); std::cout << "m5:\n" << m5...<< std::endl; 发现工作良好,全部初始化为1,那天我也不知道自己怎么想的,就想创建一个三通道全是1的: // create Matlab风格 - 5 Mat m5 = Mat::ones...三通道中只有1个通道被初始化为1,其它居然还是0,我觉得我要检查一下以前写的代码,我记得我写了很多这种创建方式。这个是不是OpenCV挖下的一个大坑啊!...最后,我是在OpenCV4.2版本上发现的,后来我又让别人也测试了一下,发现之前版本也是一样!我居然才发现!我晕!居然从来没有人写过这个,关注过这个!

    86720

    两圆重叠问题你会求解吗?这个问题的准确答案,德国数学家最近才找到

    : 将一只山羊拴在面积为1英亩的圆形草地的围栏上,请问栓多长的绳子,才能让山羊刚好吃到半英亩的草?...问题提出后,已有数学家给出了2种求解方程。 但,仅仅是“方程”: 这个问题的精确答案,即如何准确地用围栏半径来表示绳子长度,却一直悬而未解。...数学家Fraser表示,这是因为,如果将问题放在无限的维度中,数学家们可以推论出一个更明确的答案。...当然,网友在祝贺之余,也有表示这一问题“不太符合生活常理”的: 我认为这个问题,是没有山羊相关的经验的人提出的。...因为我一想到山羊,就会想到它们在拼命跳篱笆、嚼绳子……这让我没办法专心解决这个问题。

    72420

    大模型真的能做推荐系统吗?ARAG论文给了我一个颠覆性的答案

    但这篇论文,用一个代理式多智能体 RAG 框架,把我从这条旧路径中拽了出来。...这篇论文提出的框架叫做: ARAG:Agentic Retrieval-Augmented Generation 它的核心思想是: 把推荐系统转化为一个 语义推理任务 + 多智能体协作问题。...”,而是“语言+推理”结合的用户理解问题。...教育类 按学习目标推荐适合的课程、资料和练习题 社交 根据用户动态生成兴趣聚合和推荐对象 未来:推荐系统会被大模型接管吗?...总结 ARAG 给我的启发,不只是一个结构巧妙的推荐系统,而是一种思维方式的改变: 大模型+语义推理+智能体协作,正在重塑推荐系统的基础逻辑。 这篇论文值得每一个做推荐系统、做大模型应用的人细读。

    44910

    一个有意思的问题:Kafka的消费Offset会溢出吗

    最近在项目上接入公司APP产品的用户点击日志数据时,发现消费者组的Offset值非常大,才一天的时间,已提交的Offset值就有千亿级别了。...于是不禁想了一个问题:假设一个Topic就只有一个Partition,每天产生数据量为100000000000(千亿)条,那是否会出现该分区下的消费Offset溢出的情况呢?...经过搜索发现,果然也有类似的问题被提过,答案是:完全不用担心Kafka分区的消费Offset会出现溢出的情况!...简单计算如下: 1.假设Kafka只有一个Topic,且该Topic只有一个Partition,每天写入的数据量刚好是1千亿,那么多长时间之后会出现消费Offset溢出的情况呢?...总结: 1.Kafka的消费Offset使用java.lang.Long类型表示,最大值是一个非常大的数字 2.虽然理论上存在会溢出的时候,但是由于现实条件不满足(没有一个软件系统是可以存活成千上万年的

    1K10

    一个在交流群里讨论过两轮的问题,答案竟然跟一个 PEP 有关

    这个问题看起来不容易理解,我可以给出一个例子: class Test: @xxx def foo(self): pass 现在有一个类和一个类方法,其中类方法上有一个装饰器...我们的问题就是要在装饰器代码中动态地获得 Test 这个类(类名+类对象)。 去年 11 月份的时候,我在微信读者群里提出了这个问题,当时引起了小范围的讨论。...没想到在今年上个月的时候,群里又有人提了同样的问题(我在讨论结束后才看到),而且最终都找到了 stackoverflow 上一个同样的问题: stackoverflow 上的问题提得很明确:Get defining...没想到的是在群里又出现了同样的讨论,这让我意识到这个问题是有价值的。...前几天,我偶然间发现__qualname__ 属性有一个专门的 PEP,所以我就抽空把它翻译出来了——既是一种知识梳理,也是给大家做一个“科普”吧。

    44340

    因为读者的一个问题,我写了个批量下载工具

    之前分享过回答几个很多人在问的问题,以及苏生不惑提供的服务 ,有人加我微信帮忙批量下载公众号文章里的音频,正好之前下载过一键批量下载微信公众号文章内容/图片/封面/视频/音频,支持导出html和pdf格式...randint(1,10))+'.html', 'w', encoding='utf-8') as f: f.write(content) 下载效果如图,顺便把文章内容也下载了: 除了这种整理的文章还有话题下收录的文章也可以下载...,我抓取了所有文章标题和阅读数分析了下, 留言内容可以下载抓取了公众号历史文章的留言 ,如果你有需要下载的公众号或抓取数据可以微信联系我。...再次推荐下我的博客https://blog-susheng.vercel.app ,存放了部分公众号文章10 分钟带你免费搭建一个属于自己的博客 ,方便在线查看: 以及之前分享过的网站,Windows...软件,app,chrome扩展,油猴脚本系列等,周末我又整理了下:

    1.1K10

    一个奇葩的线上问题,导致我排查了一天!

    事情是这样的,最近我们上线了一个刷新用户 token 的功能,也就是 APP 里经常有的,只要你经常操作,就能让你一直保持在线状态,不用一直重新登录,需求就是这么一个并不复杂的需求,也很快的上线了。...根据开发的口述,我得到的信息如下: 根据数据库日志发现,用户在8月份只登录了两次,两次时间间隔有 15 天之长,另外排除了日志丢失的问题,登录这个日志是同步保存并且在一个事务内的,不存在丢失的可能。...我不禁想到一个问题,他们说的只是他们说的,虽然我看了他们给我的演示,但是,我除了看到了用户的登录日志,和他们给我看到的网关日志、服务调用的日志之外,我其实并没有去自己去验证他们的说法。...这里我隐隐感觉到不对劲,于是,我换了一个搜索方式,搜用户的设备信息,不搜用户 ID!!! 结果尼玛出现了!!!...这应该是分词的问题了,数字连在一起被当做一个字符串分词了,所以存在有的能搜索到,有的不能搜索到,测试了一下发现情况确实是这样。

    65320

    一个hashCode问题的追问,差点让我陷入无底洞

    你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough...这个问题从上午10:45 开始陆续讨论,到下午15:39 接近尾声 (忽略这形同虚设的马赛克) 这是一个好问题,更是一个高频基础面试题,我还曾经专门写过一篇文章 Java equals 和 hashCode...的这几个问题可以说明白吗, 主要说明了以下内容 随着讨论的进行,问题慢慢集中在内存溢出和内存泄漏的问题上 内存溢出 VS 内存泄漏 这两个词在中文解释上有些相似,至少给我的第一感觉,他们的差别是这样的...(有人和我一样吗?)...除此之外,小小的 hashCode 还有可能让偏向锁失效,所有的这些细节问题都有可能是导致程序崩溃的坑,所以勿以「恶」小而为之,毋以「善」小而不为,良好的编程习惯能避免很多问题 当然想要更好的理解内存泄漏

    89840

    我找到了一个快速定位SpringBoot接口超时问题的神器!

    最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。...既然网络看似没问题,那么可以继续排除法,砍掉Nginx,客户端直接再渠道系统的服务器上,通过回环地址(localhost)直连,避免经过网卡/dns,缩小问题范围看看能否复现(这个应用和地址是我后期模拟的...当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?...难道是我没 commit?分支搞错了? 3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!...5、是否有一个全局视角来查看系统的运行状况? 6、有什么办法可以监控到JVM的实时运行状态? 上面是Arthas的官方简介,这次我只需要用他的一个小功能 trace 。

    1.9K20

    有同学问了我一个很多前端都在担忧的问题

    如图,这是今天一个先行者计划的成员,在同我聊天的时候提到的问题。这个问题确实是客观存在的,前端变化快,一会今天这个了,一会明天又那个了。...“我都有点动摇了,我原来还总鼓励他们别放弃,搞一阵之后自己也有想法了” 我在微信是这样回复他的, 其实你细看,前端变的都是上层建筑,什么vue啊,react啊,这那的,,但这些框架都是对原生js的再封装...只要你原生 js很ok,那么你学习新框架是很快的。就例如我,我原生 js很ok,所以我学什么新的框架,都很快。一个新框架出来,无非是一套新js语法而已,核心还是那些。...前端无论怎么变,永远只有一个js,其它的那些东西,都是在js的基础之上,再封装。jq解决dom兼容性,vue,react解决dom操作,但根上呢?...后端有后端的好处,学会一个j2ee可以吃很多年。但前端最大的优势在于,只要你比别人快,你就会有很大的优势。 这一点就如同现在的中国,唯一不变的就是变化。

    1.6K80

    为什么Capistrano被Docker和Kubernetes取代了

    当我听著受欢迎的知识产权和数字权利倡导者Cory Doctorow朗读他的新书的一小部分时,我听到他提到了加利福尼亚州的 Capistrano。...但我当然还记得Capistrano,这是一种流行于2010年代初的远程服务器自动化工具——它实际上是容器和Kubernetes之前的工具。 我有时对随着时间流逝失去流行度的常用技术感兴趣。...我记得在十多年前曾将Capistrano用作远程服务器自动化工具。它会使用SSH按照脚本允许您将更新部署到目标服务器。...从现代观点来看,Capistrano的另一个问题是它是用Ruby构建的。...但即使作为一个蒙尘的遗迹,Capistrano仍然是一个伟大的模块化工具,用于自动化Web应用程序的部署和维护。 至于加利福尼亚州的Capistrano?恐怕是坏消息。

    75710

    谷歌100多次面试都会提的一个问题,你会解吗?

    通过 TechLead 模拟 Google 面试(软件工程师职位) TechLead 在 Google 的 100 多次面试中都提出了一个问题,这引起了我对 RxJS 的兴趣。...本文会讨论解决该问题的所有传统方法。 他问这个问题的真正目的是从应聘者得到下列信息:在编码之前,他们会问正确的问题吗?提出的解决方案是否符合项目指南?...他甚至指出,是否得到正确的答案一点都不重要,重要的是应聘者的思考方式,以及应聘者是否能够理解这个问题。 他谈到了一些解决方案,包括递归方法(受堆栈大小限制)和迭代方法(受内存大小限制)。...这是使用绝对定位来完成的,就像他的例子一样: 答案:3 这种方法也可以处理更大一些的数据集,如下图: 答案:18 下面是生成节点的代码: 1const generateNodes = ({ 2 numberOfColumns...我想强调的是,TechLead 的问题可能是你会在职业生涯中遇到的问题,但在典型的 JavaScript 应用程序中,往往不太需要考虑程序的速度。

    1.3K20
    领券