InfraPub 为您找到相关结果 560

Go 1.9 的新特性介绍

档: monotonic time 位处操作 新增加了math/bits包, 提供了很多位运算的函数。 Test Helper函数 新加`(T).Helper和(B).Helper m`, 用来标记调用的函数是一个测试辅助函数,当输出文件名和行数的时候,这个函数回呗忽略。 标准库的微小改动 标准库也有一些小的功能的加入和提升, 比如image、net、runtime、sync等。 并行编译 支持并行地编译函数,并且在Go 1.9中势默认设置。如果不想并行编译,设置GO19CONCURRENTCOMPILATION为0。 ./... 会忽略vendor下的包 这一条很有用,以后你在Makefile中可以直接使用./...,而不是曲折地将vendor文件夹排除。 如果你想使用vendor下的包...阅读全文

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

百度开源项目 ECharts 首进 Apache 孵化器

Apache 孵化器意味着 ECharts 距离成为顶级的开源社区产品更近一步,但与此同时也必须秉承更加兼容并包的心态,迎接更多的机遇与挑战。 百度开源推进组负责人谭中意也表示:“百度抱着参与、回馈、影响社区的态度进行各种开源活动,充分尊重和解开源社区的规则和精神,而让 ECharts 成为 Apache 基金会的孵化项目只是开始,百度会继续跟各个开源社区进行更加广泛和深入的合作。” ECharts 项目 Champion 及导师、Apache 基金会副总裁 Kevin A.McGrail 表示:“很荣幸,也很高兴作为 Champion 参与 ECharts Apache 基金会项目的孵化过程,ECharts 作为中国可视化生态领域的领军者,不断追求极致,扩大功能边界,帮助越来越多使用...阅读全文

博文 2018-03-09 08:46:07 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

获取数据时的延迟。此功能在大规模的应用程序上十分重要,因为数据离应用程序越近,程序就能更快获取到数据。 antirez 受 Ben Malec 演讲的启发,他想到可以将大部分需要频繁存和取的数据直接放在服务器的内存中,以便让 Redis 为客户端完成部分工作,并使客户端缓存更简单、更有效。这个就是 Client side caching(客户端缓存)的概念。 不过这个思路有一个需要解决的问题是,如何控制数据的有效时间?在程序允许的情况下,虽然可以直接设置数据的有效时间,让数据在一段时间后失效。但 antirez 表示,大多数的应用程序无法接受提供过时的数据的风险,因此必须找到更想的方案来控制数据的失效时间。 所以 antirez 决定开发新的协议 RESP3,在协议中加入新特性来支持客户端...阅读全文

DNS SRV:使用DNS服务器做服务发现

级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处收到的SRV记录。当前DNS SRV只能够负责提供服务地址列表,对这个列表如何解读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Debian 10 Buster 国内常用镜像源

随着 Debian Buster 10.3 的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰度升级到 Debian Buster 做前期验证了。这里我们整一下国内较知名的镜像站点,共大家在生产环境中使用。 如何更新系统安装源 一般我们修改 /etc/apt/sources.list 文件,将 Debian 的默认源地址改成新的地址即可,比如将 http://deb.debian.org 改成 https://mirrors.163.com,可使用以下这条命令: sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list 注意...阅读全文

博文 2020-02-22 21:35:25 debian.cn

在 Mac OS X 上安装 Nessus 10

launchctl load -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist 停止服务:sudo launchctl unload -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist (2)使用浏览器访问:https://:8834,注意忽略证书警告 (3)选择 “Managed Scanner” (4)选择 Tenable.sc (5)创建管员帐号和密码 (6)编译插件(新安装编译过程很快) (7)自动登录,安装成功 此时只有 “Setting”(没有 “Scans”)且显示未注册。 四、 安装插件和创建配置文件 此时下面两个配置文件都是空白的 /Library...阅读全文

Go 泛型的括号选择:[ ] or ( )

type关键字,那么歧义就会消失: type A[type N] E 此外,使用小括号时产生的歧义似乎不会出现在方括号中。下面是一些使用方括号但不需要额外嵌套小括号的例子: using () using [] func f((T(int)) func f(T[int]) struct{ (T(int)) } struct{ T[int] } interface{ (T(int)) } interface{ T[int] } [](T(int)){} []T[int]{} 为了更好地解以及进行测试,他们表示将开始对原型实现进行修改,让泛型能使用小括号或方括号(注意不能同时混用,只能使用其中一种)。这些修改将首先提交到 dev.go2go 分支,最终会出现在 Go playground 上...阅读全文

博文 2020-07-16 10:38:01 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 知乎

如何重启 Kubernetes 中的 Pods

{namespace} 这个方法简单粗暴有效。因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,便会自动重新创建 Pod 保持与预期一致。但是如果ReplicaSet 管的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用命令来删除 ReplicaSet, kubectl delete replicaset {rs_name} -n {namespace} 由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本数目的定义和Pod 模板组成,所以我们也可以通过调整 ReplicaSet 的数量来实现重启,比如先 scale 到 0,然后再 scale...阅读全文

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

Raspbian 国内软件源列表

花了些时间整了目前最新的树莓派中国大陆地区的软件源,记下来,希望对大家有帮助。 中国科学技术大学 Raspbian http://mirrors.ustc.edu.cn/raspbian/raspbian/ 阿里云 Raspbian http://mirrors.aliyun.com/raspbian/raspbian/ 清华大学 Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ 华中科技大学 Raspbian http://mirrors.hustunique.com/raspbian/raspbian/ Arch Linux ARM http://mirrors.hustunique.com...阅读全文

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一路径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管工作,将这些公用配置从开发者手中分离出来,变成系统管配置。PodPreset 是 Namespace 级别的对象,其作用范围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

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

年谷歌是否退出中国市场这件事情上,因为施密特在2011年计划卸任 CEO(据说这是三人间的十年之约),两位创始人的意见占据了主动(他们从未造访过中国,所以对这一市场缺乏认识),最后谷歌不得不退出。 世界属于年轻人 不过事实证明,施密特只担任十年谷歌 CEO 是正确的选择,他在2011年卸任,并转而担任谷歌董事会执行主席,很多人不解这背后的原因,但下面的故事已经足以证明,施密特的经验在21世纪,只有十年的保质期。 施密特曾经主动承认过自己的两个失误,一个是对于 AI 技术缺乏远见,在施密特在任时他曾经判断这项技术不会取得大规模的成功, 并认为 AI 只能够在具体任务中作为一个特定的工具,至于广泛应用则需要几十年事件。这一系列的决策使得谷歌在人工智能领域被苹果、Facebook 等企业甩开了身...阅读全文

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

树莓派 9 周年:你不知道的树莓派冷知识

的孩子们提供这种价格低廉、易于破解的计算机,从而培养他们对计算机编程的兴趣。2.目前至少已有 21 种不同型号的树莓派自 2012 年推出以来,树莓派基金会已经发布了 21 种不同型号的树莓派,如果算上 Raspberry Pi 4 B 的四个不同 RAM 容量的版本和 Raspberry Pi Compute Module 4 的所有 32 个不同存储组合版本,则共有 52 种型号。(包括带有或不带有 Wi-Fi) 最初的 Raspberry Pi B 型仅具有 256 MB 的 RAM 和一个单核 700 MHz 处器。当前的主流型号 Pi 4 B 具有高达 8 GB 的 RAM,四核 1.5 GHz CPU 和 USB 3.0 端口。其中,Raspberry Pi 400 于...阅读全文

博文 2021-03-11 17:03:55 diablo4

在TKE上使用Kubecost进行成本管理

,即为计算 Pod 资源请求(Request)或者使用量(Usage)消耗的成本。根据不同类型的资源,按照 Pod 所在 Node 的 IaaS 计价方式作为基本参考,来计算 Pod 所使用的成本费用。 目前云厂商的 Node 计费模式一般是**包年包月(Month)**、**按量计费(Hour)**和**竞价实例**。当 Kubecost 计算 Pod 成本时,即使是相同请求量的 Container,在不同类型的 Node 上成本消耗也不一致。 上述三种计费模式中,由于用户购买的是一个整体实例,因此按照实例计费,不针对单独一个资源计费。而通过使用 Kubecost,可以参照模型分析资源类型分摊成本、每种资源分摊成本。 例如,一个云厂商提供的某种 Node(虚拟机、物机),CPU 为1核(C...阅读全文

Debian 10.8 发布:包括多项安全更新和错误修复

Debian 项目团队宣布其稳定发行版 Debian 10 (代号 "buster")的第八次更新。本次更新主要是对安全问题进行了修正,同时也对一些严重的问题进行了调整。安全公告已经单独发布,并在可用的地方进行了参考。 需要注意的是,这个点发行版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常规位置提供。 将现有的安装升级到这个版本可以通过将软件包管系统指向Debian的许多HTTP镜像之一...阅读全文

博文 2021-02-07 10:57:22 joseph

下一代时间同步服务 Chrony 详解

成后的配置文件内容。 server ntp1.aliyun.com iburstserver ntp2.aliyun.com iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony 使用 Chrony 客户端程序进行管 检查 Chrony 是否实际同步 为了检查 Chrony 是否实际同步,我们将使用它的命令行程序 chronyc 来验证。 root@hk:~# chronyc tracking Reference ID : C200057B (any.time.nl) Stratum : 3 Ref time (UTC) : Mon Jan 04 00:28:16 2021...阅读全文

博文 2021-01-04 08:41:14 debian.cn

技术部门的 SEO 规范

遵守的SEO规范,开发网站或修改网站时,即使不与SEO部门协同,也至少不能违反SEO规范,以防产生灾难性的后果。以前为客户写过一些技术部门SEO规范,现在简单整更新一下,分享给大家,希望对其它公司也有帮助。 技术部门SEO规范 本SEO规范适用于公司所有新建网站及对现有网站的更新、改版。本SEO规范不是建议,是强制性规定。编程、前端、运维等技术相关部门务必遵守。 对本SEO规范中的内容有疑义时,请与SEO部门沟通,不可自行解释有疑义部分。 域名及服务器相关 只解析公司因业务需要决定开通的子域名。未开通子域名一律不解析。不要使用泛解析(以通配符*代替子域名)。不能有两个或两个以上域名显示同样网站内容(无论以哪种方式实现,如解析至相同根目录、上传同样文件和数据库)。用于测试的子域名使用...阅读全文

博文 2019-03-28 13:58:51 debian.cn

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

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

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

title 就很牛 B 的,人外有人,天外有天,做好自己。五年陈留给自己的话:不忘初心,方得始终,未来已来,星辰大海。路就在前方,继续前行。 每个人的成长之路也不一样,我来回想下自己的。 不为过去蹉跎,珍惜当下 很多在菜鸟的时候,肯定或多或少,有过对身边的牛人,报以羡慕的眼光。 当看着别人职位比你高, 当看着别人比你工资领的高, 当看到别人年纪轻轻,就已经是牛逼哄哄。 你会不会有羡慕嫉妒恨的想法: 要是我当年读书的时候,不打游戏,少吃点红瓶、蓝瓶,少放几个水元素,少放几个暴风之锤(寒冰王座)。那么我肯定可以学到更多。 要是我当年不睡懒觉,起早贪黑,去学**,那么我肯定是也会学到很多。 要是。。。 由从来不嫌多,我自己肯定也有这些想法,平心而论,我现在也有这些想法。但是负能量不能盖过正能量。 不要为...阅读全文

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

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

需要的只是 Node.js。Docker 容器应该只包含一个进程以及用于运行这个进程所需的最少的文件,你不需要整个操作系统。实际上,你可以删除 Node.js 之外的所有内容。 但要怎么做?所幸的是,谷歌为我们提供了 distroless。以下是 distroless 存储库的描述: “distroless”镜像只包含应用程序及其运行时依赖项,不包含程序包管器、shell 以及在标准 Linux 发行版中可以找到的任何其他程序。 这正是你所需要的!你可以对 Dockerfile 进行调整,以利用新的基础镜像,如下所示: FROM node:8 as build WORKDIR /app COPY package.json index.js ./ RUN npm install FROM...阅读全文

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

Gitlab CI 配置文件 .gitlab

本文档是描述 .gitlab-ci.yml 详细用法的下半部分,上半部分的内容请参考这里。.gitlab-ci.yml 文件被用来管项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 该文件存放于项目仓库的根目录,它定义该项目如何构建。 参考阅读:Gitlab CI 配置文件 .gitlab-ci.yaml 详解(上) artifacts 注意: 非Windows平台从GitLab Runner v0.7.0中引入。 Windows平台从GitLab Runner V1.0.0中引入。 在GItLab 9.2之前,在artifacts之后存储缓存。 在GItLab 9.2之后,在artifacts之前存储缓存。 目前并不是所有的executors都支持...阅读全文

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

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

。 < ahref="#" target="_blank" rel="noopener"> The link won't make trouble anymore 13. 灵活处图片标题

标签表示与
元素关联的标题或图例,通常作为例如图片、图表、插图等视觉元素的容器。在早期的 HTML 版本中,
只能用作第一个或最后一个
的子标签。HTML5.1 已放宽此限制,现在您可以在
容器中的任何位置使用

The Headline of todays news

阅读全文

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

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

使用 tmate 分享你的终端会话

/DeBucoyRfdOtlUmb5D214NC8 magi@magi-VirtualBox The key's randomart image is: +---[RSA 2048]----+ | | | | | . | | . . = o | | *ooS= . + o | | . =.@*o.o.+ E .| | =o==B++o = . | | o.+*o+.. . | | ..o+o=. | +----[SHA256]-----+ 如何安装 tmate tmate 已经包含在某些发行版的官方仓库中,可以通过包管器来安装。 对于 Debian/Ubuntu,可以使用 apt-get 命令或者 apt 命令来安装。 $ sudo apt-get install software-properties-common $ sudo...阅读全文

博文 2017-12-06 10:33:33 debian.cn

使用 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...阅读全文

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

!Linus Torvalds 原本想把他的“业余爱好”项目称为“FreaX”(“ Free”和“Unix”的组合)。值得庆幸的是,他早期使用的代码托管服务器的所有者说服了他,最终取名为 “Linux”(“Linus”和“Unix”的组合)。 3、首个 Linux 版本 100% 由 Linus Torvalds 编写,但最新的版本仅包含不到 1% 的 Linus 编写的代码。他并不懈怠,现在主要是忙于管和合并其他开发者编写的代码。 4、Linux 被世界上所有主要的太空计划使用,包括 NASA 和 ESA 。 5、谈及更广阔的宇宙,有以 Linux 和 Linus Torvalds 命名的小行星。 6、Linux 的吉祥物 Tux 之所以是一只企鹅,据 Linus 回忆是因为他曾经被一只愤怒的企鹅...阅读全文

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

实例的合并,必须在相同的时间过期,换句话说,也就是该批实例必须是同期采购的相同期限的RI。 可转换RI(CRI) CRI在灵活匹配与合并拆分的基础上增加了更多维度可转换属性:实例类型、操作系统、租期、付款选项,当然价格可能可能上浮10个点左右。可以说CRI提供了最高的灵活可变性,几乎可满足所有的更变需求。唯一的限制: 新可转换预留实例的总价值(预付价格 + 每小时价格 * 剩余小时数)必须大于等于当前总价值! 换句话说客户只能在现有基础上加价,这种也是有道,AWS 总不能因为您换了小规格实例给你退钱吧。 AWS RI使用的一些建议 如果没有容量预留的需求不要选择可用区RI,否则将失去灵活匹配优势针对业务计算需求增加需要调整实例类型机型(非license ) ,无需调整已购买的RI,只需要考...阅读全文

博文 2019-08-18 18:26:19 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 客户端公开了在暴露服务指标时能够运用的四种指标类型。查看 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博客

C++ 夺冠!成为 TIOBE 2022 年度编程语言

Swift 语言,其使用率出现明显上涨,从上个月的第 15 位跃升至第 11 位。 与此同时,在性能方面表现良好、被外界视为安全的编程语言,Rust 继上个月进入榜单前 20 位之后,这个月提升了两个位次。回看一年前,它还排在第 26 位,现如今在亚马逊、微软、Google 等公司的推动下,Rust 的增长也在情之中。 有前途的语言:Kotlin、Julia、Dart 在更多的编程语言中,还有一些值得关注的变化: Lua 可以调用 C 语言函数而闻名,其位置从上月的第 30 位上升到本月的 24 位; F# 的发展有些出乎意外,一年前,它排在第 74 位,一年后,它到了第 33 位; 另外,TIOBE 还盘点出了三种非常有前景的语言,包括 Kotlin、Julia 和 Dart,不过,他们想要进入...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

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

embed.FS func main() { print(s) print(string(b)) data, _ := f.ReadFile("hello.txt") print(string(data)) } 输出结果: 吃煎鱼 吃煎鱼 吃煎鱼 我们同时在一个代码文件中进行了多个 embed 的注解声明。 并且针对 string、slice、byte、fs 等多种类型进行了打包,也不需要过多的处,非常便利。 拓展用法 除去基本用法完,embed 本身在指令上也支持多种变形: //go:embed hello1.txt hello2.txt var f embed.FS func main() { data1, _ := f.ReadFile("hello1.txt") fmt.Println...阅读全文

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

Rust 1.37.0 稳定版发布

。 cargo vendor 已经在生产中使用过很多种情况:Rust 编译器 rustc 使用它在发行版 tarball 中传递它的所有依赖项,而具有 Monorepos 的项目使用它在源代码管中提交依赖项的代码。 对宏使用未命名的 const 现在可以创建未命名的 const。相比给常量一个显式的名称,只需将其命名为 _ 。例如,在 rustc 编译器中: /// Type size assertion where the first parameter /// is a type and the second is the expected size. [macro_export] macro_rules! static_assert_size { ($ty:ty, $size:expr...阅读全文

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

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

。 优点: 启动和测试执行速度快。 自带断言和注释。 支持并行测试。 支持测试驱动开发(TDD)。 缺点: 非跨平台,仅适用于 .Net 语言。 未集成到 Visual Studio echo 系统中,意味着使用它需要更多的维护。 一个很好的 C#开源单元测试框架,历史悠久,口碑较高。 不过,如果你正准备使用 .NET 语言,也可以考虑 MSTest 。 5. TestNG TestNG 是一个 Java 自动化测试框架,受 JUnit 和 NUnit 的启发,但又改进和新增了一些功能。旨在涵盖所有自动化测试类别:单元测试、功能测试、端到端、集成测试等。 优点: 容易整合到 maven 循环中。 使开发人员能够编写灵活而强大的测试。 支持数据驱动测试(DDT)。 注释很容易解。 测试用例可以轻...阅读全文

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

GlusterFS 和 Ceph 比比看

存储世界最近发生了很大变化。十年前,Fibre Channel SAN 文件管器是企业存储的标准。而在目前的环境中,受到基础架构即服务云的影响,数据存储需要更加灵活。 GlusterFS 和 Ceph 是两个灵活的存储系统,在云环境中表现非常出色。 在尝试了解 GlusterFS 与 Ceph 之间的相似之处和不同之处之前,让我们来讨论在云环境中对灵活存储的一些要求。 纵向扩展和横向扩展。在云环境中,必须可以很容易地向服务器添加更多存储空间以及扩展可用存储池。Ceph 和 GlusterFS 都可以通过轻松将新存储设备集成到现有存储产品中来满足这一要求。 高可用性。GlusterFS 和 Ceph 的复制是同时将数据写入不同的存储节点。这样做的结果是,访问时间增加,数据可用性也提高。在...阅读全文

博文 2017-08-09 10:35:29 debian.cn

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

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

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

/proc/sys/net/core/rmem_max 131071 131071:tcp 或 udp 接收缓冲区最大可设置值的一半。 也就是说调用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 时rcv_size 如果超过 131071,那么 getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 131071 * 2 = 262142 [root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max 131071 131071:tcp 或 udp 发送缓冲区最大可设置值得一半。 跟上面同一个道 3...阅读全文

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

你和 Linux 高手只差了一个 LFS

为“从零开始构建的 Linux”。好吧!看起来很高大上 OTZ,可它到底是什么东西呢?感觉上它好像经常和 RedHat,Debain 这类发行版混在一起,那它应该也是个发行版吧! 这样解其实也没有什么不对,但比起发行版来,它其实更像一本书。书本只提供知识,它只教你做,不会帮你做。这才是 LFS 和别的发行版的本质区别。这本书可以教你如何亦步亦趋的从零开始搭建一个具体而微的 Linux 系统,没错,就是从零开始,是不是有一种上帝视角的感觉呢? 那么在哪儿可以找到这本“书”呢?你可以在网上找到电子版,当然,乐意的话,你可以打印出来——不过,我认为这没必要。你只需要按照这本书的指导,一个字母都不要敲错,你就能在它手把手地指导下,打磨出你自己的 Linux 系统啦! LFS 是本好书吗? 是的...阅读全文

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

如何在 Debian 中安装 DHCP 服务器

动态主机配置协议(DHCP)是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。 DHCP 如何工作? 以下是 DHCP 实际工作原的简要说明: 一旦客户端(配置为使用 DHCP 的机器)连接到网络后,它会向 DHCP 服务器发送DHCPDISCOVER数据包。 当 DHCP 服务器收到DHCPDISCOVER请求报文后会使用DHCPOFFER包进行回复。 然后客户端获取到DHCPOFFER数据包,并向服务器发送一个DHCPREQUEST包,表示它已准备好接收DHCPOFFER包中提供的网络配置信息。 最后,DHCP...阅读全文

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

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

向用户。 谷歌指出,这些(误导性UI元素)包含伪装成播放键或其它网站控制的第三方站点的链接,或者是网站上的透明覆盖图,抓取所有的点击和开放的新页签或窗口。 在谷歌上注册了站点的网站所有人将会在谷歌控制台的“滥用体验报告”部分收到关于这种误导性质的UI元素的警告信息。谷歌表示从明年1月份开始,没有处这些报告的网站所有人将会通过Chrome内置弹出消息拦截器经由这些误导性元素触发重定向。...阅读全文

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

开源软件对于商业机构的6大好处

常是对产品供应商有利,而非客户。如果软件停止运行,或者如果供应商要求支付更多的费用,你甚至无法起诉供应商的不当行为。而像 GPL 一类的开源许可证就是为保护客户专门设计的,而不是供应商,它确保你按照自己的需求使用软件,而没有专制限制。 由于它们的广泛使用,GPL 及其衍生许可的含义被广泛解。 例如,许可证允许你现有(开源或闭源)基础设施通过定义良好的 API 与其连接,对时间或用户数量没有限制,并且不会强制你打开配置或知识产权 财产(如公司标志)。但有一个问题就是,有一些开源内核混合了 GPL 和专有软件的条款,这违反了许可证规定,会将客户置于危险境地。 使用专有软件意味着你需要面对严苛的法规遵从性条款,还有承担高额罚款的风险。...阅读全文

博文 2017-11-15 23:41:11 debian.cn

深入了解Docker背后的namespace技术

+ 22:50 0:00 ps aux 在我们预期中ps aux的PID是1,或至少看不到任何从其他父进程进来的 pid 。为什么会这样?我们孵化的进程仍然会有一个来自父进程的/proc视图,也就是说 /proc挂载在主机系统上。那么如何我们解决这个问题?我们如何确保我们新的进程只可以查看在它所在的namespace内的pid呢? 我们可以通过重新挂载/proc 开始。 因为我们会用mount来处,我们可以借此机会使用从MNT namespace所了解到的内容,并结合PID namespace,以确保我们不会将其与自己的主机系统的 /proc搞混。 我们可以通过包含为PID namespace设置的clone flag和为MNT namespace设置的clone flag来启动。他们看起来像是...阅读全文

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

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以...阅读全文

博文 2015-07-25 16:33:04 debian.cn

Golang常见的十大算法精简版

} /*** * go特有变量交换 */ func SwapGo(list []int, i, j int) { list[i],list[j]=list[j],list[i] } /*** * go变量高阶交换(不推荐,一般不好解) */ func SwapGoAdvanced(list []int, i, j int) { list[i]=list[i]+list[j] list[j]=list[i]-list[j] list[i]=list[i]-list[j] } 运行排序方法 使用终端执行go get github.com/e9ab98e991ab/go-algorithm执行touch main.go执行vim main.go拷贝下方代码块代码到main.go文件中wq保存后直接执行go run...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Python的闭包和装饰器

意,可以形象的把它解为一个封闭的包裹,这个包裹就是一个函数,当然还有函数内部对应的逻辑,包裹里面的东西就是自由变量,自由变量可以在随着包裹到处游荡。当然还得有个前提,这个包裹是被创建出来的。 在通过Python的语言介绍一下,一个闭包就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回的函数B就叫做闭包。你在调用函数A的时候传递的参数就是自由变量。 举个例子: def func(name): def inner_func(age): print 'name:', name, 'age:', age return inner_func bb = func('the5fire') bb(26) # >>> name: the5fire age: 26 这里面调用func的时候就产生...阅读全文

博文 2014-07-23 17:06:38 debian.cn

如何在 Debian服务器 上启用双因子身份验证

-authenticator 运行这个程序时,会问到几个问题。你应该以适合你的设置的方式回答,最安全的选项是对每个问题回答y。如果以后需要更改这些选项,你可以简单地重新运行 google-authenticator 并选择不同的选项。 当你运行 google-authenticator 时,一个二维码会被打印到终端上,二维码下方的代码样例如下: Your new secret key is: 75YD5PTE6R65BYFR2AWQGUV6FE Your verification code is 781629 Your emergency scratch codes are: 12321432 29069242 34406891 34387624 79357602 你应该将所有这些代码记录到一个像密码管器一样安全的...阅读全文

博文 2018-12-05 11:44:56 debian.cn

漫画赏析:Linux 内核到底长啥样

接待了。 Port 21 而在最右侧的一个门牌号 22 的们的待遇就大为不同,居然有一只带着墨镜的小企鹅在守着,看起来好酷啊,它是黑衣人叔叔吗?为什么要这么酷的一个企鹅呢,因为 22 端口是 SSH 端口,是一个非常重要的远程连接端口,通常通过这个端口进行远程管,所以对这个端口进来的人要仔细审查。 ssh daemon 它的身上写着 52,说明它是第 52 个小企鹅。 to fs 在图片的左上角,有一个向下台阶。这个台阶是底层(地基)的文件系统中的,进程们可以通过这个台阶,到文件系统中去读取文件,进行操作。 Crontab 在这一层中,有一个身上写着 217 的小企鹅,他正满头大汗地看着自己的手表。这只小企鹅就是定时任务(Crontab),他会时刻关注时间,查看是否要去做某个工作...阅读全文

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

Docker 快速入门之 Dockerfile

, LABEL, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ARG, ONBUILD, SHELL等指令,这里只选择常用的几个进行讲解,可结合上面的示例进行解。其它的请自行查阅官方文档。 3.1 FROM FROM 指令用于指定要操作的基础镜像,因为在我们构建我们自己的镜像的时候需要一个基础镜像。 语法: FROM [AS ] FROM [:] [AS ] 其中 [AS ] 为指定一个名称,在一个 Dockerfile 中多次使用 FROM 时如有需要,可用 COPY --from= 语法进行复制。 3.2 RUN RUN 指令...阅读全文

博文 2017-12-16 13:50:31 debian.cn

Gitlab CI 配置文件 .gitlab

: "$CI_COMMIT_REF_NAME" untracked: true 缓存每个job且每个分支: cache: key: "$CI_JOB_NAME/$CI_COMMIT_REF_NAME" untracked: true 缓存每个分支且每个stage: cache: key: "$CI_JOB_STAGE/$CI_COMMIT_REF_NAME" untracked: true 如果使用的Windows Batch(windows批处)来跑脚本需要用%替代$: cache: key: "%CI_JOB_STAGE%/%CI_COMMIT_REF_NAME%" untracked: true Jobs .gitlab-ci.yml允许指定无限量jobs。每个jobs必须有一个唯一的名字,而且不能是上面提到的关键字。job...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

WebAssembly:无需容器的 Docker (下)

。WebAssembly 带来了真正的可移植性。 构建一次二进制文件,就能在任何地方运行它。 作为这种可移植性的证明,我们准备了几个通过我们为 WebAssembly 构建的 PHP 解释器运行 WordPress 的示例。当 PHP 作为独立的 Wasm 应用程序运行时,它会为 WordPress 提供服务。 它也可以在 Docker+Wasm 容器中运行。 此外,它还能在嵌入 Wasm 运行时的任何应用程序中运行。 在我们的示例中,这是 apache httpd,它可以通过 mod_wasm 使用 Wasm 应用程序作为内容处程序。 最后,PHP.wasm 也可以在浏览器中运行。通过 WasmEdge 服务 WordPress我们为本次演示准备了一个紧凑的 WordPress+Sqlite 示例。 由于它是...阅读全文

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

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个想的后备监控工具。 官网:https://mmonit.com/monit文档:https://mmonit.com/monit/documentation/monit.html最新版本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

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