InfraPub 为您找到相关结果 386

Django 采用新的项目治理模式

,Django 软件基金会)的付费承包商 Django Fellows 合并,或者由少数活跃用户合并。Django 的所有版本现在都由 Fellows 发布。 也就是说核心 committer 团队在项目中几乎没有直接参与 Django 相关流程,并且关于 Django 开发中的几乎所有技术决策都不是在 committer 之间讨论和决定的,而是在任何人都可以参与的公共论坛上通过共识决定的。 这的情况影响了社区中开发者的参与,也影响了 Django 项目的长期健康发展,所以社区内一直以来都在讨论改革。 Django 社区近日通过了 Django 项目新治理模型的提案 DEP 10,目前正在实施的一些变化如下: 之前的核心 committer 团队解散,相关成员的 commit 权限也将被删除。目前正在...阅读全文

博文 2020-03-26 08:51:49 debian.cn

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

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

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

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

Solus Linux 的创造者 Ikey Doherty 宣布其正在打造一个“真正现代的 Linux 发行版” Serpent OS,并且该发行版将不依赖 GNU 工具链与运行时。 Ikey Doherty 认为当前市面上绝大多数 Linux 发行版都有非常相似的目标: Modern, lightweight, privacy oriented/respecting, user-friendly desktop现代、轻巧、面向隐私/尊重用户友好的桌面 但是其专注于构建可满足自己需求的 Linux 发行版,而不是关注与 macOS * + Windows * 互用性的“基于 Linux 的操作系统”。也就是说,“这不是‘面向大众的 Linux’,而是一个还原 Linux 真正该有的子的...阅读全文

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

如何重启 Kubernetes 中的 Pods

} -n {namespace} -o yaml | kubectl replace --force -f - 在这个命令中,由于没有 yaml 文件,且启动的是 Pod 对象,我们先 get 当前运行的 pod 的 yaml 声明定义,通过管道重定向输出到 kubectl replace 命令的标准输入,来达到上一条命令同的效果。 总结,我们可以通过多种方式来重启对象,最通用的方式是使用 replace 命令,强制替换 Pod 的这个: kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f - 这种方式,也适用于多种其他对象。值得一提的是,重启 Pod 并不会修复运行程序的 bug,想要解决程...阅读全文

博文 2020-07-13 21:23:30 debian.cn

Debian GNU/Linux 诞生 27 周年

8月16日,Debian 官方博客发文庆祝 Debian GNU/Linux 诞生 27 周年。 由于 COVID-19 大流行,官方表示今年无法像以往那组织线下的现场庆祝活动,因此他们要求贡献者、开发者、维护者、团队、社区和用户在8月16日(和/或15日)在线宣传 Debian 项目和举办庆祝活动。 如果你所在地区没人组织庆祝活动,或者自己不想参加活动,Debian 团队提议使用 OBS Studio 把自己准备的庆祝活动录制下来然后上传至网络或者直接开直播。 Debian 于1993年8月16日由 Ian Murdock 首次发布,最初将其称为”Debian Linux Release”。当时,他将这封著名的电子邮件发送到 comp.os.linux.development 邮件列表...阅读全文

博文 2020-08-17 08:32:32 debian.cn

DNSCrypt简明教程

-proxy/cloaking-rules.txt 这个文件,在后面添加你的DNS,例如:# my customized dns www.one-domain.com x.x.x.x *.your-domain.com x.x.x.x其实我想要方案是匹配域名,然后把这些域名的DNS指向另一个DNS,这会方便些,不过似乎 dnscrypt-proxy 还不支持。还有一个方案就是把 fallback_resolver 改成公司所提供的DNS。更多文章socketserver 源码阅读与分析functools 源码阅读与分析contextlib代码阅读Collections 源码阅读与分析Redis通信协议阅读2016年就要结束了,2017年就要开始啦!unittest 源代码阅读APUEv3 - 重读笔...阅读全文

博文 2021-02-06 19:55:08 知乎

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

许可证。 四个新的许可证 首先是 Cryptographic Autonomy License(CAL)。这个许可证是为分布式密码学应用而设计的。现有的开源许可证无法保证开放性,因为如果没有义务与其他对等体共享数据,那么一个对等体就有可能损害网络的运行。所以,CAL 除了是一个强大的版权许可以外,还包括向第三方提供独立使用和修改软件所需的权限和材料,而不使第三方有数据或功能的损失。 随着分布式密码学在加密结构的点对点共享中越来越多的使用,如果更多的开发者发现自己需要一个像 CAL 这的法律工具,也就不足为奇了。我们希望由此产生的许可证是清晰易懂的,并希望开源从业者会发现它大有用处。 在我们之前的报道中曾提到,欧洲核子研究组织 CERN 提交的 CERN Open Hardware...阅读全文

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

Golang 面试题搜集

](https://github.com/lifei6671/interview-go/blob/master/question/q015.md) - [记一道字节跳动的算法面试题](https://github.com/lifei6671/interview-go/blob/master/question/q016.md) - [多协程查询切片问题](https://github.com/lifei6671/interview-go/blob/master/question/q017.md) - [对已经关闭的的chan进行读写,会怎么?为什么?](https://github.com/lifei6671/interview-go/blob/master/question/q018.md...阅读全文

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。KRaft 是一种共识协议,可以直接在 Kafka 中管理元数据。元数据的管理被整合到了Kafka当中,而不需要使用像ZooKeeper这的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。KRaft 使用了Raft共识算法的一种基于事件的变体,因此得名。​随 KRaft...阅读全文

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

级别的 API。在 OpenSSL 3.0 中,这一点变得更加明确。所有这些低级别的 API 都已经被废弃了。你仍然可以在你的应用程序中使用它们,但你可能会在编译过程中开始看到弃用警告。废弃的 API 可能会从未来的 OpenSSL 版本中删除,所以强烈建议开发者更新你的代码,以使用高级 API 来代替。版本管理OpenSSL 的版本管理已经随着 OpenSSL 3.0 的发布而改变,新的版本管理采用下方这的格式:MAJOR.MINOR.PATCH(主版本.次版本.补丁)对于 OpenSSL 1.1.1 及以下版本,不同的补丁级别是由版本号后面的字母表示的,这一方法将不再使用,而是用版本号中的最后一个数字来表示补丁级别。第二个数字(MINOR)的变化表明可能已经添加了新的功能,但与相同...阅读全文

Focalboard :一款开源、本地存储、免费的类 Notion 应用

:这款软件支持笔记记录。同 Notion 一,页面属性也支持文字框、数字、电话号码、超链接、单选、多选、时间等属性类型。具体文本编辑的话,与Notion有所不同。Notion 是可见即可得的富文本,Focalboard 则区分编辑模式和预览模式。此外,Notion 的每一个段落均是一个 Block,而 Focalboard 的每个编辑区域算一个 Block,允许用户自由拖拽。预览模式编辑模式平台:这款软件支持 Mac 、Linux、Windows 三个平台。软件版本:这款软件包括两个版本:一个是个人桌面版本(Focalboard Personal Desktop),一个是个人服务器版本(Focalboard Personal Server)。前者是用于待办事项和个人项目的桌面应用程序,后者则...阅读全文

博文 2021-09-16 19:50:29 少数派

使用 nvme-cli 工具来了解你的 NVMe 驱动器

Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0这为你提供了硬盘的当前温度、到目前为止的使用时间、不安全的关机次数等等。格式化一个 NVMe 驱动器你可以用 nvme-cli 格式化一个 NVMe 驱动器,但要注意。这将删除驱动器上的所有数据!如果你的硬盘上有重要的数据,你必须在这做之前将其备份,否则你将会丢失数据。子命令是 format:$ sudo nvme format /dev/nvme0nX(为了安全起见,我用 X 替换了驱动器的实际位置,以防止复制粘贴的错误。将 X 改为 1 或 nvme list 结果中列出的实际位置。)安全地擦除...阅读全文

博文 2021-09-26 15:12:24 joseph

三位候选人正进行 2022 Debian 项目负责人选举

2022 Debian 项目负责人选举已开启,本次选举的流程和以往一,有三位候选人:Felix Lechner、Hideki Yamane 和现任 Debian 负责人 Jonathan Carter ,三人分别以一个页面进行自我介绍,并等待社区开发者为其进行不记名投票。​下面来介绍一下三位候选人。Felix Lechner同时受新时代思想以及古老宗教的启发,拥有扎实的理论基础,试图让 Debian 重新焕发活力。现担任美国加州的图书馆馆长(公务员),妻子来自中国,最好的朋友来自印度。Debian 贡献Debian 商标团队的一员,努力保护 Debian 的品牌;设计了 Debian 的密钥到期提醒功能;共同维护 了 Lintian (Debian 软件包追踪工具)及其网站;维护...阅读全文

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一切就像变魔术一,但你并不知道这一切的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

博文 2022-04-18 16:18:04 CSDN

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

需要租赁托管的服务器来运行网站,他们必须支付足够费用才能获得想要的性能。阿尔瓦雷兹介绍说,科技公司租用的服务器往往超过了实际所需,造成浪费。亚马逊联系到了他,介绍即将推出的新服务,并提供了提前试用。阿尔瓦雷兹回忆说:“一瞬间我明白了,亚马逊提供了一个改变我一生的产品,这将改变我的人生,以及所有开发者的人生。”这的评价并不夸张。S3蓬勃发展,时至今日已经在网络上保存了100万亿个数据对象。亚马逊云计算负责对象和块存储的副总裁麦兰·汤姆森·布科维奇(Mai-Lan Tomsen Bukovec)在接受电视媒体采访时介绍说,今天一些企业客户存储的数据多达几百PB(1PB等于1024TB),某些案例下甚至多达1EB(等于1024PB)。有时候,企业在S3上保存的数据超出了必要。上述业内人士金塞拉回...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

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

有一些非官方身份的包维护人员。但他们的名字只出现在Maintainer字段,因此他们不能执行上传操作,所有上传操作都由DD完成并进行校验。如果DD信任这些非正式任维护人员,他们通常希望维护人员去申请正式的DM角色,这可以将上传的工作移交给他们来执行,以减轻自己的负担。 要成为一个Debian贡献者,一般的途径是先成为非官方的包维护人员。在其包维护的能力和人品得到DD认可并推荐之后,则可以申请成为DM。DM任期满6个月后,则可以通过Debian New Maintainers进程申请成为一个DD,这个过程也需要其他DD的推荐。 Ubuntu中的开发者角色 Ubuntu从一开始就定义了一个官方的“Ubuntu成员(UM)”角色,它包括所有贡献者,如开发人员,文档编写人员,翻译人员,美工等等。有...阅读全文

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

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

,跑至内存不再增加,果然valgrind显示没有任何内存泄露。反复试验了很多次,结果都是这。 在多次使用valgrind无果以后,我开始怀疑程序内部是不是用到mmap之类的调用,于是使用strace对mmap,brk等系统函数的检测: strace -f -e"brk,mmap,munmap" -p $(pidof AuthServer) 其结果如下: [pid 19343] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f53c8ca9000 [pid 19343] munmap(0x7f53c8ca9000, 53833728) = 0 [pid 19343...阅读全文

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

Docker 17.06 社区版发布

今天我们发布了Docker CE 17.06,它包含了诸多新特性、优化和bug修复。我们在四月份的DockeCon上公布了Moby项目,Docker CE 17.06是第一个完全构建在它基础上的Docker版本。变更日志中能看到完整的更新列表,我们来看看它的一些新特性。 我们也为这篇文章制作了一个视频版本。 多阶段构建 17.06 CE最大的特性是它的多阶段构建(multi-stage builds),它最初在四月的DockerCon被公布,现在已经达到了稳定版本。多阶段构建能从一个Dockerfile中构建出更加简洁、体积更小的Docker镜像。 多阶段构建通过构建过渡镜像并产生输出。这就能在一个过渡镜像中编译代码,在最终的镜像中只使用它的输出。例如,Java开发者通常使用Apache...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Jono Bacon: GPL 没落了吗?

目的自然选择,Debian、Ubuntu、Fedora 和 Linux 内核以及很多都是例子。 近年来,尽管我们已经看到了不再那么挑剔的一代开发者的出现,但是如果我说的过激一些,他们缺少对于自由的关注。对于他们来说开源软件是构建软件的务实、实用的一部分,而无关伦理。我想,这就是为什么我们发现 MIT 和 Apache 协议的流行的原因。 未来 ? 这对于 GPL 意味着什么? 我的猜想是 GPL 依然将是一个主要选项,但是开发者将将之视为纯粹的自由软件协议。我想对于软件的纯粹性有高要求的项目会优先选择 GPL 协议。但是对于商业软件,为了保持我们之前讨论过的那种平衡,他们不会那么做。我猜测, MIT 以及 Apache 依然会继续流行下去。 不管怎,好消息是开源/自由软件行业确实在增长。无...阅读全文

博文 2017-08-04 08:03:43 debian.cn

技术部门的 SEO 规范

遵守的SEO规范,开发网站或修改网站时,即使不与SEO部门协同,也至少不能违反SEO规范,以防产生灾难性的后果。以前为客户写过一些技术部门SEO规范,现在简单整理更新一下,分享给大家,希望对其它公司也有帮助。 技术部门SEO规范 本SEO规范适用于公司所有新建网站及对现有网站的更新、改版。本SEO规范不是建议,是强制性规定。编程、前端、运维等技术相关部门务必遵守。 对本SEO规范中的内容有疑义时,请与SEO部门沟通,不可自行解释有疑义部分。 域名及服务器相关 只解析公司因业务需要决定开通的子域名。未开通子域名一律不解析。不要使用泛解析(以通配符*代替子域名)。不能有两个或两个以上域名显示同网站内容(无论以哪种方式实现,如解析至相同根目录、上传同文件和数据库)。用于测试的子域名使用...阅读全文

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

聊聊很重要的内核技术eBPF

(DFS),以确保程序完成并且代码不包含危险路径。这意味着它将遍历图的每个分支,一直到分支的底部,以确保没有递归循环。 这些是验证器在第一次检查期间可能拒绝您的代码的情形,要求有以下几个方面: 该程序不包含控制循环。为确保程序不会陷入无限循环,验证程序会拒绝任何类型的控制循环。已经提出了在BPF程序中允许循环的建议,但是截至撰写本文时,没有一个被采用。该程序不会尝试执行超过内核允许的最大指令数的指令。此时,可执行的最大指令数为4,096。此限制是为了防止BPF永远运行。在第3章,我们讨论如何嵌套不同的BPF程序,以安全的方式解决此限制。该程序不包含任何无法访问的指令,例如从未执行过的条件或功能。这可以防止在VM中加载无效代码,这也会延迟BPF程序的终止。该程序不会尝试越界。 验证者执行的第二项检...阅读全文

博文 2020-08-16 11:08:44 debian.cn

Golang 中的 channel 通道详解

shrinking. lock mutex } 创建一个channelvar name chan elemType //声明中需要指定channel的具体类型 eg. var c chan int 声明了一个int的channel 我们使用make()方法创建,可以指定chan的缓存区大小。c := make(chan int, 10) //make创建一个int类型的channel,容量大小为10 c1 := make(chan int) // 无缓存的channel make()函数最后会调用底层的makechan()函数,返回一个通道的指针。当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此调用者和被调用者将引用同一个channel对象。和其它的引用类型一...阅读全文

Golang Context 探究

在用 Golang 开发过程中,我们一定能在代码里很多函数或方法都会传递 context, 也会经常遇到这的报错 context deadline exceeded。你有想过或去探究过 context 到底是什么吗,为什么会遇到上述的报错。在这里我们就分析一下 context 是什么及用途。 首选 Golang 中的 context 值得是 context.Context 接口,Golang 在 1.7 版本中引入标准库的接口。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、截止时间、key-value 等。 Context 定义 Context 接口定义如下 1 2 3 4 5 6 7 8 9 10 type Context interface...阅读全文

博文 2021-02-25 09:27:27 lxkaka

下一代时间同步服务 Chrony 详解

Chrony 是一个多功能的 NTP (Network Time Protocol) 实现,类 Unix 系统上 NTP 客户端和服务器的替代品。它可以通过 NTP 服务或者类似 GPS 时钟接收器的硬件级参考时钟来同步系统时钟,具有更好的时钟准确度,并且对于那些间歇性互联网连接的系统很有帮助。Chrony 是免费开源的,并且支持 GNU/Linux 和 BSD 衍生版、Solaris 等。 Chrony 有两个核心程序:一个是 chronyd 守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。另一个是 chronyc,它提供一个用户界面,用于监控性能并进行多化的配置。chronyc 可以在 chronyd 实例控制的计算机上工作...阅读全文

博文 2021-01-04 08:41:14 debian.cn

SVN切换分支用法汇总

,在进行分支切换之前,一定要先保存修改。2. 切换分支要保证分支版本库状态干净在进行分支切换操作之前,我们需要保证代码分支版本库的状态是干净的,即没有未提交的修改。否则,分支操作可能会导致一些未提交的修改全部丢失。3. 切换分支要保证源分支和目标分支都在同一版本库中SVN是针对版本库来进行代码管理的,所以在进行分支切换时,源分支和目标分支都必须在同一个版本库中。否则,你就需要进行多库协同编程,难度会增加很多。4. 将切换分支操作单独进行为避免出现一些问题,一般我们建议将分支切换操作独立出来,不要和其他代码操作混在一起。这做可以使我们的代码更加清晰,也可以有效地避免出现一些不必要的操作。5. 多人协作时切换分支需要谨慎当多人协作时,任何一个人都可能进行分支切换的操作,这时每个人都应该非常谨慎...阅读全文

博文 2023-06-09 14:22:35 infras

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),耗时长,不能像 Redis 一采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多时,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供检查连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及时清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

在TKE上使用Kubecost进行成本管理

。例如 CPU 和 GPU 等计算资源价格相对较高,Mem 价格相对较低,而 Disk 价格则更低),相同的资源利用效率,不同资源对成本的贡献度也不一。 例如,100%的 Disk 利用率,但是由于磁盘相对便宜,对最终的成本控制的贡献就较低。但如果是 CPU 资源,即使资源利用率为30%,由于 CPU 资源价格相对昂贵,最终可能对成本起到关键作用,因此需要用加权平均来评估成本效率,例如: - Mem 的效率:MemEfficiency = MemUsage / MemRequest - CPU 的效率:CPUEfficiency = cpuUsage / cpuRequest - Mem 的成本效率:MemCostEff = a.MemEfficiency...阅读全文

协议介绍之深入了解 gRPC

及它的相关属性。在 HTTP/1.x 时代,我们采用纯文本协议,并且使用 \r\n 来分隔,如果我们要传输的元数据很多,就会导致 header 非常的庞大。另外,多数时候,在一条连接上面的多数请求,其实 header 差不了多少,譬如我们第一个请求可能 GET /a.txt,后面紧接着是 GET /b.txt,两个请求唯一的区别就是 URL path 不一,但我们仍然要将其他所有的 fields 完全发一遍。 HTTP/2 为了结果这个问题,使用了 HPACK。虽然 HPACK 的 RFC 文档 看起来比较恐怖,但其实原理非常的简单易懂。 HPACK 提供了一个静态和动态的 table,静态 table 定义了通用的 HTTP header fields,譬如 method,path 等...阅读全文

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

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的变化几乎是微乎其微的;HTTP 增加了几个新的报文头和请求方式,TLS 缓慢地进行了一点小修改,TCP 调整了拥塞控制,而 DNS 引入了像 DNSSEC 这的特性。这些协议看起来很长时间都一成不变(除了已经引起网络运营商们的大量关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策者对这些协议采用的做法是基于其原有工作方式 —— 无论是打算调试问题,提高服务质量,或施加政策...阅读全文

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

) 升级数据库配置 迁移非核心业务到新的RDS实例中去 第二次宕机 由于上一次的宕机原因未找到,所以此次的宕机是可以预见的。 20180919,还是一的”配方”,还是原来的”味道”。同一个RDS,CPU飙升至100%,接下来就是拒绝服务,宕机。当然,有了第一次的经验,直接主从切换,在几十秒左右就恢复了所有业务,但还是严重影响了公司的业务和形象 原因分析 恢复业务后,公司紧急召开了紧急事故研究会议,当然,我的级别是参与不了的。公司的高管,高层技术架构、DBA、各个项目的主负责人一起进行了会议。 在此次会议中,经过查看各个项目的日志,后台的监控数据,发现在那台RDS数据库CPU飙升时,有一台Redis数据库内存将近100%,然后急剧下降。联系第一次的宕机情况,也是类似的。 接下来就是联系服务器数据...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Gitlab CI 配置文件 .gitlab

only no 定义一列git分支,并为其创建job except no 定义一列git分支,不创建job tags no 定义一列tags,用来指定选择哪个Runner(同时Runner也要设置tags) allow_failure no 允许job失败。失败的job不影响commit状态 when no 定义何时开始job。可以是on_success,on_failure,always或者manual dependencies no 定义job依赖关系,这他们就可以互相传递artifacts cache no 定义应在后续运行之间缓存的文件列表 before_script no 重写一组在作业前执行的命令 after_script no 重写一组在作业后执行的命令 environment...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

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

可互操作的芯片模块,因此Chiplet能否进一步往前发展,取决于业内能否出现一种能将不同芯片模型连接起来的标准接口,也就是能够将各种芯片模块黏合起来的芯片"万能胶"。今年3月初,万能胶UCIe终于出现,芯片的胶水时代迎来新起点。"每个行业开放标准的落地都会引发这个行业的爆发,遵循这一产业发展规律,UCIe对Chiplet的发展意义重大,是Chiplet时代到来的重要标志。"半导体设备公司华封科技创始人王宏波向雷峰网表示。"Chiplet在业内推广了很多年,一直在宣传,但一直没有推进产业化,很大一部分原因就是在等待标准建立。如果选择了一个错误的标准,成果就得不到市场的认可,会白白浪费很多精力。"芯原股份创始人、董事长兼总裁戴伟民说道。不过,在UCIe确立之前,业内已有各种各的接口类型,"万能...阅读全文

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

译:零信任对 Kubernetes 意味着什么

确保它在每一点都得到执行。这听起来像是常识。但与技术中的许多新想法一,理解零信任的最佳方法是了解它的反应。零信任摒弃了边界安全的观点。在边界安全模型中,在敏感组件周围实施“装甲”。例如,数据中心周围可能有一个防火墙,其任务是阻止问题流量和参与者进入。这种模型,有时被称为城堡策略,具有直观的意义:城堡的墙壁是为了将坏人拒之门外。如果你在城堡里,那么根据定义,你就是一个好人。零信任模型表明,边界安全已经不足。根据零信任原则,即使在安全边界内,仍必须将用户、系统和网络流量视为不受信任。国防部的参考架构很好地总结了这一点:“在安全边界之外或之内运行的任何参与者、系统、网络或服务都是不可信的。相反,我们必须验证任何试图建立访问权限的事物。从边界验证一次到对每个用户、设备、应用程序和交易的持续验证,这...阅读全文

WebAssembly:无需容器的 Docker (下)

作时,作为稳定 beta 版在 Docker Desktop4.15 版可用) - 能够运行 Wasm 容器我们还充分运用 webassembly-language-runtimes repo,它提供了将 PHP 解释器构建为 WebAssembly 应用程序的方法。 可以像这查看 demo 分支:git clone --depth=1 -b php-wasmedge-demo \ https://github.com/vmware-labs/webassembly-language-runtimes.git wlr-demo cd wlr-demo 构建一个 Wasm 容器第一个示例,我们将展示如何构建基于 C 的应用程序,例如 PHP 解释器。该构建使用 WASI-SDK 工具集。 它...阅读全文

博文 2023-01-03 06:39:46 spider

Web前端知识体系精简

动画函数,然后以这个动画的方式来改变元素的css属性之的变化,动画可以被设置为永久循环演示。 和transition相比,animation设置动画效果更灵活更丰富,二者还有一个区别是:transition只能通过主动改变元素的css值才能触发动画效果,而animation一旦被应用,就开始执行动画。 8、雪碧图 sprite 对于大型站点,为了减少http请求的次数,一般会将常用的小图标排到一个大图中,页面加载时只需请求一次网络, 然后在css中通过设置background-position来控制显示所需要的小图标。 9、字体图标 iconfont 所谓字体图标就是将常用的图标转化为字体资源存在文件中,通过在CSS中引用该字体文件,然后可以直接通过控制字体的css属性来设置图标的式...阅读全文

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

Debian下编译安装Golang

GOROOT下的源码与GOROOT_BOOTSTRAP下的搞混了。如果Go与Java一支持循环导入,那么这里就会进行一次错误的编译。 这个问题大致是路径配置错误导致的。未免误导,这里就不详述复现步骤了。 总之,先配置好GO的环境路径,能解决大多数错误。 环境配置 为了避免go1.4这个目录混杂在我本就已经混乱不堪的$HOME目录,我新建一个隐藏目录.golang,作为Go的相关环境配置的位置。 把以下配置加入shell的配置文件,bash是~/bashrc。 export GOROOT=$HOME/.golang/go export GOPATH=$HOME/.golang/path export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4 export PATH...阅读全文

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

Linux:为什么那么多人讨厌 Systemd

systemd的各种不方便,比如命令太长,不熟悉daemon报错等。systemd几乎没有所需的外部依赖,它们主要由glibc(或兼容的libc),setcap和libmount组成。 由于systemd项目合并了udev, logind等基础设施,以及Gnome/KDE积极与systemd集成,这给其它开源内核的桌面用户(以及Debian这的多内核发行版)造成了困扰。 想想systemd最开始出现时,还是以一个纯粹的init软件的身份,之后短短的时间内大肆攻城略地,合并了很多进程,与Gnome暧昧不清,还设置了API锁定。虽然我可以理解很多linux用户为什么不喜欢复杂的桌面环境,但还是有很多人希望选择一个完整的桌面环境。 init系统中,虽然你可以轻松地选择桌面环境和窗口管理器,但在大多数发行版中...阅读全文

你和 Linux 高手只差了一个 LFS

为“从零开始构建的 Linux”。好吧!看起来很高大上 OTZ,可它到底是什么东西呢?感觉上它好像经常和 RedHat,Debain 这类发行版混在一起,那它应该也是个发行版吧! 这理解其实也没有什么不对,但比起发行版来,它其实更像一本书。书本只提供知识,它只教你做,不会帮你做。这才是 LFS 和别的发行版的本质区别。这本书可以教你如何亦步亦趋的从零开始搭建一个具体而微的 Linux 系统,没错,就是从零开始,是不是有一种上帝视角的感觉呢? 那么在哪儿可以找到这本“书”呢?你可以在网上找到电子版,当然,乐意的话,你可以打印出来——不过,我认为这没必要。你只需要按照这本书的指导,一个字母都不要敲错,你就能在它手把手地指导下,打磨出你自己的 Linux 系统啦! LFS 是本好书吗? 是的...阅读全文

博文 2017-07-17 17:45:59 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

Chrome浏览器中新增反恶意软件广告功能

告。 阿拉巴马大学伯明翰分校的计算机取证研究主任GaryWarner指出,谷歌的这一措施将会起到很大的作用。受恶意广告攻击最严重的是依靠广告网络传播恶意广告的人。他们在传播基础设施方面投入巨大,在某些情况下他们甚至不惜收购广告公司来传播恶意软件。遗憾的是,它可能带来的副作用是,传播“本地”恶意软件的现象可能会因此而上涨。他指的是托管在被黑站点上的恶意软件,而不是通过将用户重定向至利用包的恶意广告活动传播的恶意软件。 但是恶意广告的表现形式多,而谷歌新增的安全功能不会终结所有的恶意广告形式。例如,依靠由被黑站点组成的僵尸网络的恶意广告活动,它的重定向含在被黑站点的源代码中而非通过内嵌框架实现,这些恶意广告活动可能不会受影响。 Tab-under将不复存在 不过,谷歌还推出了其它让犯罪分子头疼...阅读全文

博文 2017-11-18 09:00:06 debian.cn

高性能缓存服务器 Nuster

单独设置一个后端 配置例 global cache on data-size 100m #daemon ## to debug cache #debug defaults retries 3 option redispatch timeout client 30s timeout connect 30s timeout server 30s frontend web1 bind *:8080 mode http acl pathPost path /search use_backend app1a if pathPost default_backend app1b backend app1a balance roundrobin # mode must be http mode http...阅读全文

博文 2017-12-15 22:17:31 debian.cn

Node.js Vs. PHP:你应该选择哪一个

,但是当应用程序繁重,需要 CPU 做大量工作时,Node.js 肯定会有所欠缺。在这种情况下,PHP 最适合做 Web 应用程序的后端。 5.单页应用程序: 如果您使用过 Gmail,那么您可能知道什么是单页应用程序(Single Page Application)。Web 应用程序在初始客户端请求时加载,之后根据客户端请求刷新的网页的特定部分。Node.js 与 AngularJS 的联合是开发单页应用程序的完美方案。 6.开发环境: Node.js 可以用于桌面应用程序开发(Windows,Linux和Mac),移动应用程序开发(混合和跨平台应用程序),甚至构建基于控制台的应用程序。虽然有一些也可以使用 PHP 来开发,但是大多数开发人员不会这做。 7.社区支持: 由于 PHP 比...阅读全文

博文 2017-12-23 23:15:39 debian.cn

如何离线更新基于 Debian 的系统

、Linux Mint 这基于 APT 的操作系统)提供的离线状态下 APT 包管理器。使用 apt-offline,我们可以在离线状态下完整地更新、升级我们的 Debian 系统。这个程序是用 Python 开发的兼具 CLI 和图形界面的跨平台工具。 准备工作 一个已经联网的操作系统(Windows 或者 Linux)。本文中为了便于理解,我们称之为在线系统。 一个离线操作系统(Debian 及其衍生版本)。我们称之为离线系统。 有足够空间容纳所有更新包的 USB 驱动器或者外接硬盘。 安装配置 apt-offline Apt-Offline 可以在 Debian 及其衍生版本的默认仓库中获得。如果你的在线系统是运行的 Debian、Ubuntu、Linux Mint,及其它基于 DEB 的操作...阅读全文

博文 2018-02-07 10:06:03 debian.cn

如何在 Linux 上安装 Intel 微代码固件

微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的输出可能是如下这的: [ 0.952699] microcode: sig...阅读全文

博文 2018-03-07 19:37:47 debian.cn

JDK 11 版本时间表公布

现的问题。” “我看到有人抱怨说,Java 10 不应该在 IDE 更新后才能发布,就像鸡和鸡蛋问题一,除非鸡已经存在并且等待鸡蛋出现。” “2016 年的抱怨者:让我们用 JavaScript 代替(YOLO)。2018 年的抱怨者:还是 2016 年的那波抱怨者,他们现在又转回 Java,因为 YOLO 太难维护了。” “因为 Oracle,Java 命中注定。” 时间会告诉我们这个新的发布周期会将如何影响 Java 社区。 其他资源 Wikipedia 中列出的 Java 版本历史记录 Donald Smith 的 JavaFX 和其他 Java 客户端路线图(2018 年 3 月 7 日) Simon Ritter 的 Duke Takes His Last Tumble(2018...阅读全文

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

Stackstorm 入门介绍

。 工作流就像“原子”动作一,可在Action库中使用,并且可以手动调用或由规则触发。 包(Packs)是内容部署的单位。 它们通过对集成(触发器和动作)和自动化(规则和工作流)进行分组,简化了StackStorm可插拔内容的管理和共享。 StackStorm Exchange上有越来越多的包可用。 用户可以创建自己的包,在Github上共享它们,或者提交给StackStorm Exchange. 审计跟踪(Audit Trail)记录并存储手动或自动操作执行的审计跟踪,并存储触发上下文和执行结果的全部细节。 它还被记录在审计日志中,用于集成外部日志记录和分析工具:LogStash,Splunk,statsd,syslog StackStorm 通过包含 sensors 和 actions 的...阅读全文

一位资深Java架构师的晋级心得

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 架构师在软件开发的整个过程中起着很重要的作用。 架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

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

没有人在做任何竞选活动。” 为什么大家都不愿担任领导人呢? Debian 领导人的主要职能有两项:一方面是代表 Debian 到世界各地,在会议上进行分享,同时处理项目与其它团队和公司的关系;另一方面是行政上的,领导人要管理项目资金,任命开发者在项目中担任不同角色,并负责项目中的一些细节。 但是公开信中也指出,实际上,因为 Debian 项目把各种各的权限都下放到社区成员中,导致领导人的实权实际上并没有多少。比如,个别开发者几乎可以完全控制他们维护的软件包;开发人员之间的技术分歧很大的时候,将由项目技术委员会处理;发布管理者与 FTP 主人有权最终决定项目实际发布的内容,以及何时发布;项目秘书负责确保遵循必要的程序;政策团队处理项目的大部分总体设计。 另一方面,Debian 领导人这个职位...阅读全文

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

AWS IAM 基本概念介绍

通过将此用户添加到组来分配相应的权限。同,如果您的组织中有人更换工作,则不必编辑该用户的权限,只需从旧组中将其删除,然后将其添加到合适的新组即可。 Role IAM 角色 类似于用户,因为它是一个 AWS 实体,该实体具有确定其在 AWS 中可执行和不可执行的操作的权限策略。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有任何关联的凭证(密码或访问密钥)。相反,如果将某个用户分配给角色,则将动态创建访问密钥并将该密钥提供给用户。 Temporary Security Credentials 您可以使用 AWS Security Token Service (AWS STS) 创建可控制对您的 AWS 资源的访问的临时安全凭证,并将这些凭证提供给可信用户。 典型...阅读全文

博文 2019-06-04 20:22:31 debian.cn