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

Python 社区有了新治理模式

随着 Python 之父 Guido van Rossum 逐步卸任 BDFL,Python(CPython)的未来之路牵动了万千开发者的心。没了首领,Python 今后的发展会怎么样?社区将如何运?谁来领导 Python 这门语言和社区呢?这些问题不得不解决,而用什么样的方式解决,这就需要先由社区讨论并最终决定。 前两天我们分析过目前 Python 社区已经提出的 7 种正在进行投票的治理方案,而最新消息是,目前投票环节已经结束,最终 PEP 8016 当选了新时代的 Python 社区治理方案。 PEP 8016 治理方案采用指导委员会模式,其特点是引导治理的迭代,该方案由 Nathaniel J. Smith 和 Donald Stufft 提出。 PEP 8016 中提出了不信任...阅读全文

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

DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重。RFC-2782 给出DNS SRV的建议标准,它是在2000年的时候提出来的。 访问服务的时候,本地的服务从 DNS 服务器查询到一个地址列表,根据优先级和权重,从中选取一个地址为本次请求的目标地址。 一个支持SRV的 LDAP client 通过查询域名,可以得知 LDAP 服务的 IP 地址和服务端口: _ldap._tcp.example.com 这个域名的格式是 rfc-2782 中推荐的格式,_ldap表示LDAP服务,_tcp表示通过TCP协议访问LDAP服务。 SRV 的 DNS 类...阅读全文

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

Django 采用新的项目治理模式

Django 此前的治理模式不太合理,对于持续发展壮大的 Django 社区产生阻碍。官网博客介绍,最开始 Django 项目发起人(Adrian Holovaty 和 Jacob Kaplan-Moss)可以授权其他人 commit 的权限。到了 2014 年,committer 的核心团队人数已经不少,在两位创始人辞去领导职务后, 保留了一个核心 committer 团队的基本结构,该团队可以根据自己的选择向 Django 添加代码。同时创建了一个新的小组:由核心 committer 选举产生的由 5 名 committer 组成的“技术委员会”,并为最终的决策者。 但是实际上,现在几乎所有添加到 Django 的代码都由 Django Software Foundation(DSF...阅读全文

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

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

总结系统设计中的33个黄金法则

数据库。 6. 拥有复杂的数据(视频、图像、文件)——选择 Blob/对象存储。 7. 复杂的计算——使用消息队列和缓存。 8. 海量数据搜索——考虑搜索索引、尝试搜索引擎。 9. 扩展 SQL 数据库 — 实施数据库分片。 10. 高可用性、性能和吞吐量 — 使用负载均衡器。 11. 全球数据交付——考虑使用 CDN。 12. 图形数据(具有节点、边和关系的数据)——利用图形数据库。 13. 扩展各种组件——实现水平扩展。 14. 高性能数据库查询——使用数据库索引。 15. 批量业处理——考虑批处理和消息队列。 16. 服务器负载管理和防止 DOS 攻击 - 使用速率限制器。 17. 微服务架构——使用 API 网...阅读全文

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

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

] munmap(0x7f53d0000000, 13275136) = 0 [pid 19343] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f53d04a8000 Process 19495 attached 我检查了一下trace文件也没有发现大量内存mmap动,即便是brk动引起的内存增长也不大。于是感觉人生都没有方向了,然后怀疑是不是文件缓存把虚拟内存占掉了,注释掉了代码中所有读写日志的代码,虚拟内存依然增加,排除了这个可能。 灵光一现 后来,我开始减少thread的数量开始测试,在测试的时候偶然发现一个很奇怪的现象。那就是如果进程创建了一个线程并且在该...阅读全文

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

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

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响设计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以收集特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员组成的委员会定期审查、分类和决定社区提交的提案。这个流程十分有效,但为该过程的一部分,他们忽略了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

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

/src:m2crypto) | 修正与OpenSSL 1.1.1i及更新版本的兼容性 | | [mini-buildd](https://packages.debian.org/src:mini-buildd) | builder.py:sbuild调用:显式设置'--no-arch-all' | | [net-snmp](https://packages.debian.org/src:net-snmp) | snmpd: 为EXTEND-MIB添加cacheTime和execType标志 | | [node-ini](https://packages.debian.org/src:node-ini) | 不允许使用无效的危险字符串为部分名称[CVE-2020-7788] | | [node-y18n...阅读全文

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

Debian Jessie、Stretch 下安装配置 PHP7.2

: systemctl restart php7.2-fpm 更多日常的操: systemctl restart php7.2-fpm #重启 systemctl start php7.2-fpm #启动 systemctl stop php7.2-fpm #关闭 systemctl status php7.2-fpm #检查状态 安装更多组件 上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见: root@debian.cn-service:~# apt-cache search php7.2 php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP...阅读全文

博文 2017-12-16 14:16:25 debian.cn

不要光想着价格 QLC 与 TLC 闪存有什么不同

在这个互联网时代,游戏、电影、照片等数据越来越大,硬盘容量将会面临着前所未有的挑战。虽然传统的机械硬盘可以解决容量问题,但是速度太慢,体验糟糕,并不是最优的个人存储解决方案。我们渴求大容量的SSD,不过超过TB大容量SSD动不动就几千元的售价,对于支付能力有限用户实际上没有意义。SSD的成本主要来源于闪存,在TLC闪存能够实现TB容量可惜价格未能降下来。只有不断开发新类型的闪存,解决容量与价格的矛盾,才能让SSD真正在大数据时代发挥应有用。 这时,QLC 闪存就应运而生, 目前,东芝和西数先后宣布成功开发基于四比特单元3D NAND闪存芯片,即QLC闪存,这也意味着QLC SSD将要来临。那么,它与TLC闪存又有什么区别,能否取代TLC成为SSD主流闪存之选? 先来了解一下什么是TLC...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Debian 10 Buster 正式版即将发布

的包组成了该分发版的基石,main 是像石头一样稳定的。因此他们要确保那里没有主要的功能或者安全问题。他们同样给予了不同的优先级,例如 Essential、Required、Important、Standard、Optional 和 Extra,详细介绍可参考这里。 这是必要的,因为 Debian 在很多环境中被用服务器,人们已经变得依赖 Debian。他们同样看重升级周期是否有破环,因此他们寻找人们来测试,来查看当升级的时候是否有破坏并通知 Debian 这样的问题。 Debian 10 Buster 的新内容 这里是即将到来的 Debian Buster 主要发布版的一些变化。 新的主题和壁纸 Buster 的 Debian 主题被称为 FuturePrototype 并且看起来如下图...阅读全文

博文 2019-04-29 11:04:15 debian.cn

kubelet 中垃圾回收机制的设计与实现

!= nil { errors = append(errors, err) } return utilerrors.NewAggregate(errors) }cgc.evictContainers在 cgc.evictContainers 方法中会回收所有可被回收的容器,其主要逻辑为:1、首先调用 cgc.evictableContainers 获取可被回收的容器为 evictUnits,可被回收的容器指非 running 状态且创建时间超过 MinAge,evictUnits 数组中包含 pod 与 container 的对应关系;2、回收 deleted 状态以及 terminated 状态的 pod,遍历 evictUnits,若 pod 是否处于 deleted 或者 terminated...阅读全文

博文 2021-02-05 17:48:22 知乎

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

等),填表的过程就是根据递推关系,从1行1列开始,以行或者列优先的顺序,依次填写表格,最后根据整个表格的数据通过简单的取舍或者运算求得问题的最优解。 f(n,m)=max{f(n-1,m), f(n-1,m-w[n])+P(n,m)} 算法实现的步骤 1、创建一个一维数组或者二维数组,保存每一个子问题的结果,具体创建一维数组还是二维数组看题目而定,基本上如果题目中给出的是一个一维数组进行操,就可以只创建一个一维数组,如果题目中给出了两个一维数组进行操或者两种不同类型的变量值,比如背包问题中的不同物体的体积与总体积,找零钱问题中的不同面值零钱与总钱数,这样就需要创建一个二维数组。 注:需要创建二维数组的解法,都可以创建一个一维数组运用滚动数组的方式来解决,即一位数组中的值不停的变化,后面会...阅读全文

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