此时,A 和 B 发生以下对话: A:我不知道 C 的年龄,我知道你不知道。 B:原本我不知道的,现在我知道了。 A:现在我也知道了。 那么,请问 C 的年龄是? ---- 2....解题关键 1、我知道你不知道的含义: 这句话的含义是:根据我的现有信息,可以知道你未取得命题的充分条件。...A:我不知道 C 的年龄,我知道你不知道。 首先,A 说 “不知道 C 的年龄”,说明十位数是不唯一的。...为什么 A 敢断言:“你手上的个位数一定不是 7 和 8” 呢?一定是 A 手中的十位数不是 3,也不是 5 的时候。...B:原本我不知道的,现在我知道了。 此时,B 说 “我知道了”,说明达到唯一性充分条件,那么年龄个位数一定不是 2 。
我们都知道Js是单线程语言,即同一时间只能做一件事情,但是为了协调各种事件、用户交互、脚本加载、UI渲染和网络处理等行为,避免主线不阻塞,出现了EventLoop => ==事件循环==也就是我们常说的...通俗的讲 同步就是我强依赖你(对方),我必须等到你的回复,才能做出下一步响应。...即我的操作(行程)是顺序执行的,中间少了哪一步都不可以,或者说中间哪一步出错都不可以,类似于编程中程序被解释器顺序执行一样;同时如果我没有收到你的回复,我就一直处于等待、也就是阻塞的状态。...异步则相反,我并不强依赖你,我对你响应的时间也不敏感,无论你返回还是不返回,我都能继续运行;你响应并返回了,我就继续做之前的事情,你没有响应,我就做其他的事情。...也就是说我不存在等待对方的概念,我就是非阻塞的。
和其他的方法相比她有什么有点?我们为什么要使用它?...一个父元素的所有子元素如果都是浮动的,那么这个父元素是没有高度的;父元素并没有脱离正常的文档流,仍然占据正常文档流的空间; 如果这个父元素的相邻元素是行内元素,那么这个行内元素将会在这个父元素的区域内见缝插针...,找到一块放得下它的地方 如果相邻的元素是一个块级元素,那么设置这个块级元素的margin-top将会以这个父元素的起始位置作为起点。...3.计数器 动态的计算商品的数量,我们经常会借用js来实现;我想告诉css也能实现这个效果,他比js用起来简单多了 ?...那么为什么使用了 :after 伪元素之后就可以实现对齐了呢?
记录下我的学习笔记 标签模板化字面量 啊c这是什么东西听起来好厉害 不说都不知道,这是通过``定义的字符串带有的特性,我们光知道 `${}` 这种用法,却很少有人知道下边这种用法 `\n`....是有编译器的,我蛮怀疑人生的听到这个 L、R代表左侧和右侧,什么玩意儿的左侧和右侧呢?...其实还是有区别的,不知道有没有老哥踩过类似下边这种代码的坑: let max = maxWidth || preferences.maxWidth || 500 当我们认为maxWidth为0是有效的情况下...在JavaScript中Date、Array这些内置类(然而往底下纠的话,原来这些都是构造函数,震撼我一整年)你也肯定耳熟能详。如果你还不知道什么的原型,往下走看一下"什么的原型链"然后回来看看。...Date的prototype,我现在想着是整条原型链出来,首先放张经典的原型链继承关系图,我几乎每篇文章都能看到这个 我们怎么样才能整出条自己的原型继承,其实保持下边两个准则就行: 将儿子原型的__proto
记录下我的学习笔记 原生JS如何获取父节点?...element.parentNode sort()函数详细 sort函数蛮常用,但是我的开发日常也仅限于sort(),还是有必要详细陈列 sort可以接受一个函数 sort((a,b)=>{...我尝试了一下 var array=[-1,1,3,4,6,10]; array.sort((a,b)=>{console.log(a,b);return a-b;}); 1 -1 3 1 4 3 6...该参数可以是数字,使用的是要访问的 URL 在 History 的 URL 列表中的相对位置。(-1上一个页面,1前进一个页面)。...---- Promise的then 我想你对于 promise .then(()=>{ console.log('success'); }) 蛮熟悉 谁知道这玩意儿居然有第二个参数!
记录我的学习笔记,本篇之前都是JavaScript相关的内容 prototype和proto的灵活应用 想必时间戳的各种转换需求大家见到的不算少,有时候封装一个方法非常有必要。...使用上边的方法你会发现,你可以调用一个实例化Date对象的format方法,但是Date.format()是行不通的 这是自然的,想做到Date.format这种看着很像静态方法的操作(实际应用场景中其实没有所谓...当然我们可以用bind函数硬修改this的作用域,这是我觉得非常实用的函数。...return this.apply(obj,arguments); } } 复制代码 这应该是我能想到的实现 bind 最少代码的形式; new绑定 在js中,并没有所谓的类,JavaScript...,而这样一个箭头函数的this实际上并不存在,箭头函数的this来自于它的上一层作用域
我为什么读博,以及我为什么不读博? 研究生三年后,毕业生都做出了自己的选择,一部分人就业,一部分人选择继续深造,不同的路径,同样的都是在探索自己的生涯之路。...所以今天我打算将自己在两边摇摆的理由写下来,述说自己个体经验的过程中,也许也能让理性得到梳理这些繁杂资料的机会吧。 ? 我为什么不读博 1. 就业市场的现状和未来。...我几乎没有在论文的撰写中出现过任何思路的崩塌,我绝不认为那是因为我考虑的比辩论中更仔细,而往往是因为自己根本没有考虑过更深入的问题。为什么当辩论时我们总有说不完的话而在写论文的时候常常感到文思枯竭?...为什么我极少在写论文时感到一股喷薄的倾诉欲? 我想这大多是因为热情,我似乎无法从论文中攫取有如辩论一样的那么多热情,因而哪怕我思考的问题本身再有价值,我也无法比思考一个愚蠢的辩题时表现的更聪明一点。...按照这样的标准,有多少立志读博的人热爱学术呢? ? 我为什么读博 写到这里似乎我马上就要精疲力竭了,因为不断的自我否定后似乎只剩下空虚和自我厌弃。
当然了,bad case分析这块我也聊了很多,多分析能发现其中的端倪,知道模型需要什么,该怎么处理,我再放一遍在这里,希望能好好阅读。...训练层面的分析 BERT的训练其实挺多讲究的,这里的实验效果要保证对参数的有一定的要求,所以大家要多去观察训练过程暴露的问题,训练过程其实就是要观测loss变化、验证集效果等的问题,放置没学到、学飘了之类的问题...类似的思路其实我在这两篇文章里其实都有谈过: 心法利器[44] | 样本不均衡之我见 所以,很多时候你需要的可能是更多地挖掘数据,从日志,从更多渠道去找,这个可能比增强本身要好。...这里背后的逻辑可以参考我这篇文章: 心法利器[45] | 模型需要的信息提供够了吗 训练问题 针对训练问题,其实也就是一个经验的问题了,多弄其实问题就会小很多,大家可以多去看各个论文使用的超参,一般调的差不多基本都不会有的...而文章本身的输出并非是按照这个思路走,而是从一些大家经常问的点深入来讨论,希望能从我的角度和风格来思考和回答问题。
“我”为什么做测试 本篇所指的“我”,其实不光是作者本人,而是大多数从业软件测试的人员。 什么是测试?其实关于测试的名词解释,作者不再进行阐述。...为什么做测试?...也有之前是做产品的、售前的、人力的、客服的、运维的、会计的等等。而且只要把测试理论和用例编写等一些必要的知识点掌握了,还是很好转成测试的,这也就是大家所认为的点点点就行。...对于现在遍地是“自动化测试”的人,招聘的难度也高了些,出了新的名词“测试开发”,当然这个职位也是测试开发职位,难点不再只限于几个脚本,而是要有像开发一样,具有框架思维,开发一整套的系统。...本篇其实没有所谓的指导思想,看似说了一些,但好像什么都没有说,只是单纯的聊聊一些感受,也是想让同行反思一下,为什么要做测试,如何让自己的测试职业发展更好。为什么说如何让自己发展更好?
“但它要到最后才能交付,为什么要假装?” 我完全同意每个任务都应该有一个“Done”的定义,但是定义应该是与任务相关的,确定实际做成什么样算是“Done”可能是需要完成的第一个任务。...弄清楚什么是“Done”并不容易,因为可能客户也不知道“Done”是什么样子。 3Time Box 在 Scrum 实践中,大家总是试图想把所有的事情放在一个时间框中,以便能够一起完成。...我相信团队成员应该互相帮助,我也相信一个团队作为一个团队是成功的。但是我不喜欢用表现好的团队成员为表现差的团队成员遮羞。...我想我的结论已经很明显了,我真的不喜欢“自组织”,因为我看到“自组织”带来了无休止的争论。无论我在哪里,看到的只是团队以相当快的速度拆分重组,却从未看到“自组织”带来任何投资回报。...文档可能对每个 API 都有充分介绍,但仅仅如此你是不知道什么时候为什么使用什么 API 的。
一、前言 做过 Java EE 开发的朋友对 Spring 框架应该很熟悉了,它全面的功能和优秀的设计是得以广泛流行的原因。...它通过灵活使用控制反转、依赖注入和面向切面编程等设计理念,极大的规范了大型应用的架构,降低了模块之间的耦合度,从而提升了应用的开发效率。...在 NodeJS 的世界里,也存在一个全面借鉴 Spring 设计思想的框架,它在 github 上有将近 2w 的 star,npm 的周下载量超过 11w,它就是本文要介绍的 NestJS。...二、与其它框架的对比 市面上 NodeJS 的服务端框架有很多,如Koa、Express、EggJS、Midway等,它们功能都很强大,也有很好的生态,插件非常丰富,为什么还需要Nest呢?...依赖注入最大的作用是代码解耦,依赖的对象根据不同的情况可以有多种实现,如单元测试的时候可以在不改业务代码的情况下将依赖的对象换成 Mock 数据。
为什么不用ANOVA? 因为它局限! ANOVA(Analysis of variance)是Fisher在1918年发明的一种方差分析方法。...独立性是指不同处理之间是独立的. 动植物育种中, 不独立可以定义关系, 比如系谱构成的A矩阵, 比如基因组构成的G矩阵, 这样可以解决不独立的问题....如果方差分析的3个条件都满足,那么用ANOVA是没有问题的,得到的结果和混合线性模型的是一致的。这里我总结了ANOVA和线性模型的关系(图2)。ANOVA在最小枝,可见有多么局限。 ?...为什么要用混合线性模型? 下面说一下线性模型的相对优势,它是怎么解决ANOVA的3大局限的。线性模型一般写成这样: ? ? 是响应变量, ? 是固定效应, ? 和 ?...是随机的随机效应和残差;X和Z是固定和随机效应的关联矩阵。 线性模型的条件是 ? 和 ? 服从均值为0的正态分布。看见没,没有对 ? 有任何限制。针对ANOVA的第2条。 方差不齐怎么办?
在复核的过程中,我又读到了书中让我最有共鸣的一段话:Joel谈为什么公正对程序员很重要。...我不知道别人的情况,我自己喜欢编程,很大的原因就是觉得程序的世界更公平公正,谁对谁错,只要运行一下代码就知道了。...我说"不搞政治"的真正的意思是"不搞恶性的政治"。程序员早就练出了对公正有非常良好的判断力。代码要么能运行,要么不能。坐在那里争论代码是否有问题,这是毫无意义的,因为你可以运行代码,答案自然就有了。...当我说出对MacroMan的负面评价时,我的老板告诉我:"如果火车要出轨,没有东西能够阻挡。算了吧。"但是,我还是不放弃,一再地不断地争论。...那时我刚走出学校,在微软公司中差不多跟谁都没有利害关系,所以,渐渐地,人们开始倾听我的核心观点,MacroMan后来终止开发了。我是谁并不重要,重要的是我是对的。
其实说白了框架就是使用别人造好的轮子。在软件开发里面就是command+C/command+V。 先自我介绍一下,我是一名信管专业的大学生,从我的专业可以看出我就是以后大家嘴里的程序员。...曾几何时,我觉得很兴奋,在如此短的时间内就可以做到这样的高度,让我十分的开心。开发出的内容也完全符合校内应用的需求。我变成了一个别人眼中的“大师”。 但事情并没有往想象的地方发展。...框架用的时间久了之后就发现了一个问题:我真的有学习过吗?我学的内容真的有用嘛,这些框架内的东西能对我今后有帮助吗,当然,这种想法不是一天形成的,还有一个小的故事。...但当有一天在讲授开发经验的时候,当我当着大家的面真的静下心来写我需要展示的一个类的时候,以前用了这么多的框架,我发现在这么多人面前的我已经几乎写不出来一个正确的类了!!...于是我又开始新的一轮学习,看大量的书籍,有一天我重新打开Yii框架在我当时看起来很难理解的代码的时候我发现:我居然有点明白它的工作原理,知道整体的架构了!
但我们在使用 Redis 时,经常时不时会出现访问延迟很大的情况,如果你不知道 Redis 的内部实现原理,在排查问题时就会一头雾水。...如果你的服务请求量并不大,但 Redis 实例的 CPU 使用率很高,很有可能是使用了复杂度高的命令导致的。...同样的,当删除这个 Key 的数据时,释放内存也会耗时比较久。 你需要检查你的业务代码,是否存在写入大 Key 的情况,需要评估写入数据量的大小,业务层应该避免一个 Key 存入过大的数据量。...下面就针对这两块,分享一下我认为比较合理的 Redis 使用和运维方法,不一定最全面,也可能与你使用 Redis 的方法不同,但以下这些方法都是我在踩坑之后总结的实际经验,供你参考。...总结 以上就是我在使用 Redis 和开发 Redis 相关中间件时,总结出来 Redis 推荐的实践方法,以上提出的这些方面,都或多或少在实际使用中遇到过。
关于对延迟脚本的思考 async和defer属性的脚本,相信大家都听说过,但是他的真正执行细节是什么样子的?...红宝书第四版出来后,我也是花了很多时间去看。对于延迟脚本,自己也是做了一个实验,写下了这篇总结 什么是延迟脚本?...,我发现defer永远都是最后下载的) image.png async和defer两种模式,区别在于: async是告诉浏览器,它不会操作dom,可以不必等到它下载解析完后再加载页面,也不用等它执行完后再执行其他脚本...他们都会在浏览器load事件前执行,但是不保证是在DomContentLoad事件前还是后执行 defer肯定在async后面执行,从我的实验结果和书上对它们对解析来看 影响多个异步脚本的执行顺序因素...应该考虑什么场景才使用,而不是滥用它 写在最后 纸上得来终觉浅,欲知此事要躬行,我写得也不一定对,如果你有问题或者更好的答案可以在下面参与讨论,我始终认为有争议和反对的声音是好事
比较AsyncTask、Volley、Retrofit三者的请求时间 使用 单次请求 7个请求 25个请求 AsyncTask 941ms 4539ms 13957ms Volley 560ms 2202ms...Retrofit2.0 完胜 使用 添加依赖 build.gradle compile ‘com.squareup.retrofit2:retrofit:2.0.0-beta4’ 请求范例 以淘宝的ip...,这里表示需要查询的字段为ip //ResponseBody是Retrofit自带的返回类, @GET("http://ip.taobao.com/service/getIpInfo.php...ip") String ip); } ---- 调用接口 //创建Retrofit实例 Retrofit retrofit = new Retrofit.Builder() //当我们的@...map,注解用@QueryMap @GET("url") Call getInfo(@QueryMap Map params); //post的请求参数是放在请求体中的
少年的肩应该担起清风明月和草长莺飞 眼里应该藏下星辰大海和万丈光芒 而当少年已成人 虽已忘却了诗篇和牧笛 但心中偶尔也会渴望那片原野 不管当年的风在不在 他们心中仍保留着少年最灿烂的样子 恰逢儿童节,我们发自心底的问...快乐之余,识别下方二维码 腾讯云AI带你一键回到你的童年时代 「文末有体验海报可转发给家人朋友们一起Pick」 Pick一张AI小姐姐的童年照↓↓↓ Pick完童年照 有必要来了解一下背后的AI技术 “...如《少年》所唱: “我还是从前那个少年,没有一丝丝改变 时间只不过是考验,种在心中信念丝毫未减 眼前这个少年,还是最初那张脸......” 不管几岁,好奇万岁 未来一万年的人类生活会是什么样?...我可能被偷袭了...... | 那个心心念念的盛世美颜来了 | 后疫情时代的智慧旅游景区,从打造入口开始!| 提到盛世美颜,你最先想到的是?...| 一张报销单引发的"吐槽大会" | 初音未来、洛天依、镜音......揭秘虚拟歌姬背后的大BOSS | 抠图,令我苦不堪言! | 戳中打工人的爽点,3步就够了 | AI会是考试作弊的终结者吗?
那么,为什么我要换到Manjaro,这个决定适合你吗? Manjaro的速度超越了Ubuntu ? 出于研究及其他目的,我保留了许多Linux发行版的VirtualBox镜像。...我一直在Ubuntu上使用GNOME,而且如今也在Manjaro中使用GNOME——虽然Manjaro还提供Xfce、KDE以及命令行安装方式。 那么,为什么Manjaro会具备这样的速度优势呢?...我花了两天的时间试图弄清楚我的以太网连接到哪里去了。但它好像销声匿迹了,无论是命令行或图形界面工具中都没有它的任何踪迹。...最终,我发现是我自己的问题,我利用不匹配的软件模块构建了一个VirtualBox,我的错!...同样,每次在新版的Ubuntu发布后,我经常发现常用的应用程序被删除了,或者我依赖的某个应用程序无法正常工作了。为什么每次升级后,我都必须修改fstab中Samba SMB挂载的设置呢?
领取专属 10元无门槛券
手把手带您无忧上云