InfraPub 为您找到相关结果 599

Linux 5.11窗口合并期今天结束 引入大量新特性

持,图形驱动中的异步翻页,用于缓解射频干扰的新 "RFIM "驱动,围绕Rocket Lake和Alder Lake的新设备ID,WiFi驱动内的WiFi 6GHz频段支持,以及其他工作。 在 AMD 方面,主要围绕着改进电源管理和传感器处理,CPU 帧率频率不变性支持(虽然与 Schedutil 在一些系统上处于糟糕的状态),AMD 传感器融合枢纽驱动程序终于被合并,以支持Ryzen笔记本电脑上的传感器功能,以及其他各种改进。 Linux 5.11 还为不知名的设备提供了新的硬件支持,从失败的 OUYA 游戏到 Guitar Hero Live PS3 / Wii U 扩展坞。 改进内容如下: 处理器: - 经历了 40 多轮的代码审查之后终于整合了 Intel SGX enclaves...阅读全文

博文 2020-12-28 10:14:35 debian.cn

Linux 进程 PID 编号最大为多少

文件的默认值32768,与早期内核的PID范围相同。 在32位系统中,32768是pid_max的最大值。64位系统,pid_max最大可达2^22。(PID_MAX_LIMIT,约4亿)。 到达极限的情况: 1、当 PID 达到上限后,内核会从 0 重新开始寻找可用的 PID 并分配。 2、而所有 PID 均已被占用的话,则将抛出 fork failed: Resource temporarily unavailable 提问者所说的最大值应该只是发行版设置( CentOS 8.0 64 位上为 400w 左右)。通过上述Linux手册中的说明,我们也可以通过修改 /proc/sys/kernel/pid_max 的值来调整 pid 取值范围。 在 Debian 10 的器上,这个文件的...阅读全文

博文 2021-01-12 11:47:15 debian.cn

取代TCP:工程师宣布QUIC协议已完成RFC 9000发布

访问:天猫6·18 “开门红”超级红包活动主会场 | 手版京东6·18“京享红包”25日12点开始领取 最大面额高达18618元 (图 via Orozco 2018)据悉,工程团队中有三位核心成员,且他们对 QUIC 的承诺深信不疑。其中包括 IETF QUIC 工作组只需 Mark Nottingham,协议主要贡献者兼 quicly 创作者 Kazuho Oku,以及核心文档集编辑、杰出工程师 Jana Iyengar 。最新消息是,互联网工程任务组(IETF)已经发布了 RFC 9000,且得到了 RFC 9001 / 9002 / 8999 支持,意味着 QUIC 已从草稿阶段转向了 1.0 正式版。与此同时,基于 QUIC 的 HTTP/3 也有望紧随其后很快发表。对于...阅读全文

总结系统设计中的33个黄金法则

Refer to https://www.linkedin.com/pulse/system-design-rules-navneet-kumar-p6n7f/ 系统设计很复杂,它需要设计者有深厚的计算知识和专业知识,没有一种通用的设计可以适应所有业务场景。尽管如此,还是有一些比较通用的规则可以供你设计系统时参考,也能帮助你在面试中摆脱困境。 1. 对于数据密集型系统 — 考虑使用缓存。 2. 对于写入量大的系统 — 使用消息队列进行异步处理 3. 对于低延迟要求 — 考虑使用缓存和 CDN。 4. 需要𝐀原子性、𝐂一致性、𝐈隔离性、𝐃耐用性兼容数据库 — 选择 RDBMS/SQL 数据库。 5. 对于非结构化数据——可以选择NoSQL...阅读全文

岗位需求: CTO

工作规范和工作流程,并跟踪开发过程实际合规性; 8. 指导. 审核项目总体技术方案,对各项目进行最后的质量评估; 9. 负责技术团队建设和管理,注重人才培养和营造创新的研发文化; 10. 完成各项技术工作相关数据统计分析报告,并据此对公司发展提出合理化建议。 ** 岗位要求:** 1. 本科及以上学历,计算. 软件工程相关专业,互联网行业优先考虑; 2. 10年及以上技术研发. 软件开发相关行业工作经验,5年以上互联网行业技术研发团队管理经验, 精通基于Java. PHP等语言的开发,熟悉服务端软件架构设计与开发流程;有互联网CTO或技术总监工作经验,带过百人以上团队; 3. 熟悉互联网领域业务,深刻理解产业发展方向,具备敏锐准确的洞察力和缜密的逻...阅读全文

Go 泛型的括号选择:[ ] or ( )

Go 语言设计者 Robert Griesemer 和 Ian Lance Taylor 近日在 Golang 官方论坛发帖讨论关于泛型及其括号使用的问题。 他们提到很多人表达了对泛型语法的担忧,特别是在类型参数声明和函数实例以及泛型的括号选择方面。 常见的计算键盘提供了四对单字符对称括号,分别是小括号 ( )、方括号 [ ]、花括号 { } 以及尖括号 < >。基于此,他们解释了目前泛型草案在示例代码中使用小括号的原因。首先,Go 使用花括号来划分代码块、复合字面量(composite literals)和一些复合类型,因此几乎不可能在没有严重语法问题的情况下将花括号用于泛型。至于尖括号,解析器在某些情况下要求 <> 需要 unbounded lookahead。 所以只剩下...阅读全文

博文 2020-07-16 10:38:01 debian.cn

提问的智慧(精简版)

骤,以及器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。如果程序有诊断选项(如 -v --verbose --debug LOG_LEVEL=DEBUG 的详情指令),试着选择这些能在记录中增加调试信息的选项。记住,多不等于好。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。如果你的说明很长,在开头简述问题,接下来再按时间顺序详述会有所帮助。描述目标而不是过程如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。😒 BAD | 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值?😊 GOOD| 我正试着...阅读全文

博文 2023-10-07 15:02:42 infras

Open Source Initiative 批准四个新的开源许可证

Licence (OHL) 系列许可证已审议通过获得批准。OHL 系列共包含三个许可证,三个许可证都主要是针对开放硬件的,这是一个类似于开源软件的开放访问领域,硬件和软件之间的界限已经相当模糊,因此在项目中只应用单独的硬件或软件许可证已经变得越来越困难。CERN 着手制作一个能确保硬件和软件自由的许可证。 放在以前,OSI 可能不会考虑在其开源许可证列表中加入开源硬件许可证,但如今开源领域已经发生了改变。因此,虽然 CERN 的许可证中的措辞包含了很多硬件概念,但它也符合开源软件许可证的所有审核资格。而且,OHL 许可证在近期已被一个国际研究项目采用,该项目正在构建一个简单、易于复制的呼吸,用于 COVID-19 患者。 CAL 和 CERN 的 OHL 许可证主要用于特殊领域,OSI 不建议在其特定...阅读全文

博文 2021-03-01 10:44:35 OSChina

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

Linux”。同时,这一发行版既模块化又针对现代器进行优化。 更具体地说,Serpent 将会是一个“真正现代化的 Linux 发行版”(A Truly Modern Linux Distribution),它将采用发行优先、兼容性更高的设计决策。同时还将把过去十年左右的时间里更明智的设计改进纳入 Linux 发行版设计中: 不再拆分 usrbin整个过程均采用 100% 的 clang 编写(包括内核)musl 作为 libc,依靠编译器优化而不是内联 asmlibc++ 代替 libstdc++LLVM 的 binutils 的变种(lld、as等)混合源/二进制分发从x86_64-generic通用基线转向新的 CPU,包括针对 Intel 和 AMD 的优化程序包管理器中基于功能的订阅(硬...阅读全文

博文 2020-07-12 09:08:23 debian.cn

Kubernetes调度算法浅析

etcd数据库中。kube-scheduler通过api-server查看有哪些可用的pod。kube-scheduler通过一组算法过滤掉一部分不可用的pod或者node节点。kube-scheduler再通过更加严格的打分制对所有的可用pod进行打分。通过打分选出分数最高的pod,并将pod进行绑定之后存储在etcd中。node节点的kubelet接收到api-server指令进行pod创建。 kube-scheduler的预选(过滤)规则 kube-scheduler首先通过以下规则对所有node节点或者pod进行初步的过滤。 kube-scheduler的优选(打分)规则 在经过重重过滤之后,剩下的都是K8S集群可用的pod和node节点。之后kube-scheduler会根据另一套规则...阅读全文

博文 2020-12-20 11:01:10 debian.cn

2017年的Linux内核防护依然脆弱

,RedHat 网站上所谓的 "Under Investigation" 只是继续等待 Linux 主线内核的修复,或许要让 Linux 内核安全有所改善我们需要更多的 stack clash 和 DirtyCow 持续曝光。 因为利益的关系,Linux 基金会对自由软件社区和 GPL 已经非常不友好,虽然 Greg K-Hartman 一直强调 Linux 基金会是一个非盈利组织,但一个 NGO 的 CEO 为什么有高达 49 万美金(2014 财年)的年薪,也没人知道为什么 Greg 本人会有 Google 的邮箱(拿 Linux 基金会和 Google 双薪水?),Linux 内核本来有一次改善安全的会,可惜 Linux 基金会的市场 PR 需求搞砸了整件事。HardenedLinux 社区在这...阅读全文

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

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

。 - 大容量:支持扩展的内存寻址功能。 - 支持即插即用:在电脑开时可以直接插入标准的双列内存插槽,并立刻与同一总线上的DDR内存交互操作。 NVDIMM-P的主要特征: - 与现有DDR通道完全兼容,包括物理接口、电气性能、协议、时钟。 - 保证为下一代CPU插槽增加的针脚尽可能少。 - 协议支持数据读取时的不确定延迟。 - 确保数据在非易失内存中的事务性操作。 - 从NAND到DRAM多种延迟模式的支持(在模块级别)。 - 内存本身具备高可靠性、链路错误保护功能。 事实上,NVDIMM是一个系列标准,除了这里说的NVDIMM-P,还有NVDIMM-F、NVDIMM-N、NVDIMM-H。 NVDIMM-F本质上就是DDR接口的SSD固态盘,只使用NAND闪存,优点是延迟低(纳秒级别)、带宽高...阅读全文

不可变基础设施 (immutable infrastructure) - 云原生定义解析

(对于大中型,甚至重启都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升级,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时候,难以重新构建服务。持续过多的手工操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

Go 泛型草案更新,明年8月Go 1.17引入

会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行重大更改,那么下一步将是正式的语言变更提案。 为了保证符合预期,如果每个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以...阅读全文

博文 2015-07-25 16:33:04 debian.cn

DPDK Graph Pipeline 框架简介与实现原理

node。graph 作为调度 node 的全局数据结构,而 node 则是用来封业务逻辑。 Graph 3 个node; 1 个 source node (源节点)和 2 个 node (非源节点)的 graph 结构 上图显示了具有 3 个节点的 graph 结构,包含以下关键组件: graph_list 存储所有创建成功的 graph。如果 graph 创建成功,graph 会被添加到 graph_list 中。与传统的 main loop 设计相比(把函数直接挂载到 CPU 核上),用户可以透过这种管理模式把 graph_list 中的 graph 映射到不同的 CPU 核上。 graph->node_list 每个创建成功的 graph 中的 node_list 都包含了先前添加到...阅读全文

博文 2023-02-09 07:13:55 掘金

如何使用 journalctl 清理 journal 日志

#TTYPath=/dev/console MaxLevelStore=warning MaxLevelSyslog=warning MaxLevelKMsg=warning MaxLevelConsole=info #MaxLevelWall=emerg #LineMax=48K 配置目录及其优先级 默认设置是在编译期间确定的, 所以仅在确实需要修改默认设置的情况下, 才需要使用配置文件。位于 /etc/systemd/ 目录中的初始配置文件, 仅包含了展示选项默认值的注释, 目的在于方便系统管理员查看和直接修改。 如果软件包想要自定义某些默认设置, 那么必须将自定义的配置文件安到 /usr/lib/systemd/*.conf.d/ 目录中。 /etc/ 目录仅供系统管理员使用。 系统管理员可以利用...阅读全文

博文 2021-02-05 15:43:28 博客园

Java Annotations详解

三个编译注释,你可以使用它们来给编译器发送指令。这些注释会在稍后再做更详细的介绍。 Java注释可以在编译时(build-time)时使用,当你编译你的工程时。编译过程包括生成源代码,编译资源文件,生成XML文件(如:部署表述文件),以及将编译好的代码或文件打包成一个jar文件等。编译过程通常是由诸如Apache Ant或Apache Maven之类的编译工具自动完成的。编译工具会浏览你代码中的特定注释,并基于这些注释生成源代码或其他文件。 通常情况下,Java注释在代码编译完成后就变得不可见了。但是存在这种可能,你可以定义自己的注释,并使它们在运行时仍然可见。之后可以通过反射制来访问这些注释来影响你的程序。 注释的基本知识 注释的最简单形式如下: @Entity 字符@告诉编译器这是一个...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

博文 2018-12-31 20:44:06 debian.cn

Linux下多线程程序为什么消耗大量虚拟内存

,使用了很多叫做arena的memory pool,缺省配置在64bit下面是每一个arena为64M,一个进程可以最多有 cores * 8个arena。假设你的器是4核的,那么最多可以有4 * 8 = 32个arena,也就是使用32 * 64 = 2048M内存。 当然你也可以通过设置环境变量来改变arena的数量.例如 export MALLOC_ARENA_MAX=1 hadoop推荐把这个值设置为4。当然了,既然是多核的器,而arena的引进是为了解决多线程内存分配竞争的问题,那么设置为cpu核的数量估计也是一个不错的选择。设置这个值以后最好能对你的程序做一下压力测试,用以看看改变arena的数量是否会对程序的性能有影响。 mallopt(M_ARENA_MAX, xxx)如果...阅读全文

博文 2015-01-28 10:35:39 debian.cn

译:Kubernetes 最佳实践

很重要,因为在 K8s 中没有为这些设置默认值。例如,如果一个 pod 需要 20 秒才能启动并且缺少就绪探测,那么在启动期间定向到该 pod 的任何流量都会导致失败。就绪探针应该是独立的,并且不考虑对其他服务的任何依赖,例如后端数据库或缓存服务。存活探针试应用程序是否正在运行以将其标记为健康。例如,可以测试 Web 应用程序的特定路径以确保其响应。如果不是,该 pod 将不会被标记为健康,并且探测失败将导致 kubelet 启动一个新的 pod,然后将再次对其进行测试。这种类型的探测用作恢复制,以防进程无响应。译者:在 Kubernetes 1.18 引入了 StartUp(启动)探针。当容器启动时间较长(要花较长的时间完成初始化工作),此时应该使用启动探针。如果启动探针探测不成功,其他...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

-masquerade-agent)(RFC-1918),使用户可以在私有IP范围内创建集群并访问资源;服务可通过内部负载均衡(Internal Load Balancers)暴露,这是以Beta版提供的,允许Kubernetes和非Kubernetes服务在私有网络上相互访问(虽然当前通过Cloud VPN访问内部负载均衡的功能依然处于Alpha版);GKE现在支持在Alpha Clusters中运行NVIDIA K80 GPUs,该特性使得用户可以实验器学习算法;自动修复,当前是Beta版。它通过对不健康节点进行主动监控,并在无需用户参与的情况下对节点做自动修复,保持了集群的健康运行;一些GCP优化的改进,用于简化集群从底层架构层上做自动扩展。 在Kubernetes博客及GitHub的...阅读全文

博文 2017-07-19 12:23:15 debian.cn

Facebook 是如何进行大规模代码部署的

。 • 自动测试:包括单元、集成和端到端测试,会使用到 Roboelectric、XCTest、JUnit 和 WebDriver 等工具。 在代码变更的生命周期内,每次提交都会执行移动构建并运行测试栈,这样就会运行很多次。单单 Android 一天就有 5 万到 6 万个构建版本。移动部署系统遵循较早的基于 Web 的模式,每周发布一次,按 cherry-picking 策略随选择变更。尽管代码传输速度和发布频率有所增长,但工程师的生产率保持不变。然而,本文提到的标准(代码行和推送次数),可能并非衡量生产率的最佳标准。 据 2016 年 IEEE 的论文和相关讨论,Facebook 早在 2005 年就利用了某种形式的 CD。该论文中的一些结论列出了 CD 成功的先决条件:可观的持续投资、高度熟...阅读全文

博文 2017-10-31 14:05:20 debian.cn

JDK 11 版本时间表公布

最近有一些关于新版本发布周期的讨论。 Thymeleaf 的创始人兼首席开发人员 Daniel Fernández 最近发推文: 2016 年:“Java 命中注定!它发展得如此之慢!每一个好想法都需要很长时间才能实现!” 2018 年:“Java 命中注定!它发展得太快了!没有人能跟得上!” 对 Fernández 的推文有一些有趣的回应,包括: “Kotlin?” “2020 年将会发生什么?Java 命中注定!没有它,我就无法过好我的生活!Java 在我家里随处可见,这个小咖啡杯究竟有什么威力,为什么它可以控制我的家,包括我的身体。” “Java 命中注定,因为他们专注于完整性而不是简单性。” “我们从中得到的教训是,变化不如过渡本身那么重要……事实上,这似乎是人生和计算科学中一再出...阅读全文

博文 2018-04-27 08:33:08 debian.cn

Debian 社区陷入尴尬 或群龙无首

介绍,这似乎可以理解为现在迟迟没有人愿意竞选领导人的主要原因。 再加上开发流程迟缓等问题,如果今年的领导人选举直到 Chris 卸任都没有结果出现,那么 Debian 更是岌岌可危。 信奉“Debian 大法好”的开发者们,拯救组织的会就摆在眼前,快去参与竞选吧。动荡让我们快速成长。...阅读全文

博文 2019-03-14 11:05:23 debian.cn

开源硬件是趋势,Arm 却走了一条与众不同的路

“开源”一词所代表的不仅仅是技术人员的情怀,它还传达了诸如研究知识共享和社区建设之类的观点。虽然开源一直都在产生积极的影响 —— 随着开源微处理器指令集架构 RISC-V 的日益普及,推动软件创新的开源运动现在正在微处理器领域引起轰动,但半导体 IP 提供商 Arm(为 95% 的智能手嵌入式处理器提供了支持) 并不是开源的狂热爱好者。 近日,外媒 Synced 与 Arm 嵌入式、物联网和汽车营销高级总监 Rhonda Dirvin 进行了一次对话,探讨开源硬件和开源软件之间的区别,以及由此对 Arm 进行决策带来的影响。 Dirvin 认为,当今的开源硬件格局并不像看起来那样简单明了:“我们开始看到有人说免费并非真正的免费。因为归根结底,他们必须考虑验收所需的内容以及实现指令或架构所...阅读全文

博文 2019-10-17 22:39:43 debian.cn

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

平台用户在交易时可直接使用CET抵扣等价值的交易手续费,并享受专属费率优惠。 ** 3、享受VIP服务 ** 持有一定数量CET可以成为平台VIP客户,成为平台VIP可以获得费率折扣、提现加速、专享活动、专享客服等特权。 ** 4、专项活动权益 ** CET持有用户可享有平台市场推广活动的专项权益,如参与代币空投、投票上币、优质项目投资会等。 ** 5、CoinEx Smart Chain(CSC)内置代币 ** CoinEx Smart Chain(CSC)是 CoinEx 即将推出的全新一代支持智能合约的智能链。CET将作为CSC的内置流通代币和其燃料使用。 ** 6、更多流通场景 ** 除了在CoinEx生态内部进行流通以外,CoinEx还将会推动CET在更多外部场景下进行使用和流通...阅读全文

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

近日,据外媒报道,一位在 Debian 项目中服务超过 20 年的开发者 Norbert Preining 在去年 12 月被降级为维护者,这一行为导致他决定离开该项目。Preining 称,Debian 客户经理团队认为他“多年来一直在欺负项目成员”、“不能与社区团队沟通”。在接受采访时,Preining 表示他现在已经加入了 Arch Linux 项目,将在以后的博文中进行更多的解释。Debian 是一款为数极少的纯社区驱动的 Linux 发行版,而不是由商业公司或者政府构所掌控。虽然 Debian 采用了 Linux Kernel (操作系统的核心),但是大部分基础的操作系统工具都来自于 GNU 工程, 因此又称为 Debian GNU/Linux。DAM 认为 Preining...阅读全文

红帽 2017 峰会 第三天回顾:自动化的未来

Insights这次在Paul Cormier的主题演讲里小小的露了一下脸,不过场下的很多场合都有不同红帽项目的负责人提及该项目。Insights可以视为一个基础设施监控平台,它自动采集并分析服务运行数据,以提供问题预测(而不仅仅是报警)的能力。由于该产品中使用了器学习技术,因此也有人形容Insights是红帽的AI服务(虽然官方说明中并未提及)。 Red Hat Insights产品发布于2016年,目前已经与红帽Linux发行版RHEL、OpenStack发行版RDO、虚拟化产品RHEV、OpenShift、安全监控与打补丁产品Satellite、跨云管理平台CloudForms、以及上述自动化平台Ansible进行了集成。 就笔者看来,也许未来每个红帽产品都会被要求实现下述三个方面的集成: 可用容...阅读全文

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

开发者体验被重点关注:开发人员是关键资产 - OSCHINA

。其结果应该是,那些比较传统的公司的开发人员可以获得与其他公司使用云原生方法的开发人员一样的好处。希望这些实施方案能够帮助开发人员提高生产力,并且他们乐意留在这些公司,而不是转到其他岗位。 基于云的器数据分析公司 Sumo Logic 的首席产品经理兼开源大使 Frank Reno 认为,开发人员是开源快速增长的因素之一。开发人员都希望在一个社区中与他人一起工作,与更大的团队合作,为更大的项目做出贡献。“特别是在 COVID-19 期间,我们不像以前那样紧密。因此,我们所能做的任何事情都是为了培养更好的体验,无论是对个人开发者还是一群开发者,都有很大的帮助。每个供应商和每个客户都应该认识到开发人员的重要性。” 为了达到这一目的,DataStax 战略副总裁 Bryan Kirschner 则...阅读全文

博文 2021-12-28 14:45:52 中文开源技术交流社区

kubelet 绑核与不绑核的性能差别

同一台主,同样的workload,kubelet 中配置CPU绑定后的性能变化: 绑核的配置放在 /etc/kubernetes/kubelet 中的这两行: ``` FEATURE_GATES="--feature-gates=CPUManager=true" CPU_MANAGER_POLICY="--cpu-manager-policy=static" ``` 绑核前: ``` procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in...阅读全文

TLS1.3 正式版发布 — 特性与开启方式科普

(SSL)的进化版本,SSL是由Netscape公司在1990年代研发的。国际互联网工程任务组(IETF)做为一个标准化组织,负责定义该协议,该协议已经历了多次修订。最新版本 TLS1.2 在 2008 年被确立为标准,目前被大多数浏览器和启用 HTTPS 的 web 服务所支持。 在配置正常的情况下,TLS 1.2 会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算安全领域,8年是一段很长的时间,因此 IETF 已经在着手开发该协议的新版本 TLS 1.3。TLS1.3 是一次全面升级,与此前版本相比,它有两个主要优势: 增强安全性 提升速度 增强安全性 过去几年来,大部分针对TLS的攻击都是以该协议90年代遗留下来的残余部分为目标的...阅读全文

博文 2018-08-14 14:40:05 debian.cn

为何说微软不会基于Linux内核重构Windows

软已经意识到了设备格局的变化。 微软认识到当前社会人类使用各种系统和各种平台,在系统上有 Android、Ubuntu、iOS、macOS、Chrome OS等等,而且除了 x86 之外还有 ARM。 微软已经表示他们能够适应这个多元的世界,在这些平台上推出了相关产品和服务,同时确保 Windows 在传统领域的竞争力。目前微软正基于 Android 和 iOS 推动移动领域的创新,不仅移植了微软 Office,而且还包括 Microsoft Launcher 在内的很多优秀应用,而且近期也推出了搭载 Android 系统的 Surface Duo 手。 在 Ubuntu 系统上,微软推出了很多针对 Linux 工作站的工具,例如 Code, .NET, Azure tools...阅读全文

博文 2020-10-15 14:59:58 debian.cn

一位五年工作经验架构师的感悟

了一个小时。但是我的水平有限,结果可想而知。我肯定也知道没过,然后我就请教面试官,需要提升的地方,学**哪方面的内容。 于是我去学习,一个月过去了。 第二次面试,也是阿里 B2B 的岗位,我不知道那个时候有没有招聘的公海,按照我的理解是没有的,然后我肯定不会有这么多次会。这次的面试和上次很像,只不过内容换成了多线程并发相关的知识。我又不知道,面试官还是很容忍我,最后没通过,我同样为了需要什么提高。 于是我去学习,一个月又过去了。 第三次面试,是淘宝,应该是广告部门。这次面试,我觉得除了不知道的内容,其他的内容都还回答的蛮正确的。但是面试官,拿着面试题就和我聊了,然后讲到一个数据库方面的知识时(内连接,外连接),我说不知道。面试官说:这么基础的问题你都不会,这是不能容忍的,其实当时很伤心。有...阅读全文

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

如何写好技术文档 — 来自十多年的文档经验总结

++规范,国内的阿里Java开发规范等…… 但对于文档 似乎相关的资料却很少。但实际上,不应该把文档和代码割裂开来,你可以简单粗暴地认为文档其实就是用一种特殊语言书写的代码,这种语言就是人类的语言。这么想的话,实际上我们很多在代码和工程中总结出来的经验,也可以直接用在文档中,比如: - 有统一的规范 - 有版本控制 - 有明确的责任人维护 - 有变更Review制 - 有问题的反馈和更新制 - 定期更新 - 有衡量的指标(比如准确性,时效性) ## 明确你的读者是谁 ## 写文档有一个很常见的错误,那就是很多人文档都是写给自己看的,这种情况下就会导致你的文档只有自己或者和你有相似知识背景的人才能看懂,团队较小时这种问题还好,你们都做着类似的工作,所以也都能看懂文档。但当团队逐渐壮大后,问题就...阅读全文

博文 2021-07-30 16:15:13 joseph

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

1.新的问题influxdb目前支持内存型索引inmem及文件型索引tsi1。之前追踪篇将influxd索引修改为tsi1之后,经过一段时间的运行,从监控观察到,由于调用方采用异步队列+批处理的方案将数据写入influxdb,会在某些时刻调用方内部出现数据堆积,指标如图:横坐标: 时间轴,从12-29 00:00 到 12-30 00:00纵坐标: 队列中数据堆积长度,坐标最大值250k,即最大25w个数据堆积从上图可以看到,当天监控出现数次堆积,上午7:00-10:00尤为严重。在堆积时,登录influxdb服务器,查看器状态如下:top - 09:40:58 up 120 days, 19:18, 1 user, load average: 32.29, 32.32, 29.82...阅读全文

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

“Debian 章程有毒” - OSCHINA

,都可以向技术委员会寻求建议。 在 Russ Allbery 2014年的辞职信中,他说了许多“累觉不爱”的话: 技术委员会的工作和相关话题已经成为我在 Debian 工作的绝大部分。这并不有趣。我太低估这份工作所需要的情感和注意力了,这比时间投入更加糟糕。 几乎技术委员会的每一个决定都充斥着不愉快,在现有的框架下,技术委员会每做一个决定都需要更多的技巧、关心、注意力和小心翼翼,这些使我心理压力巨大。 同时,他还认为管理是必须的,他相信一个大团体的制中需要更多的管理,这个组织才不会因为分歧而陷入瘫痪。 而 Debian 现在最主要的问题,就是管理缺失。当初,Debian 开发者们通过章程最大程度上架空了 DPL 这一角色,但管理的需求仍在,于是技术委员会就不得不发挥一定的管理作用。 因此,职...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

7大维度看国外企业为啥选择gRPC打造高性能微服务

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的制。它允许捕获有关请求的重要上下文元数据,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的解决方案,以绕过企业的架构来请求路由。 度量、跟踪和日志记录 - 可观察性对于复杂的分布式系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

博文 2018-03-19 17:51:32 debian.cn

开源社区的运作模式:Debian Vs. Ubuntu

了这个身份后才可以参与Ubuntu社区委员会的选举,也才有会参与Planet Ubuntu计划(注:这是一个类似于集体博客的计划),此外,还可以获得一个@ubuntu.com邮件别名。 对于开发人员,情况更复杂:Wiki页面列出了不少于5种身份。最初,开发人员分为Ubuntu核心开发人员(UCD)和Ubuntu宇宙大师(MOTU),后者负责universe/multiverse部分的归档,而前者则有main/restricted部分的上传权限。不过,受到Debian维护人员角色的启发以及在归档方面面临的一些具体问题,Ubuntu修改了底层结构,以提供更细粒度的包上传控制。(注:Ubuntu主要分为四大组件:Main,Restricted,Universe,以及Multiverse。Main...阅读全文

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

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

)列表是一个不错的开始。打包前需要考虑:自己是否有足够的知识和能力来维护这个包?在可预见的一段日子里是否有充足的时间和精力来进行 更新和修复 Bug?如果答案都是肯定的,那么就动手把它打包好,期间遇到问题则找人咨询指导。 4. 当经过反复检查和测试,觉得软件包已经比较完善时,寻找一位 Debian Developer 帮你检查和上传软件包,这位 DD 此时便是你的 sponsor。 当找到一位愿意帮忙的 DD 后,他会对你的软件包进行彻底的检查,指出(可能)存在的问题并请你修改。这时要做的就是参考他的意见修改软件包,并把结果再发给他,这是一个极好的学习 会。如此反复若干次后软件包最终会符合 Debian 的标准,之后 sponsor 便会将其上传到 Debian 仓库。需要说明的是,经由...阅读全文

成功运作一个开源项目的15个要点

每个人适用同样的规则(环境可能是公平的,因此你需要用自己的方法胜出)。英才制度意味着你需要用自己的方式脱颖而出。有些项目实施英才制度,例如,在邀请开发者加入项目团队之前,通过要求他们作出一些贡献,以表明他们了解项目的代码、规则和文化。确保增加新的开发人员到项目中的过程是众所周知的,并且这些流程是透明的(例如公开投票)。 5、供应商中立 为了实现真正的开放,开发者需要大家认可他们的贡献。如果项目是供应商中立的,那么这更容易实现。供应商中立的项目不由任何组织或构主导;英才制度应以个人的贡献为基础,不能基于任何特定组织的目标或招聘方法。在供应商中立的基础上托管是实现此目标的一种方式。 6、有良好的定义和文件标准 文档化项目的代码格式规则(使代码格式化预设易于访问),对测试覆盖面、开发方法、软件和...阅读全文

博文 2017-11-08 09:58:28 debian.cn

技术部门的 SEO 规范

robots 文件禁止搜索引擎抓取。未完成内容的网站、栏目不得上线。不存在页面必须返回 404 代码。每个月使用线上工具确认不存在页面服务器头信息。服务器开启 gzip 压缩。4XX、5XX 类服务器头信息不正常增多,及时通知SEO部门进行进一步检查。新站一律使用 https。开通子域名,需与 SEO 部门提前沟通并获得同意。 网站结构和URL URL一经确定上线,不得在没有得到SEO部门同意和提供对应制的情况下,对URL做任何改动。除了已规划禁止搜索引擎抓取和收录的内容外,网站所有URL一律静态化。站内搜索结果页面使用robots文件禁止搜索引擎抓取。网站栏目与URL目录需一一对应,一级分类对应一级目录,二级分类对应二级目录。最多分级至二级目录,如果产品/页面数需要三级以上分类,请先与SEO部门沟...阅读全文

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

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

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

月)。 而在为期3个月的开发周期中(2019年2月至5月),被选择的提案将会被实现,每位使用者都可以体验新功能并进行反馈(评估流程的第4步)。最后,在短暂的冻结期后(2019年5月1日),Go 开发团队会最终决定是否永久保留新功能(并保证这些功能与 Go 1 兼容),或是放弃这些功能(评估流程的最后一步)。 Go 开发团队表示这是首次采用这一流程,因此在冻结阶段将会是反思这个流程,并在必要时进行调整的好会。我们也不妨拭目以待吧!...阅读全文

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

能会注意到差异,特别是当你处理预编译的二进制文件(如 Node.js C++扩展)时。例如,PhantomJS 的预构建包就不能在 Alpine 上运行。 你应该选择哪个基础镜像?你应该使用 Alpine、distroless 还是原始镜像? 如果你是在生产环境中运行容器,并且更关心安全性,那么可能 distroless 镜像更合适。添加到 Docker 镜像的每个二进制文件都会给整个应用程序增加一定的风险。只在容器中安一个二进制文件可以降低总体风险。 例如,如果攻击者能够利用运行在 distroless 上的应用程序的漏洞,他们将无法在容器中使用 shell,因为那里根本就没有 shell! 请注意,OWASP 本身就建议尽量减少攻击表面。 如果你只关心更小的镜像体积,那么可以考虑基于...阅读全文

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

六大算法之三:动态规划【转载】

物品时的dp dp[i][j] = dp[i-1][j]; } } } return dp[n][v]; } 优化:滚动数组,只创建一个一维数组,长度为从1到W,初始值都是0,能得下i时,dp[j] = Math.max(dp[j], dp[j-w[i]]+p[i]);不下时,dp[j] = dp[j]; public static int PackageHelper2(int n,int w[],int p[],int v) { //设置一个二维数组,横坐标代表从第一个物品开始放到第几个物品,纵坐标代表背包还有多少容量,dp代表最大价值 int dp[] = new int[v+1]; for(int i=1;i<=n;i++){ for(int j=v;j>0;j--){ if(j...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Ian Murdock 走了,但 Debian 常在。今天就从与 Ian Murdock 的访谈来回顾一下 Ian 的 Debian 往事。 Debian 社区前几日宣布,Debian 的著名创始者 Ian Murdock 已经去世,死因至今不明。到官方公布具体死因之前,恐怕我们多猜测也无益。今天,不如让我们一起来回顾一下 Murdock 对免费软件的发展做出的贡献。 1999 年 11 月,我曾有幸与 Murdock 有过一次访谈。我为写《Rebel Code:Linux and the Open Source Revolution》这本书共做过 50 多次访谈,这就是其中一回。虽说在书中我只引用了 Murdock 所说的寥寥几句,不过如今,借着这个时,我想用 Murdock 自己的话...阅读全文

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

HTTP状态码详解

新的 URI 的超链接及简短说明。 注意:许多 HTTP/1.1 版以前的 浏览器不能正确理解303状态。如果需要考虑与这些浏览器之间的互动,302状态码应该可以胜任,因为大多数的浏览器处理302响应时的方式恰恰就是上述规范要求客户端处理303响应时应当做的。 304 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。 该响应必须包含以下的头信息: Date,除非这个服务器没有时钟。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将 Date 字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存...阅读全文

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