InfraPub 为您找到相关结果 452

提问的智慧(精简版)

用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。问题解决后,加个简短的补充说明补充说明不必很长或是很深入。简单的一句 你好,原来是网线出了问题!谢谢大家。 比什么也不说要来的好。事实上,除非结论真的很有技术含量,一句话就够了:说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。对于有深度的问题,张贴调试记录的摘要是有帮助的。但请记住,先描述问题的最终状态,说明是什么解决了问题,在此之后才指明踩坑的地方。在即时聊天软件里问问题为了避免重复答疑,你应该在群里询问常见问题。于部分聊天软件没有话题串的功能(或着实现很差),同时群里还可能有多个同时讨论的...阅读全文

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

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

Amazon 应用。Ubuntu 上的 Amazon 图标一直就挂在桌面,这早已被人吐槽,因为它比较鸡肋,相关调查数据也反映了这一点。此次变化,特别是对于普遍不习惯首选 Amazon 购物的中国人来说,是一大好事。 Ubuntu 20.04 将使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。 内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。 exFAT 文件系统则是 FAT32 的替代者,它微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪...阅读全文

博文 2020-01-27 09:36:30 debian.cn

Manjaro Linux的两项大胆举措

的 Manjaro 一直在致力于使 Arch Linux 变得对用户友好,随着新公司的创建,这方面的能力应该会有所提升。 Manjaro 的另一项重要举措包含在前阵子发布的 18.1 版本 “Juhraya” 中,该版本中的办公文档可以自行选择。系统中预装了 LibreOffice,但是用户可以在安装过程中选择德国软件开发商 SoftMaker 的免费 Office 套件 FreeOffice 2018,或仍然使用 LibreOffice,甚至可以跳过安装任何 Office 套件。 FreeOffice 套件面向那些重视与 Microsoft Office 无缝兼容的用户,它本身使用当前的 Microsoft 文件格式 DOCX、XLSX 和 PPTX。于 Manjaro 社区的需求...阅读全文

博文 2019-10-05 16:24:38 debian.cn

Debian 公布关于支持非 systemd 初始化系统的投票结果

项目认识到 systemd 服务单元是用于描述如何启动守护程序/服务的首选配置。但是,Debian 仍然是一个环境,开发者和用户可以在其中探索和开发替代的初始化(init)系统和 systemd 功能的替代方案。那些对探索此类替代方案感兴趣的人需要提供必要的开发和打包资源来完成这项工作。在运行依赖于某些 systemd 接口的软件时,有助于探索替代方案的诸如 elogind 之类的技术对于 Debian 仍然很重要。更重要的是,Debian 团队必须支持开发此类技术的开发者的工作,这些技术与 Debian 项目的其余部分之间存在重叠,例如,及时检查补丁并参与讨论。软件包应包括服务单元或启动脚本,以启动守护程序和服务。软件包可以软件包维护者自行决定使用任何 systemd 工具,只要这与其他...阅读全文

博文 2019-12-29 13:53:51 debian.cn

社交巨人Facebook使用Linux和Btrfs的姿势

被我们称之为“影子层”的地方进行——我们可以在一个非生产环境重放生产网络的流量,这样我们能够在一个非常安全的地方检测系统的稳定性和性能。我们可以像做实验那样一边加大流量一边说:“好了,我先给它(测试环境)5%的生产网络流量,然后一增加到100%,看看会有什么发现吧。”像做A/B测试那样,我就能得到两个内核在整个实验过程中对比鲜明的数据。 我们有工具能验证内核并帮助测试上游内核。这样比较容易发现上游内核新的有意思的bug,而非只是找到已经被上游内核修复过的bug。 Linux.com:您比较担心什么问题? Chris Mason:就运行Linux内核或者文件系统而言,我们还没遇到什么问题;况且有这么多的社区在支持Linux,我也没有必要担心什么。 Linux.com:您参与Linux开发也有...阅读全文

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

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

传输协议有 TTHeader、HTTP2。TTHeader 可以和 Thrift、Kitex Protobuf 结合使用;HTTP2 目前主要是结合 gRPC 协议使用,后续也会支持 Thrift。 多消息类型:支持 PingPong、Oneway、双向 Streaming。其中 Oneway 目前只对 Thrift 协议支持,双向 Streaming 只对 gRPC 支持,后续会考虑支持 Thrift 的双向 Streaming。 服务治理:支持服务注册/发现、负载均衡、熔断、限流、重试、监控、链跟踪、日志、诊断等服务治理模块,大部分均已提供默认扩展,使用者可选择集成。 代码生成工具:Kitex 内置代码生成工具,可支持生成 Thrift、Protobuf 以及脚手架代码...阅读全文

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

Linux系统诊断-内存基础

谈及linux内存,很多时候,我们会关注free,top等基础命令。当系统遇到异常情况时,内存问题的根因追溯,现场诊断时,缺乏深层次的debug能力。本篇幅不做深层讨论,能把当前系统的问题描述清楚,是每个SRE应该具备的最基础能力。free========2.1 free命令原理free是通过查看 /proc/meminfo 来获取内存的使用情况。但是 /proc/meminfo 这个文件又是怎么来的?我们先了解下 /proc 目录:/proc 是一个虚拟文件系统,该目录下的所有文件都是伪文件,该类文件只存在于内存中,并不占用空间——使用 du -sh 即可验证,该模具下的磁盘占用都是0。/proc 下的所有文件都是内核调用proc_create() 接口来创建的虚拟条目。/proc 中...阅读全文

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

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

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管理工作,将这些公用配置从开发者手中分离出来,变成系统管理配置。PodPreset 是 Namespace 级别的对象,其作用范围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

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

Intel 为啥要给 ARM 代工

要 Intel 为 ARM 代工,就比较困难了。 提出新标准根源在于 Intel 打算开放代工业务 于 PC 业务已经近乎夕阳产业。而移动设备、智能穿戴、物联网的市场异常庞大。而在过去几年,Intel 通过巨额补贴试图将 X86 芯片打进移动设备市场的效果非常有限,除了少数厂家选择了 X86 芯片之外,像三星、华为、LG、步步高、小米等全球主要整机厂都选择了 ARM。 在这种大背景下,Intel 从电脑时代独霸的角色,成了移动设备时代必需与人合作的角色。而且于 PC 业务增量有限,Intel 开发对外代工,还能将闲置产能充分利用起来,实现利益最大化。 而这对于 ARM 而言,Intel 为其代工无异于 Intel 对 ARM 的示好和妥协,这使得 ARM 芯片也能够使用全球最好的制造工艺...阅读全文

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

基于thanos搭建分布式prometheus

querier会根据label自动去重,确保返回给grafana的数据不会重复,这个特性很关键。 有了thanos querier组件,我们可以很简单的解决单点故障问题: 部署N个prometheus同时抓取数据,然后thanos querier代理它们,这样prometheus挂了一台也不影响服务,数据在其他prometheus上还有。 方案1:thanos sidecar + thanos querier 实际上,querier不能直接反向代理prometheus,而是需要在prometheus的POD内部署一个thanos sidecar组件,querier反向代理至sidecar,再sidecar查询POD内的prometheus。 querier和sidecar之间走GRPC协议,POD内的...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

使用 MongoDB 之前应该知道的 14 件事

本文作者从事数据库相关工作接近四十年,最近开始使用 MongoDB。在开始使用 MongoDB 之前,作者希望有些事情自己已经知道。根据一般经验,对于数据库是什么以及它们能干什么,人们会有先入为主的认识。为了给他人提供方便,本文列出了一些常见的错误。 本文要点 即使 MongoDB 没有强制要求,设计一个模式还是至关重要。 类似地,在设计模式及访问模式时设计好索引。 避免大对象,尤其是大数组。 谨慎对待 MongoDB 的设置,尤其是关乎安全和稳定性时。 MongoDB 没有查询优化器,因此,对于如何安排查询操作的顺序,你必须格外小心。 创建一个无需身份验证的 MongoDB 服务器 很遗憾,MongoDB 在安装时默认不启用身份验证。在只从本地访问的工作站上,这没什么不好。但是,于...阅读全文

如何使用 journalctl 清理 journal 日志

位置。 "none" 表示不保存任何日志(直接丢弃所有收集到的日志), 但日志转发(见下文)不受影响。 默认值是 "auto" Compress= 默认值"yes"表示: 压缩存储大于特定阈值的对象。 Seal= 默认值"yes"表示:如果存在一个"sealing key"( journalctl(1) 的 --setup-keys 命令创建), 那么就为所有持久保存的日志文件启用 FSS(Seekable Sequential Key Generators)保护, 以避免日志文件被恶意或无意的修改。 SplitMode= 设置是否按照每个用户分割日志文件,以实现对日志的访问控制(日志守护进程会确保每个用户都能读取自己的日志文件)。 可以使用的分割策略如下: "uid" 表示每个用户都有自...阅读全文

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

红帽 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

为何 Kubernetes 如此受欢迎?

一个原因是 Kubernetes 可以在任何云端工作。大多数企业在现有的内部数据中心和公共云之间共享资产,对混合云技术的需求至关重要。 Kubernetes 可以部署在公司先前存在的数据中心内、任意一个公共云环境、甚至可以作为服务运行。于 Kubernetes 抽象了底层基础架构层,开发人员可以专注于构建应用程序,然后将它们部署到任何这些环境中。这有助于加速公司的 Kubernetes 采用,因为它可以在内部运行 Kubernetes,同时继续构建云战略。 现实世界的案例 Kubernetes 继续增长的另一个原因是,大型公司正在利用这项技术来解决业界最大的挑战。Capital One、Pearson Education 和 Ancestry.com 只是少数几家公布了...阅读全文

博文 2017-11-07 23:58:26 debian.cn

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支持 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

全民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...阅读全文

Java 12 / JDK 12 正式发布

,同时保留 32 位 ARM 实现和 64 位 aarch64。 JDK 中存在两套 64 位 ARM 实现,主要存在于 src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch64 目录。两者都实现了 aarch64,现在将只保留后者,删除 Oracle 提供的 arm64。这将使贡献者将他们的精力集中在单个 64 位 ARM 实现上,并消除维护两套实现所需的重复工作。 Default CDS Archives 默认类数据共享归档文件 针对 64 位平台,使用默认类列表增强 JDK 构建过程以生成类数据共享(class data-sharing,CDS)档。 Abortable Mixed Collections for G1 可中止的 G1...阅读全文

博文 2019-03-20 12:46:27 debian.cn

AWS省钱攻略:预留实例怎么玩

m5.2xlarge 类型的 Windows 的标准RI,于计算需求改变,我们需要 m5.4xlarge 的实例以满足业务需求,那么我们可以将两个 m5.2xlarge 的 RI 合并成一个 m5.4xlarge。 同样我们也可以将 m5.4xlarge 进行同实例类型的大小拆分。 场景四:回到上面的场景二,您在新加坡区域有个 m5.4xlarge 的 Windows 实例在运行 ,且当前我有一个 m5.2xlarge 的标准 RI,一个 m5.xlarge 的标准RI,那么这种情况下能不能再购买一个 m5.xlarge 的标准Windows RI 进行合并操作呢?这种情况下则无法通过购买 m5.xlarge 标准 RI 合并为 m5.4xlarge 标准RI。 这里就要提到标准RI拆分合并的限制:标准预留...阅读全文

博文 2019-08-18 18:26:19 debian.cn

Debian目前面临的问题:钱足够但很缺人!

Kubuntu 和 MATE 等官方变体外,还有 Linux Mint、Linspire 和 Zorin 等第三方变体。Dibian 本身也广泛用于运行本地和公有云上的服务器应用,并且是完全免费的。当然,Google 和 AWS 也位列此次 DebConf20 大会的白金赞助商。Debian 是美国非盈利组织 SPI(Software in the Public Interest,公共利益软件组织)运营的。 “Debian 人不喜欢花钱,对此有负罪感。” 在本次 DebConf20 线上大会上,Carter 在“Debian 现状”部分报告了 Debian 项目具有非常健康的财务状况。他指出,项目受益于 SPI 等多家组织,目前银行账户金额超过 90 万美元。“一旦做事缺钱,就会有(赞助商)出手...阅读全文

博文 2020-10-09 10:24:04 debian.cn

高性能缓存服务器 Nuster

path01这条规则永远不会执行,因为 all 会匹配所有的规则。 name 定义一个名字。 key KEY 定义 key,以下关键字组成: method: http method, GET/POST... scheme: http or https host: the host in the request path: the URL path of the request query: the whole query string of the request header_NAME: the value of header NAME cookie_NAME: the value of cookie NAME param_NAME: the value of query NAME body...阅读全文

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

GlusterFS 和 Ceph 比比看

GlusterFS 与 Ceph 哪个更快已经进行了几项测试,但迄今为止没有确切的结论。GlusterFS 存储算法更快,并且于 GlusterFS 以砖组织存储的方式实现了更多的分层,这在某些场景下(特别是使用非优化 Ceph 的话)可能导致更快的速度。另一方面,Ceph 提供了足够的定制功能来使其与 GlusterFS 一样快——结果是两者的性能都不够令人信服一个比另一个更强。 然而,现实表明,Ceph 访问存储的不同方法使其成为更流行的技术。事实证明,更多的公司正在考虑 Ceph 技术而不是GlusterFS,而且 GlusterFS 仍然与 Red Hat 密切相关。例如,SUSE 还没有 GlusterFS 的商业实现,而 Ceph 已经被开源社区广泛采用,市场上有各种不同的产品。可以说...阅读全文

博文 2017-08-09 10:35:29 debian.cn

你和 Linux 高手只差了一个 LFS

,LFS 绝对配得上称为一本好书,或者说一本好教材。市面上,很难再找到一本如此具体又如此精炼的教材了。 首先,它并不是只是讲讲简单概念,它很具体,具体到就是一个例子,一个告诉你怎么亲手构建出属于自己的 Linux 系统的例子。 其次,它很精炼,它的精炼表现在两个方面:系统构建出来不臃肿;文字描述很精炼。 最后还有一点,这一点至关重要。尽管文字的描述非常精炼,甚至是精炼到枯燥,但是作为一本教材,作者无时无刻不再想尽办法,让你学到东西。无论是编译指令下方各个参数的介绍,还是软件包安装小节下方软件包内容的介绍,作者真的是想尽办法的试图把知识传递给读者。 LFS 没有缺点吗? 那自然是有的,可以原封不动的照抄上面的优点。辩证的看待这些优点,你就会发现这些优点是有代价的。 首先,于这个例子过于生动形象,所...阅读全文

博文 2017-07-17 17:45:59 debian.cn

AWS EKS 添加IAM用户角色 - SRE运维博客

us-east-1 update-kubeconfig --name eks --profile developer 检查 kubeconfig kubectl config view --minify 检查权限 kubectl auth can-i get pods kubectl auth can-i create pods kubectl run nginx --image=nginx 创建具有管理员访问权限的 IAM 角色并 IAM 用户代入此角色。 创建AmazonEKSAdminPolicy策略 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks...阅读全文

博文 2022-12-19 21:15:27 博客园

2017 热门开源自动化测试框架优缺点对比

1. Robot Framework Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,但也可以在 Jython(Java)和 IronPython(.NET) 上运行,提供跨平台支持(Windows、Linux 或 MacOS )。 优点: 通过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员创建易读的测试。 测试数据语法简单易用。 生态系统丰富。各种通用测试库和工具组成,这些工具都是作为独立项目开发的。 具有高度可扩展性。 可通过 pabot 或 Selenium Grid 执行并行测试。 缺点: 自定义 HTML 报告较为麻烦。 如果是针对大范围的库和扩展的 KDT 自动化测试,建议使用...阅读全文

博文 2017-11-15 08:52:47 debian.cn

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

Authorizer)和准入控制(Admission Control)插件。它们是在1.7中以Beta版新添加的特性,用于限制kubelet访问那些控制Secret、Pod和其它基于节点对象的Kubernetes API操作;用于Secret的加密和其它存储在etcd的资源,当前以Alpha版提供可用;Kubelet TLS Bootstrapping,当前以Alpha版提供,支持客户和服务证书旋转(Rotation);API服务器存储的审计日志,现在更改为可定制的和可扩展。 聚焦于存储和有状态工作负载管理的特性包括:StatefulSet Updates。它是在1.7中以Beta版新提供的特性,允许使用一系列的更新策略对有状态应用进行自动更新,包括滚动更新(rolling-update),以及金丝雀...阅读全文

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

使用 setfacl 管理文件的访问控制列表ACL

absolute path names # file: opt/test # owner: root # group: root user::rwx user:code:r-- //可以看到code单独的权限为r-- group::rwx mask::rwx other::rwx 注意:code 的权限并不是只根据ACL配置来决定的,它是code用户基本权限与配置的ACL权限的“与”运算决定的,即other:rwx 与 code:r-- = code:r-- 可以使用code用户,测试是否可写。在写文件时,会出现-- INSERT -- W10: Warning: Changing a readonly file提示。 除了对单个用户进行设置外,还可以对用户组、有效权限(mask)进行设置。 如对用户组...阅读全文

Rust 1.37.0 稳定版发布

) => { const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()]; // ^ Note the underscore here. } } static_assert_size!(Option>, 8); // 1. static_assert_size!(usize, 8); // 2. 注意第二个 static_assert_size!(..):于使用了未命名的常量,可以在不命名冲突的情况下定义新项。以前,需要编写 static_assert_size!(MY_DUMMY_IDENTIFIER, usize, 8);。在 Rust 1.37.0,可以更容易地为静态分析目的创建人机工程学和可重用的声明性和过程宏。 配置文件引导的优化(Profile...阅读全文

博文 2019-08-17 21:17:23 debian.cn

如何校验 Debian 软件包的 MD5

apache2-utils.md5sums apg.md5sums apparmor.md5sums app-install-data.md5sums app-install-data-partner.md5sums ... 记住:使用-g选项与--generate=missing一样,你可以试着为apache2软件包生成md5和,只要运行下面这个命令: $ sudo debsums --generate=missing apache2 于我系统上的apache2软件包已经有md5和,它会显示下列输出,这与运行$ sudo debsums apache2的结果一样。 想了解更多有意思的选项和使用方面的信息,请参阅debsums参考手册页。 $ man debsums 在本文中,我们介绍了如何对照MD5...阅读全文

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

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

Kubernetes代码库的前提下开发自己的解决方案。 于1.9版本中提供的功能尚处于alpha测试阶段,因此用户必须额外加以启用,且我们不建议您将其应用于实际生产。但该版本的出现,意味着Kubernetes存储生态系统正朝着更加可扩展且基于标准的方向迈进。 其它功能 定制化资源定义(简称CRD)验证版目前已经开始beta测试,其默认启用,可帮助CRD作者们针对无效对象得出清晰且即时的反馈。 SIG Node硬件加速器目前进入alpha测试阶段,可利用GPU资源实现机器学习以及其它高性能工作负载。 CoreDNS alpha版本允许用户利用标准工具安装CoreDNS。 IPVS mode for kube-proxy进入beta版本,可为大型集群提供更出色的可扩展性与性能表现。 社区中的每个特别兴趣小组(简...阅读全文

博文 2017-12-17 01:00:00 debian.cn

谷歌开源了代码评审规范:好坏代码应这样来判断

识也是改善系统代码健康状态的重要部分。当然,如果评审者的评论仅仅只是教育性的,且对于标准要求不那么重要,那么还是要加上前缀「Nit:」的。 评审准则 技术事实和数据要优先于观点与个人风格。 在代码风格方面,谷歌的代码风格指南是最权威的参考资料。任何不在风格指南中的代码习惯,都属于个人风格,但我们应该保证基本的风格和谷歌风格指南是一致的。 软件设计方面几乎不会有纯粹的风格问题,或者纯粹个人的习惯问题。很多风格问题都基于一些基本准测,它们并不是简单地个人观点决定的。此外,如果代码作者通过数据或基本工程原则证明了几种方法同样有效,那么评审者应该接受作者的风格。否则,偏好的选择还是取决于软件设计的标准原则。 如果没有其它适用规则,那么评审者可以要求作者的偏好与当前代码库保持一致,同时不对整体的代码...阅读全文

博文 2019-09-10 17:19:13 debian.cn

Terraform 学习总结 — Terraform 简介

Infrastructure as Code", 基础架构即代码。Terraform 几乎可以支持所有市面上能见到的云服务。具体的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不易出错。 Terraform 提供了对资源和提供者的灵活抽象。该模型允许表示从物理硬件、虚拟机和容器到电子邮件和 DNS 提供者的所有内容。于这种灵活性,Terraform 可以用来解决许多不同的问题。这意味着有许多现有的工具与Terraform 的功能重叠。但是需要注意的是,Terraform 与其他系统并不相互排斥。它可以用于管理小到单个应用程序或达到整个数据中心的不同对象。 Terraform 使用配置文件描述管理的组件(小到单个应用程序,达到整个数据中心...阅读全文

玩转 AWS 的必备工具

再用AWS的建立镜像工具转化成一个订制的AMI。那样手动式建立的AMI全过程一般用时费力不易配备,并且容易错误。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备重复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

Kubernetes 1.7:安全加固、有状态应用更新等

Kubernetes API在运行时一起提供服务。其他重点改进的地方包括可伸缩的准入控制器(admission controller),可插拔的云提供者,和容器运行时接口(CRI)。 新特性 安全: 网络策略 API(Network Policy API)提升至稳定状态。网络策略通过一个网络插件实现,允许用户对管理哪些 Pod 可以彼此通信的规则进行设置和强制。 节点授权器(Node authorizer)和准入控制插件(admission control plugin)是新增用来限制kubelet基于节点对Secret、Pod和其对象的访问。 Secret的加密和其他etcd中的资源,现在可用并处于alpha状态。 Kubelet TLS 启动现在支持客户端和服务端证书轮换。 API 服务器存储的审计日...阅读全文

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

玩转 AWS 的必备工具

AMI全过程一般用时费力不易配备,并且容易错误。因此 大家必须一个专用工具来自动化技术全部建立AMI的全过程,与此同时叙述建立AMI的编码能够储存而且根据再配备重复使用,来很大地优化和管理方法AMI建立的全过程。 Packer就这样一个自动化技术建立AMI的专用工具。如下图所显示,Packer根据JSON文件模板来叙述一个建立AMI的全过程,如何配置AMI都编码叙述。客户只需根据改动这一软件更新来随后实行一个简洁的指令来自动生成订制的AMI。那样订制AMI的全过程则能够直接进入版本号智能管理系统,便捷消费者查看和跟踪订制全过程的转变 。...阅读全文

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

Window)已经转移。 对此,Barnes 认为微软不会基于 Linux 内核来重构 Windows 理如下 1.内核 Windows 系统中的 NT 内核提供了一定程度的向后兼容、长期支持和驱动程序可用性,而 Linux 还在不断完善中。如果想要基于 Linux 重构,这必然需要耗费数百万美元。微软有很多付费客户可以继续按原样支持 Windows,某些已经有数十年了。 基于 Linux 重构 Windows,并不像 Raymond 所说的那样能够帮助微软节省开支。很多盈利公司的存在都是为现有的操作系统而服务的。即便是最终基于 Linux,也可能会导致不良的内核单一化。 Windows 和 macOS 的竞争,才能让 Linux 变成更好的操作系统。而更理想的结果是开源创新能够在所有操作系统之间传...阅读全文

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

Apollo 分布式配置中心详解

据库等。 配置需要治理 权限控制,于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制,不同环境、集群配置管理,同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理。 Apollo 配置中心基本使用 Apollo 基础模型 用户在配置中心对配置进行修改并发布;配置中心通知 Apollo 客户端有配置更新;Apollo 客户端从配置中心拉取最新的配置、更新本地配置并通知到应用。 界面概览 上图是 Apollo 配置中心中一个项目的配置首页,在页面左上方的环境列表模块展示了所有的环境和集群,用户可以随时切换。页面中央展示了两个 namespace(application 和...阅读全文

博文 2020-04-12 12:16:26 debian.cn

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

博客 (ewhisper.cn) Prometheus Operator 与 kube-prometheus 之二 - 如何监控 1.23+ kubeadm 集群 - 东风微鸣技术博客 (ewhisper.cn) x509-certificate-exporter/deploy/charts/x509-certificate-exporter at master · enix/x509-certificate-exporter (github.com) 三人行, 必有我师; 知识共享, 天下为公. 本文东风微鸣技术博客 EWhisper.cn 编写....阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

漫画赏析: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 开发

Kotlin 使用 React.js 创建现代 Web 应用。 使用 create-react-kotlin-app,可让开发者无需费心于项目设置和配置构建这些工作,能专注于快速开始客户端应用开发,同时体会到静态类型语言的优势以及 JavaScript 生态系统带来的强大配套资源。详情点此了解。 未来的发展方向 Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用。官方表示计划通过使用同一 API 以扩展全部平台上的可用库资源集合,其中涵盖 I/O、网络、序列化以及日期处理等。 编译器方面,1.3 版本仍集中关注内部层面的变更,而不是外部可见的语言特性。内部的改变能提高性能、改进类型推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应能力...阅读全文

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

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

什么,因为与火狐、LibreOffice和GIMP一样,它大概是世界上最著名的开源软件之一! 这是一款用途广泛的桌面媒体播放器,可以处理你扔给它的几乎任何媒体格式,播放DVD,甚至还能将视频一种格式转码成另一种格式。 替代方案:SMPlayer(Qt)。 5. Unity Tweak Tool实用工具 Unity Tweak Tool可谓是Ubuntu Unity桌面界的瑞士军刀,它让你可以微调和定制桌面来适合自己的口味。无论你想试用一种新潮的GTK主题、更换图标集、调整应用程序菜单的大小或行为、设置触发角,还是缩小Unity启动器的尺寸,它都能满足要求。 从高级配置选项到普通选项:如果某个项可以调整,那么Unity Tweak Tool很可能有相应的切换开关! 6. Caffeine锁屏...阅读全文

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

Redis 命令、特性介绍与性能调优

位置,-2代表List倒数第二个位置。时间复杂度O(N) LSET:将指定List指定index上的元素设置为value,如果index越界则返回错误,时间复杂度O(N),如果操作的是头/尾部的元素,则时间复杂度为O(1) LINSERT:向指定List中指定元素之前/之后插入一个新元素,并返回操作后的List长度。如果指定的元素不存在,返回-1。如果指定key不存在,不会进行任何操作,时间复杂度O(N) 于Redis的List是链表结构的,上述的三个命令的算法效率较低,需要对List进行遍历,命令的耗时无法预估,在List长度大的情况下耗时会明显增加,应谨慎使用。 换句话说,Redis的List实际是设计来用于实现队列,而不是用于实现类似ArrayList这样的列表的。如果你不是想要实现...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Apollo 配置中心简单介绍

、Thread Pool Size、Buffer Size、Request Timeout、Feature Switch、Server Urls等。配置伴随应用的整个生命周期 配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。配置可以有多种加载方式 配置也有很多种加载方式,常见的有程序内部hard code,配置文件,环境变量,启动参数,基于数据库等配置需要治理 权限控制 于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制不同环境、集群配置管理 同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理框架类组件配置管理 还有一类比较特殊的配置...阅读全文

博文 2021-04-09 17:53:51 CSDN

王垠:如何掌握所有的程序语言

很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是编程初学者,不知道该选择什么程序语言来入门。 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种程序语言争...阅读全文

博文 2017-07-10 10:13:17 debian.cn

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

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

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

Java Annotations详解

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

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

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 表示当前缓冲区中有效数据的总量...阅读全文

Debian 10.8 发布:包括多项安全更新和错误修复

://packages.debian.org/src:linux) | ## 移除的包 于我们无法控制的情况,以下包被删除: | 包 | 原因 | | ------------------------------------------------------------ | --------------------------- | | [compactheader](https://packages.debian.org/src:compactheader) | 与当前Thunderbird版本不兼容 | ## Debian安装程序 安装程序已经更新,包含了稳定版的修正。 ## Reference URLs 本次修订所改变的包的完整列表: [https://ftp.debian.org/debian/dists/buster...阅读全文

博文 2021-02-07 10:57:22 joseph

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 知乎