InfraPub 为您找到相关结果 421

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

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

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

图片来自于 Youtube 关于近期关于放 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程语言(C++)。他们依然还习惯使用 C 语言来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文

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

2022年云原生服务网格展露的五大趋势

性能问题。四是 无 Sidecar 模式的服务网格可供选择。Istio 推出了 Ambient 部署模式,这是一种新的 Istio 数据平面模式,旨在简化操作、扩大应用兼容性并降低基础设施成本。用户可以选择将 Ambient Mesh 集成到其基础设施的网格数据平面,放 sidecar 代理,同时保持 Istio 的零信任安全、遥测和流量管理等核心功能。五是 WebAssembly 崛起。WebAssembly 正在发展成为云原生环境中跨平台、多语言的沙箱环境,甚至可以替代容器运行时,在 Kubernetes 中编排调度。 WasmEdge、KubeEdge、Istio 等项目可以从控制平面无缝编排 Wasm 工作负载。...阅读全文

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

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

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

Cortex: 高可用和水平扩展Prometheus监控系统

服务。如果cortex有许多的查询,则可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标准数据出现间断,即使发生机器故障and/orpod驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的整个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在自托管或云提供商支持的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

博文 2021-10-09 17:00:22 知乎

Sam Altman的成功学|OneFlow

潜能。 询问自身诉求,你通常不能得偿所愿,而且拒绝的滋味往往不好受。但若一旦成功,效果就会好得出奇。 那些声称“我将永不言,直到梦想成真,不论前方有多少艰难险阻,我也会迎难而上”,并将其付诸行动的人,最后几乎总能大获成功。因为他们坚持了足够久,所以最终迎来了幸运之神的眷顾。 在这方面,爱彼迎(Airbnb)是我认为的行动标杆。业内流传着许多有关爱彼迎的逸闻趣事,虽然我并不推崇他们的做法(比如透支信用卡、每顿都吃一元店买的麦片、乐此不疲地与强劲的对手进行较量等等)但是正因为他们足够坚持,最后终于时来运转。 只有保持乐观才能足够坚定,而乐观这种性格特征是可以通过练习逐步提升的,要知道悲观者是很难成功的。 10 保持强劲的市场竞争力 大多数人都明白,企业竞争力越强,价值就越高。这点至关重要,而...阅读全文

2016 年 Go 语言使用习惯调查

Go 语言官方博客公布了 2016 年 Go 语言使用调查。在 3,595 名调查者中,89% 称他们在工作中或工作之外用 Go 编程;63% 称他们的工作是 Web 开发,但只有 9% 的人只从事 Web 开发,一半以上调查者的工作涉及三个以上领域;63% 的人用 Go 开发命令行程序,60% 写 API 或 RPC 服务,52% 写 Web 服务。 调查者对 Go 的满意度非常高(这显然与调查者这一群体高度相关),他们主要在 Linux 上进行开发,其次是 MacOS,第三是 Windows;最爱的编辑器是 Vim,其次是 VSCode、Atom、IntelliJ、Sublime Text 和 Emacs;大部分人主要通过 Stack Overflow 寻找 Go 相关问题的答...阅读全文

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

HAProxy用法详解 最详细中文文档

,客户端请求在转发至后端服务器之前将深度分析,所有不与RFC格式兼容的请求都会拒绝;此为默认模式; health:实例工作于health模式,其对入站请求仅响应“OK”信息并关闭连接,且不会记录任何日志信息;此模式将用于响应外部组件的健康状态检查请求;目前来讲,此模式已经废,因为tcp或http模式中的monitor关键字可完成类似功能; 3.4 hash-type hash-type 定义用于将hash码映射至后端服务器的方法;其不能用于frontend区段;可用方法有map-based和consistent,在大多数场景下推荐使用默认的map-based方法。 map-based:hash表是一个包含了所有在线服务器的静态数组。其hash值将会非常平滑,会将权重考虑...阅读全文

博文 2014-05-10 17:14:46 debian.cn

三个简单而优秀的 Linux 网络监视器

你可以通过 iftop、Nethogs 和 vnstat 这三个 Linux 网络命令,了解有关你网络连接的大量信息。iftop 通过进程号跟踪网络连接,Nethogs 可以快速显示哪个在占用你的带宽,而 vnstat 作为一个很好的轻量级守护进程运行,可以随时随地记录你的使用情况。 iftop iftop 监听你指定的网络接口,并以 top 的形式展示连接。 这是一个很好的小工具,用于快速识别占用、测量速度,并保持网络流量的总体运行。看到我们使用了多少带宽是非常令人惊讶的,特别是对于我们这些还记得使用电话线、调制解调器、让人尖叫的 Kbit 速度和真实的实时波特率的老年人来说。我们很久以前就放了波特率,转而使用比特率。波特率测量信号变化,有时与比特率相同,但大多数情况下不是。 如果你只...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Linux内存buffer和cache的区别

在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。 一. 内存使用说明 Free 命令相对于top 提供了更简洁的查看系统内存使用情况: [root@debian ~]$ free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物...阅读全文

全民HTTPS时代:盘点免费SSL证书那些事儿

一家新兴的 SSL 证书提供商,赛门铁克(Symantec)亚太区的白金合作伙伴。随着 Symantec 的 CA 业务 DigiCert 收购完成,其证书链也从 Symantec 变为 DigiCert。现在也开始提供免费 1 年期的 DV SSL 证书。 在线申请网址:https://freessl.org/ 三、AlwaysOnSSL 官方网站:https://alwaysonssl.com/ 点评:AlwaysOnSSL 是一个新的免费和自动认证机构。它由 CertCenter 和 Digicert 运行,免费提供 6 个月的 DV SSL 证书。 在线申请网址:https://alwaysonssl.com/ 四、Comodo 官方网站:https...阅读全文

互联网协议正在发生变化

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

谷歌公开了内部管理Infra层的两个工具的Paper

置的执行是按分区严格隔离的asset ID在分区内必须唯一 分区内的asset不是结构化的,而是组织成非排序列表的形式。这些年的经验告诉我们,对于结构化服务asset来说,真的没有一个size适应所有的方案。 但是,我们并不完全放结构:asset字段可以包含对其他asset的引用,而不是构建asset本身。这样就可以在同一asset上创建多个层次结构。例如,集群层次结构不同于依赖项层次结构。这些引用字段显式标记为此类,从而允许以编程的方式发现。 Incarnation 我们通常给分区内容打快照。这些快照成为incarnation,每个incarnation都有唯一ID。incarnation是访问Prodspec数据的唯一方式。incarnation模型不仅是生成逻辑的自然结果(见生成...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

分布式任务调度平台 XXL

期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Spinnaker 介绍 – Netflix 的持续交付平台

Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,它继承了 Netflix 上一代集群和部署管理工具 Asgard:Web-based Cloud Management and Deployment的优点,同时根据公司业务以及技术的的发展抛了一些过时的设计:提高了持续交付系统的可复用性,提供了稳定可靠的API,提供了对基础设施和程序全局性的视图,配置、管理、运维都更简单,而且还完全兼容 Asgard,总之对于 Netflix 来说 Spinnaker 是更牛逼的持续交付平台。 在深入了解 Spinnaker 之前,先扯一扯 Netflix 的技术文化:这是一家全面拥抱云的公司,据报道数据中心完全部署在 AWS 上,是 AWS 的超级大客户。在上云后他们发现故障仍...阅读全文

博文 2018-12-21 19:30:47 debian.cn

HTTP状态码详解

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 各状态码具体含义 1xx 消息 这一类型的状态码,代表请求已接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经服务器接收,且仍未拒绝。客户端应当继续发送...阅读全文

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

译:Kubernetes 最佳实践

的 AKS(Azure Kubernetes 服务)或 Amazon Web Services 上的 EKS(亚马逊弹性 Kubernetes 服务)。利用这一点意味着底层基础设施将由云服务商管理,并且可以更轻松地完成有关扩展集群的任务,例如添加和删除节点,而让工程师管理 K8s 集群上运行的内容本身。升级Kubernetes版本除了引入新功能外,新的 K8s 版本还包括漏洞和安全修复,这使得在集群上运行最新版本的 K8s 非常重要。对旧版本的支持可能不如新版本好。然而,迁移到新版本时应谨慎对待,因为某些功能可能会,也可能会添加新功能。此外,在升级之前,应检查集群上运行的应用程序是否与较新的目标版本兼容。监控集群资源和审计策略日志监控 K8s 控制平面中的组件对于控制资源消耗非常重要...阅读全文

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

我要彻底放弃 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

Linux 5.12开始支持USB 4“安全等级5” 可禁用PCIe隧道功能

为即将到来的 Linux 5.12 合并窗口预定的 USB4 / Thunderbolt 变更已经排入 USB-next 树中。这是英特尔的开发人员为下一个内核合并窗口所做的Thunderbolt改变,作为其中的一部分,包括最新的USB4方面的改进。Linux 5.12的新安全选项之一是支持USB 4的安全级别5(SL5)。 通过这个新的安全级别,PCIe隧道将禁用。这个禁用PCI Express隧道的更高安全级别通常是支持USB 4硬件的BIOS配置选项。这个 "nopcie "选项在只使用DisplayPort的 "dponly "模式下也会强制执行。 Linux内核现在已经支持 Thunderbolt / USB 4 安全设置,特性包括要求用户批准授权新设备,自动隧道...阅读全文

Linux 5.10 LTS维护期限将持续到2026年年底

Linux 5.10作为最新的长期支持版本在宣布时只打算维护到2022年底,但在足够多的公司加紧帮助测试之后,Linux 5.10 LTS现在已经确认可以维护到2026年底。Linux 5.10 LTS原本只是要维护到明年年底,但是之前的内核如Linux 5.4 LTS维护到2024年,甚至Linux 4.19 LTS和4.14 LTS也会进入2024年,这就让人觉得比较奇怪。 Linux 5.10 LTS的生命周期很短是因为帮助测试与发布候选程序和/或承诺使用这个内核LTS系列的资源的开发者/组织的数量有限。但是现在有足够的参与者致力于此,这就使得Greg Kroah-Hartman有信心确认他和Sasha Levin将维护内核到2026年12月。 此次改动之后,将使Linux...阅读全文

博文 2021-05-10 08:47:55 joseph

Linux系统诊断-内存基础

-cachedfree: 未使用的内存 memFree & swapFree in /proc/meminfoshared: tmpfs使用的内存 shmem in /proc/meminfobuffers:内核缓冲去使用的内存cached: 页缓存和slabs使用的内存buffers/cache: 表示buffers和cache的总和swap: 交换分区的使用量2.3 buffer和cache会使用内存吗?答案是肯定的,先来了解下buffer和cache。cache(缓存)官方定义是用来弥补高速设备和低速设备之间的访问速度不匹配而预留的一段空间,用来加快资源的访问。 简单讲就是读的更快。buffer(缓冲)是为了做资源写入整形,计算机遇到大量的“小规模IO”时,会将其整形为少量的“大规模IO”,降低写入次...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

思科前员工离职后删库 直接损失达240万美元

美国检察官办公室和联邦调查局于当地时间 8 月 26 日发公告,称思科前员工 Sudhish Kasaba Ramesh 当日在圣何塞联邦法院认罪,承认自己非法入侵思科公司的云基础设施,并破坏大量资源,造成难以挽回的损失。Sudhish Kasaba Ramesh 曾于 2016 年 7 月至 2018 年 4 月供职于思科。 2018 年 9 月 24 日,在离职五个月后,Ramesh 在未经许可的情况下,擅自访问思科托管在 Amazon Web Services 的云基础设施。他从自己的 Google Cloud 项目账户中部署了一段代码,导致 456 个 WebEx Teams 应用程序的虚拟机删除。WebEx Teams 是思科公司一款较为受欢迎的协作办公软件,该应用程序提供视频...阅读全文

博文 2020-08-29 10:27:23 debian.cn

Ubuntu将于2017年1月1日起拒绝SHA

今天,Debian开发者兼Ububtu成员Julian Andres Klode宣布,他计划在2017年1月1日关闭对APT资源库的SHA-1支持。业界反对SHA-1(安全散列算法)加密已有多时,其普遍用于签发数字内容、证书吊销列表(CRL)和数字证书。但到2017年1月1日的时候,事情可能会对浏览互联网的老用户产生影响。 需要指出的是,SHA-1加密也用于签发基于Debian的操作系统的高级包工具(APT)资源库,比如热门的Ubuntu和Linux Mint。 这些经过SHA-1签名的资源,将于明年年初自动Ubuntu 16.04 LTS(Xenial Xerus)和Ubuntu 16.10(Yakkety Yak)给拒绝。 Julian Andres Klode在邮件公告中称...阅读全文

博文 2021-01-28 17:50:17 1签署的资源

FreeBSD 11.1 正式版发布 类Unix操作系统

FreeBSD 11.1 正式版发布了。FreeBSD是类UNIX操作系统,它基于加州伯克利大学的“4.4BSD-Lite”发行并带有一些“4.4BSD-Lite2”增强,面向i386、amd64、IA-64、arm、MIPS、powerpc、ppc64、PC-98、UltraSPARC等平台。它还间接地基于“386BSD”,此乃William Jolitz对加州伯克利大学的 “Net/2” 往 i386 系统上的移植,尽管如今只有极少的代码保留下来。FreeBSD 全世界的公司、因特网服务提供商、科研人员、计算机专家、学生、家庭用户等用于他们的工作、教育、娱乐中。 FreeBSD带有20000多个软件包,它们是预编译和打包好了、便于安装的软件,并覆盖了广阔的应用领域:服务器软件、数据库...阅读全文

博文 2017-07-27 10:15:53 debian.cn

Debian已着手部署补丁:修复WPA2安全漏洞

昨天最令人感到惊讶和担忧的就是,服役超过13年的WPA2加密协议已经攻破,意味着在你家或办公室 Wi-Fi 物理覆盖范围内的攻击者,都可以向破解并发动入侵,监听你的网络活动、拦截不安全或未加密的数据流。针对本次严重的安全漏洞,包含Debian Linux在内的诸多系统厂商已经着手部署安全补丁,以便于提供更安全的上网环境。 该补丁已经修复了Common Vulnerabilities and Exposures(CVE)的如下漏洞 CVE-2017-13077 CVE-2017-13078 CVE-2017-13079 CVE-2017-13080 CVE-2017-13081 CVE-2017-13082 CVE-2017-13086 CVE-2017-13087 CVE-2017...阅读全文

博文 2017-10-17 13:32:27 debian.cn

Python Web 框架 Flask 1.0 正式发布

多线程处理开发过程中的并发请求。 之前不推荐使用的 flask.ext 已完全删除。 在调试模式下访问 request.form 的缺失密钥时会显示更有用的错误提醒,以避免开发者混淆常见的错误来源。 app.logger 的行为已大大简化,更容易定制。 test_client 新增用于发布 JSON 数据的 json 参数,Response 对象新增 get_json 方法来在测试中将数据解码为 JSON 。 新增 test_cli_runner ,用于测试应用程序的 CLI 命令。 大量文档已重写,更清晰明了。这是一项长期持续的工作。 教程和相应的示例已重写。新的示例使用结构化布局并详细介绍每个方面,以帮助新用户更好地规避常见问题并适应 Flask 。 细节请查阅发行说明...阅读全文

博文 2018-04-27 23:21:17 debian.cn

通用服务网格 Kuma 被 CNCF 接纳为 Sandbox 项目

Kong 官方宣布,Kuma 作为 Sandbox 项目捐赠给了 CNCF,并表示“这是有史以来第一个基于 Envoy 的服务网格捐赠给基金会”。 Kuma 诞生于 2019 年 6 月,它是一个现代的通用服务网格控制平面,基于 Envoy 搭建(Envoy 是一个为云原生应用设计的代理软件)。Kuma 可以在包括 Kubernetes、虚拟机、容器、裸机和传统环境在内的任意平台上运行,以落实整个组织中的云原生体验。 “服务网格越大,就越有价值”。因此,Kuma 始终提供 Kubernetes 和 Universal 两种模式,以对 Kubernetes 和 VM 工作负载提供支持。在最新发布的 0.6 版本中,Kuma 的原始 DNA 得到扩展,以支持混合通用工作负载,这不仅允许跨...阅读全文

博文 2020-07-05 23:55:52 debian.cn

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

博文 2023-01-10 13:46:09 掘金

Ruby 2.5.0 稳定版发布

法代码覆盖。分支代码覆盖指检查哪些分支覆盖到,哪些没有。而方法覆盖在指可以测量方法是否调用。基于这些新特性运行你的测试用例,你可以精确地知道哪些分支和方法运行,并更精确地计算测试的代码覆盖程度。[功能 #13901] 新增 Hash#slice [功能 #8499] 和 Hash#transform_keys。[功能 #13583] Struct.new 现在可以用于创建含有关键字参数的类。[功能 #11925] Enumerable#any?, all?, none? 和 one? 可以接受一个模式作为参数。[功能 #11286] 删除顶层常量查找。[功能 #11547] 我们最喜爱的库之一 pp.rb,现已自动加载。无需手动写 require "pp" 来加载。[功能...阅读全文

博文 2017-12-25 21:59:41 debian.cn

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

作为"开放源码定义"的管理者,Open Source Initiative(OSI)20多年来一直将许可证指定为"Open Source"。这些许可证是开源软件生态系统的基础,确保每个人都能使用、改进和共享软件。当一个许可证批准时,是因为 OSI 相信该许可证促进了合作和共享,使参与生态系统的每个人都受益。 在过去的 20 年里,世界已经发生了翻天覆地的变化,软件现在以新的方式甚至是难以想象的方式使用。OSI 已经看到,以前人们所熟悉的开源许可证并不总是能适合这些新的情况。因此,OSI 作为许可证管理员站了出来,为更广泛的用途提交了几个新的许可证。OSI 面临的挑战是评估这些新的许可证概念是否会继续推动共享和协作,是否值得称为"开源"许可证。最终 OSI 批准了一些用于特殊领域的新...阅读全文

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

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有过滤掉的pod可以看做是可以调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做优先分配到pod任务。 调度流程简介 创建pod的命令api-server的api接口接收到。api-server将pod信息存储在...阅读全文

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

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

GitHub 开发者呼吁 Adobe 将 Flash 开源

Linstedt进一步解释说,通过这样做,它将保持Flash项目的生存和安全。他已经开发出一套可视化方法,将SWF和FLA文件转换为HTML5,Canvas,WebGL或Webassembly。开发者的另一个建议是独立的浏览器,可以播放Flash内容。 此外,参与请愿的开发者认为,Adobe可能有一些许可的组件不能公开使用。尽管如此,Linstedt仍然希望这不会是一个障碍,他们呼吁Adobe请简单地留下某些组件删除的说明,开发者将绕过它们,或者用开源替代方法来替换它们。 目前,这份请愿书已经获得了近4677份签名,签名数量正在稳步上升。即使在Adobe宣布到2020年结束对Flash的支持之前,苹果,谷歌,Mozilla 和 微软等公司也默认在各自的浏览器中阻止了 Flash 内容...阅读全文

博文 2017-08-01 10:01:05 debian.cn

Pardus 17.1 发布,基于 Debian 的发行版

此次更新内容:新版本提供了三个不同名称的独立 ISO 映像表明意图 — Xfce,DDE(Deepin 桌面环境)和服务器。 发行说明仅以土耳其语提供,但在临时的 Pardus 版本中,在线翻译服务翻译了更改日志: 下载目录的默认名称已从“下载”更改为“İndirilenler”; 系统设置菜单已改进; 默认打印机测试页面已重新设计; 预先定义的“pardus”用户的密码在开启直播系统时移除; gdebi 程序运行图形界面时发生的崩溃是固定的; gnome-disks 程序某些部分的 bug 已经修复; 新增桌面壁纸; 许多软件包已经更新; 主题已经刷新; 深度桌面媒体支持添加; 许多安全和系统性能补丁已添加 完整内容请查看 发布主页 。 下载地址:http...阅读全文

Debian 11 将于 8 月 14 日正式发布

Debian 发布团队公布了正式发布 Debian 11 的时间,他们将于 8 月 14 日发布 Debian 11 稳定版。在公布此日期时,Debian 发布团队将对当前的冻结和剩余的修改/错误修复的执行更加严格。unblock request 也将更严格地处理,其最后期限已设定为 8 月 3 日。Debian 11 在上周已进入 Full Freeze 阶段,它也比预期的要快,并且之前的 Debian 版本在最终发布之前已经过了几个月。Debian 11.0 基于 Linux 5.10 LTS 内核构建,与两年前推出的 Debian 10 相比,拥有大量软件包更新和其他改进。...阅读全文

博文 2021-07-25 22:55:54 joseph

Kubernetes源码探疑:Pod IP泄露排查及解决方法

: apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailure 每运行一次Job都要创建一个Pod, 每创建一个Pod,CNI插件需要申请一次VPC IP,当Pod销毁时,CNI插件需要释放该VPC IP。 因此理论上,通过该CronJob每天需要进行...阅读全文

欧洲最大云服务公司 OVH 法国机房着火:1个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复

欧洲云计算巨头 OVH 位于法国斯特拉斯堡的机房昨日发生严重火灾,该区域总共有 4 个数据中心 (Strasbourg Data Center),发生起火的 SBG2 数据中心完全烧毁,另有一个数据中心 SBG1 的建筑物部分受损,SBG3 因受到消防保护暂未受影响,以及 SBG4 确认没有受到波及。不过出于安全起见,OVH 位于斯特拉斯堡的全部数据中心暂时关闭了服务。​​OVH 在全球拥有 27 个数据中心,其中 15 个位于欧洲。昨天这场灾难认为已导致超过 350 万个网站下线,而这一切发生在 OVH 启动了首次公开募股 (IPO) 计划两天后。Rust 旗下的游戏工作室 Facepunch Studios 证实,他们的数据已在这场大火中全部丢失,即使数据中心重新上线后,也无法恢复...阅读全文

中国投资130亿元量产相变内存 比闪存快1000倍

全球的内存市场主要三星、SK Hynix和美光三家公司垄断,他们三家加起来的份额高达95%,中国要想在内存市场突破封锁并不容易,尽管有紫光、长鑫、兆易创新等公司投身存储芯片市场,但在现有的DDR内存技术上,中国公司技术、产能还差得远呢。 此外,内存也不止传统的DDR技术,还有很多新兴领域正在发展,比如PCM相变存储,相比传统内存它的优势很多,比如速度快了1000倍,耐用性也是传统内存的1000倍,江苏淮安市时代芯存公司投资130亿元建设了国内最大的相变存储基地,上周已经开始正式运营,预计年产值45亿元。 来自中国江苏网的消息称,淮安市集成电路产业现场推进暨江苏时代芯存半导体有限公司相变存储器工厂竣工运营启动仪式在淮安高新技术产业开发区顺利举行,此举标志着130亿元投资的相变存储项目开始进...阅读全文

博文 2018-04-10 22:34:58 debian.cn

如何在 Debian 中锁定软件包版本

在 Debian 或基于 Debian/Ubuntu 的 Linux 发行版系统中,有多种方法可以将软件包锁定在一个特定的版本。也就是说,可以将某个软件固定维护在指定版本,不让其随系统更新而更新。 为什么要锁定软件包,防止软件包更新呢? 通常是用户对某个软件版本有特定的需求,或更新期间、更新后可能会导致问题,所以需要维持特定的版本不进行升级。在常见的数据类服务中,这样的需求很有代表性,比如缓存Redis、数据队列RabbitMQ等。还有部分服务依赖于系统中特定的软件,比如指定的 Linux 内核版本,这时就需要锁定内核版本防止因内核升级导致服务异常。 我们这里介绍两种方式,防止软件包更新。需要注意的是,如果软件包其他软件所依赖,阻止其更新,可能会导致关联问题。建议将尽量少的的软件包锁定...阅读全文

博文 2019-01-09 13:19:52 debian.cn

Linux基金会确认开源技术不受美国出口管制

去年GitHub突然宣布开源代码也要受美国出口管制EAR让全球程序员都担心了,不过Linux基金会现在可以确认开源技术不受美国管制了。 软件开发方面,开源技术已经成为全球共识,很多项目都是全球各地的程序员合作开发的,不仅有美国及欧洲程序员,中国不少公司及开发者也是全球开源社区的重要组成,任何一方如果强硬限制,那么整个开源社区就存在断链的风险。 本周,Linux基金会在官网上发表了一份白皮书《了解开源科技和美国出口管制》,中英文双版介绍了美国出口管制的限制,最重要的是这个指南明确了“公开发布给全世界享用的开源技术是不受制于美国出口管制EAR,开源至今仍然是一个最为便利的全球协作的模式。” EAR第734.7条款指出,当可公众获取且无进一步传播限制时,未归类为密级事项的『技术』或『软件』属...阅读全文

博文 2020-07-12 17:19:51 debian.cn

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简单介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已创建。至少有一个容器正在运行,或者正处于启动或重启状态。等待中(PodPending): 创建 Pod 的请求已 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

Rust 1.39.0 发布,async/.await 稳定了

Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫 by-move 绑定的共享引用,以及函数参数的属性。 async/.await 稳定 此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函数和块,并进行 .await 操作。 async 函数通过 async fn 引入,调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{…} 和 async move{…} 块也可以用来定义“异步文字”,它们的行为像闭包。 match 守卫引用 by-move 绑定 在 Rust 中进行模式匹配时,一个变量,也就是“绑定”,可以...阅读全文

博文 2019-11-11 09:44:43 debian.cn

多达 95% 的 HTTPS 链接能被黑客劫持

HSTS 是一个当前大多数 Web 浏览器所支持的 Web 安全策略,它可以帮助 Web 管理员保护他们的服务器和用户避免遭到 HTTPS 降级、中间人攻击和 Cookie 劫持等 HTTPS 攻击的危害。由于服务器管理员没能正确设置 HTTP Strict Transport Security (HSTS),现今大量的 HTTPS 流量都能轻松劫持。 95% 的 HTTPS 连接处于风险中 据最近的 Netcraft study 报告数据显示,当前多达 95% 的服务器所运行的 HTTPS 没有正确地设置 HSTS 或其它配置,以至于将 HTTPS 连接暴露于上述攻击风险之中。 更值得注意的是,Netcraft 在三年前进行的同样扫描,不正确配置的 HSTS 比例仍同现在一样。这表明...阅读全文

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

Linux 27周年:这27件有趣的事实你可能不知道

许多人认为10月5日是 Linux 系统的周年纪念日,因为这是 Linux 在1991年首次对外公布的时间。不过,你可能不知道的是,早在1991年8月25日,当年还是大学生的 Linus Torvalds 就向 comp.os.minix 新闻组的人透露了由于“业余爱好”他正在研究操作系统的消息。因此,该时间也许多爱好者视为 Linux 的真正诞生日期。 为纪念 Linux 27 岁诞辰,OMG Ubuntu 列出了 27 个与 Linux 和 Linus Torvalds 相关的有趣事实。 1、截至 2018 年,Linux 内核已有 20,323,379 行代码。尽管近期有所减少,但庞大的代码量意味着 Linux 仍然是地球上(单个)最大的开源项目。 2、Linux 差点不叫这个名字...阅读全文

Metasploit Framework 5.0 发布 最流行的渗透测试框架

和强大性,更重要的是它的框架(MSF)。它允许使用者开发自己的漏洞脚本,从而进行测试。 之所以称为框架,因为 MSF 本身包含了很多漏洞攻击模块,由一群开发者在进行维护和更新,更重要的是几乎每个 CVE 漏洞都会添加到 MSF 里,有人称之为是“可以黑掉整个宇宙”的渗透测试框架。 这个强大的框架日前已发布最新的 5.0 版本。这是 Metasploit 团队在过去一年中的工作成果。此外,该版本还是自2011年以来 Metasploit 的第一个主要版本。Metasploit 5.0 带来了许多新功能,以及新的发布周期。 其中官方特别提到 Metasploit 5.0 使用了新的数据库,并提供了一种新的数据服务。新版本引入了新的规避机制(evasion capabilities),支持多项语...阅读全文

博文 2019-01-15 13:37:28 debian.cn

改善 Debian Linux 软件包管理的七款工具

说,你可以用它来设定软件包安装时向你提出哪种类型的问题、重置问题的优先级,或者尽管软件包破损仍强行安装。 dpkg-reconfigure可用来配置基于Debian系统的几乎方方面面。由于出现了配置安装系统的其他工具,它的多用途性在丧失,不过dpkg- reconfigure仍可用于配置诸如此类的特性:时区、视频驱动程序、打印机和扫描仪。Ubuntu用了dpkg- reconfigure,但是它在其他基于Debian的发行版中仍很有用。 4.netselect-apt 如今,互联网连接的速度已经非常快。然而,一些软件包代码库的速度仍比其他代码库要快;在使用高峰期间,流行的软件包代码库会降低速度。有时候,根本就缺少高速连接。 对于注重速度的那些人来说,netselect-apt为你的位置列出...阅读全文

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

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

Subsystem for Linux 和 Visual Studio 2019。Windows Insider 项目也非常成功。 目前,Windows 是包括 Surface 在内诸多产品的重要搭载系统,而这也是微软重点耕耘的一项业务。2018年和2020年的内部重组表明,现在 Surface 和 Windows 的未来是密不可分的。Windows 为 Xbox 提供了动力,我们正处于一个主要基于Windows的PC游戏的复苏期。 微软也有 Windows 10X 的想法,这是继 Windows 10 之后的下一个操作系统概念(我认为我们会逐步得到),未来的硬件如 Surface Neo 也在考虑之中。 4.没有必要 不需要基于 Linux 重构 Windows,微软也能保持相关性。在放移动市场之后,微...阅读全文

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

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

deployments,而背后的复杂性隐藏在简单的抽象中。但为了充分理解它为我们提供的价值,我们需要理解它的内部原理。 本指南将引导您理解从 client 到 Kubelet 的请求的完整生命周期,必要时会通过源代码来说明背后发生了什么。 这是一份可以在线修改的文档,如果你发现有什么可以改进或重写的,欢迎提供帮助! 1. kubectl 验证和生成器 当敲下回车键以后,kubectl 首先会执行一些客户端验证操作,以确保不合法的请求(例如,创建不支持的资源或使用格式错误的镜像名称)将会快速失败,也不会发送给 kube-apiserver。通过减少不必要的负载来提高系统性能。 验证通过之后, kubectl 开始将发送给 kube-apiserver 的 HTTP 请求进行封装。kube-apiserver 与...阅读全文

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

Gitlab CI 配置文件 .gitlab

本文档是描述 .gitlab-ci.yml 详细用法的下半部分,上半部分的内容请参考这里。.gitlab-ci.yml 文件用来管理项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 该文件存放于项目仓库的根目录,它定义该项目如何构建。 参考阅读:Gitlab CI 配置文件 .gitlab-ci.yaml 详解(上) artifacts 注意: 非Windows平台从GitLab Runner v0.7.0中引入。 Windows平台从GitLab Runner V1.0.0中引入。 在GItLab 9.2之前,在artifacts之后存储缓存。 在GItLab 9.2之后,在artifacts之前存储缓存。 目前并不是所有的executors都支持...阅读全文

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