InfraPub 为您找到相关结果 553

谷歌开源 Pigweed:用于提升嵌入式开发效率

编辑——编译——刷新——测试(edit-compile-flash-test)周期。 这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上并行运行测试,从而节省更多时间。 团队开发代码需要强调一致,然而,设置 lint、配置代码格式以及添加自动的提交前检查等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。 至于该项目为什么取名为 “Pigweed”,谷歌给出了解释:“Pigweed,又称 amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草...阅读全文

博文 2020-03-22 08:35:14 debian.cn

以太网技术联盟宣布800千兆以太网规格

的大目标是制定800Gbase-R规范(base-R表示当前媒体上的当前标准系列,base-T和base-C表示前几代)。 与以前的以太网迭代一样,许多技术将被重用和开发。800Bbase-R规范(或800gbe)需要对媒体访问控制(MAC)和物理编码子层(pc)进行新的定义。这些将从 IEEE 802.3bs 标准中 400GbE 的现有规范中重新定义,重新定义为在8条 106gbps 信道上工作。为了兼容,规范中的其他部分(如前向错误控制)保持不变。 RobStone等技术工作组主席说:“这项工作的目的是尽可能重新利用标准的400GbE逻辑,以创建一个800GbE的MAC和PC规范,从而为实施多速率以太网端口的用户提供最低的开销成本。”...阅读全文

博文 2020-04-12 15:10:55 debian.cn

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

作为约束(constraints)使用时,可被允许包含类型列表。在旧版的设计草案中,类型列表属于 contracts 的功能。更复杂的情况将使用参数化的 interface 类型. 为了帮助决定如何进一步完善设计草案,团队还发布了翻译工具。此工具可用于类型检查,以及运行使用设计草案中描述的泛型版本编写的代码。它通过将泛型代码翻译为普通的 Go 代码来工作。此翻译过程有一定的局限,不过团队主要是希望借此让大家对 Go 泛型的整体有所了解。如果泛型最终被吸纳,它们的实际实现可能会有所不同。 此工具已在 Go playground 的变体上提供,这个 playground 的工作方式与常见的 Go playground 相同,不过前者支持泛型代码。团队希望此工具能为 Go 用户提供尝试使用泛型的...阅读全文

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

内网穿透利器frp部署配置指南

frp是一个使用go语言开发的反向代理服务,可用于内网穿透,支持tcp, udp协议,为http和https协议提供了额外的能力,且尝试支持了点对点穿透。 由于ngrok 2.x已经闭源,ngrok 1.x已不再维护,所以这里尝试使用frp替代ngrok作为个人的内网穿透工具。 0.前提条件 一台Linux云主机(这里是CentOS 7),并要求具有固定公网IP暴露这台云主机指定端口的能力 有一个域名解析到这个公网IP,如frp.frognew.com和*.frp.frognew.com解析到这个公网IP 1. 下载frp服务端frps和客户端frpc可执行文件 分别在服务器和个人本地机器上,从[https://github.com/fatedier/frp/releases]下载对应平...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

::Ordering, io}; use std::io::{self, Write}; // 引入 std::io 和 std::io::Write 引入模块下所有共有元素, 需谨慎使用, 一般在测试时或预加载时使用use std::collections::*; re-exporting names with pub use (暂且跳过)使用外部包(External Packages)在文件Cargo.toml中添加依赖[dependencies], Cargo从crates.io下载所需要的依赖包.[dependencies] rand = "0.5.5"引入rand中的Rng特(trait)use rand::Rng; fn main() { let secret_number = rand...阅读全文

博文 2021-02-20 08:49:51 知乎

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

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

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

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

正在直播2022开放原子全球开源峰会!>>>>> 谷歌内部使用了许多不同的操作系统平台,其中包括 Linux。15 多年前,谷歌选择基于 Ubuntu LTS 构建内部 Linux 发行版 Goobuntu,主要是看中了 Ubuntu 具备用户友好、易于使用的特,以及提供了许多优秀功能。此外,LTS 会获得 Canonical 提供 2 年以上的安全更新。 根据官方介绍,Goobuntu 是谷歌长期以来一直使用的 Linux 发行版。不过 Ubuntu LTS 的两年更新周期意味着谷歌必须在操作系统 EOL 之前,对超过 10 万台设备中的每台机器进行升级。这是一项非常困难且耗时的工作,毕竟每两年让所有工程师从头开始配置他们的工作空间,这对生产力是严重的打击,并且从经济角度来看也是一个不...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

ChaosMesh 的基本功能有哪些

Mesh 通过 Kubernetes 原生的 RBAC(基于角色的权限控制)功能对权限进行管理。用户可以根据实际的权限需求自由地创建多种 Role,然后绑定到用户名 Service Account 上,最后生成 Service Account 对应的 Token。用户使用该 Token 登陆 Dashboard,只能在该 Service Account 允许的权限范围内进行 Chaos 实验。此外 Chaos Mesh 还支持通过设置 Namespace Annotation 的方式开启特定 Namespace 下混沌实验的权限,进一步保障混沌实验的可控。​​​​​​​...阅读全文

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发缓冲区溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始化程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设定启动各种服务。其安全的重要不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

提前尝鲜,从 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升级

Kubernetes 1.18 发布

,而我们也开始考虑利用基于kubectl exec构建的工具为开发人员提供支持。此次新增的kubectl debug命令(目前为alpha版)允许开发人员在集群当中轻松调试自己的Pod,进而获得巨大的便利增益。这项命令将创建一个即席容器,容器运行在待检查Pod旁边,同时附带有控制台以执行交互式故障排查。 SIG-CLI 调试程序的能力变得越来越必要,基于 kubectl exec,增加了 kubectl alpha debug 命令(目前为 alpha 阶段),使开发人员可以轻松地在集群中调试其 Pod。此命令允许创建一个临时容器,该容器在要检查的 Pod 旁边运行,并且还附加到控制台以进行交互式故障排除。 Windows CSI 支持 带来了用于 Windows 的 CSI 代理,目前处于...阅读全文

博文 2020-03-27 18:28:34 debian.cn

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

LXD 服务器必须配置为监听单个 IPv4 或 IPv6 地址,同时内部集群流量和常规客户端流量都使用相同的地址。LXD 3.8 引入新的 cluster.https_address 选项作出改变,write-once 写入密钥保存用于集群通信的地址,并且无法在不必从集群中删除节点的情况下进行更改。有了这个单独的密钥,现在可以将集群节点上的常规 core.https_address 更改为任何地址,包括通配符模式,如 :8443。 集群镜像复制 集群中引入了自动镜像复制, 在 LXD 3.8 之前,镜像只会被复制到其它集群成员,虽然有利于能、带宽和磁盘使用,但这有一个明显的缺点,即如果镜像仅出现在单个系统上并且系统脱机,那么在系统恢复之前将无法使用该镜像。 此版本通过在至少 3 个系统上复制所...阅读全文

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

三大亮点带你看 Linux 内核 5.6

版中,硬件支持也将继续提升。而支持新式无线外设的计划也同样是优先的。 新内核中将增加对 MX Master 3 鼠标以及罗技其他无线产品的支持。 除了罗技的产品外,你还可以期待获得许多不同硬件的支持(包括对 AMD GPU、NVIDIA GPU 和 Intel Tiger Lake 芯片组的支持)。 6、其他更新 此外,Linux 5.6 中除了上述主要的新增功能或支持外,下一个内核版本也将进行其他一些改进: 改进 AMD Zen 的温度/功率报告修复华硕飞行堡垒系列笔记本中 AMD CPU 过热开源支持 NVIDIA RTX 2000 图灵系列显卡内建 FSCRYPT 加密 Phoronix 跟踪了 Linux 5.6 带来的许多技术更改。因此,如果你好奇 Linux 5.6 所涉及的全...阅读全文

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

Debian Linux下LNMP环境配置

-mysql php5-memcache php5-curl 如上命令安装了php5-memcache的扩展,因此继续安装Memcached: apt-get install memcached 安装完成之后,可以使用“php5-fpm -v”查看PHP的版本。 4.安装Nginx 我在安装的时候直接安装了Nginx的全部扩展功能(nginx-full),后边可能会有功能的增强,所以在安装的时候直接全部安装了: apt-get install -y nginx-full 然后启动Nginx: service nginx start 放问地址http://ip,如果看到如下所示,就说明你的Nginx安装正常。 接下来配置Nginx,Nginx的配置文件在“/etc/nginx/sites...阅读全文

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

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

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

0L2QEXD7我有一个名为 nvme0n1 的驱动器。它列出了序列号、品牌、容量、固件版本等等。通过使用 id-ctrl 子命令,你可以得到更多关于该硬盘和它所支持的特的信息:$ sudo nvme id-ctrl /dev/nvme0n1NVME Identify Controller:vid : 0x144dssvid : 0x144dsn : S42GMY9M141281mn : SAMSUNG MZVLB256HAHQ-000L7fr : 0L2QEXD7rab : 2ieee : 002538cmic : 0mdts : 9cntlid : 0x4ver : 0x10200rtd3r : 0x186a0rtd3e : 0x7a1200[...]驱动器健康你可以通过 smart-log 子命令...阅读全文

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

Manjaro Linux的两项大胆举措

Manjaro Linux 最近似乎有不少大动作,TechRepublic 和 Linux.com 的获奖作家 Jack Wallen 认为 Manjaro Linux 采取了两项重要举措,这些举措应受到 Linux 社区的赞许。 首先是基于 Manjaro 建立了一家公司 Manjaro GmbH&Co. KG,类比 Ubuntu,Jack 认为 Ubuntu 取得如此成功的原因之一便是它背后有公司 Canonical 的支持。背靠商业大树的重要不言而喻,Canonical 能够成功引导企业业务,让发行版能够持续稳定运营,这其中最重要的一点可能是为其提供研发与推广资金。 Manjaro 也一样,拥有一家商业公司来运作,那么至少在操作系统持续稳定运营上有了更好的保障,并且基于 Arch...阅读全文

博文 2019-10-05 16:24:38 debian.cn

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

Linux下多线程程序为什么消耗大量虚拟内存

nasty issues for obvious reasons. Setting MALLOC_ARENA_MAX to a low number will restrict the number of memory arenas and bound the virtual memory, with no noticeable downside in performance – we’ve been recommending MALLOC_ARENA_MAX=4. We should set this in hadoop-env.sh to avoid this issue as RHEL6 becomes more and more common. 总结一下,glibc为了分配内存的能的问题...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Linux系统诊断-内存基础

数。从而达到“写资源”合理利用的效果。然而,free命令所展示的buffer和cache 有点狭义的意思——free展示的buffer表示 块设备所占用的缓存 、free展示的cache表示普通文件占用的the page cache(缓存页) 。总之,buffer和cache使用的内存都是用来加速Linux读写能,如果有新的进程需要内存,系统会将buffer和cache占用的内存回收,并重新分配给进程使用。2.4 其他内存概念RSS & VSZ & PSS & USSRSS(Resident Set Size):进程实际使用的物理内存大小,包括sharedMem。VSZ(Virtual Memory Size):进程所有能够访问到的内存大小,包括因为缺页中断,被swap出去的内存大小,以及...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

基于thanos搭建分布式prometheus

querier会根据label自动去重,确保返回给grafana的数据不会重复,这个特很关键。 有了thanos querier组件,我们可以很简单的解决单点故障问题: 部署N个prometheus同时抓取数据,然后thanos querier代理它们,这样prometheus挂了一台也不影响服务,数据在其他prometheus上还有。 方案1:thanos sidecar + thanos querier 实际上,querier不能直接反向代理prometheus,而是需要在prometheus的POD内部署一个thanos sidecar组件,querier反向代理至sidecar,再由sidecar查询POD内的prometheus。 querier和sidecar之间走GRPC协议,POD内的...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

Monit:开源服务器监控工具

monit status # 查看所有服务状态 monit status nginx # 查看nginx服务状态 monit stop all # 停止所有服务 monit stop nginx # 停止nginx服务 monit start all # 启动所有服务 monit start nginx # 启动nginx服务 monit -V # 查看版本 配置文件 使用yum安装默认配置文件在: /etc/monitrc # 主配置文件 /etc/monit.d/ # 单独配置各项服务 为了保护控制文件和密码的安全,monitrc必须具有读写权限不超过0700(u=xrw,g=,o=)。 主配置文件主要配置全局:/etc/monitrc ## Global section set daemon...阅读全文

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

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

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方式就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移图如下图所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个质: (1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。 (2) 无后效:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该质并不是动态规划适用的必要条件,但是如果没...阅读全文

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

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

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏都不大,但是自2018-02-24开始,这种情况发生了较大变化。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下图所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

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

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

的9.2%的被动股份。这一披露促使这家社交媒体巨头的首席执行官帕拉格-阿格拉瓦(Parag Agrawal)向马斯克提供了一个Twitter董事会席位。然而,马斯克拒绝成为Twitter董事会的一员,因为该提议有一个条件,即阻止特斯拉CEO将其在Twitter的股份增加到15%以上,可以预见的是,这引起了人们的猜测,即马斯克正在对整个公司发起恶意收购。 就在这些戏剧事件发生几天后,马斯克正式公布了他以每股54.2美元的价格将Twitter私有化的提议,相当于超过430亿美元的价格。马斯克还写了一封致Twitter董事会的公开信,指出。 "我投资Twitter是因为我相信它有可能成为全球自由言论的平台,我相信言论自由是一个正常的民主社会所必需的。然而,自从投资以来,我现在意识到...阅读全文

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

,例如支付等。 ** 史上最硬核“销毁”,CET进入全流通状态 ** 2021年3月CoinEx团队决定一次销毁剩下10.8亿尚未解锁的CET后,CET 已正式进入全流通状态。根据《关于CET流通及未来应用的信息披露》公告的约定,[CoinEx](http://cet.im) 每天将平台手续费收入的50%用于回购CET,并在每个自然季度结束时将当季回购的CET全部销毁。当 CET 的总量减至30亿后,[CoinEx](http://cet.im) 继续将平台手续费收入的20%用于回购并销毁CET,直至CET全部销毁。 无论是号称要与以太坊竞争的波场链,还是最近一度火热的币安BSC智能链,抑或是 [CoinEx](http://cet.im) 即将推出的 CSC 智能链,无不意味着交易所公链的...阅读全文

Systemd 及 Service 文件含义解析

Systemd 是 Linux下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。Systemd 的特有:支持并行化任务;同时采用socket式 与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 其中的监视和控制功能的主要命令就是systemctl。 Systemd 有很多不同类型的使用单元,主要包括:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交换分区(.swap)、文件路径(.path)、启动目标(.target)。一般我们常用的是其中的系统服务。 对于系...阅读全文

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

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

nsenter 及 Linux命名空间 简介

,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 56:7b:98:07:30:bc brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.134.93/27 brd 192.168.134.95 scope global eth0 valid_lft forever preferred_lft forever 通过内网 IP 地址,我们得知已成功进入容器内部。 原理 namespace namespace 是 Linux 中一些进程的属的作用域,使用命名空间,可以隔离不同的进程。 Linux在不断的添加命名空间,目前有: mount:挂载命名空间,使...阅读全文

博文 2020-12-15 11:22:44 debian.cn

项目总结报告应该怎么写

个版本的数据对比,因为两个版本的数据对比可能存在版本偶然,三个版本的数据趋势会更明显一些;2) 数据分析时可以使用Excel的一些方便功能,提高效率,如透视表、宏等。4.暴露(验证)问题数据会诚实地反映项目实际情况。通过数据分析的结果,我们会验证在指标选取环节收集的问题是否真实存在,如存在则此问题分析会出现在项目总结报告中。在数据分析时,也可能会暴露出一些我们没有明显感知的问题,这类问题也会出现在项目总结报告中。5.提出解决方案暴露问题不是最终目的,解决问题才是终极目标。所以,当发现问题时,项目经理要找存在问题的相关人员,让其针对问题提供解决方案。问题和解决方案都有了,报告内容基本完成,剩下的就是排版的问题。总结报告排版时一定要注意关键的信息放到最前面(遵循结论先行)。在进行分段时一定要注...阅读全文

kubelet 绑核与不绑核的性能差别

同一台主机,同样的workload,kubelet 中配置CPU绑定后的能变化: 绑核的配置放在 /etc/kubernetes/kubelet 中的这两行: ``` FEATURE_GATES="--feature-gates=CPUManager=true" CPU_MANAGER_POLICY="--cpu-manager-policy=static" ``` 绑核前: ``` procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in...阅读全文

为什么 Django 能持续统治 Python 开发世界

ATOM feeds 使用 Django,你可以通过创建一个简单的Python类来快速创建 RSS 和 ATOM feeds。 在数据库中自动创建表 如果你的数据库中缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的数据迁移 数据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个数据库模式。同样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所做的命名能够帮助你进行版本控制,还有很多选项可以用来合并版本和进行修改。 安全 Django非常安全,该框架默认情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。 Django有一个...阅读全文

博文 2017-07-21 14:15:11 debian.cn

六个开源软件开发的潜规则

玲珑,面面俱到 作为一个开发者,你很可能希望为开源项目解决一个特定的痛点。或许你想要运行在一个目前还不支持的系统上,抑或你很希望改革社区目前使用的安全技术。想要引进新技术,特别是比较有争议的技术,最好的办法就是让人无法拒绝它。你需要透彻地了解底层代码,考虑每个极端情况。在不影响已实现功能的前提下增加新功能。不仅仅是完成就行,还要在特的完善上下功夫。 糜不有初,鲜克有终 开源社区也有许多玩玩就算的人,但是承诺了就不要轻易失信。不要就因为提交被拒就离开社区。找出原因,修正错误,然后再试一试。当你开发时候,要和整个代码库保持一致,确保即使项目发生变化而你的补丁仍然可用。不要把你的代码留给别人修复,要自己修复。这样可以在社区形成良好的风气,每个人都自己改。 这些“潜规则”看上去很简单,但是还是有许...阅读全文

博文 2017-05-20 10:27:11 debian.cn

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 调整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: 重启 blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部端点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

深入学习golang — channel

Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的能。 Goroutine和channel是Go在“并发”方面两个核心feature。 Channel是goroutine之间进行通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 例如: var ch chan int var ch1 chan<- int //ch1只能写...阅读全文

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

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

双因子身份验证就是指,需要两种身份验证才能完成账号有效的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务器上启用双因子验证。 请注意,本文涉及到多次修改 SSH 配置,当你修改配置时,请确保有至少两个到服务器终端的连接。打开的终端将一直保持,即便 SSH 服务重启。第二终端意味着你可以修复你在SSH配置的错误。 密钥和密码验证的SSH SSH 支持对登录要求不止一个身份验证方法,我们首先启用密钥和密码验证。 在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方...阅读全文

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

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

解决方案的可扩展时,我们也从中受益,也可以扩大规模。“解决现实问题2012 年左右,CERN 正在研究如何为大型强子对撞机扩展计算能力,但难点是人员而不是技术。CERN 雇用的员工人数是固定的。“我们必须找到一种方法来扩展计算能力,而不需要大量额外的人来管理。”Bell 说,“OpenStack 为我们提供了一个自动的 API 驱动和软件定义的基础架构。”OpenStack 还帮助 CERN 检查与服务交付相关的问题,然后使其自动化,而无需增加员工。“我们目前在日内瓦和布达佩斯的两个数据中心运行大约 280000 个处理器核心和 7000 台服务器。我们正在使用软件定义的基础架构使一切自动化,这使我们能够在保持员工数量不变的同时继续添加更多的服务器。“Bell 说。随着时间的推移,CERN...阅读全文

博文 2021-11-29 13:20:55 腾讯云

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

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

且需要单独的网络组件,该组件可以透明地将来自一个节点上的pod的流量路由到另一个节点上的pod。 此功能由pod网络插件提供。 对于这个群集,您将使用Flannel ,一个稳定且高能的选项。 在本地计算机上创建一个名为master.yml的Ansible playbook: nano ~/kube-cluster/master.yml 将以下播放添加到文件以初始化集群并安装Flannel:〜/ KUBE群集/ master.yml - hosts: master become: yes tasks: - name: initialize the cluster shell: kubeadm init --pod-network-cidr=10.244.0.0/16...阅读全文

博文 2019-05-13 22:57:41 debian.cn

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 知乎

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

基本为技术相关的文章。请问起初做这个网站的初衷是什么呢?关于网站还有其他需要说的吗? 答:原来写过一个成绩分析的php小程序(phpcj的由来),放到网上,得到不少人的鼓励,于是就申请了个域名作为程序的网站。后来在朋友的建议下,做成了博客。说是博客,也就是一个个人笔记,记录一下遇到的问题如何解决的,方便以后查询,好记不如一个烂笔头嘛!有时遇到问题,搜索一下,也会搜索到自己的博客上,咦,以前不是遇到过这个问题么? 11.作为一名狂热的Linux爱好者,能介绍下日常你怎么折腾技术或者Linux的吗?您喜欢哪些呢,能与我们分享吗? 答:由于喜欢折腾各种发行版,笔记本上目前有若干个Linux最新的发行版,现在是 Gentoo + Ubuntu16.04 + Archlinux + Fedora23...阅读全文

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

深入了解Docker背后的namespace技术

,这是系列博客的第一篇,深入探讨Docker对namespace技术的应用。 Namespaces 在第一部分,我会在文章中讨论Docker在使用Linux namespace时,如何创建Linux namespace。在之后的博客中我们会讨论namespace如何与其它特如cgroups和隔离的文件系统相结合,去实现更多有用的功能。 从根本上说,namespace是Linux系统的底层概念,有一些不同类型的命名空间被部署在核内。跟踪docker run -it --privileged --net host crosbymichael/make-containers这段代码,我们就可以深入到每个不同的namespace。开始会有一些预加载文件和配置。尽管我们也会在用Docker为我们运行的...阅读全文

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

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

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

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

Java Annotations详解

注释,后面的Entity表示该注释的名称。 注释的元素 一个注释可以包含多个可以被赋值的元素。一个元素就像是一个属或者参数。下面是一个包含一个元素的注释 @Entity(tableName = "vehicles") 元素紧跟在注释之后,并放置在圆括号中,没有元素的注释,不需要圆括号。注释可以包含多个元素,当只包含一个元素时,可以省略元素名,只提供元素值既可,如下: @InsertNew("yes") 注释的位置 你可以将注释放置到类、接口、方法、方法参数、成员变量、局部变量之前。下面是一个将注释放到类之前的例子: @Entity public class Vehicle { } 下面是一个更大的例子,演示了在类、成员变量、方法、参数以及局部变量之前添加注释。仅作演示之用,并没有什么特别的...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

利用 NAT VPS 进行流量中转

过 iptables 实现 IP 端口数据包转发服务配置关于 NAT VPS 的使用说明NAT VPS 的正确食用方式NAT VPS 主机端口转发(流量中转)教程国内中转高价比方案:NAT VPS + iptables 端口流量转发通过国内服务器转发流量Ubuntu UFW 防火墙设置Setup a Shadowsocks relay在 Azure 搭建 ShadowSocks 国内跳板,并开启 UDP 转发UFW Essentials: Common Firewall Rules and CommandsHow To Setup a Firewall with UFW on an Ubuntu and Debian Cloud ServerConfigure Uncomplicated...阅读全文

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

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

某最后一次部署挖矿脚本后,百度通过安全管理监控系统发现大量服务器运行异常,占用公司服务器的运算资源执行了挖矿程序,经过一番排查,最终确定了幕后的操盘手“安某”。 为此,百度还花费 2.7 万元请北京耐特网科技公司提供了应急服务,具体项目包括样本提取、样本分析、服务器日志提取并分析、追踪溯源、报告编写等。 2018 年 7 月,百度正式起诉“安某”,认为其犯有非法控制计算机信息系统罪。经法院的进一步核实,被告人“安某”虽对其行为质提出辩解,但其到案后及在庭审过程中对其实施的作案过程均能如实交代,故应认定其具有如实供述的情节,同时结合其能退缴涉案违法所得,故可对其从轻处罚。 据此判决: 一、被告人安邦犯非法控制计算机信息系统罪,判处有期徒刑三年,罚金人民币一万一千元。 二、在案扣押的人民币十一...阅读全文

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

如何在 Debian 下配置邮件服务器

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全,这超出了本文的范围。 1.先决条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

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

开源社区的运作模式:Debian Vs. Ubuntu

Canonical员工;社区委员会总共也只有8人,其中2人是Canonical员工;技术委员会的6个成员全部是Canonical员工,这6名成员全部由Mark Shuttleworth亲自任命,社区对此没有任何话语权,在确认投票时只能选择同意。很明显,作为Ubuntu的创始人,Mark Shuttleworth希望牢牢控制该项目的发展方向,也只有他是社区委员会和技术委员会永久成员。 Debian和Ubuntu身份对比 下表列出了这两个项目给开发者授予的权利对比。 权利 Debian Ubuntu DM DD UM PPU/UD MOTU UCD 通过监督进行包维护 有 无需监督 有 有 有 无需监督 官方的Email邮件别名 – 有 有 有 有 有 参与成员投票 – 有 有 有 有 有 参与开发者投票...阅读全文

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