InfraPub 为您找到相关结果 826

快速切换本地 hosts 的小程序 SwitchHosts

SwitchHosts 是一个用于快速切换本地 hosts 文件的小程序,便于开发人员快速修改测试域名的解析记录。SwitchHosts 基于 Electron 开发,同时使用了 React、Ant Design 以及 CodeMirror 等框架/库,项目主页为 https://oldj.github.io/SwitchHosts/。 SwitchHosts 主界面 SwitchHosts 功能特性 快速切换本地 hosts 文件hosts 文件语法高亮在线 hosts 方案系统托盘图标快速切换macOS: 支持 Alfred workflow 快速切换 下载安装 switchhosts 你以直接下载源码到本地运行或编辑,或者在下面下载执行版本: SwitchHosts! 下载地址1...阅读全文

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

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

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

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Sam Altman的成功学|OneFlow

“如果把Sam Altman扔到某个食人族之岛,5年后他会成为这个食人族岛的国王。“ 在硅谷创业教父Paul Graham的眼里,Sam Altman是一位极具魄力的领导者和开拓者。如今,已成为OpenAI CEO的Sam Altman是全球范围内当之无愧的科技领军人物。 他的职业生涯谓一路开挂。从斯坦福大学计算机系辍学后,19岁的他成立了位置服务提供商Loopt,而后被预付借记卡业务公司Green Dot收购,2014年,YC创始人Paul Graham选择他成为继任者,在不到30岁时开始在全球创业创新领域大放异彩。 2015年,他与马斯克等人共同成立OpenAI,2019年,Sam Altman离任YC总裁,成为OpenAI的CEO,并相继领导推出重量级AI模型GPT-3、DaLL...阅读全文

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

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

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

Debian上安装配置Docker容器管理平台Rancher

Rancher是一个开源项目为Docker容器环境提供了较完善的管理平台。Rancher 允许我们在大规模生产环境中使用 Docker。 Rancher 提供模块化基础架构服务,如多主机网络、全局和本地负载平衡、监控、恢复和卷快照等。本文我们将介绍如何在Debian 9 Stretch 上安装配置 Rancher。 安装要求 运行Debian 9的服务器。 具有sudo权限的非root用户。 开始 在开始之前,建议将您的APT存储库更新为最新版本。 您以使用以下命令执行此操作。 sudo apt-get update -y sudo apt-get upgrade -y 接下来,以重新启动系统以应用所有更改。然后使用以下命令安装所需的软件包: sudo apt-get install...阅读全文

博文 2018-04-10 22:27:37 debian.cn

Linux基金会确认开源技术不受美国出口管制

去年GitHub突然宣布开源代码也要受美国出口管制EAR让全球程序员都担心了,不过Linux基金会现在以确认开源技术不受美国管制了。 软件开发方面,开源技术已经成为全球共识,很多项目都是全球各地的程序员合作开发的,不仅有美国及欧洲程序员,中国不少公司及开发者也是全球开源社区的重要组成,任何一方如果强硬限制,那么整个开源社区就存在断链的风险。 本周,Linux基金会在官网上发表了一份白皮书《了解开源科技和美国出口管制》,中英文双版介绍了美国出口管制的限制,最重要的是这个指南明确了“公开发布给全世界享用的开源技术是不受制于美国出口管制EAR,开源至今仍然是一个最为便利的全球协作的模式。” EAR第734.7条款指出,当被公众获取且无进一步传播限制时,未被归类为密级事项的『技术』或『软件』属...阅读全文

博文 2020-07-12 17:19:51 debian.cn

华为的 Linux 发行版 openEuler 可以使用了!

华为提供了一个基于 CentOS 的企业级 Linux 发行版 EulerOS,华为也发布了一个名为 openEuler 的 EulerOS 社区版。 openEuler 的源代码也一同发布了,源代码以在 Gitee 找到。它有两个独立的代码库,一个用于存储源代码;另一个作为软件包的源代码,存储有助于构建该操作系统的软件包。 openEuler 基础架构团队分享了他们使源代码用的经验: 我们现在很兴奋。很难想象我们会管理成千上万的仓库。为了确保它们能被成功地编译,我们要感谢所有参与贡献的人。 openEuler 是基于 CentOS 的 Linux 发行版 与 EulerOS 一样,openEuler OS 也是基于 CentOS,但华为技术有限公司为企业应用进一步开发了该操作系统...阅读全文

博文 2020-01-27 11:08:00 debian.cn

多达 95% 的 HTTPS 链接能被黑客劫持

HSTS 是一个被当前大多数 Web 浏览器所支持的 Web 安全策略,它以帮助 Web 管理员保护他们的服务器和用户避免遭到 HTTPS 降级、中间人攻击和 Cookie 劫持等 HTTPS 攻击的危害。由于服务器管理员没能正确设置 HTTP Strict Transport Security (HSTS),现今大量的 HTTPS 流量都能被轻松劫持。 95% 的 HTTPS 连接处于风险中 据最近的 Netcraft study 报告数据显示,当前多达 95% 的服务器所运行的 HTTPS 没有正确地设置 HSTS 或其它配置,以至于将 HTTPS 连接暴露于上述攻击风险之中。 更值得注意的是,Netcraft 在三年前进行的同样扫描,不正确配置的 HSTS 比例仍同现在一样。这表明...阅读全文

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

利用 NAT VPS 进行流量中转

转机的设置,并默认已按初始化配置文章对服务器进行了配置。本文将介绍四种方法:firewalld,UFW,iptables,和 socat(推荐)来进行流量中转,根据需要选取其中一种方法操作即。亦根据需要,将目标机设置为只允许中转机访问。其中,firewalld,UFW,iptables 均对 TCP 和 UDP 进行转发,而 socat 还以对包含域名的地址进行转发。 准备购买合适的 NAT VPS,此处提供一些服务商了解 NAT VPS 的基本使用方法,例如搞清楚 NAT VPS 一般需要在服务商处查看端口映射的设置基础 Linux 操作知识,并了解 vim 编辑器的基本使用方法 使用 firewalld 进行中转此方法在 CentOS 下较为简便(CentOS 8 默认使用...阅读全文

博文 2021-03-11 21:16:11 Silearner

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

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

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

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

Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源工具,目前已经更新到 v1.3 版本,实现了如证书管理、负载均衡、金丝雀发布等功能。 长久以来,证书管理都不是一件简单的事情,虽然 Apache APISIX Ingress Controller 支持从 Kubernetes Secrets 资源中提取证书和私钥,并转换为 Apache APISIX 识别的 SSL 对象,但这只是整个证书管理链中的一部分,证书的颁发、轮转、吊销逻辑依然需要管理员执行,尤其当证书数量比较多时,工作量往往并不小,因而会占用管理员不少的时间。 Cert Manager 是一款致力...阅读全文

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

2017 年会是 Serverless 爆发之年吗

中小型公司,尤其是互联网行业的创业公司,本身并没有太多的技术人员,如果设计系统时需要考虑诸多的技术问题,例如 Web 应用服务器如何配置、数据库如何配置、消息服务中间件如何搭建等等,那对于他们来说人员成本、系统成本会很高,Serverless 架构的出现,让这种情况以大幅度改善。 初识 Serverless? 在目前主流云计算 IaaS(Infrastructure-as-a-Service,基础设施即服务)和 PaaS(Platform-as-a-Service,平台即服务)中,开发人员进行业务开发时,仍然需要关心很多和服务器相关的服务端开发工作,比如缓存、消息服务、Web 应用服务器、数据库,以及对服务器进行性能优化,还需要考虑存储和计算资源,考虑负载均衡和横向扩展能力,考虑服务...阅读全文

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

团队激励的八大方法,让你的团队成员更加高效地达成目标

激励是指激发人的行动动机的心理过程,是一个不断朝着期望的目标前进的循环的动态过程。简言之,就是在工作中调动人的积极性的过程。激励是对人的一种刺激,是促进和改变人的行为的一种有效的手段。激励的过程就是管理者引导并促进工作群体或个人产生有利于管理目标行为的过程。每一个人都需要激励,在一般情况下,激励表现为外界所施加的推动力或吸引力,转化为自身的动力,使得组织的目标变为个人的行为目标,促进团队合作的的动力,使企业更高效的达成既定目标!团队激励的八大方法1、为团队成员设立共同的奋斗目标依照激励理论,共同的奋斗目标是调动全体团队成员积极性的利器,这个目标必须是衡量的和实现的。人的动机与行为都有一定的目的性,而建立明确的目标,就能有效地激发和引导人们的动机,鼓舞和激励人们采取积极的方法去努力奋斗...阅读全文

Debian、Ubuntu安装源配置文件说明

三字段,指示包的「版本类型」,姑且称为「仓库」。 打开某源,进入「dists」子目录见该源中有哪些仓库,即其下诸子目录。 命名形式为「系统发行版名-仓库名」,如 Debian 的「jessie-backports」「stretch-updates」,Ubuntu 的「vivid-updates」「wily-proposed」。无仓库名的即为主仓库。 Debian 的 stable、testing 为链接,指向具体系统发行版,会随时间而变。比如,当前 stable 为 jessie,所以 stable-backports 与 jessie-backports 等效。但本人不建义使用 stable、testing,因为下一个 stable 发布后,你的源便自动指向了一个新版本,然而你并未阅读新...阅读全文

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

Debian的版本号及distributions

Code name debian archive里真正的distribution目录用的是code name,比如sarge、etch,其他名字的distribution目录如stable/testing/unstable、debian 3.1等都是指向code name目录的符号连结。用code name的好处是以一致地指定一个distribution,而不管该distribution release的状态,譬如当前处于testing的etch distribtuion在release后仍然以用etch来引用它。 sid是一个特殊的code name,它的distribution永远处于unstable状态,永远不会release。 Release testing指向下一个要...阅读全文

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

Debian下编译安装Golang

拉下来,非常耗时;在GitHub连接不稳定时,也能会失败。这属于网络问题,读者也需自行解决。 按时间顺序,这里记录了一些相关的坑。如果想直接按照正确的步骤完成编译,以跳到环境配置小节。 首次编译错误 Go不支持在根目录下编译,必须到src目录去。 $ cd src $ ./all.bash ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find ~/go1.4/bin/go. Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. 我本来就是因为只有Go1.3,才要从源码安装新版本的。现在找我要Go1.4,这如何是好? 自举 Go从1.5版本开始实现“自举...阅读全文

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

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

("hot spot"热点竞争问题)工作负载。 2. NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。 3. 窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。 4. 隐藏索引:在 MySQL 8.0 中,索引以被...阅读全文

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

可用于企业的三个非主流 Web 服务器

自从 Tim Berners-Lee 在 1990 年开发 CERN httpd 以来,作为第一个 Web 浏览器的项目,Web 服务器已经走过了很长一段路。 CERN httpd 的源代码于 1993 年公布。虽然一些主要的网络服务供应商为企业提供了闭源的 Web 服务器,但许多其他企业仍保留 Tim Berners-Lee 所体现的开源价值。我们一起来看看目前用于企业的开源 Web 服务器方案。 Hiawatha Hiawatha 于 2002 年由 Hugo Leisink 开发,他在荷兰学习计算机科学,并希望学生宿舍以支持互联网服务器。他的目标是开发一个系统,解决其他服务器中存在的安全限制和混淆配置工具的漏洞。 他编写的服务器为其他领先的 Web 服务器中的所有常规措施添加了许...阅读全文

博文 2018-05-02 09:27:32 debian.cn

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都以升级到PHP 7.4版。 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)预加载提交性能属性类型限定Improved type variance(不会翻译)三元运算简写数组展开运算新增类的魔术方法:serialization数字分隔符运算优先顺序允许在__toString中抛出异常支持反射引用新增字节分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。 TensorFlow以在系统范围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你以在一台计算机上拥有多个不同的隔离Python环境,并在每个项目的基础上安装模块的特定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

树莓派4上如何安装 Raspbian Buster

随着 Raspberry Pi 4 主板的问世,了解如何使用Raspbian Buster设置您的操作系统。你的新Pi 4到了邮箱,你已经设置了办公桌,您已准备好安装操作系统。 对于初学者来说,Raspbian为Pi制造商提供了出色的桌面体验。最重要的是,Raspbian Buster是专为树莓派 4创建的。考虑到这些情况,我们将在 microSD卡上载入这个操作系统,用其启动树莓派。 下载 Raspbian Buster 首先,访问 Raspbian 下载页面,下载最新版 Raspbian Buster 的图像文件。第一个链接 “桌面+推荐软件版” 附带了处理日常需求所需的大部分软件,建议初学者使用。如果你计划在命令行下使用你的Pi,桌面就不需要了,以选择第三个 Lite 的选项。 下...阅读全文

博文 2020-02-04 19:33:29 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

Go 泛型草案更新,明年8月Go 1.17引入

Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此编写了一个类型检查器——按照设计草案中的说明,解析使用泛型的 Go 代码并报告任何类型的错误。为了收集社区的反馈,他们还编写了示例代码并在草案中提供。 根据收集的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼容 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着以在生产环境中使用KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。KRaft 是一种共识协议,以直接在 Kafka 中管理元数据。元数据的管理被整合到了Kafka当中,而不需要使用像ZooKeeper这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的伸缩性和弹性,同时简化了 Kafka 的部署,现在以不依赖 ZooKeeper 单独部署 Kafka 了。KRaft 使用了Raft共识算法的一种基于事件的变体,因此得名。​随 KRaft...阅读全文

企业制定开源战略的免费指南

大多数使用开源的公司都了解其商业价值,但他们能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

Go 1.9 的新特性介绍

能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

提前尝鲜,从 Debian 10 升级到 Debian 11

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你能在一段时间内添加的任何外部仓库...阅读全文

博文 2021-08-16 12:16:21 Debian升级

Linux 上如何禁用 USB 存储设备

为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也能发生在内部。 为了消除这种能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。 方法 1:伪安装 在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。 具体来说就是,在文件夹 /etc/modprobe.d 中创建并打开一个名为...阅读全文

博文 2017-12-18 22:52:58 debian.cn

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

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

摘要: 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的《Flink 1.14 新特性预览》。主要内容为: 简介 流批一体 Checkpoint 机制 性能与效率 Table / SQL / Python API 总结 此文章为 8 月 7 日的分享整理,1.14 版本最新进展请注意文中的注释说明。 一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作完成;5 个任务不确定是否能准时完成;另外 4 个特性由于时间或者本身设计上的原因,会放到后续版本完成。[1] 1.14 相对于历届版本来说,囊括的优化和新增功能点其实并不算多。通过观察发版的节奏以发现,通常在 1...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

Kubernetes v1.21 新特性预览

Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安全策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不变 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

Debian 成为主流 Linux 操作系统的七个原因

Debian也许是历史最悠久的发行版之一,但很显然,它仍以教其他发行版好几招。要是没有Debian,Linux领域的境况会大不一样,会黯然失色好多。Debian仍是首屈一指的Linux发行版之一,这有诸多令人信服的理由。 我头一回安装Debian是在16年前。自那以后,我试用过无数的其他Linux发行版,甚至有一两个还坚持使用了好几个月,不过我的主要发行版始终是Debian,或者至少是Debian的众多衍生版之一。很熟悉,也许以在一定程度上解释为什么我青睐它。不过,我青睐它主要源自其他发行版比不过Debian。 我认为至少有七个理由表明Debian仍是我青睐的Linux发行版: 7.软件包管理 Debian中的软件包由dpkg和apt-get来管理。如今,它们管理依赖项的能力不再很独特...阅读全文

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

全民HTTPS时代:盘点免费SSL证书那些事儿

证书,也就是 wildcard certificates。这对于广大个人站长来说,无疑是个不错的利好消息。唯一的缺憾就是,Let’s Encrypt 发行的证书有效期只有 3 个月,虽然以通过定时任务来自动续期。 如何申请?以通过安装 LAMP 后,使用 lamp add 命令来自动创建 SSL 证书。也以通过以下在线申请网站,手动申请证书。 在线申请网址1(中文):https://freessl.org/ 在线申请网址2(英文):https://www.sslforfree.com/ 在线申请网址3(英文):https://gethttpsforfree.com/ 二、TrustAsia 官方网站:https://www.trustasia.com/ 点评:TrustAsia 是国内...阅读全文

Redis 6.0.0 GA已正式发布

Redis 6 是有史以来改变最大的 Redis版本,因此即使稳定,也要小心处理,并在投入生产之前对其进行测试,以进行工作量测试。到目前为止,我们从未发现重大问题,但请务必小心。在收集错误报告时,我们将准备尽快发布Redis 6.0.1。 变化如下:除了稳定性之外,RC1和今天之间还有什么变化? 1. 在某些方面对客户端缓存进行了重新设计,尤其是放弃了缓存插槽方法,而只使用键名。在分析了替代方案之后,在其他Redis核心团队成员的帮助下,这种方法最终看起来更好。除此之外,尤其是“广播模式”,我相信它将成为该功能最流行的使用模式之一。 使用广播时,服务器不再尝试记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每当与该前缀匹配的密钥被修改时,它们就会收到通知。这意味着广播更多消息(但仅适...阅读全文

博文 2020-05-01 09:15:09 debian.cn

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

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的地址,支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

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

Rust 1.37.0 稳定版发布

Rust 1.37.0 stable 有什么?Rust 1.37.0 的亮点包括通过类型别名引用枚举变量、内置 cargo vendor、对宏使用未命名的 const、配置文件引导的优化、Cargo 中的 default-run 和枚举上的 #[repr(align(N))] 。 通过类型别名引用枚举变量 在 Rust 1.37.0,以通过类型别名引用枚举变量。例如: type ByteOption = Option; fn increment_or_zero(x: ByteOption) -> u8 { match x { ByteOption::Some(y) => y + 1, ByteOption::None => 0, } } 要实现它,Self 充当类型别名。在 Rust...阅读全文

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

Memcache UDP反射放大攻击技术分析

本篇技术blog,由360信息安全部0kee Team、360网络安全研究院、360-CERT共同发布。Memcache UDP 反射放大攻击(以下简称 Memcache DRDoS)在最近的一周里吸引了安全社区的较多注意。以下介绍我们对该类型攻击观察到的情况。 在PoC 2017 会议上的原始报告 Memcache DRDoS,由360信息安全部0kee Team在2017-06 附近首先发现,并于 2017-11 在 PoC 2017 会议上做了公开报告。会议报告在 这里,其中详细介绍了攻击的原理和潜在危害。 在这份文档中,作者指出这种攻击的特点: memcache 放大倍数超高,至少以超过50k; memcache 服务器(案例中的反射点)数量较多,2017-11时估算全球约有...阅读全文

博文 2018-03-02 09:20:52 debian.cn

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

许匿名用户有创建目录的权利 dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件 xferlog_enable=YES 是否记录ftp传输过程 xferlog_file=/var/log/vsftpd.log 设置日志文件的路径 connect_from_port_20=YES 是否确信端口传输来自20(ftp-data) idle_session_timeout=600 设置默认的断开不活跃session的时间 data_connection_timeout=120 设置数据传输超时时间 max_clients=Number 如果以standalone模式起动,那么只有$Number个用户以连接,其他的用户将得到错误信息,默认是...阅读全文

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

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、扩展、高靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

Debian 安装源 dotdeb 介绍

Debian的官方源以稳定为主,所以软件版本相对比较老。dotdeb.org的源更新比较快,里面的软件包也是最新稳定版本,用于 Debian 的生产服务器,类似 CentOS/RHEL 发行版的 EPEL 源的角色。一些常用的软件包,均找到较新的版本,例如: Nginx, (1.10+的版本) PHP 7.0,5.6,5.5,包括对应的扩展:php7.0-gd, apcu, imagick, mongo, Pinba, xcache, Xdebug, XHprof MySQL 5.6,Redis等 当前 Dotdeb 支持以下版本, Debian 8.x “Jessie” 和 Debian 7.x “Wheezy“ 两种 CPU 架构:amd64 和 i386 如何使用 Dotdeb...阅读全文

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

Vagrant 2.0 正式发布,支持更多的虚拟化平台

Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。Vagrant 2.0 已正式发布。 Vagrant 2.0 支持在 VirtualBox, VMware, Hyper-V, Docker, AWS, GCP 等平台上配置开发环境,它以虚拟化 Windows, macOS 和其他十多种新的操作系统。Vagrant 2.0 与 Vagrant Cloud 配合使用,用于查找和使用“盒子”。 完整更改列表请 查看更新日志 ,Vagrant 的 发布主页 和 下载地址 。 Vagrant 是一款用于构建及配置虚拟开发环境的软件,基于 Ruby,主要以命令行的方式运行。 主要使用 Oracle 的开源 VirtualBox 虚拟化系统,与 Chef,Salt...阅读全文

博文 2017-10-09 10:12:31 debian.cn

TrueOS 17.12 发布,基于 FreeBSD 的桌面 Linux 发行

TrueOS 17.12 已发布,引入了多项增强功能,附带了 Firefox Quantum 网页浏览器。该版本的重点是大量的清理和让 TrueOS 的独特功能更加稳定:OpenRC,引导速度,移动设备管理,SysAdm API 和 LibreSSL 集成,Lumina 改进等等。 正如预期的那样,TrueOS 17.12 将 Lumina Desktop 1.4.1 作为默认的桌面环境,带来了新的主题引擎和 ZFS 集成。对多个同步图形会话的支持也已添加到 PCDM 登录管理器。 对于不想使用 Lumina 桌面环境的用户,选择诸如 Xfce 4.12,LXDE 1.0,MATE 1.18.0,KDE 4.14.3,GNOME 3.18.0 和 Cinnamon 2.4.6 桌面环境...阅读全文

博文 2017-12-18 13:24:20 debian.cn

Nginx 1.15.6 和 1.14.1 发布,高性能 Web 服务器

Nginx 1.14.1 稳定版和 Nginx 1.15.6 主线版已发布,主要修复了 HTTP/2 (CVE-2018-16843,CVE-2018-16844)以及 MP4 模块(CVE-2018-16845)中的漏洞,具体如下: Nginx 1.14.1 Security: 在使用 HTTP/2 时能导致客户端内存消耗过大 (CVE-2018-16843),CPU 使用率过高 (CVE-2018-16844); Security: 使用 ngx_http_mp4_module 处理特制的 mp4 文件能导致工作进程内存泄露(CVE-2018-16845); Bugfix: 使用 gRPC 后端能会导致内存过度消耗。 Nginx 1.15.6 在 1.14.1 的基础上额外包含...阅读全文

博文 2018-11-06 11:37:07 debian.cn

Debian 环境安装新版 nginx

在 Debian 系统中,我们以通过 apt-get 安装系统自带的 nginx,这样安装的 nginx 版本略旧。Nginx 官网提供了一些编辑绎好的 deb 安装包,我们只需更新安装源,就以通过 apt-get 来安装最新的稳定版 Nginx 了。 加载安装源并导入key $ echo deb http://nginx.org/packages/debian/ stretch nginx | sudo tee /etc/apt/sources.list.d/nginx.list$ wget http://nginx.org/keys/nginx_signing.key && sudo apt-key add nginx_signing.key $ sudo apt update...阅读全文

博文 2019-01-21 13:58:08 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

什么是网站访问的跳出率 Bounce Rate?

跳出率 Bounce Rate 是指在只访问了入口页面就离开的访问量与所产生总访问量的百分比。跳出率计算公式: ``` 跳出率 = 访问一个页面后离开网站的次数/总访问次数 ``` 入口页面一般是用户通过搜索关键词,找到你的网站,并访问的页面。 通过观察关键词的跳出率,就以得知用户对网站内容的认度,或者说网站是否对用户有吸引力。而网站的内容能够对用户有所帮助,留住用户也以直接在跳出率中看出来,所以跳出率是衡量网站内容质量的重要标准。...阅读全文

17万块硬盘最新二季度故障报告出炉:仅三款幸免-机械硬盘 —快科技

云存储服务商Backblaze发布了二季度的硬盘故障率统计报告。 此次统计涵盖了BB旗下的177935块机械硬盘,总的年化故障率为1.01%。 硬盘出问题数量最多型号来自希捷4TB(ST4000DM000),但需要注意的是其通电服役时间同样比较长,整体年化故障率1.94%。 有三款硬盘在统计周期内没有故障发生,分别是希捷6TB(ST6000DX000)、HGST 12TB(HUH72122ALE600)和西数16TB(WUH72186ALE6L0)。 综合来看,在二季度,西数以及西数旗下的HGST硬盘,靠性整体表现还是最为点。 另外,BB还统计了从2013年至今的硬盘故障率表格,并得出东芝16TB、西数14TB和HGST的12TB/4TB是年化故障率最低的三块硬盘。 - THE...阅读全文

博文 2021-08-05 10:50:48 科技改变未来

Linux: Debian 9 Stretch可能将不支持Secure Boot

Debian 团队宣布 Debian 9 Stretch 在发布时将不太能会支持 Secure Boot。Debian 9 的代码在今年 2 月冻结,之后开发者的精力转向解决 bug 等问题上。 UEFI Secure Boot 是微软在 Designed for Windows 8 认证时要求 OEM 的产品必须支持,它的设计目的是防止恶意程序潜入到引导进程,用户如果想要在机器上安装替代操作系统,那么该操作系统需要获得微软的有效签名。Debian 团队称,shim 得到了微软签名,但 dak 没有。 开发者表示,虽然 Stretch 在发布时能不会支持 Secure Boot,但在 Stretch 生命周期内引入 Secure Boot 支持仍然是能的。...阅读全文

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

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

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