InfraPub 为您找到相关结果 481

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

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

Golang 面试题搜集

/blob/master/question/q007.md) - [语题目二](https://github.com/lifei6671/interview-go/blob/master/question/q008.md) - [goroutine和channel使用一](https://github.com/lifei6671/interview-go/blob/master/question/q009.md) - [实现阻塞的并发安全Map](https://github.com/lifei6671/interview-go/blob/master/question/q010.md) - [高并发下的锁与map写问题](https://github.com/lifei6671...阅读全文

希捷:明年奉上24TB HAMR硬盘

当然,无论西数还是希捷都在努力开发新的存储技术,目前出货的14TB和即将推出的16TB、18TB都是传统充氦垂直记录技术,接下来就要上新的HAMR热辅助磁记录技术,2030年前有望带来100TB的总容量。 希捷此前称会在2018年内出样HAMR硬盘,2019年量产,初期容量20TB,而最新说让人更加振奋: 希捷表示,HAMR技术进展顺利,下一代大容量近线硬盘的单盘容量可达24TB,预计2019年批量上市。 当然,希捷还有多驱动技术(Multi-Actuator),硬盘内存同时使用多个机械臂进行写操作,大幅提升性能,写速度可达480MB/s,基本逼近SATA SSD的水准。...阅读全文

博文 2018-05-03 12:02:35 debian.cn

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

如何使用 journalctl 清理 journal 日志

下面的逻辑来覆盖默认设置: 主配置文件最先被取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

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

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

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

时隔近一年半的时间,网易云音乐 Linux 版本终于迎来了更新,本次更新除了迁移到QCEF框架,对GNOME、KDE桌面环境支持更好,支持最新 Debian 9、Ubuntu 17.10版本(仅64位),还优化和修复各个社区用户反馈的问题。 具体的细节优化如下: 迁移全新的QCEF框架; 使用了全新的播放器后端; 支持打开更多格式的本地文件; 优化播放时内存占用资源问题; 优化扫描本地音乐目录,支持取下载任务的状态; 优化第三方字体的支持; 优化淡入淡出效果和在线播放; 优化更好的支持Wayland环境; 移除了沙盒机制; 修复部分本地音乐播放存在卡顿的问题; 修复Tooltip位置偏移的问题; 修复在Qt 5.9中界面乱码的问题; 修复GPU加速选项无效的问题; 修复无捕获本地目录变...阅读全文

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

Monit:开源服务器监控工具

group是允许访问Monit的Web界面的组名称 只用户 最后,可以将一些用户定义为只。只用户可以取Monit网页,但无访问按钮,并且无从Web界面更改服务。 set httpd port 2812 allow admin:password allow hauk:password read-only allow @admins allow @users read-only 通过在 username:password 后使用只关键字将用户设置为只。在上述示例中,用户hauk被定义为只用户,而admin用户具有所有访问权限。 实践 监听Nginx、php-fpm及API接口 /etc/monit.d/http # check nginx process check process...阅读全文

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

都是颗粒 为什么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的实际寿命其实并没有大大缩短,一般应用无需过分担忧寿命问题。...阅读全文

你和 Linux 高手只差了一个 LFS

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

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

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腾讯社招

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

Debian中的使用尤为广泛,所以感觉这很讽刺啊。为了掩盖这个问题,我们使用了Gmane,但在过去几年中Gmane可谓是非常不稳定。 我设提供了一个线程列表的归档,但我们的列表管理员似乎并不关心,而且也不想支持这个项目。 Debian很难机器取 虽然肯定有办通过程序的方式处理Debian包,但这种体验一点也不愉快。一切似乎都十分缓慢而且很麻烦。我只选了三个简单的例子来说明我的观点。 Debiman需要piuparts的帮助,才能分析每个包显示联机帮助页等内容的替代机制。这是因为维护者的脚本通过调用shell脚本来修改备用数据库。如果没有实际安装包,你就无得知它对备选的数据库做了哪些更改。 pk4需要维护自己的缓存,才能根据包的名称查找包的元数据。其他工具在每次调用时都需要从头开始解析apt数据...阅读全文

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

国产 Java 社区平台 Sym 2.7.0 发布

Sym 是一个用 Java 语言实现的现代化社区(论坛/社交网络/博客)平台,标称为下一代的社区系统,为未来而构建。近日 Sym 2.7.0 已正式发布了,主要改进内容包括: 改进功能: 610 小薇支持回复 611 反对帖子、回帖不发通知 612 首页改版 621 发帖无选择非导航领域的标签 626 小薇升级到图灵 API v2.0 新增文档: 618 sym.props 配置项说明文档 开发相关: 609 重构用户主页链接生成 修复缺陷: 619 URL Redirect vulnerability 620 Any File Upload 622 非管理员访问 /admin 路径报错 目前已经有非常多的社区论坛使用 Sym 进行搭建,如果你正在寻找一个 Java 实现的社区系统,请一...阅读全文

博文 2018-05-05 06:32:19 debian.cn

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

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

非常活跃的社区,有80,000个StackOverflow问题和数不清的博客来自开发人员和高级用户。 有一些流行网站使用Django,包括 Bitbucket, Pinterest, Instagram, 以及 The Onion。 Django的人气不断飙升,可能仍然是Python开发人员最受欢迎的选择。 您之前的项目是否用过Django? 你真的认为Django是Python开发人员最好的框架吗? 一如既往,您的意见对于所有者都至关重要,请在下面的评论栏中分享您的看。 原文出处: manmohan 译文出处:开源中国 Django“自备军需”(Batteries-Included) 目录...阅读全文

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

OpenSSL 1.1.1 LTS 版本发布,支持 TLS v1.3

free operation 支持各种新的加密算,包括: SHA3 SHA512/224 and SHA512/256 EdDSA (including Ed25519 and Ed448) X448 (adding to the existing X25519 support in 1.1.0) Multi-prime RSA SM2 SM3 SM4 SipHash ARIA (including TLS support) 旁路攻击安全性改进 Maximum Fragment Length TLS 扩展支持 新增 STORE 模块,它实现了一个规格一致的基于 URI 的存储取器,可包含密钥、证书、CRL 和许多其他对象。 更多细节可查阅发行说明: https...阅读全文

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

web目录) 然后创建用户 useradd -G clin003-com -d /tmp/clin003 -M user1 注:G:用户所在的组 d:指定创建用户的自己目录 M:不建立默认的自家目录,就是在/home下没有自己的目录 我只是为了给自己的web server做文件传输服务,所以做了一个帐户. useradd -G ftp -d /var/www -M clin003-admin 接着改变文件夹属于的组和用户 chown clin003-admin.clin003-com /var/www 把/var/www改变属主为clin003-admin chmod 711 /var/www 我这设置的取权限是711.也就是文件夹所有者完全权限,同组也就是上面的FTP组和所有人都是可执行权限...阅读全文

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

Debian 安装包的简单制作

在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标机器不带有编译环境,且不能联网时,安装包就是唯一的方案了。 Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。市场上主流的安装包格式是*.deb *.rpm 其中deb是debian系列的安装包,rpm是CentOS系列的安装包。 本文主要介绍的是一种简单的deb安装包的制作方,使用范围有限。如需了解更多可以阅Debian 新维护人员手册 所需工具 如果没有安装dpkg工具包的话,就先安装(一般是默认安装的) sudo apt-get install dpkg 文件结构 example-package ├── DEBIAN (必须) │ ├── control (必须) │ └── md5sums...阅读全文

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

最全 MongoDB 基础教程

Skip方 Limit() 方 在MongoDB中取指定数量的数据记录, 使用MongoDB的Limit方 limit()方接受一个数字参数,该参数指定从MongoDB中取的记录条数 语 db.COLLECTION_NAME.find().limit(NUMBER) 案例 db.ruochen.find().limit(2) Skip() 方 skip()方跳过指定数量的数据 skip方接受一个数字参数作为跳过的记录条数 语 db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) 案例 db.ruochen.find().limit(1).skip(1) skip() 方默认参数为0 MongoDB 排序 sort() 方...阅读全文

博文 2021-02-22 07:45:45 OSChina

提问的智慧 – 全文

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

博文 2009-10-01 13:18:00 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

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文

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

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 语言贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内容在博客中分享,由于内容过长,他又写了一个简洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go简洁版:https://the-zen-of-go.netlify.com 这里简单翻译一下简洁版本的内容:编写简单、可、可维护的 Go 代码的十个工程要点。 每个包实现单一目标 设计良好的 Go 软件包提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件包首先需要选择一个好名字,使用电梯则(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件包要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 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

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

式: hdfs dfs -copyFromLocal ... 作用: 从本地文件系统中拷贝文件到hdfs路径去 appendToFile 格式: hdfs dfs -appendToFile ... 作用: 追加一个或者多个文件到hdfs指定文件中.也可以从命令行取输入. hdfs dfs -appendToFile a.xml b.xml /big.xml moveToLocal 在 hadoop 2.6.4 版本测试还未未实现此方 格式:hadoop dfs -moveToLocal [-crc] 作用:将本地文件剪切到 HDFS get 格式 hdfs dfs -get...阅读全文

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

如果你是在一个大型组织,你运行了 NFS 或者 Samba 服务给不同的用户,你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。Linux(以及其他Unix等POSIX兼容的操作系统)有一个被称为访问控制列表(ACL)的权限控制方,它是一种权限分配之外的普遍范式。例如,默认情况下你需要维护3个权限组:owner、group和other。 使用ACL后,你可以设置权限给其他用户或组,而不单只是简单的"other"。可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。 ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btrfs等。如果你不确定你的文件系统是否支持ACL,请参考文档。 首先我们需要安装工具来管理ACL...阅读全文

深入理解Golang之context

: fmt.Printf("send message: %d\n", <-messages) } } }(ctx) defer close(messages) defer cancel() select { case <-ctx.Done(): time.Sleep(1 * time.Second) fmt.Println("main process exit!") } } 这个例子中,只要让子线程监听主线程传入的ctx,一旦ctx.Done()返回空channel,子线程即可取消执行任务。但这个例子还无展现context的传递取消信息的强大优势。阅过net/http包源码的朋友可能注意到在实现http server时就用到了context, 下面简单分析一下。1、首先Server在开启服务时会创建一个...阅读全文

博文 2021-01-27 09:05:27 知乎

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

FD_ISSET方来轮询文件描述符,如果数据可,则取数据即可。 举个例子,假设此时连接上来了3个客户端,connection的文件描述符分别为 4,8,12,那么其read_fds文件描述符表(bitmap结构)的大致结构为 00010001000100000…0,由于read_fds文件描述符的长度为1024位,所以最多允许1024个连接。 而在select的时候,涉及到用户态和内核态的转换,所以整体转换方式如下: 所以,综合起来,select整体还是比较高效和稳定的,但是呈现出来的问题也不少,这些问题进一步限制了其性能发挥: 文件描述符表为bitmap结构,且有长度为1024的限制。 fdset无做到重用,每次循环必须重新创建。 频繁的用户态和内核态拷贝,性能开销较大。 需要对文件描述符表进行...阅读全文

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

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

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

博文 2019-09-10 17:19:13 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 版本的售价未免也太高了。 作为对比,三...阅读全文

隐私声明

我们重视保护用户的隐私权,请您在浏览本网站以及使用本网站的特定服务前,仔细阅本隐私权声明。使用本网站,即视为您同意本隐私权声明并同意本网站根据本隐私权声明收集、使用、披露您的部分信息。 本隐私权声明主要包括如下内容:当您浏览本网站时,我们向您收集哪些信息;我们如何使用这些信息;我们会在何种情况下披露这些信息;以及您的选择。 本隐私权声明适用于本网站收集的关于您的个人信息。请注意本网站可能包含连接到其他网站的链接,我们对这些其他网站的隐私权做不承担任何责任。我们建议您仔细阅您所浏览的其他网站的隐私权声明。 1. 信息的收集 您向我们提供的信息。 如果您仅仅浏览本网站的一般性内容,我们并不要求您提供任何个人信息。在您需要使用或浏览我们提供的特定服务或信息时(比如参...阅读全文

如何使用 Debian backports 更新源

Backport的含义是”向后移植”,就是将软件新版本的某些功能移植到旧版本上来,这就称为backport。 Debian向来以稳定性著称,所以就存在一个问题,官方源分发的软件版本比软件本身的版本总是要慢不少,所以就有了 backports 源。 backports 主要从 testing 源,部分安全更新从unstable源重新编译包,使这些包不依赖于新版本的库就可以在 debian 的 stable 发行版上面运行。所以 backports 是 stable 和 testing 的一个折衷。 backports 源的使用方 这里以 Jessie 为例加入 163.com 的源, 编辑 /etc/apt/sources.list 文件, 在文件中添加以下条目, deb http...阅读全文

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

Ubuntu 17.10新功能抢先看

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

RethinkDB的简单介绍

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

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

Go 1.16 发布,支持 macOS ARM64

/mips64)上支持 MIPS64 体系架构,但尚不支持 cgo - 放弃了对 x87 模式编译(GO386=387)的支持。现在可以使用软浮点模式(GO386=softfloat)来支持非 SSE2 处理器 - linux/riscv64 现在支持 cgo 和 -buildmode=pie - GO111MODULE 环境变量现在默认为 on。可通过将 GO111MODULE 设置为 auto 切换回旧行为 - go 命令现在支持使用新的 //go:embed 指令来将静态文件和文件树作为最终可执行文件的一部分包含在内 - 新的 runtime/metrics 包引入了一个稳定的接口,用于从 Go 运行时中取实现定义的指标 - 现在将 GODEBUG 环境变量设置为 inittrace=1 会导致...阅读全文

博文 2021-02-17 08:58:12 joseph

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

Linux 中使用 Fio 测评硬盘性能

apt-get install git 现在,我们切换到 /opt 目录,并从 Github 上克隆仓库: cd /opt git clone https://github.com/axboe/fio 现在,我们通过在 /opt 目录下切换到 Fio 的源代码目录,执行编译和安装操作了,命令如下: # cd /opt/fio # ./configure # make # make install 使用 Fio 进行磁盘性能测试 现在 Fio 已经安装到了你的系统中,我们一起看看如何使用 Fio 做磁盘的随机写、写测试。 随机写测试 执行下面的命令来开始。这个命令将要同一时间执行两个进程,写入共计 4GB( 4 个任务 x 512MB = 2GB) 文件: sudo fio --name...阅读全文

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

DNSCrypt简明教程

-proxy/cloaking-rules.txt 这个文件,在后面添加你的DNS,例如:# my customized dns www.one-domain.com x.x.x.x *.your-domain.com x.x.x.x其实我想要方案是匹配域名,然后把这些域名的DNS指向另一个DNS,这样会方便些,不过似乎 dnscrypt-proxy 还不支持。还有一个方案就是把 fallback_resolver 改成公司所提供的DNS。更多文章socketserver 源码阅与分析functools 源码阅与分析contextlib代码阅Collections 源码阅与分析Redis通信协议阅2016年就要结束了,2017年就要开始啦!unittest 源代码阅APUEv3 - 重笔...阅读全文

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

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

bmon:一个强大的网络带宽监视和调试工具

curses:help 下面的命令会用 ascii 输出模式运行 bmon: $ bmon -p enp1s0 -o ascii bmon – Ascii 输出模式我们也可以用 format 输出模式,然后在脚本或者其它程序中使用获取的值: $ bmon -p enp1s0 -o format bmon – Format 输出模式想要其它的使用信息、选项和事例,可以阅 bmon 的 man 手册: $ man bmon 访问 bmon 的 Github 仓库:https://github.com/tgraf/bmon。 就是这些,在不同场景下尝试 bmon 的多个功能吧,别忘了在下面的评论部分和我们分享你的想。 译者简介: Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系...阅读全文

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

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

linux下查看系统socket读写缓冲区_eyucham的专栏

一:linux下查看系统socket写缓冲区大小配置: http://blog.csdn.net/herecles/article/details/8146017 1. tcp 收发缓冲区默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 87380 :tcp接收缓冲区的默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4161536 16384 : tcp 发送缓冲区的默认值 2. tcp 或udp收发缓冲区最大值 [root@ www.linuxidc.com]# cat...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

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

KEYS命令,严格禁止在生产环境中使用) Redis的数据结构和相关常用命令 本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。本节只对Redis命令进行扼要的介绍,且只列出了较常用的命令。如果想要了解完整的Redis命令集,或了解某个命令的详细使用方,请参考官方文档:https://redis.io/commands Key Redis采用Key-Value型的基本数据结构,任何二进制序列都可以作为Redis的Key使用(例如普通的字符串或一张JPEG图片) 关于Key的一些注意事项: 不要使用过长的Key。例如使用一个1024字节的key就不是一个好主意,不仅会消耗更多的内存,还会导致查找的效率降低 Key短到缺失了可性也是不好的,例如”u1000flw”比起...阅读全文

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

广告合作

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

深入学习golang — channel

) { // Start handlers for i := 0; i < MaxOutstanding; i++ { go handle(clientRequests) } <-quit // Wait to be told to exit. } 开始就启动固定数量的handle goroutine,每个goroutine都直接从channel中取请求。这种写比较简单,但是不知道有没有“惊群”问题?有待后续分析goroutine的实现。 5. 传递channel的channel channel作为go语言的一种原生类型,自然可以通过channel进行传递。通过channel传递channel,可以非常简单优美的解决一些实际中的问题。 在上一节中,我们主goroutine通过channel将请求传递给工作...阅读全文

博文 2021-01-25 12:39:17 博客园

分布式 NewSQL 数据库 TiDB

#2342TiFlash添加上报 DeltaTree 引擎写负载相关 metrics 信息支持 fromUnixTime 和 dateFormat 函数下推默认禁用粗粒度索引过滤器TiDB Ansible新增 TiFlash 监控 #1253 #1257优化 TiFlash 配置参数 #1262 #1265 #1271优化 TiDB 启动脚本 #1268 Bug 修复 TiDB修复 merge join 在某些场景下 panic 的问题 #15920修复在计算选择率时重复考虑某些表达式的问题 #16052修复极端情况下 load 统计信息可能出现的 panic 的问题 #15710修复 SQL query 中存在等价表达式在某些情况下无识别导致报错的问题 #16015修复从一个数据库中查询另一个数据库的...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

Google 关于 Go 2 的讨论

在本周召开的GopherCon 2017上,Google Go的技术负责人Russ Cox做了关于Go的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪些内容提出建议。Google在十年前开始发展Go语言,在5年前提供了第一个稳定版本1.0。目前的稳定版本是1.8.3,Google正在向社区开放,听取下一个主要版本2.0应该包括哪些内容。 最近的一项研究评估,Go语言的开发者数量约为50万。如果就编程语言向所有这些开发人员询问他们想要什么,那么很可能得到一个很长的期望功能列表。但Google非常关心维护与现有Go代码库的兼容性,该代码库大致近似于1B LoC。虽然这表明该语言的成功,但是按照Cox的说,它也是“Go 2的主要制约因素”。 Go 1承诺兼容性,让开发人员放心,只要...阅读全文

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