InfraPub 为您找到相关结果 385

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

Ryzen 9 3950X 系统上,任何版本的速度均未达到 OpenJDK 8 的速度。 结论: 当对所有执行的 Java 基准测试结果取几何平均值时,OpenJDK 8 毫无疑问是最快的 Java 版本。业界经常听到有关 OpenJDK 8 仍可提供最佳性能的消息,以及为什么英特尔的 Clear Linux 在有众多选择的情况下仍坚持该版本的原因。从本文的测试结果来看,这不足为奇。 好消息是,从这种几何意义上来看,OpenJDK 14 是经过测试的发行版中第二快的版本。与之前的版本相比,其领先优势虽然很小,但整来看毕竟是在保持进步。...阅读全文

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

取代TCP:工程师宣布QUIC协议已完成RFC 9000发布

IETF 和互联网生态系统而言,这都是一件大喜事。近年来,QUIC 一直是 IETF 最引人瞩目的活动之一。作为搜索巨头 Google 发起的一项实验,其已经历了五年时间的发展,期间举办了 26 场面对面会议、商议了 1749 次问题、以及成千上万封的邮件沟通。在 IETF 标准的开发协作与迭代流程指导下,QUIC 协议跨越了传统上孤立的传输、安全和应用程序空间,且在审议期间引发了热烈的讨论,最终顺利过渡并达成了广泛的共识。考虑到互联网传输生态系统已经僵化了几十年,而 QUIC 将能够通过加密、版本控制、后续可建立的更丰富的技术、以及高性能服务来摆脱这种尴尬的僵化局面。QUIC 已经做好了引领下一代互联网创新的准备,且开始通过不可靠数据报之类的扩展,为实时媒和其它不需要完全可靠传输服务的应用程序...阅读全文

Django 采用新的项目治理模式

) 扩大到目前的近 200 位。 此外,术语“Django Core Developer”(Django 核心开发者)被重新命名为荣誉称号,由 DSF 授予对 Django 历史产生了重大、长期影响的个人。 更加具的信息可以查看博客原文以及 DEP 10 原文档: https://www.djangoproject.com/weblog/2020/mar/12/governancehttps://github.com/django/deps/blob/master/accepted/0010-new-governance.rst...阅读全文

博文 2020-03-26 08:51:49 debian.cn

LXD 3.8 发布,下一代容器管理器

LXD 3.8 发布了,LXD 是下一代容器管理程序,它提供类似于虚拟机的用户验,但使用的是 Linux 容器。LXD 的核心是一个特权守护程序,它通过本地 unix 套接字以及网络暴露 REST API。随后客户端通过该 REST API 执行所有操作,这意味着无论是与本地主机还是远程服务器通信,都以相同的方式运行。LXD 附带提供命令行客户端。 此版本改进了许多功能,还带来一些新功能,包括: 自动化容器快照 引入了三个配置键来控制自动快照并配置它们的命名方式。 支持项目之间的复制/移动 lxc copy 和 lxc move 都添加了一个新的 –target-project 选项,可以在项目之间复制或移动容器。 cluster.https_address 服务器选项 以往,集群...阅读全文

博文 2018-12-14 10:29:14 debian.cn

历数2017年五大Linux痛点

问题被频繁提及,这不免令人有些惊讶。如果你不运行主流的发行版,这个问题会更严重。也许你在使用中没有更多的会,但越来越多人在使用AppImage、Flatpak或者Snaps,这让我们意识到问题的存在,笔者很想更多地了解软件不兼容的问题,如果你最近遇到了,请在评论中告诉我们。 3.UEFI和安全引导 UEFI(UnifiedExtensibleFirmwareInterface)全称"统一的可扩展固件接口",是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。尽管随着部署更多支持的硬件,UEFI和安全引导问题仍在改善,许多用户表示,他们仍然存在与UEFI安全启动相关的问题。使用一个完全支持UEFI安全启动开箱分配是最好的解决之道。 4.32位操作系...阅读全文

博文 2017-11-25 12:27:56 debian.cn

三大亮点带你看 Linux 内核 5.6

当我们还在验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了。说实话,Linux 5.6 比 5.5 更令人兴奋。即使即将发布的 Ubuntu 20.04 LTS 发行版将自带 Linux 5.5,你也需要切实了解一下 Linux 5.6 内核为我们提供了什么。 我将在本文中重点介绍 Linux 5.6 发布版中值得期待的关键更改和功能: Linux 5.6 功能亮点 当 Linux 5.6 有新消息时,我会努力更新这份功能列表。但现在让我们先看一下当前已知的内容: 1、支持 WireGuard WireGuard 将被添加到 Linux 5.6,出于各种原因的考虑它可能将取代 OpenVPN。如果你使用过它,那你可能已经知道它比 OpenVPN 更好的...阅读全文

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

Debian下安装搜狗拼音输入法

赖。 sudo dpkg -i sogoupinyin_2.0.0.0068_amd64.deb sudo apt-get -f install sudo reboot 搜狗拼音输入法,依赖于比较新的fcitx的版本。但只要源的配置正常,基本上可以被成功自动安装。如果提示说fcitx的版本太旧,那么就只能更新源了。 使用介绍 总感觉比Windows的搜狗差些,但是优点是和Mac上一样快,不会在首次切换时卡半天(这其实是360禁用开机启动的锅)。 由于不是Ubuntu,所以在Activities中找不到其设置界面,sogou-qimpanel也不能调出。需要在输入任意中文拼音时,右击其界面,唤出对话框。 右击输入界面时唤出的对话框 在搜狗官方的皮肤和词库界面,可以下载需要的scel文件。目前...阅读全文

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

轻量级发行版 Alpine Linux 介绍

Alpine Linux 操作系统是由社区开发的,面向安全的轻型 Linux 发行版,它和其他常见的 Linux 发行版不同。Alpine 采用了 musl libc 和 busybox 以减小系统积和运行时的资源消耗,功能上要比 busybox 完善的多,因此得到开源社区越来越多的青睐。 在保持瘦身的同时,Alpine 提供了自己的包管理工具 apk,可以在官方网站上查询包信息,也可以通过类似 apt 和 yum 的方式,在命令行查询或安装软件。 Alpine 支持广泛的场景,它特别为资深/重度Linux用户而优化,关注安全,性能和资源利用率,是一个优秀的可适用于生产环境的基础系统。 Alpine Docker 镜像继承了 Alpine Linux 发行版的这些优势。相比于其他...阅读全文

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

使用 nvme-cli 工具来了解你的 NVMe 驱动器

来了解硬盘的整健康状况:$ sudo nvme smart-log /dev/nvme0n1 Smart Log for NVME device:nvme0n1 namespace-id:ffffffff critical_warning : 0 temperature : 21 C available_spare : 100% available_spare_threshold : 10% percentage_used : 2% endurance group critical warning summary: 0 data_units_read : 5,749,452 data_units_written : 10,602,948 host_read_commands...阅读全文

博文 2021-09-26 15:12:24 joseph

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

Ubuntu 19.10 生命周期将在今年 7 月结束,之后一段时间内最大的版本则是 Ubuntu 20.04 LTS,其重大更新和改进将在 2030 年前终止。20.04 是 Ubuntu 的第 8 个 LTS 版本,计划于今年 4 月 23 日发布。前两天我们报导过 Ubuntu 20.04 LTS 的版本更新时间表,描述了各个时间节点的发布情况,今天来看看 20.04 会带来什么亮点。 首先是主题变化,Yaru 会有一个从亮到暗的主题变化可选,该主题下的复选框、单选按钮以及滑块和进度条等,都不再呈蓝色或绿色,而以紫色取代之。从绿色切换到紫色,整上减少了纷杂的色彩,同时也不破坏 Ubuntu 本身的和谐。 其次,Ubuntu 社区的另一个期待已久的需求也将得到满足,系统将删除预装的...阅读全文

博文 2020-01-27 09:36:30 debian.cn

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

1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了。 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统。 HDFS(Hadoop Distributed File System)是 Hadoop 项目的一个子项目。是 Hadoop 的核心组件之一, Hadoop 非常适于存储大型数据 (比如 TB 和 PB),其就是使用 HDFS 作为存...阅读全文

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

”user:1000:followers”来说,节省了寥寥的存储空间,却引发了可读性和可维护性上的麻烦 最好使用统一的规范来设计Key,比如”object-type:id:attr”,以这一规范设计出的Key可能是”user:1000″或”comment:1234:reply-to” Redis允许的最大Key长度是512MB(对Value的长度限制也是512MB) String String是Redis的基础数据类型,Redis没有Int、Float、Boolean等数据类型的概念,所有的基本类型在Redis中都以String现。 与String相关的常用命令: SET:为一个key设置value,可以配合EX/PX参数指定key的有效期,通过NX/XX参数针对key是否存在的情况进行区别操作...阅读全文

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

成功运作一个开源项目的15个要点

名称也是如此(开源项目的产品通常与项目共享名称,但有些项目会生产多个产品)。声明项目的品牌为商标,并考虑注册商标。制定商标使用指南,以便采用者知道如何使用此品牌。这是一个与开源软件基金会合作可以增值的领域。基金会可以代表社区持有和捍卫项目的商标。这可以避免任何特定的个人或组织劫持开源项目的名称。 13、管理知识产权和版权 为项目作出贡献的代码、文档和其他工件都是知识产权。谁是这些知识产权的拥有者呢?作者保留所有权还是指派给了另一个实?确保所有的贡献者理解贡献者的权利和责任。考虑让贡献者签署开发者原产地证书(DCO)或贡献者许可证协议(CLA)。确保版权声明包含在源代码和通知中。 请注意,项目本身不可能作为持有版权的法律实。这是另一个开源基金会可以提供有价值的服务的地方。 14、选择OSI...阅读全文

博文 2017-11-08 09:58:28 debian.cn

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

众所周知,在Java的知识系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

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

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

资源,从而获取虚拟货币的一种程序,需要较高的硬件配置及用电量。 而单凭一个矿工的力量是挖不到比特币的。于是“安某”便想到可以利用自己的职务之便利用百度的服务器来开启自己的发家致富之路,只是他可能没想到的是事情会败露的这么快。 那么,他具是怎么做的呢? 首先,他用自己的工作账户上传了一个压缩文件 miner.tar.gz ,其中包含一个名为 java_4u3 的脚本, 而这个脚本可以自动执行解压缩、创建目录、删除目录、自动连接代理进行网络交换,达到控制服务器的目的。 然后,编译了一个挖矿程序,并将上述程序部署非法控制了百度的 155 台服务器上,利用公司为其配备的苹果电脑上的 iterm 软件控制所有服务器的中控机,通过中控机上传挖矿脚本,并通过 iterm 软件发出批量下载指令,让 200...阅读全文

博文 2020-03-17 20:42:41 debian.cn

Golang Context 探究

中最常用的方法还是 context.Background、context.TODO,这两个方法都会返回预先初始化好的私有变量 background 和 todo。这两个私有变量都是通过 new(emptyCtx) 语句初始化的,它们是指向私有结构 context.emptyCtx 的指针。 1 2 3 4 5 6 7 func Background() Context { return background } func TODO() Context { return todo } 通过下面代码可以看出 emptyCtx 就是 Context 的实现,只不过没有实际功能。 我们一般用 context.Background 作为根 context; 在不确定使用哪种 context 时用...阅读全文

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

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

。 5. 树莓派总共能跑 20+ 个操作系统树莓派可以运行的操作系统多达 20 余种。其中,基于 Debian 定制的 Raspberry Pi OS 是树莓派官方的操作系统。但到目前为止,它并不是最受树莓派用户们青睐的选择。对于喜欢 DIY 的树莓派用户来说,为其适配 Ubuntu 和 FreeBSD Linux 版本,以及非官方的 Android 和Chrome OS 端口等显然更具有挑战性。开源社区中已经有大量不同的操作系统适配树莓派的实现方案。一些最有趣的包括: LibreELEC:运行 Kodi 开源媒软件的轻量级操作系统。 RISC 操作系统:此独特的操作系统专为 ARM 芯片而设计,号称拥有比 Linux 更快的运行速度。 Chromium 操作系统: Chromium OS 在...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

1确保提案所做的任何变更都可以帮助到尽可能多的 Go 开发者(使他们编写的代码更健壮、正确性更高等),条件2则保证了变更将给使用者带来的影响降到最低。 至于条件3,如果提案不能满足该条件,它将不会被实现。即便这项提案能够解决一个很重要的问题,思路也很好,但在没有实现方案的情况下,它将会被拒绝,并需要重新起草。 下一步 在这篇文章发布时,Go 开发团队表示已经执行提案评估流程的第一步,并开始了流程的第二步,关于具的提案可点此进行查看。 对于 Go 开发团队已经明确并通过的提案,将会继续实现(即评估流程的第3步)。开发团队表示希望在下一个发布周期的第一天(暂定于2019年2月1日)完成这些提案变更的实现,所以这次可能会在较早的时间开始进行,以留出两个月的反馈时间(2018年12月至2019年1...阅读全文

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的总结了 docker 的优点。我从下面几点具描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

博文 2021-02-25 09:14:23 lxkaka

分布式运行时 Dapr 知多少

Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具是什么(What),可以解决什么样的问题(Why&How),有怎样的应用场景(Where),并不知悉。本文就尝试简要梳理下Dapr,并尝试回答以上问题。 What's Dapr Distributed Application Runtime. An event-driven, portable runtime for building microservices on cloud and edge. 分布式应用运行时。一个事件驱动、可移植的运行时用于在云上和边缘计算上构建...阅读全文

Kubernetes源码探疑:Pod IP泄露排查及解决方法

。 podSandboxChanged获取了podCache中Sandbox容器结构实例,发现第一个Sandbox已经被销毁,处于NOT READY状态,于是认为pod中已无可用的Sandbox容器,需要重建之,源码如下图所示。 注意本文前面我们定位的CronJob yaml配置, Job模板里的restartPolicy被设置成了OnFailure。SyncPod完成Sandbox容器状态检查判定后,认为该Pod需要重建Sandbox容器,再次检查Pod的restartPolicy为OnFailure后,决定重建Sandbox容器,对应源码如下。 可以看出kubelet在第一个Sandbox容器死亡后触发的SyncPod操作中,只是简单地发现唯一的Sandbox容器处于NOT READY状态,便认为Pod需要重建...阅读全文

influxdb内存消耗分析及性能优化【探索篇】

influxdb在内存中引入了大量文件,在内存充足时,会占用较多的空间,用于提高程序读取性能。5.SMP与NUMA?cpu硬件系架构可以分为:SMP(Symmetric Multi-Processor)/UMA(Uniform Memory Access)模式SMP架构,所有的CPU争用一个总线来访问所有内存,优点是资源共享,而缺点是总线争用激烈。 实验证明,SMP服务器CPU利用率最好的情况是2至4个CPUNUMA(Non-Uniform Memory Access)模式NUMA架构引入了node和distance的概念。对于CPU和内存这两种最宝贵的硬件资源, NUMA用近乎严格的方式划分了所属的资源组(node),而每个资源组内的CPU和内存是几乎相等。在influxdb服务器上,查看当前cpu及...阅读全文

博文 2021-10-27 16:06:30 知乎

Kafka生产问题总结以及性能优化

有 30 分钟的时间进行支付,如果 30 分钟之内没有支付成功,那么这个订单将进行异常处理,这时就可以使用延时队列来处理这些订单了。 2)订单完成1小时后通知用户进行评价。 实现思路:发送延时消息时先把消息按照不同的延迟时间段发送到指定的队列中(topic_1s,topic_5s,topic_10s,…topic_2h,这个一般不能支持任意时间段的延时),然后通过定时器进行轮训消费这些topic,查看消息是否到期,如果到期就把这个消息发送到具业务处理的topic中,队列中消息越靠前的到期时间越早,具来说就是定时器在一次消费过程中,对消息的发送时间做判断,看下是否延迟到对应时间了,如果到了就转发,如果还没到这一次定时任务就可以提前结束了。 2.1.6 消息回溯 如果某段时间对已消费消息计算...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

协议介绍之深入了解 gRPC

大的提高一条连接上面的 stream 并发,可以考虑调大 SETTINGS_MAX_CONCURRENT_STREAMS,在 TiKV 里面,我们就遇到过这个值比较小,整吞吐上不去的问题。 这里还需要注意,虽然一条连接上面能够处理更多的请求了,但一条连接远远是不够的。一条连接通常只有一个线程来处理,所以并不能充分利用服务器多核的优势。同时,每个请求编解码还是有开销的,所以用一条连接还是会出现瓶颈。 在 TiKV 有一个版本中,我们就过分相信一条连接跑多 streams 这种方式没有问题,就让 client 只用一条连接跟 TiKV 交互,结果发现性能完全没法用,不光处理连接的线程 CPU 跑满,整的性能也上不去,后来我们换成了多条连接,情况才好转。 Priority 因为一条连接允许多个...阅读全文

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

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

源的数量,而且能限制某个 Namespace 中被 Pod 所请求的资源总量。该准入控制器和资源对象 ResourceQuota一起实现了资源配额管理。LimitRanger 作用类似于上面的 ResourceQuota 控制器,针对 Namespace 资源的每个个(Pod 与 Container 等)的资源配额。该插件和资源对象 LimitRange 一起实现资源配额管理。 3. etcd 到现在为止,Kubernetes 已经对该客户端的调用请求进行了全面彻底地审查,并且已经验证通过,运行它进入下一个环节。下一步 kube-apiserver 将对 HTTP 请求进行反序列化,然后利用得到的结果构建运行时对象(有点像 kubectl 生成器的逆过程),并保存到 etcd 中。下面我们...阅读全文

博文 2022-04-18 16:18:04 CSDN

谷歌公开了内部管理Infra层的两个工具的Paper

果这个asset不健康,它仅仅会导致某个集群的运行中断,还是会影响全球的服务?插件还给用户特定的数据提供了空间,而不用占用负载的定义。 asset一般少于1kb数据,通常少于10kb,我们的最大值限制的是150kb。这个限制是为了让asset更容易被使用。这样,工具可以在内存里加载asset,无需担心这么做会造成过多的消耗。这个方案是受实-组件系统[4]的启发。 asset的内容提供了足够的信息来构建建模资源的完整状态。具来说,应该可以重新创建生产状态,而不必查看当前的生产状态——这是一个单向过程。 但是,所有的配置必须在asset里。比如,我们肯定有些情况需要MB级别的配置。这时,可以保存对外部数据源(比如包,数据库和版本控制)的引用。这些引用必须指向不可变外部数据。 在...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

2017年DevOps的5大发展预测

DevOps解决方案营销副总裁Aruna Ravichandran预测道。她说,“鉴于攻击者强度和复杂度的提高,以及安全问题快速公诸于众对品牌带来潜在不可挽回的损害,代码本身必须考虑安全问题,并且部署在牢固的安全架构中。” Ravichandran认为,随着微服务框架和SDK的引入,开发人员为了避免影响用户验,应该从一开始就考虑安全功能。当到了测试和部署阶段,安全验证应该被视为特殊情况处理。她提到“安全相关代码需求测试要求是非常特殊和动态的,这个过程非常有可能需要专家和用户的介入,这不是传统DevOps流程的一部分。” 更加注重安全的时期 按照Tufin首席技术管兼联合创始人Reuven Harrison的说法,DevOps可能是企业的最新漏洞。2017年,他期望能够看见安全相关流程能够融入到...阅读全文

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

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

持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文

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

5G将是全球最智能互联的云计算

战5G的步伐,78%的受访者正在开展5G测试,另有28%的受访者表示将在明年部署5G。其中,运营商的关注点已不再局限于个人用户,而是开始在企业和垂直市场领域寻找机会。 5G的三大垂直市场,分别是,媒和娱乐、汽车、以及公共交通。 与此同时,物联网将在推动5G发展方面将发挥重要作用,医疗卫生、能源和公用事业,被认为最有前景的5G部署领域。 随着5G相应技术的部署,并在平台上进行测试,创新、发明以及推出新产品和服务的机会,将无穷无尽。...阅读全文

Java 12 / JDK 12 正式发布

Mixed GC 如果 G1 Mixed GC 存在超出暂停目标的可能性,则使其可中止。 Promptly Return Unused Committed Memory from G1 G1 及时返回未使用的已分配内存 增强 G1 GC,在空闲时自动将 Java 堆内存返回给操作系统。为了实现向操作系统返回最大内存量的目标,G1 将在应用程序不活动期间定期执行或触发并发周期以确定整 Java 堆使用情况。这将导致它自动将 Java 堆的未使用部分返回给操作系统。而在用户控制下,可以可选地执行完整的 GC,以使返回的内存量最大化。 上述每一个新特性都有详细的说明文档,可以点击相应链接查看。 观望 JDK 13 根据 JDK 13 的迭代计划,预计将于 2019 年 9 月发布 —— Java 现在采...阅读全文

博文 2019-03-20 12:46:27 debian.cn

Harbor 1.9 发布:新增多项企业级功能

的数据并对其所含信息采取相应的操作。例如,您可以将 Harbor 配置为在成功推送镜像后向 Webhook 侦听器发送一个 POST 请求,从而触发 Kubernetes 应用程序的部署,以执行您的测试套件,或者仅仅更新您的 CMDB。 配额(Project Quotas) 配额有助于项目管理员对资源的使用加以控制。具而言,您可以限制项目所含 tag 的数目,以及项目可占用的存储容量。您可以设置适用于所有项目的全局默认配额,也可以为个别项目设置配额以覆盖系统设置。镜像容量会根据其实际大小进行计算,并会在同时推送多个镜像时考虑所有相关镜像之间的层共享情况。配额可以与其他机制无缝协调工作,例如重新 tag、在线垃圾数据回收和保留策略,从而可始终合理管理各个工件,并且不会浪费空间。 Tag 保留...阅读全文

博文 2019-10-09 12:12:04 debian.cn

开源简史基础:Linux基金会

员年费数量备注白金会员企业会员50万美元15黄金会员企业会员10万美元16白银会员企业会员5000-20000美元800+根据企业规模年费不同个人会员个人会员99美元-- 可以看到主要的资金来源是上述四类,根据截止于2019年9月10日的数据,大白金/黄金/白银(取中位数1万)的年费正常的话大概有:5015 + 1610 + 800*1 = 1710万美元,再加上大量的个人用户,资金来源相较于一般的项目还是能够提供较好的支持的。 白金和黄金会员 截止到目前位置,白金和黄金会员为31,虽然我们无法确认大量的白银会员,但是白金和黄金会员的企业类型,还是可以确认的。 会员类型会员数量通信企业软件开发商金融公司自动化/制造业组件生产商设备制造商其他白金15AT&T、腾讯TencentFujitsu...阅读全文

Debian下编译安装Golang

”(Bootstrap),也就是用Go来实现Go、用Go来编译Go。之前都是用C来实现,编译Go项目就是编译C语言。 因此,只要把源码checkout到1.4版本,就可以不需要依赖于Go自身,解决自我依赖悖论。 git checkout go1.4 ./all.bash 二次编译错误:import cycle not allowed import cycle not allowed package ./cmd/dist imports bytes imports errors imports runtime imports runtime/internal/atomic imports runtime Go不支持循环导入,不知算进步还是退步。 不过,这里倒是现了价值,提前报错。这个错误的主要原因,是编译时把...阅读全文

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

Systemd 及 Service 文件含义解析

/etc/systemd/system/ 目录中的单元文件的优先级总是高于 /usr/lib/systemd/system/ 目录中的同名单元文件。注意,当/usr/lib/ 中的单元文件因软件包升级变更时,/etc/ 中自定义的单元文件不会同步更新。此外,你还得执行 systemctl reenable ,手动重新启用该单元。因此,建议使用前面一种利用 *.conf 的方法。 可以使用 journalctl 来查看 systemd 管理服务的启动日志: ``` journalctl -b -0 # 显示本次启动的信息 journalctl -b -1 # 显示上次启动的信息 ``` 参考阅读 ArchLinux 的 Systemd (简中文) 文档:https...阅读全文

博文 2021-02-17 10:02:50 joseph

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

此跨平台框架。如果想要添加新的关键字(通过 RF 测试库 API ),需要具备 Java / Python / C 语言的基础知识。 2. JUnit JUnit 是一款针对 Java 应用的单元测试框架,用于编写和运行可重复的测试。 优点: 纯 Java 编写。 支持测试驱动开发(TDD)。 允许创建自己的单元测试用例套件。 能很好地与其他工具(如 Maven )和 IDE(如 IntelliJ )集成。 长时间发展,有自己庞大的用户群,可以很容易找到文档。 缺点: 如果需要 mocking 能力,则需要额外添加 Mockito(或其他模拟库)。 因 JUnit 中的方法名称受 Java 约定限制等原因,非技术人员很难读懂测试结果。 如果你正在为你的 Java 应用编写单元测试,那这可能...阅读全文

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

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

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全部的acl参数 -k:删除默认...阅读全文

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

) ReadFile(name string) ([]byte, error) 根据此也可以确定 embed 所打包进二进制文件的内容只允许读取,不允许变更。 更抽象来讲就是在编译期就确定了 embed 的内容,在运行时不允许修改,保证了一致性。 总结 通过 Go1.16 正式提供的 embed 特性,可以实现原生就支持静态资源文件的嵌入。整如下: 在功能上:能够将静态资源嵌入二进制文件中,在运行时可以打开和读取相关的打包后的静态文件。在安全上:是在编译期编译嵌入,在运行时不支持修改。在使用上:支持单文件读取:go:embed hello.txt。支持多文件读取:go:embed hello1.txt、go:embed hello2.txt。支持目录读取:go:embed helloworld。支持贪婪匹配...阅读全文

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

Rust 1.37.0 稳定版发布

union 中使用。在 Rust 1.37.0,该属性现在也可以用于枚举定义。例如,如下类型 Align16 将如预期的那样,报告 16 为对齐,而不使用 #[repr(align(16))] 的对齐将为 4: #[repr(align(16))] enum Align16 { Foo { foo: u32 }, Bar { bar: u32 }, } 在枚举上使用 #[repr(align(N))] 的语义与使用该对齐定义包装器结构 AlignN 一样 ,然后使用 AlignN: #[repr(align(N))] struct AlignN(T); 在 Rust 1.37.0 中,有一些标准库稳定化: BufReader::buffer 和 BufWriter...阅读全文

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

Proxy-Go v6.6 发布啦

。 跨平台性, 无论你是 widows,linux, 还是 mac, 甚至是树莓派, 都可以很好的运行 proxy. 多协议支持, 支持 HTTP(S),TCP,UDP,Websocket,SOCKS5 代理. TCP/UDP 端口转发. 支持内网穿透, 协议支持 TCP 和 UDP. SSH 中转,HTTP(S),SOCKS5 代理支持 SSH 中转, 上级 Linux 服务器不需要任何服务端, 本地一个 proxy 即可开心上网. KCP 协议支持,HTTP(S),SOCKS5 代理支持 KCP 协议传输数据, 降低延迟, 提升浏览验. 集成外部 API,HTTP(S),SOCKS5 代理认证功能可以与外部 HTTP API 集成,可以方便的通过外部系统控制代理用户. 反向代理, 支持直接...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

如何对一个deb包解压、修改、重新打包 全过程

客 01-28 1万+ 一、deb包详解 1->deb 包的文件结构 deb 软件包里面的结构:它具有DEBIAN和软件具安装目录(如etc, usr, opt, tmp等)。 deb包本身有三部分组成 组成 详细 数据包 包含实际安装的程序数据,文件名为“data.tar.XXX” 安装信息及控制包 包含deb的安装说明,标识,脚本等,文件名为“control.tar.gz” ... [教程] iOS设备上修改deb解包打包 教程 六桥风月IT随笔 05-26 1万+ 1,首先你需要安装终端。并需要一个源依赖(说白了就是安装命令终端) 2,开始(我们从最简单学起) 3,我们以ChargingHelper.deb (充电助手)为例子,你可以命名为abc.deb方便等下命令操作。 4...阅读全文

博文 2021-02-16 11:44:48 CSDN

7大维度看国外企业为啥选择gRPC打造高性能微服务

。 仪表板的发布在进行中,工程团队将Bugsnag的后端功能分解成称之为管道(pipeline)的微服务系。将管道扩展到支持发布,意味着增加新的服务,并修改现有服务,也可预见到许多新的服务器和客户端的交互。为了处理上述架构的变化,需要采用一致性的方式来设计,实施和集成企业的服务。Bugsnag是一家多语言的公司,服务是用Java,Ruby,Go和Node.js等多语言编写,因此企业需要一种与平台无关的方法。 本文将介绍为什么我们最终选择了gRPC作为Pipeline的默认通信框架。 达到REST API设计的极限 现有系统传统上使用具有JSON有效载荷的REST API进行同步通信。这种选择是基于占压倒性比例的成熟度、熟悉度和工具的可用性做出的,但是随着跨洲际工程团队的增长,企业需要设计一致的...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Python的闭包和装饰器

定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由变量 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文

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

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

提供了一个更熟悉的文字编辑验。使用箭头键移动光标,并搜索如下所示的线: / etc / sudoers root ALL=(ALL:ALL) ALL 在这行下面,复制你在这里看到的格式,只改变单词“root”来引用你想给sudo权限的新用户: / etc / sudoers root ALL=(ALL:ALL) ALL sammy ALL=(ALL:ALL) ALL 你应该为每个应该给予完全sudo权限的用户添加一个这样的新行。当你完成,你可以保存并通过点击关闭文件CTRL-X其次是Y ,然后ENTER确认。 如何删除用户 如果您不再需要用户,最好删除旧帐户。 您可以删除用户本身,而不删除任何他们的文件,通过键入作为根用户: deluser sammy 如果您以具有sudo权限的其他非...阅读全文

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

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

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

Terraform 学习总结 — Terraform 简介

Infrastructure as Code", 基础架构即代码。Terraform 几乎可以支持所有市面上能见到的云服务。具的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不易出错。 Terraform 提供了对资源和提供者的灵活抽象。该模型允许表示从物理硬件、虚拟机和容器到电子邮件和 DNS 提供者的所有内容。由于这种灵活性,Terraform 可以用来解决许多不同的问题。这意味着有许多现有的工具与Terraform 的功能重叠。但是需要注意的是,Terraform 与其他系统并不相互排斥。它可以用于管理小到单个应用程序或达到整个数据中心的不同对象。 Terraform 使用配置文件描述管理的组件(小到单个应用程序,达到整个数据中心...阅读全文

项目总结报告应该怎么写

每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug数量堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、数据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。​结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最主要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原因并提出解决方案;✤提高项目质量,让项目“健康”前行;✤通过数据衡量当前版本的质量,对项目整情况进行评估...阅读全文

APISIX Ingress 如何使用 Cert Manager 管理证书

对象,并且包含新的证书。 总结 本文主要讲解了如何利用 Cert Manager 在 Apache APISIX Ingress Controller 中进行证书的创建和管理。想了解更多关于 Apache APISIX Ingress 的介绍与内容,可参考本篇文章 或者参与 Apache APISIX Ingress 项目每两周举行的线上讨论,分享当下项目进度、最佳实践及设计思路等多个话题,可查看具 issue 了解更多。...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

改善 Debian Linux 软件包管理的七款工具

,Aptitude也很有用。实用的功能特性包括why命令和why-not命令,前者显示依赖某软件包的其他软件包,后者显示什么软件包与某个指定软件包冲突。此外,Resolver菜单列出了可能解决破损软件包的方法,从破坏性最小的那种方法开始。 6. apt-cache apt-cache搜索已安装软件包数据库,寻找信息。它能显示关于单个软件包、依赖项和冲突等方面的信息,以及其他众多信息。 一个特别有用的命令是apt-cache search,它可搜索数据库中的文本字符串。使用这个命令,你就能找到软件包的具名称,那样可以安装它,还可以找到想要安装的相关软件包。在Debian中,它必不可少,所以默认情况下已安装。 5. dpkg-reconfigure dpkg-reconfigure可改变安装软件包的方法。比如...阅读全文

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

Kubernetes 1.7:安全加固、有状态应用更新等

谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文

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