InfraPub 为您找到相关结果 345

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

表的不同部分,都会有不同的评审者进行细致的审查。当然如果是结对编程,且你的队友能进行高质量的代码评审,那么这样写的代码一般可以视为已经过评审了。此外,我们也可以进行面对面的评审,评审者会问开发者一些问题。 根据谷歌的项目描述,代码审核规范为两套独立文档组成,代表了两方面内容的最佳实践: 代码评审者的指南CL 作者指南 在其中一些文档中使用了一些术语,如下: CL:表示“变更列表 (changelist)”,意思是已经提交到版本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”LGTM:意思是“在我看来不 (Looks Good to Me)”,这是代码审阅者在批准 CL 时说的 接下来我们来看看两份文档分别的主要内容是什么: 1. 代码评审者的指南——如何进行代码评...阅读全文

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

Kubernetes常用命令大全(持续更新)

分析误)对控制器和服务,node同样有效 kubectl describe pods xxxxpodsname --namespace=xxxnamespace 其他控制器类似吧,就是kubectl get 控制器 控制器具体名称 查看pod日志 kubectl logs $POD_NAME 查看pod变量 kubectl exec my-nginx-5j8ok -- printenv | grep SERVICE kubectl get cs #### 集群健康情况 kubectl cluster-info #### 集群核心组件运行情况 kubectl get namespaces #### 表空间名 kubectl version #### 版本 kubectl api...阅读全文

博文 2020-03-13 12:35:13 debian.cn

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

的最小集合。黄金指标有两个好处:一,直接了然地表达了系统是否正常对外服务。二,能快速评估对用户的影响或事态的严重性,能大量节省 SRE 或研发的时间,想象下如果我们取 CPU 使用率作为黄金指标,那么 SRE 或研发将会奔于疲命,因为 CPU 使用率高可能并不会造成多大的影响。Kubernetes 监测支持这些指标:请求数/QPS响应时间及分位数(P50、P90、P95、P99)误数慢调用数如下图所示:​全局视角的服务拓扑诸葛亮曾言“不谋全局者,不足谋一域 ”。随着当下技术架构、部署架构的复杂度越来越高,发生问题后定位问题变得越来越棘手,进而导致 MTTR 越来越高。另一个影响是对影响面的分析带来非常大的挑战,通常会造成顾此失彼。因此,有一张像地图一样的拓扑大图非常必要。全局拓扑具有以下特...阅读全文

博文 2022-03-21 09:11:51 joseph

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

处理器架构消亡史

今年,根据外媒道显示,MIPS Technologies正在转变其商业模式,即该公司将不再设计 MIPS 芯片,而将开发基于 RISC-V 架构的处理器。发生在MIPS Technologies身上的变化,或许也预示着又一个处理器架构正在逐渐向命运低头。同样,作为最具有历史的处理器架构之一,MIPS见证了很多其他处理器架构的发生变化——他看着X86称霸PC市场,Arm在移动市场崛起,RISC—V又作为新星受到新兴市场的青睐;但同样他也看着SPARC,Alpha,PA-RISC和其他一些架构逐渐走向消亡。璀璨的二十世纪八十年代上个世纪八十年代,互联网已现雏形,PC受到了企业级市场的认可。在这个期间,IBM开始打算用开放生态与产业合作的方式完成PC生产。于是,英特尔借此机会成长了起来,由此也...阅读全文

5G将是全球最智能互联的云计算

无人驾驶、工业自动化等需要低时延、高可靠连接的业务。 推进5G和车联网的融合发展 车联网是5G技术率先应用的领域 共同探索5G在垂直行业领域的应用和拓展,车联网是5G技术率先应用的领域。无人驾驶是通信和计算在5G时代的价值交汇,目前中国ICT产业链推动的LTE-V标准,已备受国际重视,形成了一定的先发优势。 为推进5G和车联网的融合发展,针对该标准,工信部已与交通、公安等多个部委成立了车联网专项委员会。 从产业应用角度,基于5G网络的创新技术,例如VR/AR视频技术、无人驾驶技术等。华为、中兴、爱立信、诺基亚、英特尔、高通等厂商,都成为战略聚焦领域挑之一。 共同探索5G在垂直行业领域的应用 5G三大垂直市场是哪些 据爱立信近日发布《5G进度调研》,2017年度告上指出,许多运营商都加快了备...阅读全文

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

Rust 1.37.0 稳定版发布

union 中使用。在 Rust 1.37.0,该属性现在也可以用于枚举定义。例如,如下类型 Align16 将如预期的那样,告 16 为对齐,而不使用 #[repr(align(16))] 的对齐将为 4: #[repr(align(16))] enum Align16 { Foo { foo: u32 }, Bar { bar: u32 }, } 在枚举上使用 #[repr(align(N))] 的语义与使用该对齐定义包装器结构体 AlignN 一样 ,然后使用 AlignN: #[repr(align(N))] struct AlignN(T); 在 Rust 1.37.0 中,有一些标准库稳定化: BufReader::buffer 和 BufWriter...阅读全文

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

专访Docker大牛:Docker背后的真正引擎是Containerd

管理仍然是不容易,我们必须创建自己的工具来管理,如果可以在Docker Swarm中本地完成,这将是非常好的一次改进。 多主机联网目前使用情况还不,但我仍然发现了一些小问题。不过,最近很多SDN供应商正在将自己的网络堆栈作为Docker插件实施,这对于使用者来说是件好事。 问:关于Docker生态系统的演变,您如何评价Docker决定 向CNCF 捐赠 containerd runtime ? Chanwit Kaewkasi:我认为这是个非常棒的举动,Docker背后真正的引擎基本上是Containerd,标准化的 container runtime 将会使所有的人都受益。 多集群管理依然不容易。 问:您希望在下一个Docker发行版中看到什么功能? Chanwit Kaewkasi...阅读全文

博文 2017-11-22 10:50:11 debian.cn

网易云音乐Linux版v1.1发布 支持 Debian Stretch

化事件的问题; 修复无法读取AAC文件标签的问题; 修复段误的问题; 修复 MPRIS DBus接口无效的问题; 修复部分本地音乐文件无法播放的问题; 修复无法识别Windows平台云音乐客户端下载的mp3文件的问题; 修复MINI模式乱码的问题; 修复切换下载目录无效的问题; 修复偶尔出现白屏的问题; 修复发送动态中添加图片失败的问题; 修复文件迁移失败的问题; 修复下载的歌曲无法添加到播放列表中的问题; 修复网络问题导致歌词不同步的问题; 修复无法拖动歌词的问题; 修复无法弹出歌词对话框的问题; 修复QQ第三方登录授权界面超链接无法点击的问题; 修复KDE桌面环境下最大化按钮无法点击的问题; 修复Ubuntu 17.10中托盘不可点击的问题; 修复部分在线音乐时间长度显示为负值的问题...阅读全文

博文 2017-12-02 18:34:00 debian.cn

Ruby 2.5.0 稳定版发布

#14123] 逆序打印(从旧到新)调用跟踪和误消息。当在终端(TTY)中用较长的调用跟踪信息时,你可以从最底部看到直接触发问题的行。需要注意的是,仅当在直接输出到终端时,才会逆序打印。[功能 #8661] [试验性] 性能提升 通过在字节码中移除了全部 trace 指令提升了大约 5-10% 的性能。trace 指令的引入是为了提供 TracePoint的支持。然而,在大多数情况,TracePoint 不会被用到,trace 指令增加了额外的开销。作为替代,我们实现了一个动态指令技术,详情见 [功能 #14104]。 通过懒惰 Proc 分配使 block 参数传递代码块(例如 def foo(&b); bar(&b); end)的性能相较于 Ruby 2.4 提升了约 3 倍。[功能...阅读全文

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

Angular 6.0 即将发布 承诺更小更快更易用

本月早些时候,Angular 团队发布了 6.0 的第五版候选版本 ,其中包括一些误修复以及添加令牌标记和支持配置导航网址。 根据 Angular 的开发者支持者 Stephen Fluin 的说法,RC 意味着团队已经在一定程度上实现了正式版的稳定性,并且已经完成了添加功能和更改 API。 Fluin 还解释说,该团队有两个发布曲目。 首先,他们向公众发布了新闻稿,其中包括团队对 Angular 所做的每一项变更,并将其合并到主分支中。 第二个是谷歌将所有的 Angular 源代码放在一个存储库中,这意味着 Angular 的每一个变化都已经在谷歌的超过 500 种产品中使用。 6.0 版本的关键功能是将所有版本的框架结合起来,这意味着核心路由器,平台浏览器,CLI,Angular...阅读全文

博文 2018-04-24 09:41:33 debian.cn

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

inception_check_column_comment=1 inception_check_table_comment=1 inception_osc_min_table_size=1 inception_osc_bin_dir=/var/temp inception_osc_chunk_time=0.1 inception_enable_blob_type=1 inception_check_column_default_value=1 inc.socket不用找,会在启动时自动生成。 启动Inception的命令如下 Inception --defaults-file=/etc/inception/inc.cnf 启动后使用mysql的客户端进行连接(mycli会有误,貌似是python的兼容问题) mysql -uroot...阅读全文

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

Facebook 开源的一组 Linux 内核组件与工具

安全(比如沙箱)。 Btrfs:https://facebookmicrosites.github.io/btrfs/ Btrfs 是下一代文件系统,它以当下的数据中心为基础。它是一个写时复制(CoW)文件系统,专注于高级功能实现、容、修复和轻松管理。Btrfs 旨在解决和管理大型存储子系统,并支持快照、联机碎片整理、池化和集成的多设备支持等功能。 Netconsd:https://facebookmicrosites.github.io/netconsd/ Netconsd 是一个基于 UDP 的 netconsole 守护程序,为 Linux netconsole 消息提供轻量级传输。它接收并处理来自 Linux 内核的日志数据,并将其作为结构化数据提供以给生产工程师以快速识别集群中问...阅读全文

博文 2018-11-24 09:27:14 debian.cn

树莓派4上如何安装 Raspbian Buster

载好操作系统后,会得到一个zip的压缩文件。先解压,我们会用到里面的一个 .img 格式的操作系统镜像文件。文件准备好后,就可以进入下一步操作了。 在SD卡中灌入系统 这一步,我们需要下载一个软件,以便录入系统。虽然 RaspberryPi Foundation推荐使用 Etcher,但个人建议使用 Win32DiskImager,操作比较简单,录入成功率也比较高。 运行 Win32DiskImager 后,可以看到上图。打开首选的磁盘映像器,然后选择您的SD卡。通过在资源管理器中检查确认 SD卡驱动器 的名称,确保它是你的microSD卡,而不是其他驱动器。 注意:如果您不小心选择了误的驱动器,则会丢失大量数据。 一旦你确认了SD卡的设备名,就可以选择第一步中,准备的 .img。在...阅读全文

博文 2020-02-04 19:33:29 debian.cn

Golang 之禅: 如何写优质代码

。 明确处理误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

博文 2020-02-25 20:48:33 debian.cn

以太网技术联盟宣布800千兆以太网规格

的大目标是制定800Gbase-R规范(base-R表示当前媒体上的当前标准系列,base-T和base-C表示前几代)。 与以前的以太网迭代一样,许多技术将被重用和开发。800Bbase-R规范(或800gbe)需要对媒体访问控制(MAC)和物理编码子层(pc)进行新的定义。这些将从 IEEE 802.3bs 标准中 400GbE 的现有规范中重新定义,重新定义为在8条 106gbps 信道上工作。为了兼容性,规范中的其他部分(如前向误控制)保持不变。 RobStone等技术工作组主席说:“这项工作的目的是尽可能重新利用标准的400GbE逻辑,以创建一个800GbE的MAC和PC规范,从而为实施多速率以太网端口的用户提供最低的开销成本。”...阅读全文

博文 2020-04-12 15:10:55 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) - 云原生定义解析

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

Netty+Nacos+Disruptor自研企业级API网关

。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型检查、接口声明等特性,减少误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的编程方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的数据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的数据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品名称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流程 下面是全栈开发的开发流...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

Golang 面试题搜集

/interview-go/blob/master/question/q011.md) - [定时与 panic 恢复](https://github.com/lifei6671/interview-go/blob/master/question/q012.md) - [为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能.](https://github.com/lifei6671/interview-go/blob/master/question/q013.md) - [七道语法找题目](https://github.com/lifei6671/interview-go/blob/master/question/q014.md) - [golang 并发题目测试...阅读全文

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

关。 18. 针对单点故障——实施冗余。 19. 为了容性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 分布式系统中的故障检测——实现心跳。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免特定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP解析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

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

控制器故障转移接近瞬时。Kafka 社区计划在下一个版本(3.4)中弃用 ZooKeeper,然后在 4.0 版本中完全删除它。此外,Kafka 3.3 还提供了其他一些新特性,比如添加了与元数据日志处理误相关的指标,允许用户为其他用户创建委托令牌,以及严格统一的粘性分区器,以缩短分区时间。对于 Kafka Streams,这个版本增加了源/接收器指标,如消费/生产吞吐量、暂停/恢复拓扑,并集成了 KStream transform()和 process()方法。Kafka Connect 增加了对源连接器的精确一次语义支持。原文链接: https://www.infoq.com/news/2022/10/apache-kafka-kraft/...阅读全文

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功能,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。基础资源类型故障:PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域名解析失败、返回误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

通过 Hostapd 进行 WIFI 热点共享上网

/debian/ jessie-backports main contrib non-free 1.2安装最新内核,及相关软件组件包,避免编译Hostapd出,依次执行如下命令: apt-get update apt-get install linux-image-4.3.0-0.bpo.1-amd64 apt-get install linux-headers-4.3.0-0.bpo.1-all-amd64 apt-get install pkg-config libssl-dev gettext openssl hostapd apt-get install libnl-genl-3-dev libnl-genl-3-200 libnl-3-dev libnl-3-200 2.编译、配置...阅读全文

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

提前尝鲜,从 Debian 10 升级到 Debian 11

deb http://ftp.debian.org/debian bullseye-backports main contrib non-free 按 Ctrl + O 保存文件,按 Ctrl + X 退出 nano。 更新一次系统仓库列表,以验证仓库的添加情况。 sudo apt update 如果上面的命令没有出现任何误,那么你已经成功地添加了 bullseye 仓库。 现在,通过运行下面的命令开始升级过程。基本安装的下载大小约为 1.2GB。这可能会根据你的系统配置而有所不同。 sudo apt full-upgrade 这个命令需要时间。但不要让系统无人看管。因为升级过程中需要各种输入。 完成后,你可以用以下命令重启系统。 systemctl reboot 重启后,运行以下命令,以确保...阅读全文

博文 2021-08-16 12:16:21 Debian升级

Postgres 10 开发者新特性

。通过把来自不同列的数据关联起来,查询规划器(query planner)现在可以避免一些边缘情况,在那些边缘情况下,之前的Postgres版本会认为WHERE语句更强的选择性,并且会导致选择了误计划从而拖慢执行时间。Postgres的这个改进在整个SQL世界中都是极具创新性的。 Postgres 10还对并行性进行了改进。开发者现在可以使用索引扫描(index scans)和仅索引扫描(index-only scans)、并行合并连接(merge joint)以及位图堆扫描。并行查询是通过不同的workers来实现的,因此在某些情况下,设置和分解的成本会超过并行化的好处。默认情况下,可以在大于8MB大小的表以及大于512KB的索引上启用并行表扫描(parallel table scan...阅读全文

博文 2017-12-30 11:46:16 debian.cn

DNSCrypt简明教程

文可见:DNSCrypt简明教程 - Jiajun的编程随想我们输入 jiajunhuang.com 之后,浏览器是需要将 jiajunhuang.com 翻译成IP,然后才能建立TCP连接的。而将域名翻译成IP地址, 就是DNS服务器的事情,但是有一个小问题,DNS是明文的。也就是说,尽管你使用了HTTPS,由于在建立TLS连接之前,你得先查询域名所对应的IP,因此,还是可以通过监控你的DNS来推测你准备 访问什么流量,更坏一点的情况,可以给你伪造一个响应,返回误的地址,这种情况就叫做“DNS污染”。所以我们需要使用DNSCrypt来加密我们的DNS通信:$ sudo pacman -S dnscrypt-proxy然后编辑 /etc/dnscrypt-proxy/dnscrypt...阅读全文

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

Debian下安装搜狗拼音输入法

Linux上的中文输入法,基本上都比较原始,仿佛还停留在上个世纪。唯有搜狗还行。 简介 2013年12月,搜狗与Ubuntu Kylin团队开始合作开发“搜狗输入法Linux版”。经过五个月的合作,于2014年4月17日,正式发布了1.0版本。2015年10月16日更新至2.0版本。 搜狗输入法Linux版基于开源小企鹅输入法框架、开源Qimpanel面板以及搜狗输入法引擎开发。目前,我最看重的功能有: 智能输入,动态调频,动态组词 可自由导入的细胞词库 模糊音输入,智能纠 方便的中英文切换 长词联想 逗号句号翻页 皮肤替换 添加源安装 由于Debian官方是不支持搜狗输入法的,因此纯命令行操作,要先添加源。 如果没有apt-add-repository,先用sudo apt-get...阅读全文

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

使用 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

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

value值自增指定的整型数值,并返回自增后的值。只对可以转换为整型的String数据起作用。时间复杂度O(1) DECR/DECRBY:同INCR/INCRBY,自增改为自减。 INCR/DECR系列命令要求操作的value类型为String,并可以转换为64位带符号的整型数字,否则会返回误。 也就是说,进行INCR/DECR系列命令的value,必须在[-2^63 ~ 2^63 – 1]范围内。 前文提到过,Redis采用单线程模型,天然是线程安全的,这使得INCR/DECR命令可以非常便利的实现高并发场景下的精确控制。 例1:库存控制 在高并发场景下实现库存余量的精准校验,确保不出现超卖的情况。 设置库存总量: SET inv:remain "100" 库存扣减+余量校验: DECR...阅读全文

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

Apollo 配置中心简单介绍

盖配置修改实时生效(热发布) 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的误。所有的操作都有审计日志,可以方便的追踪问题客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用提供Java和.Net原生客户端 提供了Java和.Net的原生客户端,方便应用集成支持Spring Placeholder, Annotation和Spring...阅读全文

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

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

不够了解自己,不清楚什么类型的技能最难、最需要调动大脑,或者误估计了控制身体的难度。 Reid Hoffman:除了AI的应用潜力之外,目前大家对AI的讨论有没有轻率的一面,比如将AI用于核聚变研究? Sam Altman:通常而言,如果某个行业获得非常广泛的社会关注,所有人都在谈论它,这可能不是什么好事,可惜这恰恰是AI行业目前的情况,我不希望这是AI行业“垮掉”的前兆。 业内有人正在研究利用强化学习模型控制核聚变反应,但据我们所知,AI模型在这里发挥的作用还非常有限。 我们现在进入了“AI+”时代,相信AI在未来可以实现很多东西,会成为最大的新一代技术平台。但就目前而言,我们倾向于往更有确定性的方向发展,比如,业内研究出了缩放定律(Scaling Law,该定律揭示AI模型性能与模型参...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

谷歌元老施密特隐退:传奇落幕 新篇开启

程技术平台。而到了 Novell 之后用了不到三年就使这家公司扭亏为盈,最后的亏损其实很大程度上需要归结为微软的打压和互联网泡沫的破裂,那次失败真不是施密特能控制的。所以 Novell 公司在他担任谷歌 CEO 之后依然为他保留了董事会主席席位,以示尊重。 施密特的地位堪比二位创始人 谷歌由佩奇和布林创立于1998年,但是直到2001年施密特担任 CEO,谷歌依然只是一个技术还不,但是完全没办法赚钱的小公司,施密特本人就曾直言:“他们在各个方面的看法,都与我不尽相同。让人搞不清他们的思路究竟是令人耳目一新的远见,还是单纯天真。” 而施密特的加入,正好为两位创始人天马行空的设想打下了良好的基础——钱。施密特发现了搜索业务和广告之间的高度关联性,并由此创造了搜索广告这一革命性的盈利模式,直到现...阅读全文

博文 2017-12-24 09:18:44 debian.cn

译:Kubernetes 最佳实践

束使用 Deployment、DaemonSet、ReplicaSet 或者 StatefulSet 跨节点部署 Pod使用多节点使用基于角色的访问控制(RBAC)在外部托管Kubernetes集群(使用云服务)升级Kubernetes版本监控集群资源和审计策略日志使用版本控制系统使用基于Git的工作流程(GitOps)缩小容器的大小用标签整理对象(译者注:或理解为资源)使用网络策略使用防火墙使用命名空间K8s 中的命名空间对于组织对象、在集群中创建逻辑分区以及安全方面的考虑至关重要。 默认情况下,K8s 集群中有 3 个命名空间,default、kube-public 和 kube-system。RBAC 可用于控制对特定命名空间的访问,以限制组的访问以控制可能发生的任何误的爆炸半径,例...阅读全文

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

Debian 向左:或将迎来根本性改革 - OSCHINA

决定离开贡献18年之久的 Debian。促使他离开的直接原因是,Debian 社区对于是否接受 systemd(一种 init 进程)争执不下。这件事引起了 Debian 内部长达数年的争论,至今仍然没有定论。 当然,systemd 事件仅仅是一个引子,Joey 已经感受到了 Debian 社区背后所隐藏的某种“病态”。 “ 我第一次感觉到 Debian 的这种(病态),是在 Debian 改变‘ /usr/doc’这一误的文件保存路径(系统文件的标准要求被保存在‘usr/share/doc’中)的时候,完成这样一个再简单不过的操作更改,Debian 居然花了6年之久。” 在 Joey Hess 看来,这实在太荒诞了。 要知道,Joey 并不是为此离开的第一位前辈。此前,Matthew...阅读全文

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

Gitlab CI 配置文件 .gitlab

: 1 week dependencies GitLab 8.6 和 GitLab RUnner v1.1.1引入。 这个功能应该与artifacts一起使用,并允许定义在不同jobs之间传递artifacts。 注意:所有之前的stages都是默认设置通过。 如果要使用此功能,应该在上下文的job中定义dependencies,并且列出之前都已经通过的jobs和可下载的artifacts。你只能在当前执行的stages前定义jobs。你如果在当前stages或者后续的stages中定义了jobs,它将会。可以通过定义一个空数组是当前job跳过下载artifacts。 在接下来的例子中,我们定义两个带artifacts的jobs,build:osx和build:linux。当test:osx...阅读全文

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

如何使用 journalctl 清理 journal 日志

/dev/kmsg 中读取内核产生的日志消息。 TTYPath= 指定 ForwardToConsole=yes 时所使用的控制台TTY, 默认值是 /dev/console LineMax= 在将日志流转化为日志记录时,每条日志记录最大允许的长度(字节)。 如果将单元的标准输出(STDOUT)/标准误(STDERR)通过流套接字连接到日志中, 那么将会以换行符("\n", ASCII 10)与NUL字符("\0", ASCII 0)作为分割符, 把日志流切分成一条条独立的日志记录。 如果超过此处设置的长度之后仍然没有遇到分割符, 那么将会自动插入一个分割符,以强制将单行超长日志截断为多行。 此选项的值越大,每个日志流客户端日志守护进程占用的内存也越大(最大值等于此选项的值)。 另外,此选项的值...阅读全文

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

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

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

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

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

集团内部前述大量的《数据跨境转移协议(SCC)》,当然,BCR的认证流程非常严格,涉及到对跨国企业数据跨境处理的类型、方式、目的、数据传输的目的地、所涉及的数据主体、企业合规架构、投诉举和监督流程进行全方位摸查,并且即使通过BCR认证,企业也需密切与监管机构沟通,汇任何情况变化。 (4)第四关,若不满足上述的(1)、(2)、(3)中任意一项,那么向第三国或国际组织传输个人数据仅能在满足如下条件时才能发生: 包括数据主体明知缺少上述保障却仍然同意跨境传输;为履行数据主体和控制者之间的合同的目的而传输;跨境传输对于履行其他人之间的合同是必要的;当数据主体客观上或法律上不能做出同意时,该传输对于保护数据主体或他人的重要利益是必要的;或者向第三国或国际组织的传输不是重复的、仅与少数的数据主体相关...阅读全文

说透IO多路复用模型_京东云开发者的博客

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

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

证书,也就是 wildcard certificates。这对于广大个人站长来说,无疑是个不的利好消息。唯一的缺憾就是,Let’s Encrypt 发行的证书有效期只有 3 个月,虽然可以通过定时任务来自动续期。 如何申请?可以通过安装 LAMP 后,使用 lamp add 命令来自动创建 SSL 证书。也可以通过以下在线申请网站,手动申请证书。 在线申请网址1(中文):https://freessl.org/ 在线申请网址2(英文):https://www.sslforfree.com/ 在线申请网址3(英文):https://gethttpsforfree.com/ 二、TrustAsia 官方网站:https://www.trustasia.com/ 点评:TrustAsia 是国内...阅读全文

PostgreSQL 13 正式版发布

-ahead logs)之前将其删除,现在可在 PostgreSQL 13 中进行调整,以指定要保留的 WAL 文件的最大数量, 有助于避免磁盘空间不足误。 PostgreSQL 13 还增加了更多让管理员可以监控数据库活动的方法,包括从 EXPLAIN 中查看 WAL 使用情况的统计信息、流式基础备份的进度,以及 ANALYZE 命令的进度。此外,可以使用新的 pg_verifybackup 命令验证 pg_basebackup 命令输出的完整性。 应用开发 PostgreSQL 13 对来自不同数据源的 PostgreSQL 数据类型进行了优化。此版本在其 SQL/JSON 路径支持中增加了datetime()函数,它可以将有效的时间格式(如 ISO 8601 字符串)转换为...阅读全文

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

Debian 使用VSFtpd安装配置架设FTP服务器

许匿名用户有创建目录的权利 dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件 xferlog_enable=YES 是否记录ftp传输过程 xferlog_file=/var/log/vsftpd.log 设置日志文件的路径 connect_from_port_20=YES 是否确信端口传输来自20(ftp-data) idle_session_timeout=600 设置默认的断开不活跃session的时间 data_connection_timeout=120 设置数据传输超时时间 max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到误信息,默认是...阅读全文

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

Go 1.16 即将发布,这些变更你需要知道

在前几天,Go1.16rc1 抢先发布了。结合常规的 28 发布规律,其将会在 2021.02 月份左右发布正式版本。 这次 Go1.16 也带来了一些新特性或变更。那么作为一个 Gopher,想必不能过这次的更新。 今天这篇文章将会带大家了解一下 Go1.16 的几个需要关注的特性。 废弃 io/ioutil Go 官方认为 io/ioutil 这个包的定义不明确且难以理解。所以 Russ Cox 在 2020.10.17 提出了废弃 io/ioutil 的提案。 大致变更如下: Discard => io.DiscardNopCloser => io.NopCloserReadAll => io.ReadAllReadDir => os.ReadDirReadFile...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

Golang 应用集成 Prometheus 统计数据支持

Prometheus 客户端公开了在暴露服务指标时能够运用的四种指标类型。查看 Prometheus 的文档 以获得关于各种指标类型的深入信息。 Counter(计数器 一种累加的 metric,典型的应用如:请求的个数,结束的任务数,出现的误数等。随着客户端不断请求,数值越来越大。例如api_http_requests_total{method="POST", handler="/messages"} Gauge(计量器) 一种常规的 metric,典型的应用如:温度,运行的 goroutines 的个数。返回的数值会上下波动。 例如 go_goroutines{instance="172.17.0.2", job="Prometheus"} Histogram(分布图) 可以理解为柱状图,典型的应用如...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

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

的联合身份用户。如果使用不属于 aws-auth ConfigMap 的 IAM 用户或角色访问 Amazon EKS 控制台,则无法看到 Kubernetes 工作负载。也不会看到集群的概览详细信息。所以要向其他 AWS 用户或角色授予与集群交互的能力,您必须在 Kubernetes 中编辑 aws-auth ConfigMap。 因为部门有不通的角色,所以想基于不通的角色分配不同的权限,下面是记录添加一个对 EKS 只有只读权限的 AIM 用户。 {{< notice info "注意:" >}} 如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到误,请确保您使用的是最新版的 AWS CLI。 {{< /notice >}} 为 IAM 用户或角色配置权限 要查找具有主要...阅读全文

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

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

,Kotlin 才这么年轻,不得不说十分具有革命性。 所以如果有人再问你什么是 Kotlin,你应该回答,Kotlin 是一门很厉害的静态语言(而不是之前常说的 Kotlin 是一门运行在 JVM 之上的静态语言)。反正你能想到的,Kotlin 的开发团队都想干。 时钟拨回到五个月前,2017 年 5 月 17 日 Google I/O 大会第一天,谷歌宣布 Kotlin 成为 Android 开发的官方支持语言。有了 JetBrains 和 Google 的背书,自此,对于“Kotlin 即将取代 Java ”的声音从未停止过。上个月,我们也曾发表过一篇题为“Kotlin 将超越 Java 成为 Android 开发的第一语言?”的资讯,文中提到,Realm 公司调查告给出的预测表示,“到 2018...阅读全文

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

Docker 核心原理

vethxxx 这样的名字命名,从而将宿主机上的所有容器都连接到这个内部网络上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。 容器访问外部网络 请求通过 veth pair 到达 docker0 处,docker0 网桥开启了IP forwarding功能,将请求发送至宿主机eth0; 宿主机处理请求时,使用 SNAT 规则,将源地址替换成了宿主机 ip,然后把文转发出去 外部访问容器 docker run -p 时,docker 实际是在 iptables 做了DNAT规则,实现端口转发功能。 1 2 3 4 5 # iptables -t nat -L Chain DOCKER (2 references) target prot opt source...阅读全文

博文 2021-02-25 09:14:23 lxkaka