InfraPub 为您找到相关结果 372

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

博文 2021-01-28 17:50:24 debian.cn

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

发行版)。该版本引入了一系列新功能,包括对多平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享代码,以及多项对语言方面的改进 —— 包括支持在注释中使用数字面量。更多关于 1.2 版本新功能的内容,点此查看。 此外,值得关注的就是协程这个特性了。虽然协程仍然被标记为实验性状态,但官方特意说明了这里“实验性”代表的含义。官方表示协程已经完全准备好用于生产环境,他们也已使用协程进行开发,而且也没发现在使用当中出现任何重大问题。之所以仍保持实验性状态,是为了能够对 Kotlin 继续进行设计迭代。根据目前的计划,Kotlin 1.3 将会删除协程的实验性状态。 Kotlin/Native 对 iOS 开发的支持 另外一个重大消息就是 Kotlin...阅读全文

博文 2017-11-05 19:28:14 debian.cn

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

早在 Ubuntu 诞生之前,作为完全由自有软件成的类 UNIX 操作系统 Debian 凭借着惊人的软件数量、高度集成的软件包、良好的安全等特性成为 Linux 领域的佼佼者。不过如今看来,Debian 的流行度开始大大减弱。 日前,维护 Debian 包近 10 年的开发者 Michael Stapelberg 发文表示,要在维护的 Debian 包中删除自己的姓名,并让这些包自生自灭,彻底放手 Debian,而这究竟是何原因使得 Debian 惨遭嫌弃? 作者 | Michael Stapelberg 译者 | 弯月 责编 | 屠敏 出品 | CSDN(ID:CSDNNews) 以下为译文: 这篇文章我写得十分艰难,一来是感情上的纠结,二来是我没有时间。因此,在阅读本文时请注意,我...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

深入理解Golang之context

?其实可以想象一颗树,树的每个节点可能携带一键值对,如果当前节点上无法找到key所对应的值,就会向上去父节点里找,直到根节点,具体后面会说到。再来看看context包中的其他关键内容。emptyCtxemptyCtx是一个int类型的变量,但实现了context的接口。emptyCtx没有超时时间,不能取消,也不能存储任何额外信息,所以emptyCtx用来作为context树的根节点。// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type...阅读全文

博文 2021-01-27 09:05:27 知乎

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

上的延伸。"之前的PCIe解决了电脑系统与周边设备的数据传输问题,UCIe解决的是小芯片和小芯片,封装片上独立模块与模块之间的数据传输问题,如果没有统一的电气信号标准,就不会形成多家企业共同完成系统集成的生态合作,如果没有合作,入局Chiplet的单个企业就很难完成行业发展所需的生态建设。"刘宏钧说到。王宏波也表达了同样的观点,"PC时代,英特尔主导建立的x86体系就有一系列标准,例如:PCIe标准,可以让其他家的产品能够同英特尔的CPU分工协作,x86体系的一系列标准,构建了整个PC时代的硬件体系,到了Chiplet时代,其实是将PC时代建立生态体系的逻辑缩小复刻到芯片中,Chiplet作为一个芯片合,也需要靠UCIe标准将不同公司的芯片设计方便的合在一个芯片中,通过这种方式建立生态并...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

] = int0(this.counter); for (byte b : bytes) { buf.append(String.format("%02x", new Object[]{Integer.valueOf(b & 0xFF)})); } return buf.toString(); } 上面这种模式存在比较大的性能问题。byte 数转换为 16进制字符串性能最好的代码: private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray(); private String toHexString2() { //这一步获取到bytes数,和上面的操作相同,单独抽离出来。 byte[] bytes...阅读全文

博文 2022-03-11 10:05:09 博客园

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

influxdb内存消耗分析及性能优化【探索篇】

influxdb在内存中引入了大量文件,在内存充足时,会占用较多的空间,用于提高程序读取性能。5.SMP与NUMA?cpu硬件体系架构可以分为:SMP(Symmetric Multi-Processor)/UMA(Uniform Memory Access)模式SMP架构,所有的CPU争用一个总线来访问所有内存,优点是资源共享,而缺点是总线争用激烈。 实验证明,SMP服务器CPU利用率最好的情况是2至4个CPUNUMA(Non-Uniform Memory Access)模式NUMA架构引入了node和distance的概念。对于CPU和内存这两种最宝贵的硬件资源, NUMA用近乎严格的方式划分了所属的资源(node),而每个资源内的CPU和内存是几乎相等。在influxdb服务器上,查看当前cpu及...阅读全文

博文 2021-10-27 16:06:30 知乎

Monit:开源服务器监控工具

服务(service)。看监控语法: check <类型> <服务名> [PATH ] [ADDRESS ] 其中类型是monit支持的监控类型,一共有:system、file、process、fifo、filesystem、directory、host、network、program。服务名必需是英文且唯一,不可以出现重复!后面的带[]是根据类型需要添加的。 服务类型语法 每个服务条目由关键字成check,后面是服务类型。每个条目需要唯一的描述性名称,可以自由选择。此名称由Monit用于在内部和与用户的所有交互中引用该服务。 目前,支持九种类型的检查语句: 进程 CHECK PROCESS 阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

类的价值观)。风险在于,有人担心懂得“自我改进”的AI有可能会像科幻小说描写的那样,擅自改动代码或修改优化算法。 我深信,真正有利于促进人类和经济的前行的,是一个能够推动科学进步的社会架构。我们能从这样的社会架构中获益很多。 Audience Member:像GPT-3这样的基础模型会如何影响生命科学研究的步伐?生命科学研究中有没有一些技术手段无法克服的限制因素,比如自然规律等? Sam Altman:目前的可用模型还不够好,不足以对生命科学领域产生重大影响——不少生命科学家了解这些模型之后都说,它们只能在部分情况下发挥些许作用。AI在基因学领域有一些很有前景的应用方向,但目前尚属起步阶段,不过我很看好。我认为这也是市值千亿的巨头准备进军的领域之一。 如果AI未来真的可以让医药公司的研发速...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

技术部门的 SEO 规范

、Description标签、H1文字按格式自动生成缺省版本,但系统需要给SEO部门预留人工填写功能。一个页面只使用一次H1。栏目页面Title缺省格式:二级栏目名称 – 一级栏目名称 – 网站名称栏目页面翻页Title缺省格式:二级栏目名称 – 一级栏目名称 – 网站名称 – 第X页产品页面Title缺省格式:产品名称 – 网站名称栏目页面H1缺省格式:一级栏目名称 – 二级栏目名称产品页面H1缺省格式:产品名称Description标签从栏目或产品说明文字第一段截取长度20字以上、70字以下的完整句子。产品页面如果有格式化数据,Title和Description标签可以充分利用,使其成通顺可读的句子。除非SEO部门另行要求,页面不使用Keywords标签。除非SEO部门另行要求,所有链接使用HTML代码链接...阅读全文

博文 2019-03-28 13:58:51 debian.cn

Java Annotations详解

(@Deprecated修饰)的方法时。 创建你自己的注释 创建自己的注释是有可能的。注释被定义在它们自己的文件中,就像Java中的类或接口一样。下面是一个例子: @interface MyAnnotation { String value(); String name(); int age(); String[] newNames(); } 这个例子定义了一个包含四个元素的叫MyAnnotation的注释。 注意,每个元素的定义都很像接口中的方法定义。你可以使用原始数据类型定义元素的数据类型,你也可以使用数定义元素的数据类型。但是不能使用复合对象(Complex Object定义元素的数据类型。 要使用上面自定义的注释,可以这样做: @MyAnnotation( value="123", name...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

隐私声明

加公共论坛讨论或直接联系本网站),在您的同意及确认下,我们可能会以线上或线下注册表格的形式要求您提供如下个人资料和信息: • 具体信息,比如姓名,年龄,出生日期,电子邮箱,手机号码等; • 一般性信息,比如您的性别,年龄,职业,兴趣爱好等; • 仅在特定情况下(比如您需要付费才能享有的服务或产品,或参加本网站参与或织的抽奖或竞赛活动),我们会要求您提供个人付款信息和身份证件信息,比如信用卡号码或身份证及护照号码。 我们自动收集的信息。 当您浏览本网站时(不管是否注册或登录),本网站可能自动收集与您相关的如下信息: 请注意,本隐私权声明不适用于任何向您提供服务的第三方主体,包括那些可能向本网站披露信息的第三方。 您的浏览器类型和浏览器语言、操作系统类型、宽...阅读全文

成为Debian社区维护人需要做好的准备

)而自发织的,致力于满足各种各样的用户需求,并执着于追求其自身所信仰的“软件自由”。参阅 Debian Social Contract(Debian 社会契约),DFSG(Debian 自由软件指导方针) 和 Debian Constitution (Debian 宪章)。 申请成为 Debian 开发人员需要经历一些看似繁琐的过程,尤其是申请 Debian Developer 所需要经历的 NM Process,笔者认为来者难免会望而生畏,不胜其烦。如果你有这样的感觉,不妨看看这个幻灯片:Debian New Maintainer Process: History and Aims by bubbles, moray and daf. 原文地址:http://blogs.gnome.org...阅读全文

Go 语言的大版本更新:Go 2.0 安排上了

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响设计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以收集特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员成的委员会定期审查、分类和决定社区提交的提案。这个流程十分有效,但作为该过程的一部分,他们忽略了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

三个技巧 大幅减少 Docker 镜像体积

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

博文 2018-09-06 10:50:29 debian.cn

理解 Linux 的虚拟内存

前不久内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,一些概念还...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Gitlab CI 配置文件 .gitlab

: 1 week dependencies GitLab 8.6 和 GitLab RUnner v1.1.1引入。 这个功能应该与artifacts一起使用,并允许定义在不同jobs之间传递artifacts。 注意:所有之前的stages都是默认设置通过。 如果要使用此功能,应该在上下文的job中定义dependencies,并且列出之前都已经通过的jobs和可下载的artifacts。你只能在当前执行的stages前定义jobs。你如果在当前stages或者后续的stages中定义了jobs,它将会报错。可以通过定义一个空数是当前job跳过下载artifacts。 在接下来的例子中,我们定义两个带artifacts的jobs,build:osx和build:linux。当test:osx...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

2017 年会是 Serverless 爆发之年吗

定运行。通过以一种松散编排的方式将函数和服务合起来,能够构建易于理解、易于管理的复杂后端系统。 为 lambda 等计算服务编写的代码应该以无状态方式进行构建,这样会让无状态功能很强大,让平台得以迅速扩展,处理数量不断变化的请求或者事件。 设计基于推送的、事件驱动的管道可以构建满足任何用途的服务器架构。系统可以一开始就构建成无服务器,也可以逐步设计现有的单体型应用程序,以便充分发挥这种架构的优势。最灵活、最强大的无服务器设计是事件驱动型的。 构建事件驱动的、基于推送的系统常常有利于降低成本和系统复杂性,但是要注意,并不是任何情况下都是适当的或者容易实现的。 创建更强大的前端由于 Lambda 的定价基于请求数量、执行时间段以及分配的内存量,所以代码执行需要越快越好。数据签名的令牌让前端可以...阅读全文

博文 2021-01-28 17:50:27 debian.cn

21款必不可少的Ubuntu桌面应用程序

。 19. Unity Folders启动器织整理 Unity Folders是一款恰如其名的应用程序,它让你可以在Unity启动器上创建可点击的文件夹。 如果你想不必打开Unity Dash,就可以根据类型(“游戏”、“办公”、“社交”等)管理最常用的应用程序,它再理想不过了。你可以定制文件夹图标(或根据里面的应用程序,自动生成图标),同时还可以对现有的文件夹进行编辑、重新排列、更名及其他操作。 20. Clementine音乐播放器 我在开始撰写本文时,就相信自己不会列出可替代Rhythmbox的其他任何音乐播放器,就因为很少有播放器像它那样提供强大的功能。 21. Go For It任务管理器 Ubuntu不再随带一款还不错的笔记应用程序(它过去随带Tomboy),但要是没有这样一种工具...阅读全文

博文 2021-01-28 17:50:19 debian.cn

协议介绍之深入了解 gRPC

发显得捉紧见拙,我们急需另一套更好的协议来构建我们的服务,于是就有了 HTTP/2。 HTTP/2 是一个二进制协议,这也就意味着它的可读性几乎为 0,但幸运的是,我们还是有很多工具,譬如 Wireshark, 能够将其解析出来。 在了解 HTTP/2 之前,需要知道一些通用术语: Stream: 一个双向流,一条连接可以有多个 streams。 Message: 也就是逻辑上面的 request,response。 Frame::数据传输的最小单位。每个 Frame 都属于一个特定的 stream 或者整个连接。一个 message 可能有多个 frame 成。 Frame Format Frame 是 HTTP/2 里面最小的数据传输单位,一个 Frame 定义如下(直接从官网...阅读全文

博文 2017-06-22 11:08:48 debian.cn

HTTP状态码详解

含所有本应该返回200响应中应当返回的所有实体头部域。 假如 ETag 或 Last-Modified 头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容合在一起。 任何不支持 Range 以及 Content-Range 头的缓存都禁止缓存206响应返回的内容。 207 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 3xx 重定向 这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。 当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才...阅读全文

博文 2021-01-28 17:50:11 debian.cn