InfraPub 为您找到相关结果 732

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

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以载翻阅。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

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

Monit:开源服务器监控工具

.tar.gz 注意:Monit是一个开源工具,但M/Monit是收费的。 安装 yum install monit 当然也可以载源码安装。 当前使用版本: # monit -V This is Monit version 5.17.1 Built with ssl, with pam and with large files Copyright (C) 2001-2016 Tildeslash Ltd. All Rights Reserved. 常用命令 monit -t # 配置文件检测 monit # 启动monit daemon monit -c /var/monit/monitrc # 启动monit daemon时指定配置文件 monit reload # 当更新了配置文件需要重载...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Debian 环境下有趣的命令

运行 cmatrix: $ sudo apt-get install cmatrix $ cmatrix figlet 、toilet命令 艺术字生成器,由ASCII字符组成,把文本显示成标题栏。此外还有banner这个命令 安装 $ sudo apt-get install -y figlet toilet ,运行: $ figlet fuck you ! $ toilet i love you toilet还可以添加颜色,里面的选项请自己man一 $ toilet -f mono12 -F gay a girl oneko 命令 桌面上出现一只喵星人,跟着你的鼠标跑,你不动了它就睡觉。哈哈,这个挺不错 安装 $ sudo apt-get install oneko,运行命令 oneko...阅读全文

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

Linux 初学者教程:chfn 命令

是一些 Q&A 风格的示例,可以让您了解 chfn 命令的实际工作原理。 问题1:如何使用chfn更改用户的全名? 可以使用-f命令行选项以列方式完成此操作: sudo chfn -f HimanshuArora himanshu 请注意,'manshu'是Linux用户,其全名更改为'ManshuArora'。 问题2:如何使用chfn更改家庭电话号码? 要更改家庭电话号码,请使用 -h 命令行选项。 sudo chfn -h 0172-666666 himanshu 问题3:如何使用chfn更改用户的房间号? 这可以使用-r命令行选项来完成。 sudo chfn -r 12 himanshu 问题4:如何使用chfn更改用户的工作电话号码? 要更改工作电话号码,请使用-w命令行选...阅读全文

博文 2018-08-23 21:58:16 debian.cn

DDR5内存最大亮点是啥

美光于前日宣布已经开始向业界中的核心客户出样DDR5内存(RDIMM)了,目前他们在DDR5内存上面使用的是自家最新的1z nm工艺。 JEDEC于2016年就开始制定DDR5 SDRAM规范了,不过到目前为止,DDR5标准仍然处于完善期,JEDEC还没有公布它的最终版本,预计它将会在今年正式完成DDR5标准的制定。反而是LPDDR5快了一步,在去年2月份标准就已经正式公布,并且有厂商已经推出了实际产品,并且在今年已经有移动处理器支持它了。 美光的DDR5技术文档也得以让我们一窥DDR5内存的特性。首先,在同样的等效频率,DDR5内存能够提供更高的有效带宽,比如同样处于3200MT/s,DDR5-3200的有效带宽比DDR4-3200的要高出36%;其次是DDR5(在JEDEC标准范围...阅读全文

Debian 10 一键安装配置 WireGuard 服务端

原脚本来自 [cnblogs.com](https://www.cnblogs.com/yanzi2020/p/14533052.html) , 脚本有点小问题载不了 wireguard-dkms ,面这个是修复的版本。 在 Debian 10 测试,安装、配置正常,供参考: ``` #!/bin/bash WG_PORT='33456' IPAddr=`wget --no-check-certificate -qO- http://moeclub.org/address` [ `dpkg -s libc6:amd64 |grep '^Version' |grep -o '[0-9\.]\{4\}' |head -n1 |cut -d'.' -f2...阅读全文

单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

,可以视为是每秒的读写次数。与其他性能测试一様,IOPS 仅代表理想环境的性能指标,不保证实际应用也能达到同等情况。IOPS 的数值会随系统组态而有很大的不同,依测试者在测试时的控制变量而异,控制变量包括读取及写入的比例、线程数量以及资料区块的大小等。​从 Jens Axboe 在社交媒体上分享的截图可以看到,他用最新的 Linux 内核补丁在一个物理 CPU 核心上实现了 1000 万 IOPS。此次测试的设备仍然与他此前实现 890 万 IOPS 时所使用的设备保持一致 —— 采用了一个 AMD Ryzen 9 5950X CPU 和英特尔 P5800X Gen2 傲腾 SSD。为了实现这些的性能提升,Jens Axboe 主要是在内核的 block / NVMe / IO_uring...阅读全文

博文 2021-10-27 10:32:50 joseph

Ubuntu 20.04 LTS 时间表,4 月 23 日发布稳定版

界面中不会发生其它更新。随后,文档处理也将开始,包括最新的屏幕截图。 3 月 26 日:冻结文档字符串 完成所有特性和用户界面更新之后,文档中将停止创建和修改字符串。如果在稍后阶段需要更改字符串,则在获得团队批准的情况才可以添加。 4 月 2 日:测试版冻结 开发人员在 Ubuntu 正式发布之前体验 Ubuntu 测试版本并提出 bug 或错误修复建议。 4 月 9 日:内核冻结 内核冻结是内核更新的最后期限。 4 月 16 日:最终冻结 最终冻结是最终版本的倒数第二个阶段,团队确认所有修复。 4 月 23 日:最终稳定版本 正式推出最终稳定版本。 不过像我们此前报导过的里程碑每日构建 Current 版本的开始出现则不列在此时间表中。 相关链接 Ubuntu 的载地址:点击载...阅读全文

博文 2020-01-25 10:40:19 debian.cn

Knoppix 8.6 发布,GNU/Linux 系统

Knoppix 8.6 已经发布,Knoppix 是一套光盘启动的 GNU/Linux 系统 (LiveCD),原来的 Linux Live Area 现在基于 Debian Buster。 Knoppix 8.6 基于 Debian 10.0 Buster,从 Debian 测试中选择了包,对于更新的图形支持使用了 Unstable/Sid 。Knoppix 8.6 附带了 Linux 5.2 内核,Knoppix 8.6 还附带了最新的桌面环境 BITE 和其他更新的软件。具体内容如: 8.6 基于 Debian/stable (buster),一些来自 Debian/testing 和 unstable(Sid) 的包用于更新的图形驱动程序或桌面软件包。它使用 Linux...阅读全文

博文 2019-08-20 12:21:46 debian.cn

QEMU 5.0 稳定版发布

QEMU 是一个纯软件实现的通用模拟器和虚拟机,它有三种模式,几乎可以模拟任何硬件设备:Full-system emulation 可在任何支持的硬件架构上运行任何操作系统,User-mode emulation 可用来运行另一个 Linux/BSD 程序,Virtualization 可以接近本机性能运行 KVM 和 Xen 虚拟机。 QEMU 5.0.0 已正式发布,官方的载链接在此。本次更新的亮点主要包括: 支持通过 virtiofsd 将主机文件系统目录传递给访客支持对在 QEMU D-Bus 上运行的外部进程进行实时迁移支持针对 main/”built-in” guest RAM 使用 Memory Backend(虚拟内存的后端)block: 支持通过块设备作业压缩备份镜像...阅读全文

博文 2020-04-30 10:20:13 debian.cn

Intel:当下绝大多数用户不会受益PCIe 4.0技术

在AMD发布的7nm锐龙3000处理器及Navi架构RX 5700显卡中,PCIe 4.0都是重要的技术升级,而且是消费级首发支持,这对AMD来说很重要,因为以往引领新平台技术升级的主要是Intel,这次不一样了,AMD要夺回“技术发展的C位。 对于PCIe 4.0技术的好处,AMD日前开始强调该技术的三大优势: 速度更快,x16 双向带宽达到了 32GB/s,是 PCIe 3.0 的两倍。向兼容,PCIe 4.0 能兼容 PCIe 3.0 设备。更多连接,PCIe 4.0 带宽高,1条顶2条,可以连接更多设备而不需要担心性能降。 面对AMD在PCIe 4.0上的宣传,Intel这边也坐不住了,日前在一场活动中开始怼PCIe 4.0,Intel表示绝大多数用户从PCIe 4.0技术都不...阅读全文

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

谷歌宣布在Chrome浏览器中新增三个安全功能,阻止网站在未经用户或网站所有人同意的情况悄悄将用户重定向至新的网址。 虽然所有的这三个功能都广受欢迎,不过其中有一个功能有可能让一些恶意广告在行进中消逝,而且可能瓦解恶意软件在未来几个月的进展。 Chrome将拦截内嵌框架重定向 这三个安全功能中最重要的一个功能将出现在于2018年1月末官方发布的Chrome64中。 从v64版本开始,Chrome将会拦截由页面内嵌框架内部加载的代码所触发的URL重定向尝试。多数网站所有人在创建自己的站点时并不会使用内嵌框架,而内嵌框架通常会出现在通过广告加载的页面上。 恶意广告将使用加载到这些内嵌框架中的JavaScript代码将用户重定向至恶意网站。通过拦截内嵌框架重定向用户,谷歌会从明年开始拦截恶意广...阅读全文

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

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

年7月 更是登顶全球交易所交易量排名榜首,成为全球产品布局最广泛的管理平台之一。与此同时,[CoinEx](http://cet.im) 已经是一个提供币币交易、杠杆交易、永续合约等多元化衍生品交易服务,支持中/英/日/韩/俄等多国语言,为全球超过一百个国家和地区提供安全、稳定、可信赖的数字资产交易服务。 在当前的大环境,CET飙涨一路绿灯,CET及其背后的全球数字货币交易平台CoinEx走进了更多人的视线中;同样受到关注的,还有 CoinEx 即将推出的全新支持智能合约的智能链 [CoinEx Smart Chain(CSC)](https://www.coinex.org/)。市场利好条件虽说是推动 CET 币价的因素之一,但更加关键的还是CoinEx这股厚积薄发的力量。 面就详细为...阅读全文

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

基本概念 Prometheus 所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的、有时间戳标记的数据流。除了存储的时间序列,Prometheus 还可以根据查询请求产生临时的、衍生的时间序列作为返回结果。 样本在时间序列中的每一个点称为一个样本(sample),样本由以三部分组成: 指标(metric):指标名称和描述当前样本特征的 labelsets; 时间戳(timestamp):一个精确到毫秒的时间戳; 样本值(value): 一个 folat64 的浮点型数据表示当前样本的值。 {

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

Dubbo 2.7.0发布 分布式RPC服务框架

的异步模型。2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息...阅读全文

博文 2019-01-18 09:43:16 debian.cn

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

OpenXuantie 的多操作系统(AliOS、FreeRTOS、RT-Thread、Linux、Android 等)的... 28 10 阿里发布自研 CPU 芯片倚天 710 10 月19 日,2021 云栖大会现场,阿里巴巴旗半导体公司平头哥发布自研云芯片倚天 710。该芯片是业界性能最强的 ARM 服务器芯片,性能超过业界标杆 20%,能效比提升 50% 以上。倚天 710 是阿里云推进「一云多芯」策略的重要一步,也是阿里第一颗为云而生的 CPU 芯片,将在阿里云数据中心部署应用。 和 2019 年发布的 AI... 31 5 GitLab 正式在纳斯达克上市,市值接近 150 亿美元 GitLab 周四正式在在纳斯达克上市,股票代码为 "GTLB"。据了解,GitLab 周三晚些时候将其 IPO...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

我们登陆远程服务器后,常常需要载、或者上传一些文件,我们常用的 lrzsz 对 tmux 支持不够友好,于是就有了 trzsz 这个新工具,它安装简单,使用方便,功能全面,小巧灵活,GitHub项目地址: https://github.com/trzsz/trzsz为什么需要 trzs 这个“轮子”?考虑 laptop -> hostA -> hostB -> docker -> tmux 这种场景,使用 scp 或 sftp 是不方便的。在这种场景,使用 lrzsz ( rz / sz ) 是很方便的,但是很可惜它与 tmux 不兼容。 tmux 不愿意支持 rz / sz ( 906, 1439 ),而重新造一个工具比修改 tmux 简单很多。trzsz 安装指南在远程服务器上安装...阅读全文

WordPress 4.8 Evans 正式版发布

WordPress 开发团队刚刚发布了 WordPress 4.8 正式版,现在已经可以载了。该版本以爵士乐钢琴家和作曲家 William John “Bill” Evans 的名字命名。WordPress 4.8 的新功能,讲给你提供更多的方式,让你来在网上表达自我和展现品牌。 虽然 WordPress 4.8 都是一些小的改进,但这些改进都是用户们所关注的,由数以百计的开发者共同完成的。现在,我们来一起看看这些关注已久的新功能:链接功能改进;三个媒体挂件(小工具)包括:图片、音频、和视频;文本挂件(小工具)增加了可视化编辑功能;管理后台增加了新模块,显示附近即将举行的 WordPress 活动。 令人激动的挂件更新 图片挂件(小工具) 往挂件里添加图片,现在可以说是非常简单了...阅读全文

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

Linux 上如何禁用 USB 存储设备

block_usb.conf (也可能叫其他名字) , $ sudo vim /etc/modprobe.d/block_usb.conf 然后将行内容添加进去: install usb-storage /bin/true 最后保存文件并退出。 方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。 执行面命令可以将驱动从它默认的位置移走: $ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user 现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动...阅读全文

博文 2017-12-18 22:52:58 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

Docker CE 19.03 正式发布 无需root权限

Docker CE 19.03 和 EE 3.0 都已经发布,19.03 主要内容包括无需 root 权限、支持 GPU 的增强功能和 CLI 插件更新等等,19.03 现在是允许非 root 用户运行守护程序,启用 Rootless 模式可以防止攻击者夺取主机的 root 权限,即使 Docker 存在漏洞或设置错误。 更新内容如: Builder 增加了内联缓存支持 –cache-from docker/engine#215允许输出配置 moby/moby#38898固定的 GCR 变通令牌缓存 docker/engine#212载错误时调用 stopprogress docker/engine#215Buildkit 现在使用 systemd 的 resolv.conf...阅读全文

博文 2019-07-24 21:30:05 debian.cn

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

包 Packages: Cargo提供的让我们创建, 测试和分享Crates的工具.箱 Crates: 提供类库或可执行文件的模块树模块 Modules and use: 管理和组织路径, 及其作用域和访问权限路径 Paths: 如结构体(structs), 函数(function), 或模块(module)等事物的命名方式包(Packages)和箱(Crates)包(Package)通过Cargo创建. 每一个包(Package)都有一个Cargo.toml文件. 包(Package)包含箱(Crates)的规则如:只能包含0或1个类库箱(library crates)可以包含任意多个二进制箱(binary crates)至少有一个箱(Crate), 可以是类库箱(library...阅读全文

博文 2021-02-20 08:49:51 知乎

IBM宣布以340亿美元收购RedHat 组建混合云提供商

10月28 日,IBM 宣布收购 Linux 巨头 Red Hat。公告中称,两家公司已达成最终协议,根据该协议,IBM 将以每股 190 美元的现金收购 Red Hat 所有已发行股份,总价值约为 340 亿美元。当各个公司已经在使用不同的云,然而,研究表明,受当今云市场专有性的阻碍,80% 的业务工作负载尚未转向云。 此次收购将带来一个一流的混合云提供商,在当多云环境中提供前所未有的安全性和可移植性,让各公司更多地将业务上云。 该笔交易加速了 IBM 的高价值业务模式,使 IBM 成为新兴的 1 万亿美元增长市场中排名第一的混合云提供商。 IBM 表示,Red Hat 将作为 IBM 混合云团队独立运营。通过此次收购,IBM 将继续致力于红帽的开放式治理、开源贡献、参与开源社区和开...阅读全文

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

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

经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这里载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

工作负载。 测试环境以及测试机器配置: 首先通过使用 Java 2D 基准测试对 Java 图形管道的性能进行压测,可以看到文本渲染性能一直稳步提升,直到第 12 版达到最高点,然后逐渐降为目前 13 和 14 的水平,与 OpenJDK 8 比较相似。 而在 Java 2D 的图像渲染性能方面,它们的水平基本保持一致,但是 OpenJDK 14 以微弱的的性能优势成为了最好性能的那个。 这里还测试了使用矢量图形的渲染效果,水平基本保持一致。 通过进行非常基本的 Java SciMark 微基准测试,可以看到 OpenJDK 8 目前为止是最快的,并且自 OpenJDK 9 至 14 以来,性能基本上持平。OpenJDK 的运行速度约为 OpenJDK 8 的 88%。 通过使用 Java...阅读全文

博文 2020-03-22 08:46:01 debian.cn

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式重启Pod 大多数生产环境,使用的是 Deployment 方式部署应用。这种场景,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

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

轻量级发行版 Alpine Linux 介绍

Docker 镜像,Alpine 只有仅仅 5 MB 大小,并且拥有很友好的包管理机制。 Docker 官方推荐使用 Alpine 替代 Ubuntu 做为容器的基础镜像。这样会带来众多好处,镜像载速度更快,镜像安全性提升,主机之间的切换更方便,占用更少磁盘空间等。 表是官方容器镜像的大小对比: REPOSITORY TAG IMAGE ID VIRTUAL SIZE alpine latest 4e38e38c8ce0 4.799 MB debian latest 4d6ce913b130 84.98 MB ubuntu latest b39b81afc8ca 188.3 MB centos latest 8efe422e6104 210 MB 获取并使用官方镜像 由于镜像很小,载时间往往很短...阅读全文

博文 2018-06-16 13:48:00 debian.cn

Debian下安装搜狗拼音输入法

install python-software-properties安装。这其实只是一个Python脚本。 sudo apt-add-repository ppa:fcitx-team/nightly sudo apt-get update sudo apt-get install sogoupinyin sudo reboot 重启后就可用Ctrl+Space切换出搜狗了。 载deb安装 如果纯命令安装有误,还可以试试官方的界面安装指南,把Ubuntu的update-manager换成Debian的package就好。 此外,也可以在搜狗输入法 for linux页面,载对应的版本,手动安装。 我载的是sogoupinyin_2.0.0.0068_amd64.deb 本地安装deb,然后安装其依...阅读全文

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

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Facebook 已于上周正式发布 JavaScript 包管理器 Yarn 1.0。 Facebook 表示 GitHub 上有 175,000 个项目在使用 Yarn,许多大大小小的公司和广大开源社区也在使用 Yarn,每个月通过 Yarn 载的包数量接近 30 亿个。此外,Yarn 现在也已预安装在诸如 CircleCI、Travis CI 和 AppVeyor 这些主流的持续集成平台上。 Yarn 具有极佳的伸缩性,可以支持成千上万个直接或间接的包依赖。Yarn 的设计初衷是保证稳定性、弹性和高性能。基于这些原则,Yarn 1.0 带来了更多的新特性,希望能够帮助 Yarn 社区更快地发展,构建更好的项目。 Yarn 1.0 中值得关注的新特性 Yarn 工作区 (Yarn...阅读全文

博文 2017-09-19 14:43:15 debian.cn

深入了解Docker背后的namespace技术

容器中创建namespace,不要让他影响到你,我选择提供一个容器预加载所有依赖项的方法。我使用 --net host标志,这样可以在容器内看到host的网络接口。也需要提供--privilged标签,以保证拥有正确的权限去通过容器创建新的namespace。 以是Dockerfile内的内容: FROM debian:jessie RUN apt-get update && apt-get install -y \ gcc \ vim \ emacs COPY containers/ /containers/ WORKDIR /containers CMD ["bash"] 我会使用C语言来解释这个例子,因为它比Go语言更容易去解释底层的细节。 NET Namespace network...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

WebAssembly:无需容器的 Docker (下)

解在 Docker + Wasm 背景的 Wasm container 有什么好处以及如何运行一个服务 WordPress 的 php.wasm 镜像。动手示例让我们开始吧! 在动手示例中,我们将使用编译为 Wasm 的 PHP 解释器。 我们会:构建一个 Wasm 容器。比较 Wasm 和原生二进制文件。比较传统容器和 Wasm 容器。展示 Wasm 的可移植性前期准备如果想在本地重现这些示例,你需要使用以部分或全部内容来准备你的环境:WASI SDK - 从构建 C 代码构建 WebAssembly 应用程序PHP - 为了比较而运行本机 PHP 二进制文件WasmEdge Runtime - 运行 WebAssembly 应用程序Docker Desktop + Wasm (本文写...阅读全文

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

HTML 5.1 — 14 项新增特性及使用案例

5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生产环境之前先检查一浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会起疑心。 为了彻底解决这个问题,HTML5.1 已经标准化 rel=”noopener”的使用属性,与浏览器的上文环境分开。rel=”noopener” 允许在 标签之间使用...阅读全文

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

如何在 Debian 上添加和删除用户

一个用户,一个组,并为您的用户主目录。您的新用户现在可以使用了!您现在可以使用您设置的密码登录。 注 :继续,如果你需要你的新用户访问管理功能。 如何授予用户Sudo权限 如果您的新用户需要执行root权限命令,你就需要给新的用户访问sudo 。 让我们来看看两种方法解决这个问题:将用户预先定义sudo 用户组 ,并且针对每个用户的基础上在指定的特权sudo的配置。 将新用户添加到Sudo组 默认情况, sudo在Debian系统8配置为完全权限延伸到sudo的组中的任何用户。 您可以看到您的新用户是组与groups命令: $ groups sammy sammy : sammy 默认情况,新用户仅在自己的组中,该组是在创建帐户时创建的,并与用户共享名称。为了将用户添加到新组,可使用...阅读全文

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

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

谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文

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

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

为什么 Django 能持续统治 Python 开发世界

对于 Python 开发者来说,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。通过本篇博客,我来为大家讲解为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择 Django。 再大肆宣扬Django之前,让我们简单了解一web框架 Web框架是一个代码库,使开发人员更容易构建动态网站、Web应用程序和Web服务。 众所周知的是,每个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次创建网站时都需要编写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可以让您每次创建网站都需要重新编写通用功能代...阅读全文

博文 2017-07-21 14:15:11 debian.cn

Apollo 分布式配置中心详解

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 本文简单从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本地快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况程序随着功能的复杂,程序的配置也会增多:包括各种功能开关、参数配置、服务地址信息配置等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核机制等。 在这样的大环境,传统的通过配置文件、数据库...阅读全文

博文 2020-04-12 12:16:26 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

Intel 为啥要给 ARM 代工

体制造工艺,但却鲜有为英伟达、高通、德州仪器等 fabless 厂商做芯片代工。即便随着 PC 市场成为夕阳市场,全球 PC 市场的滑使 Intel 在产能上出现过剩,工厂开工率不足,产能闲置,Intel 依旧鲜有为其他 IC 设计公司代工。 限制 Intel 代工业务的根源主要在于商业竞争 在半导体行业中,有三种运作模式: 一是从事能独立完成设计、制造、封装测试的公司,被称为 IDM(Integrated Design and Manufacture),比如 Intel、以及曾经的 AMD 和 IBM; 二是只从事 IC 设计,但没有代工厂,这类公司被称为 Fabless,像现在的 AMD、ARM 等都属于 Fabless; 三是只做代工,不做设计,这类公司被称为 Foundry,最典型...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

截止目前k8s1.18,k8s已经支持标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。本文我们详细介绍一这4种容器的特性已经使用场景。 Ephemeral 容器 临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启,因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 段进行描述,但许多字段是不相容且不允许的。 临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。 Pod 资源分配是不可变的,因此 resources 配置是不允许的。 有关允许字段的完整列表,请参见临时容器参考文档。 临时容器是使用...阅读全文

博文 2021-08-20 11:45:32 博客园

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

写给五年陈的自己 写周报,写的兴起,编写周报,还边用虎跑泉,泡铁观音喝。自己写周报的**惯还是要改一改,自己是个性情中人,写个周报也透露了太多情感在周报里。有很多人肯定觉得不好,也许以后我也会改,改的越来越干练,掏心的话少说。 兴奋了,喝了茶,睡不着了。灵感闪动,本周是个值得纪念的日子,写个文章纪念过去。 回想这一路路走来,还是很感恩收获的一切,我渐渐从一名菜鸟,成长为一位架构师,记得毕业的时候我给自己定的目标是:五年要成为一方面的专家。虽然,实际的成长比这个慢了两年,但是我还是庆幸自己当初果断的裸辞,然后进入支付宝。 每个架构师都是独立无二的,每个架构师都应该有自己的情怀,这些情怀是你的世界观。 我是如何成长为一个架构师的,我姑且给自己定的 title 就是架构师,不要认为有架构师的...阅读全文

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

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

最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。 这里分享一最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原因是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个点,公司某服务化项目的 RDS 数据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文

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