Debian 爱好者社区 为您找到相关结果 497

Node.js Vs. PHP:你应该选择哪一个

PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文

博文 2017-12-23 23:15:39 debian.cn

亚马逊12个月免费云服务

买单。用户只需要为实际使用的资源付费,这也是用户选择云主机可以大幅降低成本的一个主要因素。7.用户可以选择安装操作系统吗?当然可以。云主机与传统物理服务器在产品使用上没有明区别,用户可以根据自己的需求灵活选择或更换操作系统。8.如果你想购买这项服务需要多长时间?扩张需要多长时间?注册用户->在线支付->购买云服务器,实时打开。打开后,登录用户管理区→云服务器管理→管理→预装操作系统。可以选择Windows 2008、Windows 2012、Cent OS 6.5等操作系统。系统安装需要10~25分钟。系统安装完成后,您可以通过远程连接执行其他应用程序操作。9.租用云服务器需要交押金吗?与传统的物理服务器租赁不同,云服务器租赁用户无需支付押金即可享受服务。10.如何查看租用主机的配置?由于...阅读全文

Debian 社区陷入尴尬 或群龙无首

也预想了这种情况,在没有项目负责人的情况下,技术委员会主席和项目秘书有权做出各种决定,前提是他们能够达成一致。信中对这种情况表示乐观:“由于 Debian 开发人员向来以‘非争论群体’著称,所以达成一致应该不成问题。”但很明这种不确定因素过高的方案不是一个良策。 联系一下此前 Debian 包维护者 Michael 对社区的不满,他认为 Debian 整个开发评估流程都非常迟缓,比如补丁的评估没有截止日期,有时候他会收到通知说几年前递交的补丁现在合并了;赋予维护者的个人自由度太高,一些维护者可以出于个人喜好拒绝合作等,这些都对 Debian 的发展产生不好的影响。 就像 Michael,许多人都认为社区内部给予开发者的自由度过高,并且带来不好的影响。按照前边对于 Debian 领导人实权的...阅读全文

博文 2019-03-14 11:05:23 debian.cn

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博客

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

xxx ( 加上 -q 选项 ),则在传输文件时不示进度条。-y 覆盖模式trz -y 或 tsz -y xxx ( 加上 -y 选项 ),如果存在相同文件名的文件就直接覆盖。-b 二进制模式trz -b 或 tsz -b xxx ( 加上 -b 选项 ),二进制传输模式,对于压缩包、图片、影音等较快。-e 转义控制字符二进制模式时,控制字符可能会导致失败,trz -eb 或 tsz -eb xxx ( 加上 -e 选项 ) 转义所有已知的控制字符。-d 传输文件夹trz -d 或 tsz -d xxx ( 加上 -d 选项 ),则可以上传或下载指定文件夹和文件。-B 缓冲区上限trz -B 20m 或 tsz -B 2M xxx 等,设置最大缓冲区上限 ( 默认 10M )。会自动根据网速选...阅读全文

博文 2023-01-06 07:54:36 joseph

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

如何在 Debian 中安装 DHCP 服务器

255.255.255.0 { option routers 192.168.10.1; option subnet-mask 255.255.255.0; option domain-search "tecmint.lan"; option domain-name-servers 192.168.10.1; range 192.168.10.10 192.168.10.100; range 192.168.10.110 192.168.10.200; } 步骤 3:在 DHCP 客户端上配置静态地址 6、 要给特定的客户机分配一个固定的(静态)的 IP,你需要式将这台机器的 MAC 地址以及静态分配的地址添加到下面这部分。 host centos-node { hardware ethernet 00:f0...阅读全文

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

红帽 2017 峰会 第三天回顾:自动化的未来

为期三天的第13届红帽峰会已在波士顿当地时间5月4日闭幕。除了前两日报道的OpenShift与企业数字转型的动向,本次峰会还有另外两个产品动向值得注意。 1、以Ansible为心的全栈自动化 红帽管理平台相关负责人已经明确在一次媒体沟通会上表示,Ansible已经被定位作为红帽自动化工具体系的中心。红帽其他的自动化工具—— 跨云管理产品CloudForms 自动打安全补丁产品Satellite 自动化运维工具Puppet API管理工具3scale 上述工具仍将继续履行各自的职责,同时全面与Ansible集成。非红帽的其他自动化工具——比如Amazon Lambda——也优先以Ansible作为与红帽管理平台的接入点。也就是说,未来在Ansible上(尤其是Ansible Tower)将...阅读全文

博文 2021-01-28 17:50:29 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

开源简史基础:Linux基金会

伦堡的 SUSE 办公室。 而在2012年2月1日,Linux基金会官方发文正式宣称GKH加入。 https://www.linuxfoundation.org/press-release/2012/02/leading-kernel-maintainer-greg-kroah-hartman-joins-the-linux-foundation/ Linux基金会的执行董事Jim Zemlin对GKH更是赞不绝口,“Greg是这个世界上最具天赋的软件开发者之一,他将会对Linux的发展提供无与伦比的贡献。”,并表明GKH的工作将会聚焦于Linux内方面。 会员类别与年费 Linux基金会的会员分为企业会员和个人会员,而企业会员又分为白金会员、黄金会员和白银会员三种。 会员类别企业/个人会...阅读全文

PostgreSQL 增量同步方案设计

# PostgreSQL 增量同步方案详细设计 ## 一:方案目的 通过PG实例的增量数据同步方案,解决PG在数据迁移中需要进行全量同步,需要长时间停服务的问题. 通过该方案,打通PG和其他数据产品间的数据通道,做到PG和其他数据产品和异构数据库间的实时的同步. ## 二:增量同步方案的技术背景 该方案基于PostgreSQL 9.4版本的逻辑流复制技术. PG9.4 可以做到,利用逻辑流复制,把表的增量数据,以自定义格式的形式组织起来被客户端订阅. 自定义格式的增量数据是逻辑流复制的关键,通过PG内给出了开放的接口(5个回调函数),可以把增量数据以任意的形式输出. PG的客户端根据需要按照服务端规定的格式解析,就能得到完整的增量数据. ## 三:订阅增量数据的订阅规则 PG增量同步方案...阅读全文

博文 2025-03-13 10:41:48 joseph

Linux 中使用 Fio 测评硬盘性能

Fio(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件。它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。 Fio 接受一种非常简单易于理解的文本格式的任务描述。软件默认包含了几个示例任务文件。 Fio 展示了所有类型的 I/O 性能信息,包括完整的 IO 延迟和百分比。 它被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持...阅读全文

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

Redis 6.0.0 GA已正式发布

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

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

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

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

Kafka 3.0新特性全面曝光,真香!

导语 | kafka3.0的版本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka心组件producer:消息生产者,就是向broker...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

十条关于 WordPress 安全性的小贴士

: 可以编写和管理自己的帖子但不能发布的人 这些角色都不能授权配置 WordPress 或安装插件的权限。 7. 限制 IP 地址访问 如果你有几个具有静态 IP 地址的编辑器,则可以通过向 wp-admin 文件夹添加另一个 .htaccess 文件来限制访问: order deny, allow allow from 1.2.3.4 # user 1 IP allow from 5.6.7.8 # user 2 IP, etc deny from all 8. 隐藏 WordPress 版本号 某些版本的 WordPress 存在已知的漏洞。任何人也都可以轻松发现你正在使用的版本,因为它示在每个页面的 HTML 标签里面。通过在主题的 functions.php 文件中添加下...阅读全文

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

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn

Docker 快速入门之 Dockerfile

用 docker inspect 命令查看。可用来代替被舍弃的 MAINTAINER 命令。语法: LABEL = = = ... 3.5 EXPOSE EXPOSE 指令用于告诉 Docker 容器监听的特殊端口,但是此时端口还没有暴露给 host ,只有当在运行一个容器式用参数 -p 或者 -P 的时候才会暴露端口。语法: EXPOSE [/...] 3.6 ENV ENV 指令用于设定环境变量。语法: ENV ENV = ... 3.7 ADD ADD 指令用于复制新文件,目录,远程文件到容器中。其中 可...阅读全文

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

本田 40GB 数据险遭泄漏 因云端数据库未设密

拍摄的截图(Justin Paine 在博客中展示了一些处理过的图片)。我们将根据相关法律法规采取适当行动,并将继续采取积极主动的安全措施,以防止今后发生类似事件。” ElasticSearch 安全事故频发 虽然 ElasticSearch 通常在公司内部运行,但近年因为其未加密而发生的数据泄露事件不在少数: 2017 年,白帽汇曾对全球使用 ElasticSearch 引擎发生的勒索事件进行监测,最终发现因被攻击而删除的数据至少 500 亿条,被删除数据规模至少 450TB。系统示,互联网上公开可访问的 ElasticSearch 服务器超过 68000 余台,受害总数达 9750 台。其中,美国 4380 台,中国第二为 944 台,其余来自法国、爱尔兰和新加坡等地。此次事件后,1...阅读全文

DevOps 越来越流行,2019 年这八大趋势值得关注

从我们认为 DevOps 只是一个流行语开始,它已经发展了很长的一段时间。现在,DevOps 已经成为了一个主要焦点,并在过去几年一直在塑造着软件世界。专家表示,DevOps 将成为主流,它的流行程度将在 2019 年达到顶峰。 根据 2018 年《DevOps 现状报告》,DevOps 精英级执行团队代码部署频率和发布速度更高,变更故障率更少,事故恢复时间更短,同时高效能团队的比例逐年增长,采用 DevOps 的团队越来越多。 而 Stack Overflow2018 年的薪资计算器报告示,全球 DevOps 专家的收入最高,美国 DevOps 专家的年薪中位数接近 10 万美元。 以下是“DevOps”一词的 Google Trends 以及 2019 年的预计增长假设。 从统计数据...阅读全文

博文 2018-12-10 22:49:57 debian.cn

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

usermod的命令: usermod -aG sudo sammy 该-aG此选项告诉usermod将用户添加到上市集团。 使用 groups 命令来验证你的用户是现在的成员sudo组: sammy : sammy sudo 现在,您的新用户能够使用管理权限执行命令。 以新用户身份登录时,可以像常规用户那样通过键入命令来执行命令: ls ~ 您可以通过键入执行具有管理权限的命令sudo在命令前: sudo ls /root 前缀时使用命令sudo ,会提示你输入密码。 输入该发出的命令, 而不是 root用户的密码的用户帐户的密码。 在/ etc / sudoers中指定式用户权限 作为替代把你的用户Sudo组中,你可以使用visudo命令,它会打开一个名为的配置文件/etc/sudoers系统的缺...阅读全文

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

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日本丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内提出新的要求,这对于为嵌入式系统开发解决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖范围更大了,有更多的人对这个代码进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文

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

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

持 100% 自由。每个人都能自由使用、修改,以及分发。这是我们对我们的用户的主要承诺。它也是免费的。Debian 稳定且安全。Debian 是一个广泛用于各种设备的基于 Linux 的操作系统,其使用范围包括笔记本计算机,台式机和服务器。 我们为每个软件包提供合理的默认配置,\并在软件包的生命周期内提供常规的安全更新。Debian 具有广泛的硬件支持。大多数硬件已获得 Linux 内的支持。这意味着 Debian 也会支持它们。如有需要,也可使用专有的硬件驱动程序。Debian 提供灵活的安装程序。希望在安装前尝试 Debian 的用户可以使用我们的 Live CD。它同时包含了 Calamares 安装程序,使得从 Live 系统安装 Debian 变得十分容易。经验更加丰富的用户可以...阅读全文

Gitlab CI 配置文件 .gitlab

,development。 tags可通过tags来指定特殊的Runners来运行jobs: job: tags: - ruby - postgres 上面这个示例中,需要确保构建此job的Runner必须定义了ruby和postgres这两个tags。 allow_failure allow_failure可以用于当你想设置一个job失败的之后并不影响后续的CI组件的时候。失败的jobs不会影响到commit状态。 当开启了允许job失败,所有的intents和purposes里的pipeline都是成功/绿色,但是也会有一个"CI build passed with warnings"信息示在merge request或commit或job page。这被允许失败的作业使用,但是如果失败表示其他地方应采取其...阅读全文

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

WebAssembly:无需容器的 Docker (下)

然地,为了让 php-wasmedge-aot 能够读取 index.php 文件,我们必须明确地向 WasmEdge 声明我们想要预先打开 images/php/docroot 以便在 Wasm 应用程序的上下文中作为 /docroot 进行访问。这而易见展示了 Wasm 除了可移植性之外的最大优势之一。 我们得到了更佳的安全性,因为除非明确说明,否则无法访问任何内容。$ wasmedge --dir /docroot:$(pwd)/images/php/docroot \ build-output/php/php-7.4.32/bin/php-wasmedge-aot -f /docroot/index.php

Hello from PHP...阅读全文

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

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

返回一个空的记录集 。 Lookup 而没有索引支持 Lookup 的功能和 SQL 联合查询类似。为了获得良好的性能,作为外键的键值上需要有索引。这并不明,因为其使用并没有在 explain() 中报告。这些索引并不包含在 explain() 记录的索引里,那些索引是供管道操作符$match、$sort 出现在管道开始时使用的。现在,索引可以覆盖聚合管道的任何阶段 。 不使用多条更新 db.collection.update() 方法用于修改一个已存在文档的一部分或全部,或者是整个替换一个已存在的文档,这取决于你提供的 更新参数 。除非你设置 multi 参数,更新匹配查询条件的所有文档,否则它不会更新集合里的所有文档。这一点不是那么明。 忘记哈希对象中键序的意义 在 JSON 中,一...阅读全文

译:Kubernetes 最佳实践

览我之前翻译的Kubernetes 的自动伸缩你用对了吗?;HPA 除了可以基于 CPU 指标伸缩,还可以基于内存,或者自定义指标,可以浏览Kubernetes HPA 基于 Prometheus 自定义指标的可控弹性伸缩。使用资源请求和约束应设置资源请求和约束(可在容器中使用的最小和最大资源量)以避免容器在未分配所需资源的情况下启动,或集群用尽可用资源。在没有限制的情况下,Pod 可以使用比所需更多的资源,从而导致可用资源总量减少,这可能会导致集群上的其他应用程序出现问题。节点可能会崩溃,并且调度程序可能无法正确调度新的 pod。如果没有请求,无法为应用程序分配足够的资源,它可能会在尝试启动或执行异常时失败。资源请求和限制以毫和兆字节为单位定义可用的 CPU 和内存。请注意,如果进程超出...阅读全文

博文 2022-09-13 19:32:21 atbug.com

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博客

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

位。 另一个是对社交网络的犹豫,施密特曾坦言自己在谷歌最大的错误就是在社交网络兴起的时候没有及时参与。不过好在创始人佩奇接任 CEO 之后马上上线了 Google+,抢回了不少市场,但是即使如此,谷歌在这场战争中的缺席还是从反面帮助 Facebook 和 Twitter 等社交巨头崛起了。 最后一件事情当然就是 Android 了,大家都知道 Android 的创始人是 Andy Rubin,但是这个项目是谷歌三巨头中哪一个主导的呢?答案是接任施密特的佩奇,当年他花了5000万美元买下了 Android 项目,而这件事情施密特甚至都不知道,布林对 Android 也是没有多大的兴趣。 所以施密特虽然能够作为谷歌的润滑剂,但是他在创新能力、远见上的不足也非常明,事实证明世界还是属于年轻人的...阅读全文

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

运维的未来:云服务兴起,运维人员会“下岗”吗?

,就因为dev团队正在推出的破烂玩应,他们大半夜的得被叫起来。这种思维方式基本上已经过时了,正是思维方式使得人们都觉得干运维这一行的都是深深厌恶自己,一根接一根不停抽烟。这是由于缺乏同理心而产生的避重就轻、刻薄的想法。如果凌晨两点出现内存不足的异常,要不要去警告那些没有远见或者能力的运维人员去解决这个问题呢?还是说我们应该警告那些对系统相当熟悉的开发者呢?后一种做法似乎是明的,但是关键在于他们需要被授权获悉状况,调试后自动解决。 其实新运维模式本质上应该把运维看作是一个产品团队,其产品就是基础设施。就像开发者把 API 作为他们提供的服务,运维把 API 以工具、UI、自动化、基础设施即代码、可观察性和警戒的形式作为他们提供的基础设施。 @perterbourgon 关于这个话题,我有很多想...阅读全文

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

利用 NAT VPS 进行流量中转

UFW:1sudo ufw disable && sudo ufw enable至此,利用 UFW 设置中转的方法介绍完毕。另可根据使用场景,对目标机的防火墙进行配置,令其只接受来自此 NAT VPS 的流量。 使用 iptables 进行中转对于其他系统或不使用 firewalld 的用户,也可以使用 iptables 进行中转设置。首先要修改 /etc/sysctl.conf 文件:12echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.confsudo sysctl -p如下示的是不同端口(本机端口号和目标机端口号不同)的中转方法:1234sudo iptables -t nat -A PREROUTING -p tcp...阅读全文

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

SVN切换分支用法汇总

,以避免出现代码丢失等问题。在切换分支的时候,我们需要确保其他人都知道这个操作,并且保证他们的代码状态是干净的。六、SVN切换分支的优缺点在软件开发中,我们需要经常进行分支管理,因此,SVN的分支管理功能就得尤为重要了。下面我们来看一下,SVN切换分支的优缺点。1. 优点SVN切换分支的最大优点就是方便快捷。通过SVN我们可以很方便地将工作副本切换到不同的分支,这样可以让我们更加高效地进行代码管理和开发工作。此外,SVN还提供了完善的分支合并机制,可以帮助我们更好地保持代码的稳定性。2. 缺点SVN的缺点主要体现在以下几个方面:(1)SVN对源代码有一定的限制;(2)SVN操作过程较为繁琐;(3)SVN的并发处理能力相对较差。七、总结综上所述,SVN切换分支是一项非常重要的基础操作,在软件开...阅读全文

博文 2023-06-09 14:22:35 infras

Golang Context 探究

, err error) { // 直接调用 cancelCtx 的取消方法 c.cancelCtx.cancel(false, err) if removeFromParent { // 从父节点中删除子节点 removeChild(c.cancelCtx.Context, c) } c.mu.Lock() if c.timer != nil { // 关掉定时器,这样,在deadline 到来时,不会再次取消 c.timer.Stop() c.timer = nil } c.mu.Unlock() } 总结:context 实现取消和定时取消的心是 context.cancelCtx 和 context.timerCtx。 context 传递数据 context.valueCtx 在...阅读全文

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

成为Debian社区维护人需要做好的准备

荐后,会有一位专门的负责人来对他进行考,这个人就是他的 AM。 10. WNPP: Work-Needing and Prospective Packages 的缩写,指需要有人接手或帮助的软件包。这个概念不是模糊的,而是有明确的定义的。 11. MIA: Missing In Action 的缩写,指某位 Maintainer 长时间不参与维护自己的软件包,同时别人也没能成功地与之取得联系。这样的 Maintainer 被称为 Zombie Maintainer 。如果他是 DD,那么他的 Debian 项目帐号会被锁定,一年内无回应则会删除。 12. Debian Project: Debian 项目是构建自由的通用操作系统(The Universal Operating System...阅读全文

WebAssembly:无需容器的 Docker (上)

得在最小打包的上下文下运行应用程序配置变得更加容易,而不会影响主机操作系统上的任何其他应用程序。 但是,仍然需要分发与其运行时和必要的库捆绑在一起的应用程序。 安全边界由 Linux 内提供。现在有了 WebAssembly。 它的技术特性和可移植性使得分发应用程序成为可能,无需 ship 操作系统级别的依赖项,并且可以在严格的安全约束下运行。鉴于所有这些,开发者通常将 WebAssembly 视为容器的 “继承者”,以及基础设施部署的自然而然的下一步。然而,另一种看待 WebAssembly 的方式是将其作为 Docker 工具的另一个 “后端” 选择。 可以使用相同的命令行工具和工作流,替代 Linux 容器,使用基于 WebAssembly 的容器等同等的东西来实现。 本文的其余部分...阅读全文

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

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

位置,-2代表List倒数第二个位置。时间复杂度O(N) LSET:将指定List指定index上的元素设置为value,如果index越界则返回错误,时间复杂度O(N),如果操作的是头/尾部的元素,则时间复杂度为O(1) LINSERT:向指定List中指定元素之前/之后插入一个新元素,并返回操作后的List长度。如果指定的元素不存在,返回-1。如果指定key不存在,不会进行任何操作,时间复杂度O(N) 由于Redis的List是链表结构的,上述的三个命令的算法效率较低,需要对List进行遍历,命令的耗时无法预估,在List长度大的情况下耗时会明增加,应谨慎使用。 换句话说,Redis的List实际是设计来用于实现队列,而不是用于实现类似ArrayList这样的列表的。如果你不是想要实现...阅读全文

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

最全的 DevOps 工具集合

它身上可以找到 Screw.Unit、JSSpec、JSpec 和 RSpec 等诸多单元测试框架的影子。 Cucumber Cucumber 是一种支持行为驱动开发的软件工具。 Cucumber BDD 方法的心是一种称为 Gherkin 的普通语言解析器。它能用客户可以理解的逻辑语言来指定预期的软件行为。 持续集成和部署(CI/CD) CI 工具的存在是为了快速反馈和减少缺陷、等待。目前业务比较常用的 CI 工具包括 Jenkins、CircleCI、Travis CI、Concourse、AWS CodePipeline 和 Azure Pipelines。 Jenkins Jenkins 是一个免费的开源自动化服务器。Jenkins 可用来自动化软件开发过程中非人类参与的工作,基于...阅读全文

博文 2021-05-26 14:35:21 博客园

Gitlab CI 配置文件 .gitlab

: variables: GET_SOURCES_ATTEMPTS: 3 你可以在全局variables模块中设置,也可以在单个job的variables模块中设置。 Shallow cloning GitLab 8.9 以实验性功能引入。在将来的版本中有可能改变或者完全移除。 你可以通过GIT_DEPTH来指定抓取或克隆的深度。它可浅层的克隆仓库,这可以著加速具有大量提交和旧的大型二进制文件的仓库的克隆。这个设置的值会传递给git fetch和git clone。 注意:如果设置depth=1,并且有一个jobs队列或者是重试jobs,则jobs可能会失败。 由于Git抓取和克隆是基于一个REF,例如分支的名称,所以Runner不能指定克隆一个commit SHA。如果队列中有多个jobs,或者您正在重试旧...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

beta版,因此默认情况下已启用) 本节中的示例演示了临时容器如何出现在 API 中。 通常,您可以使用 kubectl 插件进行故障排查,从而自动化执行这些步骤。 临时容器是使用 Pod 的 ephemeralcontainers 子资源创建的,可以使用 kubectl --raw 命令进行示。首先描述临时容器被添加为一个 EphemeralContainers 列表: { "apiVersion": "v1", "kind": "EphemeralContainers", "metadata": { "name": "example-pod" }, "ephemeralContainers": [{ "command": [ "sh" ], "image": "busybox...阅读全文

博文 2021-08-20 11:45:32 博客园

Git 介绍与使用详解

没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。举个例子,要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再示出来——它只需直接从本地数据库中读取。 你能立即看到项目历史。 如果你想查看当前版本与一个月前的版本之间引入的修改,Git 会查找到一个月前的文件做一次本地的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本地处理。 2.安装、配置Git 2.1GUI可视化界面推荐 1.GitForWindows https://gitforwindows.org/ 自带GIT BASH和GIT GUI 2.TortoiseGit https://tortoisegit.org/download/ 3...阅读全文

博文 2017-02-25 09:00:27 程序员

RabbitMQ 高可用实现镜像队列

master 中未被同步的消息将会丢失。 镜像队列消息的同步: 将新节点加入已存在的镜像队列时,默认情况下 ha-sync-mode=manual,镜像队列中的消息不会主动同步到新节点,除非式调用同步命令。当调用同步命令后,队列开始阻塞,无法对其进行操作,直到同步完毕。当 ha-sync-mode=automatic 时,新加入节点时会默认同步已知的镜像队列。由于同步过程的限制,所以不建议在生产的 active 队列(有生产消费消息)中操作。 rabbitmqctl list_queues name slave_pids synchronised_slave_pids #查看那些slaves已经完成同步rabbitmqctl sync_queue name #手动的方式同步一个...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(上)

- 设置工作区目录和Ansible清单文件 在本节中,您将在本地计算机上创建一个用作工作区的目录。 您将在本地配置Ansible,以便它可以与远程服务器上的命令通信并执行命令。 完成后,您将创建一个包含库存信息的hosts文件,例如服务器的IP地址和每个服务器所属的组。 在三台服务器中,一台服务器将成为主服务器,其IP示为master_ip 。 其他两个服务器将是worker,并且将具有IP worker_1_ip和worker_2_ip 。 在本地计算机的主目录中创建一个名为~/kube-cluster的目录并将其cd入其中: mkdir ~/kube-cluster cd ~/kube-cluster 该目录将成为本教程其余部分的工作区,并包含所有Ansible Playbook。 它也将...阅读全文

博文 2019-05-13 22:47:39 debian.cn

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

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看起来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 语言的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的内接口。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的空间,并侧重于安全性。 在编译应用程序时,大部分都是针对特定的 libc 进行编译的。如果你要将它们与另一个 libc 一起使用,则必须重新编译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

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

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

的 K8S 环境不矛盾。 另外一方面,如果说定制的概念是指基于 K8S 本身开发体系所提供的插件机制去做二次开发,那每家厂商都要定制,因为 K8S 本身不是一个产品级就绪的环境,需要使用者去适配网络和存储还有计算,因为每个公有云厂商基于自己的 IaaS 去提供 K8S 产品,必然要去开发插件。 综上,向用户应该提供原生的、标准的 K8S 产品,但底层应该基于自身 IaaS 平台去定制,本质还是为了提高用户使用 K8S 的效率,让用户开箱即用。 K8S 落地挑战:改造成本和人才问题 记者:你觉得目前国内云厂商提供的 K8S 集群编排服务在推广方面目前欠缺的是什么?是什么阻碍了客户进一步去使用这些容器集群服务? 叶理灯:K8S 以容器技术为心、以容器镜像为打包标准的特点,意味着如果要迁移到这个...阅读全文

博文 2019-06-14 08:28:49 debian.cn

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

易双方处理的数据类型非常复杂且在不断演进更迭,交易双方仅根据GDPR的定义或监管机构的指引,很难判断特定类型数据是否属于GDPR管辖的“个人数据”,导致实践中对于“个人数据”这一概念的解释弹性空间极大。例如:通讯网络和设备中(例如心网存储设备)存储或传输的IMSI、IMEI、ISDN等识别号码,虽也可与其它信息结合间接地识别到特定个人,但识别的过程复杂,需利用一定技术手段,并投入较多时间和成本。 这些成本及投入何时是“合理的”,何时是“不合理的”?对于广大交易双方而言很难判定,导致数据的控制者(譬如电信运营商)经常与数据处理者(如通讯设备和运维供应商)之间时常就上述IMSI、IMEI号等数据是否受GDPR管辖这一问题无法达成一致,进而无法在前述DPA《数据处理协议》、SCC《数据跨境转移协...阅读全文

HTTP状态码详解

URI 的超链接及简短说明。因为部分浏览器不能识别307响应,因此需要添加上述必要信息以便用户能够理解并向新的 URI 发出访问请求。 如果这不是一个GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。 4xx 请求错误 这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户示任何包含在此类错误响应中的实体内容。 如果错误发生时客户端正在传送数据,那么使用TCP的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。如果客户...阅读全文

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

六大算法之三:动态规划【转载】

于理论上的设计,也就是上面4个步骤的确定,一旦设计完成,实现部分就会非常简单。 使用动态规划求解问题,最重要的就是确定动态规划三要素: (1)问题的阶段 (2)每个阶段的状态 (3)从前一个阶段转化到后一个阶段之间的递推关系。 递推关系必须是从次小的问题开始到较大的问题之间的转化,从这个角度来说,动态规划往往可以用递归程序来实现,不过因为递推可以充分利用前面保存的子问题的解来减少重复计算,所以对于大规模问题来说,有递归不可比拟的优势,这也是动态规划算法的心之处。 确定了动态规划的这三要素,整个求解过程就可以用一个最优决策表来描述,最优决策表是一个二维表,其中行表示决策的阶段,列表示问题状态,表格需要填写的数据一般对应此问题的在某个阶段某个状态下的最优值(如最短路径,最长公共子序列,最大价值...阅读全文

博文 2021-07-31 07:18:53 CSDN博客