InfraPub 为您找到相关结果 98

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

云原生技术的不断发展,2018年,CNCF扩展了云原生技术的定义,以下是云原生技术的新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。”其中,像容器,微服务等念早已深入人心,而很多开发人员都对此次提及的“不可变基础设施”这个念有不少疑惑,下文将对这个念进行解析。其实不可变基础设施这个念由来已久,并在不同的场合被很多技术专家已不同的形式提出并讨论过, 例如:“Trash Your Servers and Burn...阅读全文

C++20 标准草案全票批准通过

9月4日,C++20 的国际标准草案(DIS, Draft International Standard)投票结束,最终获全票批准通过。 这意味着 C++20 已获得了最终的技术批准,并完成了 ISO 的投票,预计在完成最后一轮 ISO 的编辑工作后,C++20 将在2020年底正式发布。 与上个版本 C++17 相比,C++20 是一次重大的更新,引入了许多新特性: 模块 (Modules)协程 (Coroutines)范围 (Ranges)念与约束 (Constraints and concepts)指定初始化 (designated initializers)操作符 <=> != ==constexpr支持:new/ delete、dynamic_cast、try/ catch、虚...阅读全文

博文 2020-09-08 10:51:13 debian.cn

理解 Linux 的虚拟内存

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

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

都是颗粒 为什么SSD有寿命、内存却没有?

。 SSD则是外部存储,用来长久保存数据,属于非易失性存储,断电后数据还在,但是相对速度慢、延迟高,HDD机械硬盘、U盘、光盘等也是此类。 SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改变内部状态来存储数据,随着时间的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。 NAND闪存的寿命一般用P/E编程擦写次数来描述,写满一次容量就损失一次P/E。 SLC大约是10万次,MLC只有5000次左右,TLC就只大2000次,QLC仅为1000次上下,所以不得不依靠更多管理技术和算法来辅助,以保持寿命。 但另一方面,SLC、MLC、TLC、QLC的存储密度越来越大,SSD容量也越来越大,写满的率越来越低,所以整个SSD的实际寿命其实并没有大大缩短,一般应用无需过分担忧寿命问题。...阅读全文

PostgreSQL 10 有哪些新特性

PostgreSQL 继续向着将在 2017 年 9 月份发布的第 10 个主版本迈进,EnterpriseDB 首席架构师和 PostgreSQL 贡献者 Robert Hass 根据 PostgreSQL官方路线图 编制 了一份 PostgreSQL 10 重要特性列表。 数月之前发布的 PostgreSQL 10 路线图包含多个单独的路线图,每个路线图对应一个特定的公司或个体贡献者。想要括地了解路线图的内容并不容易。以下是 Hass 选出的一部分特性: 表分区 :这可以视为是表继承的简化版本,在表继承中,父表总是为空,子表(分区)有一个隐式约束,当元组插入父表时,它可以影响元组实际上添加到哪个分区。当使用继承关系推导表的属性时,表分区有望简化这个过程,让特定的优化成为可能。 逻辑复...阅读全文

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

Debian告知用户其系统在没有商业固件的情况下可能无法工作

此不被视为自由软件。还有类似的情况,即网络适配器和其他组件在没有加载Linux固件文件的情况下无法工作,但在GPU的情况下,甚至没有一个可以工作的桌面显示器都会成为一个障碍。与其违背他们的原则,Debian 11将继续默认不加载linux-firmware文件。然而,他们决定在需要固件的设备周围添加文件。它还述了如果用户有兴趣,Debian 安装程序如何能够从U盘等加载所需的固件文件。Debian方面认为他们至少没有 “想让用户蒙在鼓里”,不知道如何解决由于缺乏固件而导致显示器无法工作的问题,因此改进了他们的文档。围绕其固件处理,Debian的非免费安装程序镜像也得到了改进。Debian安装程序 Bullseye RC3 也已经升级到 Linux 5.10 LTS 版本,并进行了其他小的改...阅读全文

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

,它的价值马上就体现出来了。而写一份文档,随着时间的推移,它的价值才会逐渐体现出来。 你可能只写一次文档,将来它会被阅读上百次、上千次,因为一份好的文档可以在未来替你向别人回答类似下面这些问题。 1. 为什么当时是这么决策的? 2. 为什么代码是这样实现的? 3. 这个项目里都有哪些念? 4. …… 写文档同样对于写作者也有非常大的收益: - 帮你构思规范化API: 写文档的过程也是你审视你API的过程,写文档时会让你思考你API设计是否合理,考虑是否周全。如果你没法用语言将API描述出来,那么说明你当前的API设计是不合理的。 - 文档也是代码的另一种展现: 比如你两年后回过头来看你写过的代码,如果有注释和文档,你可以很快速理解代码。 - 让你的代码看起来更专业: 我们都有个感觉,只要文档...阅读全文

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

Debian 9 使用kubeadm创建 k8s 集群(下)

在前一篇文章中,我们介绍了 Debian Stretch 环境下,Kubernetes 集群安装的准备工作。本文我们将继续介绍 k8s集群 的安装配置工作。 第4步 - 设置主节点 在本节中,您将设置主节点。 但是,在创建任何Playbooks之前,值得介绍一些念,例如Pod和Pod网络插件 ,因为您的群集将同时包含这两个念。 pod是运行一个或多个容器的原子单元。 这些容器共享资源,例如文件卷和网络接口。 Pod是Kubernetes中的基本调度单元:pod中的所有容器都保证在调度pod的同一节点上运行。 每个pod都有自己的IP地址,一个节点上的pod应该能够使用pod的IP访问另一个节点上的pod。 单个节点上的容器可以通过本地接口轻松进行通信。 然而,pod之间的通信更复杂,并...阅读全文

博文 2019-05-13 22:57:41 debian.cn

C++ 20 准备发布 C++ 23 提上议程

根据 Reddit C++ 版块上的信息,C++ 20 已经正式通过委员会草案,这意味着 C++ 20 可以准备发布。“在近期 ISO C++ 委员会会议上,我们完成了 C++ 20 委员会草案,并投票决定将国际标准草案(DIS,Draft International Standard)发送出去,以进行最终批准和发布”。 帖子介绍:“在程序上,DIS 可能会被拒绝,但是由于我们的程序和过程,这种情况极不可能发生。这意味着 C++ 20 已经完成,并将在几个月后发布该标准。” C++ 20 是近十年来影响最大的一个版本,新的特性众多,包括: 模组(Modules)协程(Coroutines)标准库 Concepts 的念范围(range)constexpr支持:new/ delete...阅读全文

博文 2020-02-16 10:46:16 debian.cn

Debian 在其内核中测试启用 WireGuard

WireGuard 是 Linux Kernel 5.6 新增的重要功能之一,经过多年的开发,现在可以作为内核代码树之外的模块提供(DKMS)。Linux Kernel 5.6 也已将其合并进内核主线。诸如 Ubuntu 20.04 LTS 之类的发行版也已经反向移植 WireGuard 到其内核。 现在,Debian 在测试的内核构建中已启用 WireGuard,它已进入到 Debian 的 Linux 内核树的 Kconfig 中。鉴于 WireGuard 的成功,Debian 大率会对它进行深度定制。对于希望继续采用 WireGuard 的 Debian 11 来说,这是个好消息。 对于内核版本较旧的现有 Debian 稳定版本用户以及其他发行版/操作系统,请参阅...阅读全文

博文 2020-03-24 10:26:42 debian.cn

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

存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等等。 程序语言也是一样的道理。对于初学者来说,其实没必要纠结到底要先学哪一种语言,再学哪一种。曾经有人给我发信问这种问题,纠结了好几个星期,结果一个语言都还没开始学。有这纠结的时间,其实都可以把他纠结过的语言全部掌握了。 初学者往往不理解,每一种语言里面必然有一套“通用”的特性。比如变量,函数,整数和浮点数运算,等等。这些是每个通用程序语言里面都必须有的,一个都不能少。你只要通过“某种语言”学会了这些特性,掌握这些特性的根本念,就能随时把这些知识应用到任何其它语言。你为此投入的时间基本不会浪费。所以初学者纠结要“先学哪种语言”,这种时间花的很不值得,还不如随便挑一个语言,跳进去。 如果你不能用一种语言里面的...阅读全文

博文 2017-07-10 10:13:17 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

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

固态硬盘近年来也是随着计算机的发展而得到了迅速的发展,目前已经隐隐有要取代机械硬盘的势头。但是关于固态硬盘相关的念实在是繁琐,很多人选购固态硬盘时,看到商家宣传NVMe,PCIE 却不懂是什么意思,今天我们就来为大家详解这些念。 首先我们要把 M2 跟 SATA 放一起说,我们常说的 M2 其实是 M.2,更多是指一种尺寸或者插槽,就是上图中右边的尺寸较小的直接插主板上的这种,而 SATA 通常是指上图左边那个尺寸较大的一大块那种。 还要提的是M.2插槽也是有两种的,一种是金手指有两个缺口的Socket 2跟金手指只有一个缺口的Socket 3,这两种可以走不同的通道,我们后面会说到。 接下来要搞懂的是 SATA 跟 PCIE,这两个东西是指串行接口或者就是数据走的通道,相信有人看到这...阅读全文

博文 2019-01-23 13:28:23 debian.cn

Python的闭包和装饰器

定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由变量 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文

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

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

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文

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

Proxmox VE 5.3正式版发布

) PCI 直通管理 GUI 界面,vGPU 管理 GUI 界面。 容器嵌套,也就是在lxc容器中运行lxc、lxd,同时开始支持AppArmor,提供更好安全性。 5.0 系列的 Proxmox 更新,大有 1/3 是 GUI 方面,1/3 是 Qemu、Ceph 等各种组件包的升级,另外1/3就是各种猎奇了,比如这次支持ARM架构虚拟机。总体上 Proxmox 越来越好玩了。官方提供了一个 “What's new in Proxmox VE 5.3” 的视频,有兴趣的同学可以看看。 发布公告链接: https://forum.proxmox.com/threads/proxmox-ve-5-3-released.49422/ 下载地址: https://www.proxmox.com/en...阅读全文

博文 2018-12-05 15:34:51 debian.cn

Fedora 33 确认引入 Stratis 2.1

Stratis 2.1 引入 Fedora 33。Fedora 工程和指导委员会(FESCo)现在已经批准此项提案。因此,预计今年秋季发布的 Fedora 33 有机会用上 Stratis 2.1。 Stratis 2.1 最重要的新增功能是支持 per-pool 加密,这也是促使 Fedora 33 采用它的原因之一。除此之外,Stratis 2.1 还提供了新的管理和监控界面,以及其他功能的增强。 这份变更提案述了 Fedora 33 引入 Stratis 2.1 的计划。另外,FESCo 还在上周批准了 .NET Core for AArch64 的打包,类似于现有的 x86_64 打包。具体细节点此查看。...阅读全文

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

程序员如何才能成为独立开发者?

这几条路: 1)自己做开源项目,足够好,然后鼓励你的关注者给你donate,老外常年用paypal收打赏。厉害一点,直接有人给你包了。 2)用心写各种demo或者教程,好看易懂,勤维护,也有人给你打赏,写的多了还可以出书,类似阮一峰和廖雪峰。 3)多做前端,写几个自己开发的工具类app,笔记啊,图片识别的类似小工具,真的好用,可以加一些小广告,或者开启升级付费的功能。 4)开直播做培训,口条要好,一定要把一些教程练得特别熟练,表演的好像阿里P8以上那种其实都可以自己手写一个新的jvm的大牛但是想普惠众生,而江湖隐退来开课办班,帮助大家提高技能和基本功,这种目前好多人在做。 5)程序员都在用的AWS有好消息!AWS(亚马逊云计算)中国区新用户注册即可免费使用12个月云服务产品啦!每注册一...阅读全文

AWS IAM 基本概念介绍

ComplianceIntegrated with many AWS servicesEventually ConsistentFree to use 基本念 User 您可以在账户中创建与组织中的用户对应的各 IAM 用户,而不是与他人共享您的根账户凭证。IAM 用户不是单独的账户;它们是您账户中的用户。每个用户都可以有自己的密码以用于访问 AWS 管理控制台。您还可以为每个用户创建单独的访问密钥,以便用户可以发出编程请求以使用账户中的资源。 Group IAM中,组是 IAM 用户的集合。利用组,可为多个用户指定权限,以便更轻松地管理这些用户的权限。例如,您可能有一个名为 Admins 的组,并向该组授予管理员通常需要的权限类型。该组中的任何用户均自动具有分配给该组的权限。如果有新用户加入您的组织,并且需要管理员权限,则可...阅读全文

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

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

的 K8S 环境不矛盾。 另外一方面,如果说定制的念是指基于 K8S 本身开发体系所提供的插件机制去做二次开发,那每家厂商都要定制,因为 K8S 本身不是一个产品级就绪的环境,需要使用者去适配网络和存储还有计算,因为每个公有云厂商基于自己的 IaaS 去提供 K8S 产品,必然要去开发插件。 综上,向用户应该提供原生的、标准的 K8S 产品,但底层应该基于自身 IaaS 平台去定制,本质还是为了提高用户使用 K8S 的效率,让用户开箱即用。 K8S 落地挑战:改造成本和人才问题 记者:你觉得目前国内云厂商提供的 K8S 集群编排服务在推广方面目前欠缺的是什么?是什么阻碍了客户进一步去使用这些容器集群服务? 叶理灯:K8S 以容器技术为核心、以容器镜像为打包标准的特点,意味着如果要迁移到这个...阅读全文

博文 2019-06-14 08:28:49 debian.cn

PCIe 6.0完成0.5版本:明年正式版 总带宽256GB/s

PCIe无疑是最为流行的传输总线标准,这几年的更新换代也十分频繁:PCIe 3.0目前还是最普及的,PCIe 4.0正在快速崛起,PCIe 5.0即将和大家见面,PCIe 6.0也正在快速推进制定中。 PCI-SIG组织今天宣布,PCIe 6.0规范已经完成了0.5版本,并提供给组织成员,将在明年按期发布最终正式版。 PCIe每版规范的制定都要经历五个不同版本/阶段: 0.3版本:初步念,提出新规范的关键特性和架构。0.5版本:初始草案规范,确定新架构的所有层面,并吸收0.3版本基础上组织成员的反馈意见,并加入成员需求的新特性加的新特性。0.7版本:完成版草案,新规范的方方面面都完全确定,电气规范也必须通过测试芯片完成验证。之后不会再加入新功能。0.9版本:最终版草案,组织成员可以据此设...阅读全文

博文 2020-02-22 22:20:38 debian.cn

中芯国际2200万豪宅留下梁孟松 明年量产N+2工艺

年多,几乎从未休假,在其带领的2000多位工程师的尽心竭力的努力下,完成了中芯国际从28nm到7nm工艺的五个世代的技术开发。据梁孟松透露,目前中芯国际的“28nm、14nm、12nm及N+1等技术均已进入规模量产,7nm技术的开发也已经完成,明年四月就可以马上进入风险量产。5nm和3nm的最关键、也是最艰巨的8大项技术也已经有序展开, 只待EUV光刻机的到来,就可以进入全面开发阶段”。当然,7工艺以下的先进工艺现在还只是技术研发,没法量产,因为缺少关键的EUV光刻机设备。目前中芯国际已经完成了14nm工艺1.5万片晶圆/月的产能建设目标,接下来的重点是N+1、N+2代工艺,尽管官方一直没有透露具体多少,不过业界认为N+1工艺大是8到10nm节点,N+2工艺则是7nm节点。N+1工艺已经风...阅读全文

Debian 9 Stretch 如何安全升级到 Debian 10 Buster(已验证)

过程 升级到 Debian Buster 现在我们要正式开始 Debian 的跨大版本号的升级操作了,整个过程我们之前提到的从 Debian 8 Jessie 升级为 Debian 9 Stretch 相似。使用以下命令将 Debian 9 Stretch 升级到 Debian 10 Buster; # apt-get upgrade # apt-get dist-upgrade 上面这一步需要的时间比较久,主要受限于你的网速和服务器的性能,大需要下载 1GB 的各类系统文件,和各种安装操作。 命令执行完成以后,我们就可以重启一次系统了。这一次重启是为了让新环境生效。系统启动完成后,我们便可以做一些清理的工作; # apt-get autoremove 这条命令执行完后,我们便完成了整个系...阅读全文

Linode VPS注册购买教程

按钮,我们可以来到下一步,如图: 这些就是重要信息了,需要注意我们所填的信息,下面是一些重要的事项: – Billing Information 这些,可以作假,但是别太假,你IP在北京,就不要填在上海 – Promotion Code 这是优惠码,建议选上,充值完成之后,可以送我们20美元,填这个:podcastinit2018 – Referral Code 推荐链接,填这个: eac533d58ff7c958135810ada124651d869224df – 信用卡需要VISA或者MASTERCARD,我是用的建行e付卡,输入之后立马通过了。 全部填写完毕之后,点击Add Credit,会跳到这个界面: 这是代表我们的账户正在审核,不用担心,如果没问题的话,大半个小时就能审核通过...阅读全文

博文 2021-03-11 17:13:31 diablo4

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

## 述 Kubernetes 作为 IaaS 和 PaaS 的中间层,当前对于资源的计费依托于 IaaS 层的资源计费。一个 Kubernetes 的集群,按照其购买的节点实例 CVM 计费。而用户则使用的是 Pod,在实际场景中,通常需要面临这些问题,一个 Pod 如何承担成本、如何评估集群的成本、如何进行成本预测和优化建议。针对上述问题,我们推荐用户使用 Kubecost 进行解决。 Kubecost 是一款成本分析工具,可以为集群成本提供洞察、分析、推荐和建议。作为您优化集群成本的财务分析师,Kubecost 可以为您提供全面的成本分析报告。本文将介绍 Kubecost 使用场景、优化建议、详细的功能说明以及如何安装使用。 ## 使用场景 ### 评估每种资源消耗的成本 成本支出...阅读全文

Apollo 分布式配置中心详解

。 版本发布管理 所有的配置发布都有版本念,从而可以方便地支持配置的回滚。 灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。 权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题。 客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用。 部署简单 配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,目前唯一的外部依赖是 MySQL,所以部署简单,只要安装好 Java 和 MySQL 就可以让 Apollo 跑起来。 Apollo 配置中心适用范围 既然 Apollo 定位...阅读全文

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

谷歌是如何培养经理人的

Google Partners Podcast主持人Alex Langshur主持了一个播客节目,主题是关于谷歌HR如何寻找和培养优秀经理人。嘉宾是来自谷歌人力发展部门的Sarah Calderon,她在节目中介绍了谷歌是如何选择、培训和培养他们的经理人的。 Langshur引用了他的前上司的话,“一个优秀的经理人让一份艰难的工作变得具有挑战性和价值…而一个糟糕的经理人在一个好的岗位上表现平平,把一份艰难的工作搞得支离破碎”,以此强调选择正确经理人是多么重要。在访谈过程中,Sarah介绍了拥有7万名员工和数千名经理人的谷歌公司是如何选择、管理和培养经理人的。 Sarah括了谷歌在培养经理人方面的五个要点: 表现优秀的员工不一定就是好的经理人,管理岗位所需要的技能是不一样的。只是在某个领域...阅读全文

博文 2017-12-24 07:31:00 debian.cn

Debian 9 Stretch 安装配置 Caddy Server

] ... Environment=CADDYPATH=/etc/ssl/caddy + Environment=CLOUDFLARE_EMAIL=xxx + Environment=CLOUDFLARE_API_KEY=xxx ... 写完配置后输入 sudo systemctl start caddy.service 启动 Caddy。输入 journalctl --boot -u caddy.service 可以查看日志。 启用 QUIC 关于 QUIC 的介绍,可以看一下这篇文章,一句话况呢就是减少 TLS 握手次数,加快网站速度。 修改 /etc/systemd/system/caddy.service ,在 ExecStart=/usr/local/bin/caddy -log stdout -agree...阅读全文

博文 2017-12-24 10:18:33 debian.cn

基于Inception & Yearning做SQL审核的实践

SQL审核是保证数据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上数据事故率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础,提供了相对完善的 API 接口,结合一些外层的操作界面,可以实现SQL审核、执行、备份和恢复功能,为DBA操作利器。本文详细介绍如何配置 Inception 和 Yearning 的整合。 Inception Inception是一个自动化运维工具,在Mysql前做一个审核和操作的屏障。跟Inception的交互是程序级别的,即通过Python或其他程序编程实现对Inception的命令调用,并解析结果。 Inception的文档地址:http://mysql-inception.github.io/inception...阅读全文

博文 2018-08-13 17:39:45 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 程序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn

高性能日志采集工具 logpipe 简单介绍

性的,这很关键。 logpipe 念朴实、使用方便、配置简练,没有如 sink 等一大堆新名词。 logpipe 由若干个 input、事件总线和若干个 output 组成。启动 logpipe 管理进程 (monitor),派生一个工作进程 (worker),监控工作进程崩溃则重启工作进程。工作进程装载配置加载若干个 input 插件和若干个 output 插件,进入事件循环,任一 input 插件产生消息后输出给所有 output 插件。 logpipe 自带了几个插件,分别是: logpipe-input-file 用 inotify 异步实时监控日志目录,一旦有文件新建或文件增长事件发生(注意:不是周期性轮询文件修改时间和大小),立即捕获文件名和读取文件追加数据。该插件拥有文件大小...阅读全文

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

获取数据时的延迟。此功能在大规模的应用程序上十分重要,因为数据离应用程序越近,程序就能更快获取到数据。 antirez 受 Ben Malec 演讲的启发,他想到可以将大部分需要频繁存和取的数据直接放在服务器的内存中,以便让 Redis 为客户端完成部分工作,并使客户端缓存更简单、更有效。这个就是 Client side caching(客户端缓存)的念。 不过这个思路有一个需要解决的问题是,如何控制数据的有效时间?在程序允许的情况下,虽然可以直接设置数据的有效时间,让数据在一段时间后失效。但 antirez 表示,大多数的应用程序无法接受提供过时的数据的风险,因此必须找到更理想的方案来控制数据的失效时间。 所以 antirez 决定开发新的协议 RESP3,在协议中加入新特性来支持客户端...阅读全文

Oracle Linux 8.0 发布

Oracle Linux 8.0 发布了,更新包中包括基础 BaseOS 和 Application Streams,其中 BaseOS 提供运行环境的用户空间,Application Streams 提供了一系列以往分发在软件集中的应用,以及可在用户空间内运行的其它产品和程序。 Application Streams Oracle Linux 8 引入了 Application Streams 的念,它可以比核心操作系统包更频繁地交付和更新多个版本的用户空间组件。Application Streams 包含必要的系统组件和一系列以往分发在软件集中的应用,以及其它产品和程序。 系统管理 引入 Dandified Yum 软件包管理器,它是基于 DNF 技术的 yum 工具的新版本,可在基...阅读全文

博文 2019-07-20 22:39:32 debian.cn

Linux Kernel 5.10本周末发布 十个功能盘点

Linux Kernel 5.10 有望在本周末发布,外媒 Phoronix 盘点了 10 个值得关注的改进和新功能。5.10 不仅是 2020 年最后一个内核版本,而且还是长期支持(LTS)版本。 Linux Kernel 5.10 合并窗口期在今年 10 月关闭,当时外媒 Phoronix 就发文览了主要功能。而在 5.10 即将发布之际,外媒体再次盘点了 10 项比较有趣的功能: 1.AMD Zen 3 温度监控 AMD Zen 3 温度监控现在可以在支持 k10temp 驱动程序和其他持久 Zen 3 扩展的 Linux 上运行,这对操作至关重要。Ryzen 5000 系列在 Linux 5.8-5.9 上运行良好,并且具备所有核心功能。 2.英特尔图形 在英特尔图形方面...阅读全文

博文 2020-12-09 10:30:48 debian.cn

Golang 面试题搜集

/blob/master/base/go-gpm.md) - [Goroutine调度策略](https://github.com/lifei6671/interview-go/blob/master/base/go-scheduler.md) - [goroutine调度器述](https://github.com/lifei6671/interview-go/blob/master/base/go-scheduler-base.md) ## Redis基础 - [Redis 基础数据结构](https://github.com/lifei6671/interview-go/blob/master/base/redis.md) - [Redis中的底层数据结构](https...阅读全文

Saltstack极高危漏洞: 可获取master权限

这两天开源配置管理工具 saltstack 爆出了CVSS得分为10分的漏洞。如果你对CVSS的评分没有念,那么前几年震惊互联网的 openssl心脏滴血漏洞,CVSS base评分是5.0,由此可知这次爆出来的 saltsatck 漏洞是多么严重。 漏洞信息: 该漏洞是 F-secure 研究人员在3月份发现的,目前该漏洞已经在最新版本中修复。本次极高危漏洞,是由两个不同的漏洞引起的,一个是身份验证绕过漏洞 CVE-2020-11651,一个是目录遍历漏洞没有过滤掉不受信任的输入 CVE-2020-11652,从而导致攻击者可以不受限制的访问 salt-master 的整个文件系统。 攻击者获取salt-master的权限后,便可以控制整个被salt-master管理的数据中心的各主机...阅读全文

博文 2020-05-05 18:32:44 debian.cn

MySQL 8 第一个正式版发布:更好的性能

("hot spot"热点竞争问题)工作负载。 2. NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。 3. 窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。 4. 隐藏索引:在 MySQL 8.0 中,索引可以被...阅读全文

博文 2018-04-20 10:40:18 debian.cn

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

,OpenSSL 是在 OpenSSL 和 SSLeay 下获得许可的。从 OpenSSL 3.0 开始,已经过渡到了 Apache License 2.0。旧的 OpenSSL 和 SSLeay 许可证仍然适用于旧版本(1.1.1 和更早的版本)。Providers 和 FIPS 支持OpenSSL 1.1.1 的主要变化之一是引入了 Providers(提供者) 念。Providers 聚集在一起并提供可用的算法实现。使用 OpenSSL 3.0,可以以编程方式或通过配置文件指定你希望用于任何给定应用程序的 Providers。OpenSSL 3.0 标配 5 个不同的 Providers。随着时间的推移,第三方可能会分发可以接入 OpenSSL 的其他 Providers。通过 Providers...阅读全文

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

LFS的方法生成可以自行启动并安装了足够软件的CD,可以用来在空机器上安装LFS,或者直接在其上运行应用。 Patches 由于软件之间的依赖关系,在升级软件包之后可能会导致LFS的过程出现故障。Patch项目致力于研究最新版本的软件之间的互动,并提供一些补丁修复这些故障。 这次发布的 LFS 和 BLFS 总共有29个包得到了更新,包括启动脚本和安装指南。而 BLFS 则跟上一个旧版本相比,有大800个包得到了更新,主要更新包括: * glibc-2.24 * binutils-2.27 * gcc-6.2.0 * /lib 移到了 /lib64 * 移除/usr/lib64 目录 * 增加 /usr/bin/ld.gold 可用 LFS 手册: http...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

欧盟一般数据保护条例(GDPR)和加州消费者隐私法案(CCPA)是欧美两大经济体所出台的两部具有代表意义的个人数据保护方面的法规,代表欧美监管机关对于个人数据保护两种不同的管控取向。 本文选取了“个人数据或信息的类型与范围界定”、“法律的管辖范围”、“数据跨境传输管控”、“儿童数据的保护”、“数据主体的反对权和被遗忘权”等关键念,对GDPR和CCPA的部分要点进行比较分析。 1. “个人数据”或“个人信息”的范围界定 1.1 GDPR对个人数据的定义——侧重用抽象念定义,实践中存在很大解释空间 除了对少数“特殊种类个人数据”(如宗教信仰、种族、工会成员信息、健康状况等)进行了零星列举以外,《欧盟一般个人数据保护条例》(GDPR)主要用抽象念对其所管辖的“个人数据”的范围进行界定。 根...阅读全文

深入了解Docker背后的namespace技术

Docker基于mamespace、cgroups、chroot等技术来构建容器,不是一个系统调用就能搞定,容器是一个用户态的念。本文中Docker软件工程师Michael Crosby深入探讨了Docker对namespace技术的应用。 相信你在很多地方都看到过“Docker基于mamespace、cgroups、chroot等技术来构建容器”的说法,但你有没有想过为何容器的构建需要这些技术? 为什么不是一个简单的系统调用就可以搞定?原因在于Linux内核中并不存在“linux container”这个念,容器是一个用户态的念。 Docker软件工程师Michael Crosby将撰写一些列博客,深入到Docker运行的背后,探索在 docker run这段代码的背后发生了什么...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Linux系统诊断-内存基础

数。从而达到“写资源”合理利用的效果。然而,free命令所展示的buffer和cache 有点狭义的意思——free展示的buffer表示 块设备所占用的缓存 、free展示的cache表示普通文件占用的the page cache(缓存页) 。总之,buffer和cache使用的内存都是用来加速Linux读写性能,如果有新的进程需要内存,系统会将buffer和cache占用的内存回收,并重新分配给进程使用。2.4 其他内存念RSS & VSZ & PSS & USSRSS(Resident Set Size):进程实际使用的物理内存大小,包括sharedMem。VSZ(Virtual Memory Size):进程所有能够访问到的内存大小,包括因为缺页中断,被swap出去的内存大小,以及...阅读全文

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

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

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的念 在深入学习并发编程之前,我们需要了解几个基本的念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

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

WebAssembly:无需容器的 Docker (上)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container,已获得授权这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文字版。作者:Asen Alexandrov,Wasm Labs 工程师文中的我们均指作者或 Wasm Labs。由于文章内容翔实、篇幅较长我们将分成上下两篇分享,上篇将注重在念阐释,如 Wasm 是什么,Wasm 与 Docker 的关系是什么。下篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。最近,Docker 宣...阅读全文

博文 2023-01-03 06:35:56 spider

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

,但是按照我当时的理解,说不清这个念,我现在也不一定说清这个念。第二个问题就是:你愿意做外包么?我回答不愿意。 最后女 HR 和光头说,你等一等,我们合计合计。合计的结果就是,我进来了,进来的不容易。可能还多亏当年扩招。现在我们面试的时候,我们也经常说:要是按照现在的面试要求,那么我肯定进不来。 这就是一段比较有意思的经历,当我妻子比较犹豫的时候,经常对妻子讲:日子总是越来越好。我的经历也可以看出很多。 所以,失败不可怕,需要最自己、未来充满信息。努力去学习。 脚踏实地,如饥似渴,积少成多 于是进入了支付宝,支付宝好复杂。有很多东西给我学。 光头老大给有次问我:你的学习计划是什么呢? 我说:我要把支付宝的所有框架,业务都学习一遍(真不知天高地厚) 老大说:你学的完吗? 我说:我看了下确实很...阅读全文

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

Apollo 配置中心简单介绍

的权限、流程治理等特性。 Apollo支持4个维度管理Key-Value格式的配置: application (应用)environment (环境)cluster (集群)namespace (命名空间) 同时,Apollo基于开源模式开发,开源地址:https://github.com/ctripcorp/apollo 1.3 配置基本念 既然Apollo定位于配置中心,那么在这里有必要先简单介绍一下什么是配置。 按照我们的理解,配置有以下几个属性: 配置是独立于程序的只读变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。其次,配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。常见的配置有:DB Connection Str...阅读全文

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

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

的新功能。 第二个安全功能是拦截tab-under(“页签下”)行为的一种新机制。Tab-under是一种比较新的念,它说明的是网页在新页签下打开链接后将旧页签重定向至新URL。 不止是恶意广告商、普通广告商也在使用tab-under,主要原因是它们绕过Chrome的内置弹出消息拦截器,从而让广告商打开推送恶意产品、服务或站点的多个页签。 这个功能将会在Chrome65中发布,该版本定于在2018年3月初发布。谷歌通过上述两个安全功能拦截恶意(内嵌框架或tab-under)重定向,并在页面地面展示工具栏,详细说明被拦截行为的详情。 拦截重定向用户的误导性UI元素 谷歌新增的第三个安全功能是“滥用体验报告”,是以网站黑名单的形式出现的。这些网站使用误导性的UI元素,在未经用户同意的情况下重定...阅读全文

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

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

Node.js 早诞生将近20年,所以在文档,API 和代码库等在线资源方面更为丰富。所以很有可能其他人也尝试了你想要用代码完成的事情并从中获得了帮助。另一方面,Node.js 虽然已经得到了开发者和组织的广泛关注,但是它支持开发者开发的资源缺相当少。 8.学习曲线: 编写 Node.js 代码对于新手甚至是专业的 JavaScript 开发人员来说都不是件容易的事情,因为他们需要在入门之前理解一些复杂的念,比如 web worker 和回调函数。相反,PHP是一门非常友好的编程语言对于开发 Web 应用程序的新手来说。 Node.js 和 PHP 战斗的结果是相辅相成的,因为这两种技术都有各自的优点和缺点。这大多是相似的情况在比较或选择用于 Web,桌面和移动开发的其他技术时。Node.js 有前途...阅读全文

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

PostgreSQL 13 正式版发布

PostgreSQL 原生类型。此外,UUID v4 生成函数 gen_random_uuid() 现在无需安装任何扩展即可使用。 PostgreSQL 分区系统更加灵活,因为分区表完全支持逻辑复制和 BEFORE 行级触发器。 PostgreSQL 13 中的FETCH FIRST语法现已扩展为可包含WITH TIES子句。 指定时,WITH TIES包括基于ORDER BY子句的结果集中最后一行相匹配的任何其他行。 安全性增强 在之前的版本中,新扩展只能由数据库超级用户安装。为了更容易利用 PostgreSQL 的扩展性,PostgreSQL 13 增加了“可信扩展”的念——允许数据库用户安装超级用户标记为“可信”的扩展。某些内置扩展默认被标记为“可信”,包括pgcrypto, tablefunc和...阅读全文

博文 2020-10-04 20:07:23 debian.cn