InfraPub 为您找到相关结果 683

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文

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

深入学习golang — channel

. process(r) // May take a long time. <-sem // Done; enable next request to run. } func Serve(queue chan *Request) { for { req := <-queue go handle(req) // Don't wait for handle to finish. } } 我们通过引入sem channel,限了同时最多只有MaxOutstanding个goroutine运行。但是,上面的做,只是限了运行的goroutine的数量,并没有限goroutine的生成数量。如果请求到来的速度过快,会导致产生大量的goroutine,这会导致系统资源消耗完全。 为此,我们有必要限...阅读全文

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

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

聚会时的感受,他表示这次聚会讨论的主题和几年前基本一样,这使得他开始反思自己是否仍适合留在 Debian 继续参与维护。 除此之外,Stapelberg 还在博客中抱怨了 Debian 糟糕的开发流程,认为 Debian 整个开发评估流程都非常迟钝,比如:补丁的评估没有截止日期,有时候他会收到通知说几年前递交的补丁现在合并了。 事不过三,这些开发者的离开足以警醒 Debian 内部。 02 改变 2021年9月28日,Debian 技术委员会(Technical Committee)资深成员 Russ Allbery 站了出来: 我认为(社区的)章程建立在了一个错误的基础之上,它太过于追求“”(minds of the governed),而章程应该关注的是“流程性细节...阅读全文

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

十个增加 Linux Shell 脚本趣味的小工具

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你通过通知进程发送一个桌面通知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

博文 2018-04-09 09:38:50 debian.cn

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

选项: $ bmon -bp enp1s0 我们也可以像下面这样按秒指定刷新间隔时间: $ bmon -r 5 -p enp1s0 如何使用 bmon 的输入模块 bmon 有很多能提供网卡统计数据的输入模块,其中包括: netlink - 使用 Netlink 协议从内核中收集网卡和流量统计信息。这是默认的输入模块。 proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。 dummy - 这是用于调试和测试的可编程输入模块。 null - 停用数据收集。 要查看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它: $ bmon -i netlink:help 下面的命令将启...阅读全文

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

Linux 27周年:这27件有趣的事实你可能不知道

开发和发布时间表后,新版本的 Linux kernel 现在基本每隔 66 天左右发布一次。 18、Linux 不是 Linus Trovalds 唯一知名的作品,还有 Git 版本系统和潜水应用 SubSurface 。 19、据估计,90% 的好莱坞视觉效果在生产流程的某个阶段依赖于 Linux 。 20、根据 openhub.net 的统计数据,超过 95% 的 Linux 是用 C 语言编写的。 21、最新版本的 Linux kernel 可能有 13.3%的代码由空行组成。这并非毫无意义,空行是严谨的编码风格的一部分,使内核保持整洁、高效和有序。 22、基于 Linux 的 Android 是目前全球最成功的移动操作系统。 23、Linux 的每个内核版本都有一个有趣的代号,比...阅读全文

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

设计处理器的消息。亚马逊最近几年比较受欢迎的另外一个云计产品是“Lambda”,该产品将会在某种触发条件下完成计工作。比如一个用户在社交网络上传照片之后,系统将启动计,自动生成一个微缩小图。上述产品被开发者描述为“无服务器”,意思是服务商并不要求开发者自己来管理服务器基础设施。行业研究报告显示,亚马逊对Lambda计服务的收费是EC2实例的两倍之多。数据存储:S3和EBS亚马逊云计的另外一个鼻祖服务是“简单计存储”,简称S3,产品推出于2006年,客户可用该服务在网络上保存各种数据对象,包括照片、视频或其他文件类型。科技从业者丹·阿尔瓦雷兹(Don Alvarez)是上述服务的早期用户。他早年曾经在华盛顿州西雅图的新创科技公司工作,主要为电影片人群体开发协作软件。当年,科技公司...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

2017 年会是 Serverless 爆发之年吗

Serverless 框架之一。该服务最迟支持 Node.js,现在也支持 Java 和 Python。它与 Alexa Skills Kit(软件开发工具包)紧密集成,亚马逊提供交互式台和命令行工具,以便上传和管理代码片段。 Google Cloud Functions Google 是为服务架构的最前沿公司,除了推动 Kubernetes,Google 还投资了 Cloud Functions,该架构可以在其公共云基础设施上运行。 Iron.io Iron.io 最初是为企业级应用提供微服务。Iron.io 是用 Go 语言编写的,用于处理高并发、高性能计服务,并已经集成 Docker 服务,提供一种完整的微服务平台。 IBM OpenWhisk 2016 年 2 月的 InterConnect 大...阅读全文

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

AWS省钱攻略:预留实例怎么玩

m5.2xlarge 类型的 Windows 的标准RI,由于计需求改变,我们需要 m5.4xlarge 的实例以满足业务需求,那么我们可以将两个 m5.2xlarge 的 RI 合并成一个 m5.4xlarge。 同样我们也可以将 m5.4xlarge 进行同实例类型的大小拆分。 场景四:回到上面的场景二,您在新加坡区域有个 m5.4xlarge 的 Windows 实例在运行 ,且当前我有一个 m5.2xlarge 的标准 RI,一个 m5.xlarge 的标准RI,那么这种情况下能不能再购买一个 m5.xlarge 的标准Windows RI 进行合并操作呢?这种情况下则无通过购买 m5.xlarge 标准 RI 合并为 m5.4xlarge 标准RI。 这里就要提到标准RI拆分合并的限:标准预留...阅读全文

博文 2019-08-18 18:26:19 debian.cn

WebAssembly:无需容器的 Docker (上)

同的源语言创建可移植的二进可执行文件。 这些二进文件可以在各种环境中运行。 它起源于 Web,并得到各大主流浏览器的支持。Wasm 如何在浏览器中工作?浏览器引擎集成了一个 Wasm 虚拟机,通常称为 Wasm 运行时,可以运行 Wasm 二进指令。 编译器工具链(如 Emscripten)可以将源代码编译为 Wasm 目标。 这允许将现有的应用程序移植到浏览器,并直接与在客户端 Web 应用程序中运行的 JS 代码通信。这些技术能让传统的桌面应用程序在浏览器中运行。现在它们可以在任何装了浏览器的设备上运行。 一些著名的例子包括 Google Earth 和用于计机视觉的 Open CV 库。Wasm 如何在服务器上运行?除了浏览器,也有可以在浏览器之外运行的 Wasm 运行时,包括...阅读全文

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

Debian的版本号及distributions

release的code name(名为code name的distribution)。每天一些叫做britney的scripts都会被运行,从sid中选出满足一定条件的packges更新到testing中。当release manager感觉合适的时候,testing被frozen,这意味这packages从unstable到testing的策略变紧了,too buggy的pacakges被移除,除bug fixes外其他改动不允许进入testing。根据进度一段时间过后,testing更进一步被frozen。处理testing的细节被Release Team在debian-devel-announce上发布。当Release Team对当前问题的解决情况达到满意的程度后,testing就被...阅读全文

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

Metasploit Framework 5.0 发布 最流行的渗透测试框架

言,框架建立在不断增长的世界级攻击性内容库的框架基础上。另外,此次更新还包括了可用性改进和大规模开发的支持,数据库和自动化 API 的改进等。 在 4.x 现有的 Postgresql 数据库后端之上,Metasploit 5.0 增加了将数据库本身作为 RESTful 服务运行的功能,使用该服务可以与多个 Metasploit 台甚至外部工具进行交互。5.0 版本的这个变更还将取消数据库服务的一些批量操作,从而通过并行处理数据库和常规 msfconsole 操作来提高性能。 新的发布周期 过去的一年,Metasploit 的开发包括两个分支:一个是 4.x 的稳定分支,支持 Metasploit Pro 和像 Kali Linux、ParrotSec Linux、和 Rapid7 自己...阅读全文

博文 2019-01-15 13:37:28 debian.cn

HTTPS 证书有效期被提议缩短至13个月

推荐的加密和散列证书,而不是使用不安全的老化证书。 不过,本周一时,DigiCert 的 Timothy Hollebeek 却反对将证书有效期缩短至 13 个月,他认为,缩短证书寿命确实带来的好处,但意味着要有更好的方来确保证书是最新的和安全的,同时也存在一些麻烦,企业不得不每年续签一次付费证书,并且增加其成本。 换句话说,减少有效期可能会促使企业免费使用 Let's Encrypt TLS/SSL,就不会向 Digicert 这样的机构支付费用。Let's Encrypt 可以免费发放 90 天的 HTTPS 证书,使用提供的软件客户端来自动更新和部署证书,而由于几乎所有浏览器和操作系统都支持 Let's Encrypt TLS/SSL 证书,导致该服务正给向 HTTPS 证书收费...阅读全文

博文 2019-08-14 14:13:58 debian.cn

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

Kubernetes 1.14 发布,31 项功能增强

Kubernetes 1.14 发布了,些版本主要关注可扩展性并支持更多工作负载,带来了 30多项功能增强,其中包括从 beta 到稳定的 10 项功能。亮点包括以下几部分。 持久化本地存储 持久性本地存储的主要用例是数据库和分布式文件系统。这是一个重要里程碑,显然,本地存储的性能优于远程磁盘,无论该存储是由云提供商提供的本地 SSD 还是连接到裸机系统的磁盘。 Windows 节点的生产级支持 绝大多数企业都拥有包含 Windows 工作负载的异构环境,现在不必寻找其它协调器来管理这些 Windows 容器。Kubernetes v1.14 改进支持了 pod、服务类型、工作负载器和 metrics/quotas,使得与 Linux 功能相当。 PID 限 目前处在测试阶段...阅读全文

Python3: 二分法查找的两种实现方法

二分查找是一种基础的、简单而高效的,又称为折半查找。顾名思义,就是将待查表一分为二,从而减少了查找次数,提高了效率。但缺点就是待查表必须为顺序表,并且待查表在查找时不宜做增删操作。 其最优时间复杂度为O(1),最坏时间复杂度为O(logn)。代码样例: ``` # coding:utf-8 方一:递归 def binarySearch_01(listx, item): """Be of recursion""" length = len(listx) if length > 0: #定义中间值下标: split = length // 2 if listx[split] == item...阅读全文

Open Source Initiative 批准四个新的开源许可证

许可证。 四个新的许可证 首先是 Cryptographic Autonomy License(CAL)。这个许可证是为分布式密码学应用而设计的。现有的开源许可证无保证开放性,因为如果没有义务与其他对等体共享数据,那么一个对等体就有可能损害网络的运行。所以,CAL 除了是一个强大的版权许可以外,还包括向第三方提供独立使用和修改软件所需的权限和材料,而不使第三方有数据或功能的损失。 随着分布式密码学在加密结构的点对点共享中越来越多的使用,如果更多的开发者发现自己需要一个像 CAL 这样的律工具,也就不足为奇了。我们希望由此产生的许可证是清晰易懂的,并希望开源从业者会发现它大有用处。 在我们之前的报道中曾提到,欧洲核子研究组织 CERN 提交的 CERN Open Hardware...阅读全文

博文 2021-03-01 10:44:35 OSChina

Debian 9 Vim无法使用鼠标右键复制 解决方法

由于日常大部分工作需要在 Debian 环境下完成,最近发现升级到 Debian Stretch 后,Vim 的一个常用操作没做了,没使用鼠标,直接选择并复。很别扭,之前用着没问题的。今天来分享一个解决办,为大家解决 Debian 9 VIM 环境下,无使用鼠标右键进行选择、复的问题,供大家参考。 Debian 9 (Stretch) 无使用鼠标右键选择、复的解决方,Debian 9怎么使用右键复 装了 debian 9 以后,vim没有办使用鼠标直接选择并复,检查后发现是一个默认的配置问题。可以使用以下方彻底解决。 1、 打开 Vim 的默认配置文件 vim /usr/share/vim/vim80/defaults.vim 2、 转至第 70 行,找到: if...阅读全文

博文 2018-01-23 17:39:18 debian.cn

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

OpenSSL 1.1.1 已发布,这是新的长期支持版本(LTS),开发团队承诺至少提供五年支持。自 1.1.0 发布以来,已有超过 200 位个人贡献者提交了近 5000 个 commits。OpenSSL 1.1.1 最重要的变化就是添加对 TLS v1.3 (RFC8446) 的支持。 TLS v1.3 的优势包括: 由于减少了客户端和服务器之间所需的往返次数,缩短了连接时间。 在某些情况下,客户端能够立即开始将加密数据发送到服务器而无需与服务器进行任何往返(称为 0-RTT 或“early data”)。 由于删除了各种过时和不安全的加密及握手加密,提高了安全性。 OpenSSL 1.1.1 其他亮点包括: 完全重写 OpenSSL 随机数生成器以引入以下功能: The...阅读全文

Prometheus 常用 PromQL 语句样例

: sum(my_metric_name)根据方和路径标签维度进行求和: sum by(method, path) (my_metric_name)without 用于从计结果中移除列举的标签,而保留其它标签,by 则正好相反,结果向量中只保留列出的标签,其余标签则移除: sum without(method, path) (my_metric_name)其他常用的聚合运符:sum(), min(), max(), avg(), stddev(), stdvar(), count(), count_values(),bottomk(), topk(), quantile()。序列间的数学计将两个相同标签的序列相加: left_metric + right_metric只将匹配...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

CentOS停止维护后,我们应该用什么操作系统?

Debian 不能被单个公司所。我们的开发人员来自超过 60 个国家/地区,并且 Debian 本身也已经被翻译为超过 80 种语言。Debian 作为开发者使用的操作系统享有盛誉的原因是丰富的软件包数量和软件支持,这对开发者而言十分重要。强烈建议专业的程序员和系统管理员使用。Adarsh Verma 在 Fossbytes 上写道面向开发者的 Debian多种硬件架构Debian 支持一长串的CPU架构,包括 AMD64、i386,ARM 和 MIPS 的多个版本、POWER7、POWER8、IBM System z 以及 RISC-V。Debian 还可以用于一些特殊用途的架构。物联网和嵌入式设备Debian 可以在各种设备上运行,例如 Raspberry Pi、QNAP 的各个变种、移动设备...阅读全文

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

流行的 GNOME 2 fork — 被称为 MATE,虽然将主要支持 Unity。 还要记住开发团队建议用户定期执行更新。这将使 Vinux 团队能够更新软件包,并引入新功能。 发行说明中提到一个台语音回归的变化:“由于 Vinux 5.1 不再使用 ConsoleKit,我们不能引入 Vinux 4.0 台语音的更改,请参阅 wiki 了解更多信息。使用 Speechd-up 登录到桌面会话,并从 GNOME 终端运行 sudo speechd-up 或添加启动项以在登录时自动执行”。 参考发布公告获取更多的细节。 下载地址 Download: vinux-5.1-amd64.iso (1,318MB, MD5, pkglist)...阅读全文

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

分布式版本控制系统 Git v2.12.2 发布

Git v2.12.2 发布了,Git 是一个开源的分布式版本系统,用以有效、高速的处理从很小到非常大的项目版本管理。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本软件。 部分更新内容: git status –porcelain” is supposed to give a stable output, but a few strings were left as translatable by mistake. “Dumb http” transport used to misparse a nonsense http-alternates response, which has been fixed. “git diff...阅读全文

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

Proxmox VE 6.1/6.2 U盘安装教程

本默认,要注意选择DD镜像模式,不然U盘启动后找不到安装文件; 二、安装PVE(1-8这里用的网上图片,6.1/6.2安装和5.2基本一致,就没有截图) 1、进入ISO启动,选择“Install Proxmox VE” 2、同意协议,点击“I agree” 3、选择硬盘,点击“Next” 4、设定国家、时区和键盘,Country输入China即可,点击“Next” 5、设置管理员root账号密码和邮箱 6、设定主机名,IP,网关,掩码和DNS 7、安装完提示重启(重启前请先移除ISO启动) 8、启动完成后的台,会提示台访问URL 9、PVE默认端口为8006,可以导入自己的SSL证书 10、PVE安装完毕,进入系统界面...阅读全文

博文 2021-02-15 08:36:49 星哥的博客

中国开源人访谈系列之:清风博主

Gentoo中文社区,一开始想挺多,也做了点工作。不过,由于个人技术水平、能力等方面原因,现在社区基本上也没什么动静了。现在年龄越来越大,精力也有限,希望有更多新生力量加入进来,让Gentooo这个发行版在国内有更多影响力! 2.您会参与哪些线下活动? 答:我们庄里,有个活动参加就不错了,不像北上广这样的一线大城市经常有。虽然离帝都近,但一是时间紧张,二是自己掏腰包负担路费,看看3K多的月薪,了吧。。。 3.您怎么看现目前中国的开源社区,又看好哪些?能举例详细说明吗? 答:中国的开源社区和国外比,有明显的差距,但从这几年的发展来看,氛围是越来越好的。我认为目前最大的问题是:不少社区是靠核心组织者的热情来维持,缺乏一定的资金和硬件条件支持,也就是没有长久发展的机。再加上拿来主义盛行,在一定程度上也...阅读全文

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

Mageia 6 正式发布,基于 Mandriva 的分支

Service,为 Mageia 6 及更高版本提供第三方软件包 dnfdragora,一个新的 GUI 工具,灵感来自 rpmdrake 的软件包管理工具 为所有 Mageia 工具提供全新图标主题,特别是 Mageia 中心 将 ARM 端口(ARMv5 and ARMv7)成功集成到构建系统中,允许设置 ARM chroots 安装镜像目前还未提供,但将来会出现 使用 GRUB2 作为默认引导程序 有关 Mageia 6 的其他信息可以在项目的发布公告和发布说明中找到。 Download (pkglist): Mageia-6-LiveDVD-Plasma-x86_64-DVD.iso (2,505MB, SHA512, signature, torrent) Mageia-6-LiveDVD...阅读全文

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

微软宣布年底关闭开源软件托管平台 CodePlex

GitHub 上。今天,微软的 GitHub 组织已经有 16000 多名开源贡献者。2016 年,GitHub 本身也为微软适应 GitHub 做出很多努力。 与此同时,CodePlex 则不断没落。在今年 2 月份,人们在这个平台上托管的开源项目还不到 350 个。 GitHub 是基于 Git 的开源版本软件,可以被多人用于追踪变化。人们可以移动代码到 Atlassian 的 Bitbucket 和微软 Visual Studio Team Services 等替代系统上。初创企业 GitLab 也为开源和私有项目提供托管服务。 2016 年,谷歌已经关闭了自己的托管服务 Google Code。哈里写道:“我们很荣幸能与 GitHub 密切合作,共同促进开源项目。”开源软件并非微软文化中的...阅读全文

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

Systemd 曝出三个漏洞 大部分 Linux 发行版易受攻击

在 2016 年 2 月可利用(systemd v230),研究人员写了一个 PoC,可在 i386 上获得 eip 。 CVE-2018-16865 于 2011 年 12 月引入(systemd v38),在 2013 年 4 月可利用(systemd v201)。CVE-2018-16866 于 2015 年 6 月引入(systemd v221),于 2018 年 8 月无意中被修复。 研究人员为 CVE-2018-16865 和 CVE-2018-16866 写了一个 PoC,并利用它进行测试,结果花 70 分钟就可以在 amd64 上获得本地 root shell,而在 i386 上只花了 10 分钟。 “所有使用 Systemd 的 Linux 发行版都存在漏洞,并且易受到...阅读全文

博文 2019-01-15 10:56:33 debian.cn

Ruby 2.5.0 稳定版发布

代码覆盖。分支代码覆盖指检查哪些分支被覆盖到,哪些没有。而方覆盖在指可以测量方是否被调用。基于这些新特性运行你的测试用例,你可以精确地知道哪些分支和方被运行,并更精确地计测试的代码覆盖程度。[功能 #13901] 新增 Hash#slice [功能 #8499] 和 Hash#transform_keys。[功能 #13583] Struct.new 现在可以被用于创建含有关键字参数的类。[功能 #11925] Enumerable#any?, all?, none? 和 one? 可以接受一个模式作为参数。[功能 #11286] 删除顶层常量查找。[功能 #11547] 我们最喜爱的库之一 pp.rb,现已自动加载。无需手动写 require "pp" 来加载。[功能...阅读全文

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

使用 MongoDB 之前应该知道的 14 件事

MongoDB 服务器都很重要。尤其是,除非有非常好的理由要使用mapReduce、group 或 $where,否则你应该 在配置文件中设置 javascriptEnabled:false,禁用 JavaScript。因为标准 MongoDB 的数据文件是不加密的,另外, 使用专门的用户运行 MongoDB 也是一个明智的做,对数据文件的完全访问仅限于那个用户,这样就可以使用操作系统自带的文件访问了。 没有设计一个模式 对于模式,MongoDB 没有强要求。这不是说它不需要模式。如果你真想保存文档而又没有一致的模式,那么你可以非常快速、简单地保存它们,但是 检索会十分麻烦 。 “MongoDB 模式设计的六大经验原则 ”是一篇值得一读的经典文章,而第三方工具(如 Studio 3T)提供的类似...阅读全文

Tmux 快速教程:快捷键和配置

Tmux 简单来说就是终端里的『窗口管理器』,如果我使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要看一下 CPU 的使用率,就得再连接一次。但是如果在远程主机上运行 tmux,那么就可以开启多个台(类似于窗口),相当高效,比方说可以像下面这样: 需要注意的是,这里是在我本地使用 tmux,最好在远程主机也安装 tmux,这样就只需要连接一次。 Hello World 前面提到的窗口管理只是 tmux 功能的一小部分,另一个很有用的功能就是,连接到远程主机之后,一旦断开,那么当前账户登录的任务就被取消了,但是使用 tmux 可以在断开之后继续工作,下次登录可以查看。其他的功能还有: 窗口切换,每个窗口里还可以分割面板 配置方便,可以使用脚本 类似 vim 的双层操...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Go 1.12 正式版发布,初步支持 TLS 1.3

Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 程序会像之前一样正常编译。 新版本的更新亮点有 TLS 1.3 的初步支持 ,模块(module)支持的提升(目标在 Go 1.13 默认启用 module 模式),支持 windows/arm,以及 提升 macOS & iOS 的前向兼容性。 其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希,带来了更高的性能和安全性。 此外,值得关注的 Go 1.12 的更新内容有: 新版在语言规范方面没做改动;工具方面的一些变动,有:Go 1.12...阅读全文

AMD Zen之父跳槽Intel:推进10nm工艺

、GlobalFoundries已经纷纷开始或准备量产7nm,AMD Zen2架构产品明年也会上7nm。 虽然Intel一再宣称自己的工艺比对手领先一个时代,但现在的问题是,就对手的7nm只相当于你的10nm,人家也已经在量产阶段了,这是无回避的。再加上AMD步步紧逼,作为几十年龙头老大的Intel,身上的压力可想而知。 相信这也是Intel挖过来Jim Keller,共同推进新工艺的关键原因。当然,Jim Keller擅长的是架构设计,而不是工艺造,因此在Intel更多的应该也就是配合工艺技术、研发和生产进度,优化架构和产品设计,帮助尽快落地上市。 之前还有消息说,Intel已经在调整10nm工艺,为了能尽快量产而降低技术要求,所以最终我们看到的Intel 10nm可能只是个缩水版,也就谈不上比肩对手7nm了。...阅读全文

博文 2018-08-11 18:15:33 debian.cn

25万次P/E循环 超级长寿的SLC SSD诞生

SLC、MLC、TLC、QLC……NAND闪存类型的进化一直是个争议话题,可靠性和寿命越来越差,或者说P/E编程擦写循环次数越来越低,东芝甚至已经开始探讨PLC,不知道会渣成什么样。对于最初的SLC(每单元只保存1比特数据),很多人都十分怀念,但如今已经几乎绝迹,只在极少数特殊场合才能看到。 东芝正在打造可视为SLC加强版的XL-Flash,而高端固态存储厂商Greenliant最新打造的NANDrive EX系列SSD产品,更是应用了超长寿的SLC闪存。 Greenliant NANDrive EX并非消费级产品,而是面向高性能计、工业、交通运输、视频和网络等特殊行业应用,特别是那些需要超长寿命、高可靠性的应用,能长久保持数据完整。 它采用了Greenliant自家专门设计的...阅读全文

博文 2019-08-07 23:13:00 debian.cn

Golang Context 探究

在用 Golang 开发过程中,我们一定能在代码里很多函数或方都会传递 context, 也会经常遇到这样的报错 context deadline exceeded。你有想过或去探究过 context 到底是什么吗,为什么会遇到上述的报错。在这里我们就分析一下 context 是什么及用途。 首选 Golang 中的 context 值得是 context.Context 接口,Golang 在 1.7 版本中引入标准库的接口。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、截止时间、key-value 等。 Context 定义 Context 接口定义如下 1 2 3 4 5 6 7 8 9 10 type Context interface...阅读全文

博文 2021-02-25 09:27:27 lxkaka

Knoppix 8.6 发布,GNU/Linux 系统

kernel 5.2.5 和 Xorg 7.7(核心 1.20.4) 来支持当前的计机硬件。内核补丁:Cloop,aufs32 位和 64 位内核都支持新旧计机,64 位版本还支持具有超过 4GB RAM 和 chroot 到 64 位安装系统崩溃修复任务的系统。如果检测到具有 64 位功能的 CPU,引导加载程序将自动启动 64 位内核 (如果不是手动指定的话)。对于只能从 CD 启动的计机,而不是从 DVD 或 USB 闪存笔启动的计机,在“KNOPPIX”文件夹中放置了一个可启动的小型 CD 映像,该文件夹可以与完整的 USB 或 DVD 版本一起使用,以便在旧计机上启动。QEMU-KVM 3.1 作为可编写脚本的虚拟化解决方案隐私增强的 tor 浏览器,可升级并可通过 knoppix...阅读全文

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

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

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

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

英特尔放出Linux微代码以修复Meltdown和Spectre漏洞

近日,Intel发布了最新版本的Linux处理器微代码数据文件,而这个补丁文件能够修复Intel CPU中的Spectre以及Meltdown漏洞。广大用户可以使用微代码文件来修复操作系统中目前已知的Intel CPU安全漏洞,而无需在计机中执行BIOS更新。 根据Intel微代码下载页面所提供的介绍,Intel此次发布了40种不同版本(针对Linux)的补丁代码,可适用于多款不同型号的Intel处理器。 下面给出的就是Intel官方网站列出的处理器支持型号。大家可以参考下列表格以及cpu-world.com网站上的CPU信息来寻找合适自己处理器的补丁版本。注意,下列表格中的CPU版本号为十六进值(例如(06-3c-03:32)),你可以在cpu-world.com寻找到相匹配的处理器...阅读全文

博文 2018-01-17 23:26:58 debian.cn

最全 MongoDB 基础教程

版本 weights document 索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重 default_language string 对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语 language_override string 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language MongoDB聚合 MongoDB聚合(aggregate)主要用于处理数据(诸如统级平均值、求和等), 并返回计后的数据结果。有点类似sql语句中的count(*) aggregate() 方 db.COLLECTION_NAME.aggregate...阅读全文

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

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

单独存储,除了减轻配置中心与注册中心的工作压力之外,还为将来 更丰富的服务治理 打下基础。未来,Dubbo 会基于元数据中心提供服务测试、服务 Mock 以及服务 API 管理等特性。针对三个中心的分离,Dubbo 还会配套发布全新设计的 Dubbo Ops 台 。另外,2.7.x 会是 Dubbo 在 Apache 软件基金会 毕业的版本 ,安装包包名正式切换到了 org.apache.dubbo,为了保证向前的兼容性,我们还在这个版本中提供了 com.alibaba.dubbo 的兼容包。 Dubbo 2.7.0 具体更新内容 如下: (环境要求:需要 Java 8 及以上版本支持) 新增功能 服务治理规则增强。更丰富的服务治理规则,新增应用级别条件路由、Tag 路由等治理规则与注册...阅读全文

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

如何在 Debian 上安装 TensorFlow

系统上是否安装了Python 3。在 Debian 10 中,默认已经安装了Python 3.7 的版本。 推荐的创建虚拟环境的方是使用软件包venv提供的模块python3-venv。 如果你还没有安装 python3-venv ,请输入以命令安装: sudo apt update sudo apt install python3-venv 2、创建虚拟环境 建立一个独立的工作目录, mkdir my_tensorflow cd my_tensorflow 进入目录,使用以下命令创建新的虚拟环境, python3 -m venv venv 上面的命令创建一个名为venv的目录,该目录包含Python二进文件,Pip程序包管理器,标准Python库和其他支持文件的副本。运行...阅读全文

AMD发32核Naples处理器 靠性价比杀回服务器市场

域领先AMD。Skylake支持AVX-512指令集,而AMD芯片只支持AVX-128。一部分在AVX-512下能实现更优表现。 Norrod对此也并不避讳。他表示虽然一些应用程序在英特尔芯片上运行更好,但AND的Naples有其独特的特性帮助AMD杀回服务器市场。 如果性能相差无几的同时又价格低廉,那么即便速度稍慢一些,仍然有客户会考虑使用这款产品。...阅读全文

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

语言特性的人都知道,自己需要的特性,在任何语言里面一定有对应的表达方式。如果没有直接的方式表达,那么一定有某种“绕过方式”。如果有直接的表达方式,那么它只是语稍微有所不同而已。所以,他是带着问题找特性,就像查字典一样,而不是被淹没于大部头的手册里面,昏昏欲睡一个月才开始写代码。 掌握了通用的语言特性,剩下的就只剩某些语言“特有”的特性了。研究语言的人都知道,要设计出新的,好的,无害的特性,是非常困难的。所以一般说来,一种好的语言,它所特有的新特性,终究不会超过一两种。如果有个语言号称自己有超过 5 种新特性,那你就得小心了,因为它们带来的和可能不是优势,而是灾难! 同样的道理,最好的语言研究者,往往不是某种语言的设计者,而是某种关键语言特性的设计者(或者支持者)。举个例子,著名的计机科学...阅读全文

博文 2017-07-10 10:13:17 debian.cn

希捷开测16TB Exos硬盘 采用热辅助磁记录技术

随着热辅助磁记录(HAMR)技术的成熟,希捷也终于拿出了 16TB 的 3.5 英寸 Exos HAMR 硬盘驱动器。目前该产品已在全面测试阶段,且较西部数据(WD)的微波辅助磁记录(MAMR)技术有更大的优势。HAMR 可借助激光对下方盘片进行加热,使磁头更易于记录、从而实现更高的存储密度。 希捷表示,HAMR 磁头的可靠性,已经超越了“行业标准”。 目前希捷正在对 16-TB HAMR 驱动器进行一系列的基准和集成测试,例如检查它们是否能够对器的命令做出了适当的响应。该造商指出,客户无需做出任何特殊的改动,即可直接像传统 3.5" 硬盘驱动器那样使用 HAMR 驱动器。 如果一切顺利,希捷有望在 2020 年提供容量高达 20 TB 的 HAMR 硬盘驱动器产品。...阅读全文

开源硬件是趋势,Arm 却走了一条与众不同的路

Cortex-M33 CPU 开始使用。这将使得 Arm 客户能够向基于 Cortex-M 的 IoT CPU 添加自定义指令,以针对特定市场量身定芯片。 Dirvin 说到:“例如,有些数学是重复的。如果我们要使用一块硅存储片来维护它,那么拥有一条指令将会非常好。但这与 Arm 想要的不符。不过现在使用自定义指令后,我们的合作伙伴将能够针对该市场专门对芯片进行优化。” 为此,许多行业从业者和分析家将 Arm 的这些声明视为对 RISC-V 日益严峻挑战的回应。由于 RISC-V 具有相当吸引人的优势 —— 高度的自由性、轻量级和可扩展性,它已引起 NVIDIA 和 Qualcomm 等技术巨头的广泛关注。 Dirvin 则强调,即使没有 RISC-V 的兴起,Arm 也会推出其政策变更。“创新...阅读全文

博文 2019-10-17 22:39:43 debian.cn

三大浏览器敦促网站管理员更换 SHA–1 认证

的影响,Mozilla在2016年11月初着手在部分beta用户中开展移除SHA-1的beta测试。Firefox默认使用手动安装的认证。 Edge Mircosoft Edge和Internet Explorer 11浏览器将于2017年2月14日停止加载使用SHA-1认证的网站,同时让用户决定是否忽视无效认证的警告并依然继续访问该网站。同样,手动安装的或自签名的SHA-1认证将不会受到影响。 Safari Safari的提供商Apple也开始逐步停止使用SHA-1和3DES这类被认为是不安全的。在最新版本的macOS中已经可以看到,对于SHA-1签名认证的网站,Safari浏览器将不再显示那个原有的绿色挂锁标志。在Sierra的发行说明中也建议应尽快停止使用SHA-1,但是并未给出更...阅读全文

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

Linux 5.12开始支持USB 4“安全等级5” 可禁用PCIe隧道功能

DisplayPort和USB only、USB only等授权机,以抵御连接到系统的潜在流氓设备。关于Linux上通过sysfs暴露的最新Thunderbolt/USB4安全的细节可以通过[最新的文档](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/tree/Documentation/ABI/testing/sysfs-bus-thunderbolt?h=usb-next&id=3cd542e6e6afb6fa6c34d4094d498f42e22110f5)找到。 Linux 5.12 的 Thunderbolt 更新还包括对 ACPI 6.4 的 USB4 _OSC 的支持,对禁用 XDomain 协议的支持,以及其他...阅读全文

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

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打让他先进门,他又打让你先出门,结果,两个人都互相退后了,然后你打先出门时对方也向前一步,来来回回就一直卡在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

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

Numpy 库准备放弃支持 Python 2

Numpy 是 Python 的一个科学计的库,提供了矩阵运的功能,一般与 Scipy、matplotlib 一起使用。今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 2019 年 1 月 1 日起,放弃支持 Python 2。 Python 内核团队将于 2020 年停止支持 Python 2。NumPy 项目从 2010 年同时支持 Python 2 和 Python 3,我们发现自己有限资源无力再支持 Python 2 了。因此,我们也计划放弃支持 Python 2。 相应时间如下: 2018 年 12 月 31 日之前,所有 NumPy 发布版均同时支持Python 2 和 Python 3。 从 2019 年 1 月 1 日起,NumPy 的新特性只支...阅读全文

博文 2017-11-18 08:30:29 debian.cn