而容器中也是由init进程直接或间接创建了Namespace中的其他进程。 linux信号 而为什么不能在容器中kill 1号进程呢?进程在收到信号后,就会去做相应的处理。...在没有别的参数时这个信号类型默认为SIGTERM,是可以被捕获的 SIGKILL(9) Linux 里两个特权信号之一,不能被忽略也不能被捕获。进程一旦收到 SIGKILL就要退出。...运行命令 kill -9 1 里的参数“-9”,就是指发送编号为 9 的这个 SIGKILL 信号给 1 号进程。 为什么在容器中不能kill 1号进程? 对于不同的程序,结果是不同的。...如果信号被忽略了,那么 init 进程就不能收到指令了。 想要知道 init 进程为什么收到或者收不到信号,就要去看 sig_task_ignored()的实现。...0000000000004000 [root@043f4f717cb5 /]# kill 1 # docker ps CONTAINER ID IMAGE COMMAND CREATED 重点总结 “为什么我在容器中不能
虽然一天的工作头昏脑胀,但是仍然放不下我心心念念的前端啊,扶我起来,我还可以学~ 学习喜欢的事情,也是一种放松,come on! 上篇文章讲了 Vue 的一些基础概念,语法。今天上些难度。...1.实例生命周期 如同人的生老病死,实力对象也有其本身的生命周期。当我们深入了解每一个阶段之后,才会在合适的阶段添加合适的功能。那么如何在合适的阶段完成所需需求呢?那就用到了生命周期钩子。...类比 Flask 中的请求钩子,Django 中的中间件,不知这样说你是否更好理解。...,从而做相应的操作,侦听属性是一个对象,它的键是要监听的对象或者变量,值一般是函数,当你侦听的元素发生变化时,需要执行的函数,这个函数有两个形参,第一个是当前值,第二个是变化后的值。...,在这之前,变量声明是用 var 关键字,这两个关键字和 var 的区别是,它们声明的变量没有预解析,let 和 const 的区别是,let 声明的是一般变量,const 申明的常量,不可修改。
我为什么读博,以及我为什么不读博? 研究生三年后,毕业生都做出了自己的选择,一部分人就业,一部分人选择继续深造,不同的路径,同样的都是在探索自己的生涯之路。...所以今天我打算将自己在两边摇摆的理由写下来,述说自己个体经验的过程中,也许也能让理性得到梳理这些繁杂资料的机会吧。 ? 我为什么不读博 1. 就业市场的现状和未来。...按照这样的标准,有多少立志读博的人热爱学术呢? ? 我为什么读博 写到这里似乎我马上就要精疲力竭了,因为不断的自我否定后似乎只剩下空虚和自我厌弃。...重要的是我们不能看不见它,重要的是我们不能看见它却熟视无睹,然后像堂吉诃德一样带着理想的骑士精神向它发起“勇敢”的冲锋。...我喜欢做本专业的学术吗?真是如痴如醉的喜欢吗? 2. 我具备从事学术的能力和资质吗?我能够保证自己能够给这一学科带来真正的贡献吗?如果不能,我是否依然能从治学本身中得到快乐? 3.
刚刚接触爬虫的同学常会遇到这样的疑问: 为什么网页上面有的信息,我用代码抓下来的里面就没有,也没有报错?...除开请求本身失败或被反爬的情况外,通常这种问题的原因其实是: 页面上本来就没有你要的内容! 那么网页上的内容是哪里来的?...现在绝大多数网站的内容并非直接通过你访问的 URL 请求直接返回,而是会通过一种叫做 AJAX 的方法,在页面的基本框架加载完毕后,再通过其他的请求向后台服务器再次请求获取的。...具体细节我不展开了,你可以网上去按我给到的关键字去搜索相关内容,下次我也会专门发下这方面的讲解文章。 那开发者工具里为什么又会在代码里显示出这些内容呢?...这是因为开发者工具的元素(Elements)项显示的并不是网页的原始代码,而是浏览器将页面加载并渲染后的结果,它里面包含了异步请求拿到的数据和前台JS代码执行后对页面内容的修改。
但如果有一天,你发现我写了这样一个类: class People: def say(self): print(f'我叫做:{self.name}') def __new...__(self): raise Exception('不能实例化这个类') kingname = People() kingname.say() 一旦初始化就会报错,如下图所示:...一个不能被初始化的类,有什么用? 这就要引入我们今天讨论的一种设计模式——混入(Mixins)。 Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。...显然,这样写会报错,因为两个类的实例是不能比较大小的: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指的某人的年龄比另一人年龄大。...混入: 不能包含状态(实例变量)。 包含一个或多个非抽象方法。 参考资料 [1]钻石继承: https://en.wikipedia.org/wiki/Multiple_inheritance
最近见不少人博客都发了关于网页抓包的教程,然后也激起了我的兴(zhuang)趣(bi),就诞生了这篇文章 也刚刚好前段时间,我的歌单对接酷狗的API失效了,趁机修复下,顺便撸个图文教程。...——来自基佬百科 我们这里讲的是对网页传输的数据进行截取,并不涉及重发、编辑等影响网络安全的操作。...目的: 解析酷狗歌曲直链 - 修复我的歌单 目标网站: http://t.kugou.com/1md5hf5t8V2 酷狗我的歌单分享短网址 使用工具: 谷歌浏览器F12(或 Ctrl +...手机版则是返回json Preserve Log:作用是在页面跳转后保留之前的日志 左上角的手机标志:切换当前浏览界面的UA为手机UA image.png 输入网址回车访问,网页发生跳转 image.png...继续查看抓包日志 image.png 带上歌曲的hash值即可获取到歌曲的相关信息和直链(hash值在前边的歌曲列表中已经返回了) image.png 总结: 短网址 -> 网页链接参数 -
当然了,bad case分析这块我也聊了很多,多分析能发现其中的端倪,知道模型需要什么,该怎么处理,我再放一遍在这里,希望能好好阅读。...至于训练集,首先要说的是训练集内部的问题,其实还是数据的数量和质量问题: 学习资料和练习题要足够,才能让模型学得会,学得好。 数据分布问题,不能偏科,各个类型的数据最好都能覆盖。...这里背后的逻辑可以参考我这篇文章: 心法利器[45] | 模型需要的信息提供够了吗 训练问题 针对训练问题,其实也就是一个经验的问题了,多弄其实问题就会小很多,大家可以多去看各个论文使用的超参,一般调的差不多基本都不会有的...首先要做基线,一般是考虑折腾这个CLS,而在下游加插件的时候,也要注意不能让BERT模型被学走,注意调整学习率、trainable,同时也可以结合MLM任务来维持模型的稳定,平衡BERT原有的基础知识与实际场景问题的差距...而文章本身的输出并非是按照这个思路走,而是从一些大家经常问的点深入来讨论,希望能从我的角度和风格来思考和回答问题。
下面整理出一些常用的性能优化要点,同时再罗列一下雅虎军规、2-5-8原则、3秒钟首屏指标这三个常用规则的要点。...加载完成后,用户交互使用时也需注意性能 ❝「加载优化」 ❞ 「减少HTTP请求」:尽量减少页面的请求数(「首次加载同时请求数不能超过4个」),移动设备浏览器同时响应请求为4个请求(「Android支持...」) 缓存一切可缓存的资源 使用长缓存 使用外联的样式和脚本 「压缩代码」:减少资源大小可加快网页显示速度,对代码进行压缩,并在服务器端设置GZip 压缩代码(多余的缩进、空格和换行符) 启用Gzip...「无阻塞」:头部内联的样式和脚本会阻塞页面的渲染,样式放在头部并使用link方式引入,脚本放在尾部并使用异步方式加载 「首屏加载」:首屏快速显示可大大提升用户对页面速度的感知,应尽量针对首屏的快速显示做优化...」:过多的font-size影响CSS树的效率 「值为0时不需要任何单位」:为了浏览器的兼容性和性能,值为0时不要带单位 「标准化各种浏览器前缀」 无前缀属性应放在最后 CSS动画属性只用-webkit
题图摄于广州番禺 本文记录一次关于隐私保护的事情。 近日,我去了趟某运营商的营业厅,开通一个新的手机号。入门时,扫了场所码,显示的是绿码。...营业员在帮我办理业务时,除了拍照我的身份证件外,还说要留存我的健康码和行程码。...这个要求就有点奇怪了,尽管我两个码都是正常,但作为从事隐私信息保护工作的我,对涉及自己隐私数据的事情,觉得还是要和他掰斥一下。 首先,我问他为什么需要留存我的两码?...因为我进营业厅的时候扫过各种健康码的,我于是给他扣了个大帽子:过度防疫(另一个类似的帽子是“层层加码”)。...因为我清楚地记得,行程码在使用时,用户只授权了用于防疫目的。至于其他目的,对不起,我没授权你用,就算你的理由多么冠冕堂皇,也不能随便给你。 至于他们留存我的健康码,更连个正当的理由都没有。
“我”为什么做测试 本篇所指的“我”,其实不光是作者本人,而是大多数从业软件测试的人员。 什么是测试?其实关于测试的名词解释,作者不再进行阐述。...为什么做测试?...也有之前是做产品的、售前的、人力的、客服的、运维的、会计的等等。而且只要把测试理论和用例编写等一些必要的知识点掌握了,还是很好转成测试的,这也就是大家所认为的点点点就行。...当然不是,其实有关注职位招聘的小伙伴就知道了,基本的要求就是点点点,即对业务操作能力的理解与基础测试工具的使用,之后就是稍微高级点的,早些年大家都在冲“自动化测试”、“性能测试”这样的名词,尤其是自动化...本篇其实没有所谓的指导思想,看似说了一些,但好像什么都没有说,只是单纯的聊聊一些感受,也是想让同行反思一下,为什么要做测试,如何让自己的测试职业发展更好。为什么说如何让自己发展更好?
“但它要到最后才能交付,为什么要假装?” 我完全同意每个任务都应该有一个“Done”的定义,但是定义应该是与任务相关的,确定实际做成什么样算是“Done”可能是需要完成的第一个任务。...而 Scrum Master,他只能“温柔”地向管理层解释,这个 Sprint 的工作已经确定了,不能改了,拯救这条船的机会将会出现在一周半后的 Sprint Review 会议上,在此之前,你的双脚必须得忍受这些不舒服的海水...我相信团队成员应该互相帮助,我也相信一个团队作为一个团队是成功的。但是我不喜欢用表现好的团队成员为表现差的团队成员遮羞。...事实上,对于“我们需要写什么文档”,我有一个经典回答:如果你下次不能轻松地理解这段代码,那么就把你理解到的东西都写入文档。...文档可能对每个 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后来终止开发了。我是谁并不重要,重要的是我是对的。
缘起 前几日,boss让我做个五彩斑斓黑风格的h5,好家伙,我打算直接用Flutter给他梭哈前端,很帅啊,但悲剧的是误打误撞写了个病毒网页,我giao~~~,大意了?...我误打误撞写出来的东西就是这玩意,不过并没有广告弹窗,只是用户永远返回不了上一页~ 先来个正大光明的围观地址( 放心,无毒无害,已处理?...Flutter会动态在当前网页地址的后面加上'#/',我现在的需求是当网页地址被加上小尾巴时,动态去给他remove掉,防止用户分享的网页地址出错。...然后,之前我看到有个 vue 路由跳转的例子是这样动态改变当前网页地址的: window.history.pushState(null, null, 'index.html'); 好家伙,我直接拿来做了个死循环去动态监听当前网页地址有没有变小尾巴..., null, 'index.html'); 这里的 window.history.pushState() 方法,从字面意义上就知道它是把当前网页历史push到了下一页,其实我只需要replace一下当前的网页地址就好了
曾几何时,我觉得很兴奋,在如此短的时间内就可以做到这样的高度,让我十分的开心。开发出的内容也完全符合校内应用的需求。我变成了一个别人眼中的“大师”。 但事情并没有往想象的地方发展。...在使用PHP开发网页应用的时候,作为著名的Yii框架,网页有大量代码可以供我复制黏贴,我用的很爽,能在短时间内开发出项目,bootstrap也可以帮助我在短时间内拼接出一个像样的网站,也当上了校内某组织软件开发部的负责人...但当有一天在讲授开发经验的时候,当我当着大家的面真的静下心来写我需要展示的一个类的时候,以前用了这么多的框架,我发现在这么多人面前的我已经几乎写不出来一个正确的类了!!...于是我又开始新的一轮学习,看大量的书籍,有一天我重新打开Yii框架在我当时看起来很难理解的代码的时候我发现:我居然有点明白它的工作原理,知道整体的架构了!...如今的框架图.png 之后的工作就是让框架更加的丰满,不敢说比得上一些主流的框架,说实话根本不能够和他们相比,无论从结构、思考还是思考上,编出主流框架的他们才是真正的大师。
如果你的服务请求量并不大,但 Redis 实例的 CPU 使用率很高,很有可能是使用了复杂度高的命令导致的。...同样的,当删除这个 Key 的数据时,释放内存也会耗时比较久。 你需要检查你的业务代码,是否存在写入大 Key 的情况,需要评估写入数据量的大小,业务层应该避免一个 Key 存入过大的数据量。...所以在部署 Redis 进程时,如果需要开启 RDB 和 AOF 重写机制,一定不能进行 CPU 绑定操作!...下面就针对这两块,分享一下我认为比较合理的 Redis 使用和运维方法,不一定最全面,也可能与你使用 Redis 的方法不同,但以下这些方法都是我在踩坑之后总结的实际经验,供你参考。...总结 以上就是我在使用 Redis 和开发 Redis 相关中间件时,总结出来 Redis 推荐的实践方法,以上提出的这些方面,都或多或少在实际使用中遇到过。
比较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会是考试作弊的终结者吗?
领取专属 10元无门槛券
手把手带您无忧上云