InfraPub 为您找到相关结果 498

Go1.16 新特性:一文快速上手 Go embed

在以前,很多从其他语言转过来 Go 语言的同学会问到,或是踩到一个坑。就是以为 Go 语言所打包的二进制文件中会包含配置文件的联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法取到静态文件的资源。 无法将静态资源编译打包进二进制文件的话,通常会有两种决方法: 第一种是识别这类静态资源,是否需要跟着程序走。第二种就是考虑将其打包进二进制文件中。 第二种情况的话,Go 以前是不支持的,大家就会去借助各种花式的开源库,例如:go-bindata/go-bindata 来实现。 但从在 Go1.16 起,Go 语言自身正式支持了该项特性,今天我们将通过这篇文章快速了和学习这项特性。 基本使用 演示代码: import _ "embed...阅读全文

博文 2021-02-17 08:44:12 CSDN

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

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

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

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有缓冲和无缓冲两种类型,无缓冲的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么待channel阻塞时则表明条件未满足,则需要等待其他数据结果返回。 本文列举几类常见的 channel 使用场景。 写 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println("写:",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

谷歌安全博客披露“ 英特尔内核漏洞 ”更多细节

去年的时候,Google 旗下 Project Zero 团队发现了一个由 CPU “ 预测执行 ” 导致的严重安全漏洞,而它也是一项被大多数现代处理器使用的性能优化方案。根据研究人员 Jann Horn 的演示,恶意攻击者可借此取不该被它访问到的系统内存。某个未经授权的一方,可能在系统内存中取到一些敏感信息,比如密码、加密密钥、或者在应用程序中打开的其它机密信息。 测试还表明,在一台虚拟机上发起的攻击,甚至能够访问到主机的物理内存。基于此,还可以获取在同一主机上、不同虚拟机的内存取访问。 该漏洞影响许多 CPU,包括来自英特尔、AMD、ARM 的芯片,以及搭配运行的设备和操作系统。在获悉这种新型攻击的第一时间,谷歌安全和产品开发团队就积极动员了起来,以保护自家系统和用户数据。 万幸...阅读全文

博文 2018-01-06 23:38:25 debian.cn

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

是最好的选择。 但是,对于功能测试或非 Java 应用,应考虑其他决方案。 3. Spock Spock 是用于 Java 和 Groovy 应用的测试和规范框架,基于 JUnit 。 优点: 测试可性强,支持简单的英文句子,便于阅。 提供周边上下文,从而能轻松了如何决故障。 内置 mocking 和 stubbing 功能。 支持数据驱动测试(DDT)。 缺点: 需要具备基本的 Groovy 语言知识。 如果你的应用是基于 JVM 的,并且目标是使用 DSL 进行 BDD 自动化测试,则此框架正适合! 4. NUnit NUnit 是支持所有 .Net 语言的单元测试框架。最初也是基于 Junit 的启发,完全采用 C# 编写,目前已被完全重新设计以使用更多 .NET 语言功能...阅读全文

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

Vinux 5.1 发布 基于 Ubuntu 的 Linux 发行版

Vinux 5.1 发布了。Vinux 是演化自 Ubuntu 的发行,面向盲人及弱视用户的需求作了优化。Vinux 缺省提供两份屏幕阅器,以及对布莱叶文的显示支持和友好的用户社区。当从这份自启动运行镜像引导时,迎接用户的将是 Orca 阅器,它让用户能通过键盘命令来浏览图形化的 GNOME 桌面。此外,Brltty 还通过 Orca 提供级别 1 和级别 2 的布莱叶文输出。 Vinux 提供屏幕阅器,盲文支持和高对比度图标。 该项目的最新版本 Vinux 5.1,基于 Ubuntu 14.04.5 LTS,并提供三个桌面环境:Unity 7.2.4,GNOME 3.10.4 和 MATE 1.8。这次发布的版本不仅仅是关于 Unity 桌面的特性,还有 GNOME Shell 和...阅读全文

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

基于 Qt 的开源笔记软件 VNote 1.11.1 发布

编辑器编辑笔记。 ———————————————————————————————— VNote是一个受Vim启发开发的专门为Markdown而优化、设计的笔记软件,也是一个更了程序员和Markdown的笔记软件。 VNote是一个基于Qt框架的、免费的开源笔记软件。VNote专注于Markdown的编辑与阅,以提供舒适的编辑体验为设计目标。 VNote不是一个简单的Markdown编辑器。通过提供笔记管理功能,VNote使得编写Markdown笔记更简单和舒适! 基于Qt框架,VNote能够在主流操作系统上运行,包括Linux, Windows以及macOS。【本文转载自开源中国】...阅读全文

博文 2018-01-05 23:43:22 debian.cn

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

文件这块的原理描述的文章已经非常多了,所以这里我不再做过多的赘述,感兴趣的同学可以从Wikipedia翻阅一下。由于这块内容比较复杂,不属于本文普及的内容,建议者另行自研,这里我非常推荐马士兵老师将linux文件系统这块,讲的真的非常好。 select模型 此模型是IO多路复用的最早期使用的模型之一,距今已经几十年了,但是现在依旧有不少应用还在采用此种方式,可见其长生不老。首先来看下其具体的定义(来源于man二类文档): int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); 这里释下其具体参数: 参数一:nfds,也即maxfd,最大的文件描...阅读全文

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

DNSCrypt简明教程

subscribers configuration files below. name_servers=127.0.0.1接着重启 NetworkManager:$ sudo systemctl restart NetworkManager 如果你使用了libvirt来管理虚拟机,你会发现虚拟机会断网,重启host即可。 内网DNS咋办?使用 dnscrypt-proxy 固然爽,但是有个小问题,就是如果是在公司里,很有可能就有内网DNS,这就很蛋疼了, dnscrypt-proxy 有一个决方案,那就是使用 cloaking rules,编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml,把 cloaking_rules 这一行 注释掉,然后编辑 /etc/dnscrypt...阅读全文

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

Linux 中使用 Fio 测评硬盘性能

Fio(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件。它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。 Fio 接受一种非常简单易于理的文本格式的任务描述。软件默认包含了几个示例任务文件。 Fio 展示了所有类型的 I/O 性能信息,包括完整的 IO 延迟和百分比。 它被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持...阅读全文

博文 2018-08-15 19:18:24 debian.cn

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

等数据库都能做到开箱即用。 点击此处了使用 Django 及其 ORM 进行数据处理的基础知识。 强大的内置模板系统 基于继承系统,Django 的模板允许开发人员通过非常少量的前端代码构建整个动态网站。这得益于使用其他上下文特定元素替换模板的某些元素的选项。 想象一下,你知道你网站的每个页面都会有一个页眉和一个页脚。 现在,您首先需要在网站的基本模板中编写代码。 然后,您可以从应用程序的其他部分动态地更改这两个内容之间的组件。 简单可的网址 很难正确阅在PHP os ASP中开发的URL? 使用 Django,您可以创建简单易的 URL,这对人和搜索引擎都有好处。 您也可以使用其他框架创建可 URL,但没有一个与 Django 一样容易进行 URL 构造。 快速容易的创建RSS和...阅读全文

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

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待决方案。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症状问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

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

490MB/s 金士顿新款外置SSD发布:最高960GB

随着互联网的高速发展,云存储技术已经相当成熟了,网盘成了人们工作和学习中不可缺少的部分。尽管如此,离线存储技术也无法被取代,毕竟在没有网络的情况下,离线存储才是最佳的决方案。 而目前使用的最多的且最方便的离线存储设备就是U盘,凭借小巧便携的体型设计赢得了广大用户的喜爱,但随着数据的日益膨胀,小小的U盘无论是在写速度还是在容量上已经无法满足我们日益增长的存储需求。 而今天,金士顿在CES大会上展示了一款离线存储设备——HyperX Savage EXO外置SSD。HyperX Savage EXO外置SSD外壳采用聚碳酸酯打造,存储颗粒为3D TLC NAND闪存,拥有480GB和960GB两种容量可供选择。 外置SSD的接口为USB3.1 Gen 2,带宽高达10Gbps,实际连续写...阅读全文

博文 2018-01-08 20:54:57 debian.cn

Golang 面试题搜集

# Golang 面试题搜集 - 题目来自 [Github](https://github.com/lifei6671/interview-go/blob/master/README.md) ## Golang 常见面试题目析 - [交替打印数字和字母](https://github.com/lifei6671/interview-go/blob/master/question/q001.md) - [判断字符串中字符是否全都不同](https://github.com/lifei6671/interview-go/blob/master/question/q002.md) - [翻转字符串](https://github.com/lifei6671/interview...阅读全文

协议介绍之深入了解 gRPC

经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理 gRPC,理下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。 HTTP/1.x HTTP 协议可以算是现阶段 Web 上面最通用的协议了,在之前很长一段时间,很多应用都是基于 HTTP/1.x 协议,HTTP/1.x 协议是一个文本协议,可性非常好,但其实并不高效,笔者主要碰到过几个问题: Parser 如果要析一个完整的 HTTP 请求,首先我们需要能正确的出...阅读全文

博文 2017-06-22 11:08:48 debian.cn

架构师详解 Nginx 架构

立好需要 listen 的 socket(listenfd)之后,然后再 fork 出多个 worker 进程。所有 worker 进程的 listenfd 会在新连接到来时变得可,为保证只有一个进程处理该连接,所有 worker 进程在注册 listenfd 事件前抢 accept_mutex,抢到互斥锁的那个进程注册 listenfd 事件,在事件里调用 accept 接受该连接。当一个 worker 进程在 accept 这个连接之后,就开始取请求,析请求,处理请求,产生数据后,再返回给客户端,最后才断开连接,这样一个完整的请求就是这样的了。我们可以看到,一个请求,完全由 worker 进程来处理,而且只在一个 worker 进程中处理。 在 Nginx 服务器的运行过程中...阅读全文

博文 2018-05-01 23:10:47 debian.cn

Debian 环境下简单配置 Bind9 服务

Bind是使用最广泛的DomainName Server,它是Berkeley Internet Name Domain Service的简写,伯克里大学编写的。在Debian Stretch 9.3中,它的最新版本是Bind 9.10.5。 安装 Bind 比较简单,使用如下命令即可, apt-get install bind9 apt-get install bind9-host dnsutils apt-get install bind9-doc 配置 Bind,有以下步骤, 1,域名析 这里以将 debian.cn 析到192.168.10.2为例: cd /etc/bind vim named.conf.local 增加正向析和反向析区域(zone): zone...阅读全文

博文 2016-12-18 22:26:30 debian.cn

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

转档功能,用以替代应用日志库对应功能,提高应用日志库写日志性能。该插件支持数据压缩。 logpipe-output-file 一旦输入插件有消息产生后用相同的文件名落地文件数据。该插件支持数据压。 logpipe-input-tcp 创建 TCP 服务侦听端,接收客户端连接,一旦客户端连接上有新消息到来,立即取。 logpipe-output-tcp 创建 TCP 客户端,连接服务端,一旦输入插件有消息产生后输出到该连接。 logpipe-input-exec 执行长命令并捕获输出 logpipe-output-hdfs 一旦输入插件有消息产生后用相同的文件名落地到 HDFS 中。该插件支持数据压。 使用者可根据自身需求,按照插件开发规范,开发定制插件,如 IBMMQ 输入插件...阅读全文

Ubuntu 17.10新功能抢先看

、NVIDIA显卡将加入其中,进度会稍后一些。 五、改善免费Wifi连接 大家外出工作,经常需要连接咖啡店、机场等免费WiFi,新版系统将支持captive portal的系统,连接WiFi更容易。 六、蓝牙和音频 在GNOME桌面环境上,无法通过键盘方式突破音量100%的上限。Ubuntu系统可通过物理键盘突破的限制。采用Gnome为默认桌面后,17.10 开发团队也将决该问题。 蓝牙音箱设备连接的稳定性、可用性提升。比如在登录系统前可使用蓝牙音箱设备。如对屏幕阅器有需求的人来说,这个功能将提高系统的使用体验。...阅读全文

Linux kernel 5.6 正式版发布

Linus Torvalds 在内核邮件列表上宣布释出 Linux 5.6。Torvalds 称,他没有看到内核开发受到新冠疫情影响的迹象,大部分人可能早就习惯了在家远程工作。 他估计 Linux 5.7 的发布不太会有变动,但有人错过合并窗口还是可能的,毕竟合并窗口没有你或你周围的人的健康更重要。 Linux 5.6 的特性包括: Arm EOPD 支持,时间命名空间,BPF 调度器和批映射操作,openat2() 系统调用,WireGuard VPN 实现,流队列 PIE 包调度器,2038 年问题接近决,pidfd_getfd()系统调用,ZoneFS 文件系统,BPF TCP 拥堵控制算法实现,移除 /dev/random blocking pool 等等。 具体可阅...阅读全文

博文 2020-03-30 23:40:37 debian.cn

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

有一个网络接口,可以不带选项运行 iftop。iftop 需要 root 权限: $ sudo iftop 当你有多个接口时,指定要监控的接口: sudo iftop -i wlan0 就像 top 一样,你可以在运行时更改显示选项。 h 切换帮助屏幕。 n 切换名称析。 s 切换源主机显示,d 切换目标主机。 s 切换端口号。 N 切换端口析。要全看到端口号,请关闭析。 t 切换文本界面。默认显示需要 ncurses。我认为文本显示更易于阅和更好的组织(图1)。 p 暂停显示。 q 退出程序。 图 1:文本显示是可的和可组织的。 当你切换显示选项时,iftop 会继续测量所有流量。你还可以选择要监控的单个主机。你需要主机的 IP 地址和网络掩码。我很好奇 Pandora 在我那可...阅读全文

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

提问的智慧 – 全文

提问在学习中占据着重要的位置,很多人对知识好奇,却收效甚少,原因他们是尚未掌握正确提问的方法,因此,我尝试修改《提问的智慧》,发布出来。原作者是Eric S. Raymond,这篇文章在黑客界拥有很高的地位,指引无数黑客前进,希望对你有用。 为何要做一个修改注释版? 试图做出一个容易阅,方便理,与时俱进,可以执行的提问执行方案。 原翻译为2010年,新版2013年,时隔2年有余,原作有变; 尊重原作的复制及引用协议[1]; 原翻译很好,检查中发现有些语句不顺,语意不准,或者已不符合现在语言规范,参照王刚老师的版本进行修改; 附上自己的看法和注,更加适合现在阅使用。 每当有人来向我提问,我可以将他指引到这篇文章,可以减少很多的不必要的麻烦。 【本章注释】 [1]复制协议中注明了应用该...阅读全文

博文 2009-10-01 13:18:00 debian.cn

你和 Linux 高手只差了一个 LFS

很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。 总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道取引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 /proc 到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘? 不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。 LFS 是什么? LFS(英文 Linux From Scratch 的缩写),中文释意...阅读全文

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

Prometheus 2.13.0 发布

] Service discovery:为 kubernetes 添加新的节点地址类型 #5902[ENHANCEMENT] UI:如果查询返回了一些警告,则显示警告 #5964[ENHANCEMENT] Remote write:减少系列缓存的内存使用量 #5849[ENHANCEMENT] Remote read:使用远程取流传输以减少内存使用量 #5703[ENHANCEMENT] Metrics:添加了将远程最大/最小/所需分片写入队列管理器的指标 #5787[ENHANCEMENT] Promtool:在标签查询期间显示警告 #5924[ENHANCEMENT] Promtool:改进了析错误规则时的错误消息 #5965[ENHANCEMENT] Promtool:更多提示规则 #5515...阅读全文

Golang后端面试题目

,merge跟rebase 技术二面 项目相关 通过腾讯会议,腾讯的两个大佬一起面试。 项目实现爬虫的流程爬虫如何做的鉴权吗怎么实现的分布式爬虫电商系统图片多会造成带宽过高,如何决micro服务发现mysql底层有哪几种实现方式channel底层实现java nio和 go 区别写锁底层是怎么实现的go-micro 微服务架构怎么实现水平部署的,代码怎么实现micro怎么用怎么做服务发现的mysql索引为什么要用B+树?mysql语句性能评测?服务发现有哪些机制raft算法是那种一致性算法raft有什么特点当go服务部署到线上了,发现有内存泄露,该怎么处理还有一些非常底层的问题 总结 腾讯对于基础部分是相当重视的,总体回答的还算可以项目部分腾讯也是非常重视,从电话里面听出来有一个架构在面试我...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

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

中心耦,增加对 Apollo 等第三方专业配置中心的支持,更易于扩展新增应用级别的动态配置规则规则体使用更易、易用 YAML 格式外部化配置。支持取托管在远程的集中式配置中心的 dubbo.properties,实现应用配置的集中式管控。更精炼的注册中心 URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供 Zookeeper, Redis 支持。此功能也是 OPS 实现服务测试、Mock 等治理能力的基础。异步编程模式增强(限定于 Dubbo 协议)原生 CompletableFuture 签名接口支持服务端异步支持异步 Filter 链新增 Protobuf 序列化协议扩展新增...阅读全文

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

TSLv 1.3 网络安全标准通过 带来更安全的网络环境

)握手,客户端利用PSK导出密钥,在第一轮就发送秘密数据,降低了握手的延迟。在此之后还可以继续进行(EC)DHE的密钥交换完成完整的握手(该步为可选)。 整个标准长达 155 页,如果您想仔细阅或详细了其中一项新功能,可在此处找到。...阅读全文

博文 2018-03-26 08:34:15 debian.cn

Git 2.26 发布:传输协议 V2 成默认协议

Git 2.26 现已发布,项目贡献者 Taylor Blau 介绍了此版本带来的一些特性上的亮点,包括将传输协议 V2(第二版) 作为默认协议 、一些新的配置技巧以及更新到 git sparse-checkout。 该版本具体更新内容如下: Changes 传输协议V2(第二版)已成为默认协议。继续准备最终对象名称将使用 SHA-256 哈希的工作。继续致力于改进不同子命令的 Bash / CLI 自动完成功能。改进的 fsmonitor-watchman hook 可避免以前版本中的 race 情况。对于 CLI 着色,七种颜色现在具有更亮的颜色选项。除了 Git 先前使用线程 grep 的限制。Git rebase 现在默认使用合并后端。较低的内存占用量和更好的性能 git...阅读全文

博文 2020-03-24 10:35:05 debian.cn

SK海力士进军PCIe 4.0 SSD:密度世界第一 轻松32TB

SK海力士今天正式发布了最新款的企业级SSD PE8000系列,包括PE8010、PE8030、PE8111三款型号,这也是其首款PCIe 4.0 SSD,无论存储密度、容量还是性能都是世界一流的,甚至是超一流的。 PE8010、PE8030都配备了SK海力士自产的96层堆叠4D TLC NAND闪存颗粒,搭配自研主控,最大容量8TB,兼容U.2、U.3接口,其中PE8010面向取密集型应用,PE8030则为写混合应用而优化。 性能方面,持续写速度最高均可达8.3GB/s、3.7GB/s,随机写速度最高则可达1100K IOPS、320K IOPS。 相比于去年的上代产品,持续取性能提升103%,随机写入性能提升357%,另外最大功耗为17W。 PE8111则是针对取密集型负载...阅读全文

博文 2020-04-08 09:31:41 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

id,及所在的 DataNode 服务器)。 5. DataNode 数据存储 文件的各个 block 的具体存储管理由 DataNode 节点承担。每一个 block 都可以在多个 DataNode 上。DataNode 需要定时向 NameNode 汇报自己持有的 block 信息。 存储多个副本(副本数量也可以通过参数设置 dfs.replication,默认是 3) 6. 副本机制 为了容错,文件的所有 block 都会有副本。每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。 7. 一次写入,多次出 HDFS 是设计成适应一次写入,多次出的场景,且不支持文件的修改。 正因为如此,HDFS 适...阅读全文

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

评审者不需要的特性,那么即使代码做了不错的设计,评审者也应该不予通过。 没有所谓的“完美”代码,只有更好的代码。评审人员不应要求作者在批准前对 CL 的每一小部分过分完美。相反,评审者应该权衡向前继续开发的需求和修改建议的重要性。评审者要求的是持续性地改进,而不是追求完美的代码。CL 作为一个整体,如果它能提升系统的可维护性、可性和可理性,那么就不要因为它还不完美而推迟数天或数周更新。 评审者应该经常留下一些评论,以表达能导致更好性能的做法。如果这些做法并不是非常重要的,那么需要加上前缀「Nit:」,从而令代码作者知道这些内容是可以忽略的。 评审指导 代码评审有一个很重要的功能,即教开发者一些开发经验,不论是语言、框架还是一般软件设计准则。留一些评论总会帮助开发者学习一些新的知识,共享知...阅读全文

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

Google 关于 Go 2 的讨论

语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 查看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文

博文 2017-07-20 10:03:13 debian.cn

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器取。 Debian的变更流程 最近几年,我目前的团队在整个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

gRPC 1.23.0 发布,Google高性能 RPC 框架

gRPC 1.23.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 主要更新内容如下: Core 反向移植 #19924 到 v1.23.x. (#19935)为自定义 iomgr 添加缺少的 APP 回调上下文 (#19687)将 DNS 重新析期间的下限提高到 30 秒 (#19661)确保在 H2 的框架中至少有一个标题 (#19657)在使用 gevent 时分叉时修复段错误...阅读全文

博文 2019-08-18 18:31:20 debian.cn

海盗船发布1.6TB NVMe SSD新品:采用PCIe 3.0 x4接口

海盗船(Corsair)刚刚为 Neutron NX 500 系列固态硬盘驱动器添加了 1.6TB 的新版本,其售价为 1575 美元(约 10389 RMB),折合每 GB 容量 0.98 美元。 在 ATTO 基准测试中,其持续 / 写性能分别达到了 3000MB/s 和 2800MB/s;换用 CrystalDiskMark 的话,则是 2800MB/s(取)和 1600MB/s(写入)。随机 / 写性能上,1.6TB 版本分别可达 300k 和 270k IOPS 。 不过与外媒在今年早些时候评测过的 400GB 版本相比,1.6TB 版本 NX500 NVMe SSD 的性价比反而并不高。如果官方的写数据是可以相信的,那 1.6TB 版本的售价未免也太高了。 作为对比,三...阅读全文

Everspin宣布千兆级芯片ST

据外媒报道,磁性随机存取内存(MRAM)将在今年达到一个新的里程碑。Everspin宣布开始尝试打造1Gb (128MB)的ST-MRAM芯片,另外他们已经将这款高寿命、非易失性的内存芯片生产提上议程。 Everspin的ST-MRAM能够提供持久的记忆能力,相较于普通的NAND闪存技术,它可以减少写入放大倍数并拥有更好的耐用性。 这款新芯片采用的则是一个兼容DDR4的接口。这家公司表示,供应商可以利用持久的记忆技术设计企业级SSD或对现有的储存产品展开进一步的改善。 据了,ST-MARAM的密度要比公司旗下现有的任何256MB(32MB)芯片大得多。Everspin指出,从Global Foundries的40nm工艺到foundry 28nm工艺的转变是开发这种千兆级芯片的关键,另外...阅读全文

Linux 5.2.1 发布 最新的稳定版内核

BFQ I / O调度程序的性能改进。 Linux Kernel 5.2还为cgroups v2添加了一个冷冻控制器以释放资源,部署了新设备隐射“dust”目标来模拟取失败或者扇区失败的设备,为 clone(2)添加了CLONE_PIDFD这个Flag从而在创建进程时候获取PID,能够通过pidfd_send_signal(2)使用,并在Android系统中提供了更高的资源监控。 在安全方面,Linux Kernel 5.2附带了一个全新的CPU BUG框架,用于保护设备免受英特尔MDS(微架构数据采样)硬件漏洞的影响,同时还有一个名为“mitigations=”独立于架构的启动选项,以便更容易启用或禁用缓CPU缺陷。 Linux内核5.2还包括许多更新的和新的驱动程序,以获得更好的硬件支持...阅读全文

博文 2019-07-15 10:24:57 debian.cn

Linus Torvalds回顾Linux内核5.8:Really Big

Linus Torvalds近日发布了Linux内核5.8,近一个半月后,他撰文回顾了这一版本,并宣布这个版本是一个 "真正的大更新",以至于让人想起4.9版本。"我一直到最后一刻才考虑做一个rc8,但考虑到周围没有任何大的迫在眉睫的担忧时,不希望再等一周。"Torvalds释道。 在这个新版本的内核带来了更新后的驱动程序,添加支持一系列的Adreno GPU芯片,如405,640,和650版本,新的Spectre补丁,以及exFAT完善。 Radeon驱动在这个版本中也得到了改进的支持,Power 10芯片也是如此,其推出目前预计将在明年某个时候进行。 但正如Torvalds在6月时所说,Linux内核5.8是一个大规模升级的版本,而且有数不清的小改进。"在5.8合并窗口中,我们已经修...阅读全文

博文 2020-08-03 16:00:27 debian.cn

RethinkDB的简单介绍

,TokyoTyrant及Schooner Membrain等。RethinkDB为各种应用压力下提供高性能和高可靠性 支持,主要应用在下面一些场景: 用来处理一些其它方案无法决的服务负载(如:要求快速的服务启动,在数据量超出内存大小后还要有高的性能,处理各种不稳定的写压力,处理大量数据等) 提供性能与数据稳定性之间的精细调控 大大提高你的缓存层和key-value存储的性能,在你现有的硬件条件下,能支持更高的应用负载。 使用费用 RethinkDB目前提供两个版本的支持,一个免费版的,一个商用版的。商用版本的价格是每年每台机器$1500。免费版提供目前所有功能,提供后续所有安全相关的升级。但是新功能的升级只保证在付费版本中保持更新,另外商用版本还提供技术支持。...阅读全文

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

Kong发布新项目Kuma 通用的服务网格

追踪和日志功能,以此为快速调试提供监控数据支持。精细的路由和控制 :Kuma 提供细粒度的流量控制功能,支持四层路由的熔断和健康检查。 Kuma 由 Kong 开发并提供支持,通过简化服务间的通信,以实现使数据随时随地可用的愿景。Kuma 的开发基于 150 余个企业在生产环境中使用服务网格的积累的经验。在未来 Kong 也会继续向 Envoy 贡献代码。 阅 入门指南 了 Kuma 服务网格的使用方法。...阅读全文

Ubuntu发布重要更新将修复九个漏洞

(CoW),这影响了所有受支持的Ubuntu版本和他们的衍生版。 Linux内核的关联数组实现也是一个问题,它有时并没有正确地处理添加一个新条目,以及在Linux内核的GTCO digitizer USB驱动程序中发现的一个越界阅,它影响了Ubuntu 17.10和Ubuntu 16.04 LTS版本。 修正了Linux内核驱动程序子系统中的争用情况,这个更新只影响Ubuntu 17.04。更新地址决了Linux内核的PowerPC KVM实现中的空指针引用错误和密钥管理子系统中的争用情况,仅影响Ubuntu 17.10。 建议所有Ubuntu用户尽快更新安装 Andrey Konovalov在Linux内核的USB子系统中发现了另一个安全漏洞,该子系统无法正确验证USB BOS元数据,从而影...阅读全文

博文 2017-12-20 11:31:08 debian.cn

Monit:开源服务器监控工具

monit status # 查看所有服务状态 monit status nginx # 查看nginx服务状态 monit stop all # 停止所有服务 monit stop nginx # 停止nginx服务 monit start all # 启动所有服务 monit start nginx # 启动nginx服务 monit -V # 查看版本 配置文件 使用yum安装默认配置文件在: /etc/monitrc # 主配置文件 /etc/monit.d/ # 单独配置各项服务 为了保护控制文件和密码的安全性,monitrc必须具有写权限不超过0700(u=xrw,g=,o=)。 主配置文件主要配置全局:/etc/monitrc ## Global section set daemon...阅读全文

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

三大亮点带你看 Linux 内核 5.6

原因。 同样,Ubuntu 20.04 LTS 将支持 WireGuard。 2、支持 USB4 Linux 5.6 也将支持 USB4。 如果你不了 USB 4.0 (USB4),你可以阅这份文档。根据文档,“USB4 将使 USB 的最大带宽增大一倍并支持多并发数据和显示协议multiple simultaneous data and display protocols。” 另外,虽然我们都知道 USB4 基于 Thunderbolt 接口协议,但它将向后兼容 USB 2.0、USB 3.0 以及 Thunderbolt 3,这将是一个好消息。 3、使用 LZO/LZ4 压缩 F2FS 数据 Linux 5.6 也将支持使用 LZO/LZ4 算法压缩 F2FS 数据。 换句话说,这只...阅读全文

博文 2020-02-07 11:13:09 debian.cn

广告合作

本站为了长期发展的需要,使用了部分展示类的广告,在尽量不影响者阅的位置展示。这部分广告虽然收益微薄,但提供了一个可以研究广告平台的小窗口,也是件有意思的事情。我们后续会根据运营情况,决定是否移除广告。 本站的广告收入会补贴维持站点运行所需要的服务器、域名、带宽、CDN等费用。同时我们也接受广告投放、内容合作等合作方式。广告形式包括网站展示类广告、微博推广和 QQ群推广等方式,广告内容的主体需与 Debian中国 站点一致,为IT相关的话题,以不引起者反感为准。 开源项目及技术相关的公益性项目,可联系我们评估,通过后会得到 Debian中国 的免费广告投放支持。 您可以通过电子邮件 ads@debian.cn 、或者通过QQ与站点管理人员联系,或者直接通过这里联系我们。 ...阅读全文

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的取权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

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

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

树莓派64位系统Debian 9先行测评:性能最高提升30倍

-threads=1000 --thread-yields=1000 --thread-locks=8 run #互斥锁测试 sysbench --test=mutex --mutex-num=4096 --mutex-locks=50000 --mutex-loops=10000 run #连续写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=seqrewr run #随机文件写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=rndwr run #进入系统检查系统版本信息及硬件架构平台信息...阅读全文

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

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 思否

Debian中文怎么读 如何正确发音

Debian 是 Debian 项目的创始人 Ian Murdock 和他的妻子 Debra 的名字缩写。值得一提的是,Debian 是第一个 Linux 发行版,它首次发布于 1993 年 9 月。 根据 Debian 的官方网站建议,它应该这样:Deb'-ee-en ,“得比恩”,重音在第一音节。“得变” 有点接近,因为是重音,deb 应该发成类似“跌”的发音。 也就是“跌扁”,“蝶变”。 这里提供两种很标准的 Debian 标准发音,供参考。 第一个发音是带西班牙口音的 Debian 发音方式(MP3文件下载): 这一个是较美式的 Debian 法(MP3文件下载):...阅读全文

博文 2018-01-02 18:36:25 debian.cn

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

MySQL 8.0 系列的首个正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 需要注意的是从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。作为替代方案,在升级之前请对数据进行全量备份。 本文简要介绍 MySQL 8 中值得关注的新特性和改进。 1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在这些方面带来了更好的性能:/写工作负载、IO 密集型工作负载、以及高竞争...阅读全文

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