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

不与版本帝争,16 年后 SciPy 1.0 版终发布

近已经达成一些重要的项目目的,技术上方面比如:Windows wheels 和持续集成。组织方面有管理结构、代码准则和路线图。 我们中很多人都有点完美主义,所以不情愿称某东西是 1.0 了,因为这样或许就暗示「已做完」或「我们对此 100% 满意」。虽然很多开源项目都这样,但我们承认自己项目并不完美,有些边边角角有灰尘的。 虽然我们有如此想法,但对用户来说,SciPy 极为实用,有着高于平均水平的高质量代码和文档,稳定性和向后兼容性均很好。 SciPy 的重要里程碑 2001 年:第一版 SciPy 发布; 2005 年:过渡到 NumPy; 2007 年:scikits 的诞生; 2008 年:scipy.spatial 模块以及首个 Cython 代码的增加; 2010 年:进入 6...阅读全文

博文 2017-10-26 13:54:33 debian.cn

百度开源项目 ECharts 首进 Apache 孵化器

Apache 孵化器意味着 ECharts 距离成为顶级的开源社区产品更近一步,但与此同时也必须秉承更加兼容并包的心态,迎接更多的机遇与挑战。 百度开源推进组负责人谭中意也表示:“百度抱着参与、回馈、影响社区的态度进行各种开源活动,充分尊重和理解开源社区的规则和精神,而让 ECharts 成为 Apache 基金会的孵化项目只是开始,百度会继续跟各个开源社区进行更加广泛和深入的合作。” ECharts 项目 Champion 及导师、Apache 基金会副裁 Kevin A.McGrail 表示:“很荣幸,也很高兴作为 Champion 参与 ECharts Apache 基金会项目的孵化过程,ECharts 作为中国可视化生态领域的领军者,不断追求极致,扩大功能边界,帮助越来越多使用...阅读全文

博文 2018-03-09 08:46:07 debian.cn

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

通道(就是两条PCI-E),而 M.2(Socket 3)的固态则可以走 PCI-E 3.0×4 通道。 需要说的是每条 PCI-E 3.0 的带宽是 8Gbps,而 SATA 3.0 的带宽则只有 6Gbps。 最后要说的就是经常被商家拿来当作卖点的 NVMe 了。其实 NVMe 跟 AHCI 都是一种规范,就像是在路上走如果没有交通规则的限制,那么肯定是一团拥挤肯定都走不动了,而 NVMe 和 AHCI 就像是这种交通规则。 AHIC 是针对 SATA 这种弯路的交通规则。然后开发者发现,这种针对弯路的规范,数据只能一个一个通过的规则用在宽敞的 PCIE 通道上面实在太浪费了,于是针对 PCIE 通道又开发出了 NVME 规范,可以让很多数据同时通过。 结:M.2 跟 SATA 其实可...阅读全文

博文 2019-01-23 13:28:23 debian.cn

Debian 9更新到最新的Linux内核

喜欢折腾的同学,会豪气如何升级 Debian Stretch 的内核到新版。遗憾的是现在能搜到的升级 Debian Linux 内核的文章多数是使用Ubuntu的deb安装包,其实这样装上去是有问题,常见的问题是,会提示需要 apt --fix-broken install 。 这里简单记录一下,如何使用Debian官方源更新到最新的内核;以及如何是用 Kernel.org 的deb源,更新内核到最新的 5.x 版本。 修改更新源 name@debian.cn:~$ echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch...阅读全文

博文 2019-03-25 22:33:22 debian.cn

Oracle Linux 8.0 发布

于 RPM 的 Linux 发行版上安装、更新和删除软件包。引入 Cockpit 服务器远程管理器,这是一个简单、轻量级但功能强大的交互式 GNU/Linux 服务器远程管理器,可通过 Web 浏览器提供实时 Linux 会话。 内核 modinfo 命令已更新,可识别和显示使用 CMS 和 PKCS#7 格式签名的模块签名信息。一组内核模块移动到 kernel-modules-extra 包中,这意味着默认情况下这些模块都不安装,非 root 用户也无法加载这些组件,因为默认情况下它们也被列入黑名单。内存线限制已扩展到 128 PiB 的虚拟地址空间和 4 PB 的物理内存容量。Linux 内核中的 I/O 内存管理单元(IOMMU)代码也会更新以启用 5 级分页表。kdump 特性可以...阅读全文

博文 2019-07-20 22:39:32 debian.cn

系统分析工具 Sysdig 详解

-s2000 -X -c echo_fds fd.cip=192.168.0.1as ASCII:sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1查看本地开放端口中,连接数最多的服务端口:sysdig -c fdcount_by fd.sport "evt.type=accept"查看本地开放端口中,流量最多的端口:sysdig -c fdbytes_by fd.sport查看客户端IP地址中,连接数最多的 IP:sysdig -c fdcount_by fd.cip "evt.type=accept"查看客户端IP地址中,数据传输量最高的 IP:sysdig -c fdbytes_by fd.cip列出所有的请求链接中,不是访问 apache服务的链接...阅读全文

博文 2020-08-09 14:09:05 debian.cn

Linux 进程 PID 编号最大为多少

range of PIDs as on earlier kernels. On 32-bit platforms, 32768 is the maximum value for pid_max. On 64-bit systems, pid_max can be set to any value up to 2^22 (PID_MAX_LIMIT, approximately 4 million). 为了方便理解,上述内容翻译成中文: /proc/sys/kernel/pid_max (从Linux 2.5.34版本开始) 这个文件明确指定了pid的取值范围(也就是说,文件中的值是允许的最大pid值+1)。比这个数字大的值将不会分配为pid。因此,此文件中的值还作为系统范围内进程和线程数的限制。此...阅读全文

博文 2021-01-12 11:47:15 debian.cn

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

新定义他们的愿景。 运维的未来是要使开发者能够通过工具、自动化和流程实现自助服务,并使他们能够通过最小的运维干预来部署并运行服务。每个角色都应该朝着脱离它们的工作实现自动化的方向而努力。 ops 提供服务的模式已经穷途末路,并且也过时了。Devs 提出的要求会超出他们的能力。 正确的模式是要把ops作为力量倍增器:创建自动化,使devs提供自己的集合和基础设施。 Dev:我的集合崩了! Op:好的,我知道了,现在是我的问题了——等我来解决。 ——错误的模式! Dev:我的集合崩了! Op:好的,我知道了。作为领域专家,我来帮你,你来解决,或者是,你可以用工具重配一下。 如果你让一个老派的运维人员理解说明整个存储栈,从裸金属到客户,并圈出他们所关心的,他们会把整个存储栈都圈起来,接着就会抱怨...阅读全文

博文 2021-01-28 17:50:31 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 表示当前缓冲区中有效数据的量...阅读全文

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

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。之,你必须允许别人参与你的项目,放弃对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

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

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

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文

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

0:00 nginx: worker process 19 root 0:00 /pause 24 root 0:00 sh 29 root 0:00 ps auxww Init 容器 在Kubernetes中,init容器是在同一Pod中的其他容器之前开始并执行的容器。它旨在为Pod上托管的主应用程序执行初始化逻辑。例如,创建必要的用户帐户,执行数据库迁移,创建数据库结构等。 创建initcontainer时应考虑一些注意事项: 它们是在Pod中的其他容器之前执行。因此,它们不应包含需要很长时间才能完成的复杂逻辑。启动脚本通常很小而简洁。如果发现要向初始化容器添加太多逻辑,则应考虑将其中的一部分移至应用程序容器本身。 初始化容器按顺序启动和执行。除非一个初始化容器被成功执行,否则下一个初...阅读全文

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

译:Kubernetes 最佳实践

如,一组开发人员可能只能访问名为 dev 的命名空间,并且无法访问 production 命名空间。 将不同团队限制在不同命名空间的能力对于避免重复工作或资源冲突可能很有价值。还可以针对命名空间配置 LimitRange 对象,以定义部署在命名空间中的容器的标准大小。ResourceQuotas 还可用于限制命名空间内所有容器的资源消耗。可以对命名空间使用网络策略来限制 pod 之间的流量。使用就绪和存活探针Readiness(就绪)和 Liveness(存活)探针本质上都是健康检查的类型。这些是在 K8s 中使用的另一个非常重要的概念。就绪探针确保仅当 pod 准备好为请求提供服务时,才会将对 pod 的请求定向到它。如果它还没有准备好,那么请求将被定向到其他地方。为每个容器定义就绪探针...阅读全文

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

三个技巧 大幅减少 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

Debian下编译安装Golang

GOROOT下的源码与GOROOT_BOOTSTRAP下的搞混了。如果Go与Java一样支持循环导入,那么这里就会进行一次错误的编译。 这个问题大致是路径配置错误导致的。未免误导,这里就不详述复现步骤了。 之,先配置好GO的环境路径,能解决大多数错误。 环境配置 为了避免go1.4这个目录混杂在我本就已经混乱不堪的$HOME目录,我新建一个隐藏目录.golang,作为Go的相关环境配置的位置。 把以下配置加入shell的配置文件,bash是~/bashrc。 export GOROOT=$HOME/.golang/go export GOPATH=$HOME/.golang/path export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4 export PATH...阅读全文

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

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

已经发布通告,例如 CloudFlare、Qrator Labs、Arbor Networks、US-CERT,等等 预防和防御类:包括 NTT 在内的多个ISP 已经对 UDP 11211 采取限速措施。 应对建议方面,ISP、网络管理员、企业用户可以从很多渠道获得应对建议,例如 这里。我们建议: 各运营商 ISP、云服务厂商,考虑在自己的网络内对UDP 11211 采取限速措施 各开发者和 memcache 管理者,考虑自查 memcache 设定ACL 体而言,一方面,我们开始担忧1Tbps以上的DDoS攻击案例今后会比较频繁的出现,DDoS攻击开始从 G 时代进入 T 时代(Gbps vs Tbps);另一方面,我们必须指出至少在当前 Memcache DRDoS 还不是DDoS...阅读全文

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

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

没有人在做任何竞选活动。” 为什么大家都不愿担任领导人呢? Debian 领导人的主要职能有两项:一方面是代表 Debian 到世界各地,在会议上进行分享,同时处理项目与其它团队和公司的关系;另一方面是行政上的,领导人要管理项目资金,任命开发者在项目中担任不同角色,并负责项目中的一些细节。 但是公开信中也指出,实际上,因为 Debian 项目把各种各样的权限都下放到社区成员中,导致领导人的实权实际上并没有多少。比如,个别开发者几乎可以完全控制他们维护的软件包;开发人员之间的技术分歧很大的时候,将由项目技术委员会处理;发布管理者与 FTP 主人有权最终决定项目实际发布的内容,以及何时发布;项目秘书负责确保遵循必要的程序;政策团队处理项目的大部分体设计。 另一方面,Debian 领导人这个职位...阅读全文

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

开源硬件是趋势,Arm 却走了一条与众不同的路

“开源”一词所代表的不仅仅是技术人员的情怀,它还传达了诸如研究知识共享和社区建设之类的观点。虽然开源一直都在产生积极的影响 —— 随着开源微处理器指令集架构 RISC-V 的日益普及,推动软件创新的开源运动现在正在微处理器领域引起轰动,但半导体 IP 提供商 Arm(为 95% 的智能手机嵌入式处理器提供了支持) 并不是开源的狂热爱好者。 近日,外媒 Synced 与 Arm 嵌入式、物联网和汽车营销高级监 Rhonda Dirvin 进行了一次对话,探讨开源硬件和开源软件之间的区别,以及由此对 Arm 进行决策带来的影响。 Dirvin 认为,当今的开源硬件格局并不像看起来那样简单明了:“我们开始看到有人说免费并非真正的免费。因为归根结底,他们必须考虑验收所需的内容以及实现指令或架构所...阅读全文

博文 2019-10-17 22:39:43 debian.cn

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

10 月 20 日,2021 云栖大会上,阿里云发布全新操作系统“龙蜥”并宣布开源。同时,阿里达摩院操作系统实验室也宣告成立。 龙蜥操作系统定位于服务器端,支持 x86、ARM 等多种芯片架构和计算场景,兼容 CentOS 生态,支持一键迁移,并提供全栈国密能力。 阿里云在大会上透露,龙蜥操作系统已经在阿里巴巴内部打磨 10 年,... 30 13 阿里平头哥宣布开源四款玄铁 RISC-V 系列处理器 10 月 19 日,2021 云栖大会现场,阿里云智能裁张建锋宣布,平头哥开源玄铁 RISC-V 系列处理器,并开放系列工具及系统软件。 此次开源的 OpenXuantie 系列 RISC-V 处理器,包括玄铁 E902、E906、C906、C910 等 4 款量产处理器,以及基于...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

Ferrari 的冲突,她经常以非常奇怪的方式叫我出来,这也导致了她和我长期以来的分歧,”他补充说。“无论如何,这些都是旧事,但 DAM 仍然用‘你多年来一直在欺负项目成员’和我不能与社区团队沟通打击我,并且允许 Debian 中的其他成员在不相关的论坛中在 IRC 上欺负我。”Preining 还表示,的来说还是因为 Martina 和其他成员是 DAM、CT 以及 Debian 的‘领导圈’的密友,所以他们可以不用遵守相同的社区标准。虽然其中的是非曲折,目前尚不能做出判断,但是对于开源社区来说,纠纷已不是第一次发生。不满 Debian 开发流程,Debian 包维护者曾退出早在 2019 年,一位名为 Michael Stapelberg 的 Debian 包维护者在其个人博客发表了一篇长文,宣布...阅读全文

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

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

自由软件指导方针》。 「contrib」,本身是自由软件,但依赖不纯,即依赖中至少有一例 contrib 或 non-free 者。 「non-free」,本身并非自由软件,无论依赖如何。当然,该软件是可免费使用或试用的。免费一例 https://packages.debian.org/jessie/unrar,试用xx天一例 https://packages.debian.org/jessie/rar。 Ubuntu 最多有四种 「main」,官方维护的自由软件。 「universe」,社区维护的自由软件。 「restricted」,设备专有驱动。 「multiverse」,同 Debian 的「non-free」。 某些另类的第三方源,未必遵循上述惯例。之,打开仓库目录自己看。 特别之...阅读全文

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

三个简单而优秀的 Linux 网络监视器

你可以通过 iftop、Nethogs 和 vnstat 这三个 Linux 网络命令,了解有关你网络连接的大量信息。iftop 通过进程号跟踪网络连接,Nethogs 可以快速显示哪个在占用你的带宽,而 vnstat 作为一个很好的轻量级守护进程运行,可以随时随地记录你的使用情况。 iftop iftop 监听你指定的网络接口,并以 top 的形式展示连接。 这是一个很好的小工具,用于快速识别占用、测量速度,并保持网络流量的体运行。看到我们使用了多少带宽是非常令人惊讶的,特别是对于我们这些还记得使用电话线、调制解调器、让人尖叫的 Kbit 速度和真实的实时波特率的老年人来说。我们很久以前就放弃了波特率,转而使用比特率。波特率测量信号变化,有时与比特率相同,但大多数情况下不是。 如果你只...阅读全文

博文 2017-11-07 00:07:38 debian.cn

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

从根本上说,开源模式要由于专有模式,为什么这么说呢?下面结了商业机构及政府机构可以从开源软件中获得的六大好处。 1、能更直观的选择供应商 在你投资工程和经济资源将产品整合到你的基础设施之前,需要确保产品的合格性:是否处于积极开发状态?是否有定期的漏洞修复和安全更新?产品是否能根据需求按时更新? 最后一点或许比你想象的还要重要。解决方案必须满足产品需求。但需求会随市场及商业的变化而变化,如果产品不随之做出改变,未来就需要花费一笔不菲的迁移成本。 而在开源的世界里,你可以综合产品的发展速度以及社区的健康程度来比较供应商。一个更积极、更多元化的社区能在一两年后开发出更好的产品,这是一个关键的参考因素。当然,供应商必须要有能力解决在项目发展过程中出现的不稳定性问题。最后,还需要供应商具备较长的支...阅读全文

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

Facebook 是如何进行大规模代码部署的

Facebook 的首位发布工程师,目前是 Facebook 发布工程的工程监。 Facebook 的发布周期是“ quasi-continuous ” (准连续)——这只是一种委婉的说法,表明并非每次提交都会部署到生产环境,实际上它采用的是对几十到几百个提交进行批处理,每隔几个小时就进行推送。这种分层发布的方式使任何变更的回滚很容易。 这个新系统从 2016 年 4 月开始,经过一年的时间慢慢地完善。早先的模式是从主干分支的提交中选择特定的变更放到发布分支上。发布分支每天将这些变更推送到生产环境。这种“ cherry-picking ”的特点是,每天选择变更的数量为 500 ~ 1000。剩下的变更就推入到每周发布分支中。随着时间的推移,提交的数量和参与其中的工程师都有所增加,发布工程师的手工劳动变得...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Go 1.16 即将发布,这些变更你需要知道

tag 设置标识。 如果像是以前,量比较多就会变成: type MyStruct struct { Field1 string `json:"field_1,omitempty" bson:"field_1,omitempty" xml:"field_1,omitempty" form:"field_1,omitempty" other:"value"` } 但在 Go1.16 及以后,就可以通过合并的方式: type MyStruct struct { Field1 string `json,bson,xml,form:"field_1,omitempty" other:"value"` } 方便和简洁了不少。 结 在本次 Go1.16 中带来了不少小优化和新的特性支持。离 Go1.18 的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

开源简史基础:Linux基金会

用也可以由Linux基金会提供。 Linux基金会项目 以前被称为“合作项目”的Linux基金会项目是独立资助的项目,很多大名鼎鼎的项目都是Linux基金会的项目,比如为了促进容器化发展而创建的OCI(Open Container Initiative)和CNCF(Cloud Native Computing Foundation)等。全世界超过500家的公司以及数以千计的软件开发人员投入其中,这就是开源世界的力量,截止到2015年,Linux基金会项目的源码行数为115,013,302行,项目估值高达50亿美元,而在2017年9月,这一估值上升至156亿美元。 当然除了这些,Linux基金会还可以进行培训以及认证等多种活动,从而更好地推进了Linux的开源事业的发展。 参考文章...阅读全文

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

的并满足以下一个或多个条件[9]: (a) 年度收入超过2,500万美元; (b) 每年独自或与他人联合,为商业目的购买、出售、分享不少于50,000个消费者、家庭或设备的个人信息; (c) 有不少于50%的年收入来自于出售消费者个人信息;或 (d) 是处理个人信息的服务供应商。 其中,“加州消费者”的定义参照加州税法的规定。该法规定“居民”包括“以非临时目的居住在加州境内的自然人”以及“以临时目的居住在加州境外的加州居民”。[10] 与GDPR不同的是,CCPA明文指出了不受CCPA管辖的情况——即如果企业的商业行为每个方面完全在加州以外进行,则不受CCPA的管辖。 这里的“商业行为每个方面”,包括“消费者所在地”、“个人信息出售行为发生地”等方面。我们应针对这些方面对个案综合判断企业是...阅读全文

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

等),填表的过程就是根据递推关系,从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博客

王垠:如何掌握所有的程序语言

很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是编程初学者,不知道该选择什么程序语言来入门。 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种程序语言争...阅读全文

博文 2017-07-10 10:13:17 debian.cn

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

您应该知道如何在一个新鲜的Linux服务器上执行的最基本的任务之一是添加和删除用户。当您创建一个新的系统,你往往只能给出默认root帐户。 虽然运行在root用户提供了大量的功能和灵活性,这也是危险的,可能是破坏性的。添加一个额外的,无特权的用户来执行常见任务几乎是一个更好的主意。然后,您应为系统上可能有的任何其他用户创建其他帐户。 您仍然可以获取管理员权限,当你需要他们通过一个名为机制sudo 。 在本教程中,您将学习如何创建用户帐户,分配sudo特权,和删除用户。 如何添加用户 如果您作为root用户登录,您可以创建在通过键入任何时候一个新的用户: adduser sammy 如果要在谁被赋予了非root用户登录, sudo特权,因为在证明初始服务器设置向导 ,您可以添加通过键入新用...阅读全文

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

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

位置。emergency scratch codes 是单一的使用代码,应急时使用。即使你的手机不可用,它是允许你访问。 要将服务器注册到Authenticator App中,只需打开应用程序并点击右下角的红色加号即可。然后选择扫描条码选项,扫描打印到终端的二维码。你的服务器和应用程序现在连接。 回到服务器上,我们现在需要编辑用于 SSH 的 PAM (可插入身份验证模块),以便它使用我们刚刚安装的身份验证器安装包。PAM 是独立系统,负责 Linux 服务器上的大多数身份验证。 需要修改的 SSH PAM 文件位于 /etc/pam.d/sshd ,用以下命令编辑: vim /etc/pam.d/sshd 在文件顶部添加以下行: auth required...阅读全文

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

Terraform 学习总结 — Terraform 简介

点上检查一下,发现名称为 NickResourceGroup 的 Resource Group 已经创建成功了。 结 Terraform 支持的平台非常多,像 AWS,Azure 等大厂自然是不用说了,一些小的厂商也可以通过提供 provider 支持 Terraform,从而让整个生态变得非常活跃。如果大家想在 DevOps 实践中引入基础设施即代码,无论是面对的是公有云还是私有云,相信 Terraform 都不会让你失望。...阅读全文

玩转 AWS 的必备工具

SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解决构架和一...阅读全文

玩转 AWS 的必备工具

主要详细介绍Ansible和SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了...阅读全文

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

Grafana Dashboard, 如下: Alert Rules 如下: 结 为了监控 Kubernetes 集群的证书过期时间, 我们提供了 3 种方案, 各有优劣: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期时间; 优势: 实现简单; 劣势: 只能监控 https 的证书; 使用 kube-prometheus-stack 通过 apiserver 和 kubelet 组件监控获取相关证书过期时间; 优势: 开箱即用, 安装 kube-prometheus-stack 后无需额外安装其他 exporter 劣势: 只能监控 apiserver 和 kubelet 的证书; 使用 enix 的 x509...阅读全文

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

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

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

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

Debian 项目对 Steve Langasek (vorlon) 的去世表示哀悼

结: Debian 开发者身份:Steve于2000年加入Debian,并于2001年正式成为Debian的开发者,开启了长达20多年的贡献生涯。 发布经理:他担任了Debian Sarge和Etch的发布经理,确保这些发行版的稳定与可靠。他的领导才能和技术能力在Debian社区中得到了高度认可。 技术委员会成员:作为Debian技术委员会的成员,Steve的见解推动了关键决策,对整个社区的发展起到了重要作用。 Samba 项目贡献者:Steve在Samba项目中做出了重要贡献,特别是他在Linux CIFS/SMB2/SMB3的维护方面的工作,为Unix/Linux系统与Windows系统的互通性提供了重要支持。 PAM (Pluggable Authentication Modules...阅读全文

Debian 10使用 Wine 安装配置微信、QQ与TIM

Debian10安装wine及用wine安装微信、QQ与TIM 作者:幻影剑客 概览 本文适用于Linux发行版Debian 10,主要参考winehq官方文档Debian部分,Debian wiki的wine,还有其他网上文章。结起来,就是Debian 10的情况,要先安装faudio依赖,再安装wine官方版。安装完后要做启动配置、字体配置、输入框配置。如果想要更多功能还得做更多配置,这里没介绍了。 注意wine的每个版本甚至在不同发行版的安装都有差别,需要先看winehq官方介绍、你的Linux发行版关于wine的wiki,然后是网上其他资料。下面部分是正式安装介绍。 搞定FAudio部分依赖 winehq的Debian安装页面指出,要先安装依赖FAudio,见 官方链接。这是因为...阅读全文

Docker 快速入门之 Dockerfile

, CMD, ENTRYPOINT 等指令的用户以及用户组。默认为 root 用户。语法: USER [:] 3.12 WORKDIR WORKDIR 指令用于设置 RUN, CMD, ENTRYPOINT, COPY, ADD 等指令的工作目录。语法: WORKDIR /path/to/workdir 4 结 本文从一个具体的例子出发,讲述了如何利用 Dockerfile 构建镜像,然后解释了 Dockerfile 文件中的指令的语法,有关更多内容可访问官方文档。 5 参考资料 Dockerfile reference 本文转载自 Locez.com,在原文基础上,略有增删。...阅读全文

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

2016年Linux领域的十条大新闻,你关注了吗?

。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的结,Linux成功的原因包括分布式开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心字体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文

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

一位五年工作经验架构师的感悟

,但是按照我当时的理解,说不清这个概念,我现在也不一定说清这个概念。第二个问题就是:你愿意做外包么?我回答不愿意。 最后女 HR 和光头说,你等一等,我们合计合计。合计的结果就是,我进来了,进来的不容易。可能还多亏当年扩招。现在我们面试的时候,我们也经常说:要是按照现在的面试要求,那么我肯定进不来。 这就是一段比较有意思的经历,当我妻子比较犹豫的时候,经常对妻子讲:日子是越来越好。我的经历也可以看出很多。 所以,失败不可怕,需要最自己、未来充满信息。努力去学习。 脚踏实地,如饥似渴,积少成多 于是进入了支付宝,支付宝好复杂。有很多东西给我学。 光头老大给有次问我:你的学习计划是什么呢? 我说:我要把支付宝的所有框架,业务都学习一遍(真不知天高地厚) 老大说:你学的完吗? 我说:我看了下确实很...阅读全文

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

译:零信任对 Kubernetes 意味着什么

确保它在每一点都得到执行。这听起来像是常识。但与技术中的许多新想法一样,理解零信任的最佳方法是了解它的反应。零信任摒弃了边界安全的观点。在边界安全模型中,在敏感组件周围实施“装甲”。例如,数据中心周围可能有一个防火墙,其任务是阻止问题流量和参与者进入。这种模型,有时被称为城堡策略,具有直观的意义:城堡的墙壁是为了将坏人拒之门外。如果你在城堡里,那么根据定义,你就是一个好人。零信任模型表明,边界安全已经不足。根据零信任原则,即使在安全边界内,仍必须将用户、系统和网络流量视为不受信任。国防部的参考架构很好地结了这一点:“在安全边界之外或之内运行的任何参与者、系统、网络或服务都是不可信的。相反,我们必须验证任何试图建立访问权限的事物。从边界验证一次到对每个用户、设备、应用程序和交易的持续验证,这...阅读全文

互联网协议正在发生变化

润滑 它。 例如,QUIC 鼓励终端在 版本协商 中使用一系列的诱饵值,来避免假设它的实现永远不变化(就像在 TLS 实现中经常遇到的导致重大问题的情况)。 网络和用户 除了避免僵化的愿望外,这些变化也反映出了网络和它们的用户之间关系的进化。很长时间以来,人们是假设网络是很仁慈好善的 —— 或者至少是公正的 —— 但这种情况是不存在的,不仅是 无孔不入的监视,也有像 Firesheep 的攻击。 因此,当那些网络想去访问一些流经它们的网络的用户数据时,互联网用户的整体需求和那些网络之间的关系日益紧张。尤其受影响的是那些希望去对它们的用户实施政策干预的网络;例如,企业网络。 在一些情况中,他们可以通过在它们的用户机器上安装软件(或一个 CA 证书,或者一个浏览器扩展)来达到他们的目的。然而...阅读全文

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

退出的时间进行排序优先删除退出时间最久的,MaxPerPodContainer 在上文已经提过,表示一个 pod 最多可以保存多少个已经停止的容器,默认为1,可以使用 --maximum-dead-containers-per-container 在启动时指定;4、若 kubelet 启动时指定了 --maximum-dead-containers(默认为 -1 即不限制),即需要为 node 保留退出的容器数,若 node 上保留已经停止的容器数超过 --maximum-dead-containers,首先计算需要为每个 pod 保留多少个已退出的容器保证其数不超过 --maximum-dead-containers 的值,若计算结果小于 1 则取 1,即至少保留一个,然后删除每个...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

Canonical一直在开发这个桌面。如果Canonical在营销移动设备方面取得成功,那么在未来你就能够在所有硬件上使用同一个桌面了。 然而,那些默认桌面意味着除了方便外没多大意义。Debian和Ubuntu都支持多个桌面。在Ubuntu中,桌面是半独立的发行版,包括Xubuntu for Xfce和Kubuntu for KDE。那些变种与标准的Ubuntu采用了同样的底层GNOME技术,能不能与官方版本同步不好说,时间相差不到几周。 在Debian中,桌面方面的选择大致一样,不过开发桌面的团队与开发标准Debian的团队关系比较紧密。那些版本的时间表有变化,所以是预计要花点时间在网上搜索,查一查开发结果可能让你有兴趣的团队的近况。 除了Unity外,为Ubuntu编写的大多数软件也有面向Debian...阅读全文

博文 2017-12-22 23:41:07 debian.cn

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

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

Git 介绍与使用详解

commit 的同时,你工作目录里的新改动和已经add到stage区的新改动也一起全都消失了 git reset --soft 保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区 将 HEAD 和 branch 往回移动,就能起到撤回 commit 的效果。 reset 如果不加参数,那么默认使用 --mixed 参数,它的行为是: 保留工作目录,并且清空暂存区, git reset HEAD^ //以mixed回退到上一个版本 由 reset 所导致的新的文件差异,都会被放进工作目录,相当于回到了git add以前 之,以--hard回退,相当于丢弃新改动,以--soft回退相当于将新改动放入暂存区,以--mixed回退,相当于不关联新改动,但改动还在 git reset --hard...阅读全文

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