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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Ian Murdock 走了,但 Debian 常在。今天就从与 Ian Murdock 的访谈来回顾一下 Ian 的 Debian 往事。 Debian 社区前几日宣布,Debian 的著名创始者 Ian Murdock 已经去世,死因至今不明。到官方公布具体死因之前,恐怕我们多猜测也无益。今天,不如让我们一起来回顾一下 Murdock 对免费软件的发展做出的贡献。 1999 年 11 月,我曾有幸与 Murdock 有过一次访谈。我为写《Rebel Code:Linux and the Open Source Revolution》这本书共做过 50 多次访谈,这就是其中一回。虽说在书中我只引用了 Murdock 所说的寥寥几句,不过如今,借着这个时,我想用 Murdock 自己的话...阅读全文

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

HTTP状态码详解

服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。 与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。 206 服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。 该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。 响应必须包含如下的头部域: Content-Range 用以指示本次响应中返回的内容的范围;如果是 Content-Type 为...阅读全文

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

Debian下编译安装Golang

”(Bootstrap),也就是用Go来实现Go、用Go来编译Go。之前都是用C来实现,编译Go项目就是编译C语言。 因此,只要把源码checkout到1.4版本,就可以不需要依赖于Go自身,解决自我依赖悖论。 git checkout go1.4 ./all.bash 二次编译错误:import cycle not allowed import cycle not allowed package ./cmd/dist imports bytes imports errors imports runtime imports runtime/internal/atomic imports runtime Go不支持循环导入,不知算进步还是退步。 不过,这里倒是体现了价值,提前报错。这个错误的要原因,是编译时把...阅读全文

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

使用 setfacl 管理文件的访问控制列表ACL

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全部的acl参数 -k:删除默认...阅读全文

AWS IAM 基本概念介绍

AWS Identity and Access Management (IAM) 是AWS云平台上的一种 Web 服务,可帮助你安全地控制用户对 AWS 资源的访问权限。通过 IAM 可以控制哪些人可以使用你的 AWS 资源(身份验证)以及他们可以使用的资源和采用的方式(授权)。 IAM 要功能与特点 Shared access to your AWS accountGranular permissionsSecure access to AWS resources for applications that run on Amazon EC2Identity federationIdentity information for assurancePCI DSS...阅读全文

博文 2019-06-04 20:22:31 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

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

bytes, 0 allocs init errors @0.22 ms, 0.004 ms clock, 0 bytes, 0 allocs init strconv @0.24 ms, 0.002 ms clock, 32 bytes, 2 allocs init sync @0.28 ms, 0.003 ms clock, 16 bytes, 1 allocs init unicode @0.44 ms, 0.11 ms clock, 23328 bytes, 24 allocs ... 要作用是 init 函数跟踪的支持,以用于 init 调试和启动时间的概要分析,算是一个 GODEBUG 的补充功能点。 简化结构体标签 在 Go 语言的结构体中,我们常常会因为各种库的诉求,需要对结构体的...阅读全文

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

Python的闭包和装饰器

定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由变量 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文

博文 2014-07-23 17:06:38 debian.cn

谷歌开源了代码评审规范:好坏代码应这样来判断

表的不同部分,都会有不同的评审者进行细致的审查。当然如果是结对编程,且你的队友能进行高质量的代码评审,那么这样写的代码一般可以视为已经过评审了。此外,我们也可以进行面对面的评审,评审者会问开发者一些问题。 根据谷歌的项目描述,代码审核规范为两套独立文档组成,代表了两方面内容的最佳实践: 代码评审者的指南CL 作者指南 在其中一些文档中使用了一些术语,如下: CL:表示“变更列表 (changelist)”,意思是已经提交到版本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”LGTM:意思是“在我看来不错 (Looks Good to Me)”,这是代码审阅者在批准 CL 时说的 接下来我们来看看两份文档分别的要内容是什么: 1. 代码评审者的指南——如何进行代码评...阅读全文

博文 2019-09-10 17:19:13 debian.cn

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

项目总结报告应该怎么写

每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug数量堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、数据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。​结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原因并提出解决方案;✤提高项目质量,让项目“健康”前行;✤通过数据衡量当前版本的质量,对项目整体情况进行评估...阅读全文

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

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解决证书过期的问题,一般有以下几种方式: 大幅延长证书有效期,短则 10年,长则 100 年; 证书快过期是自动轮换,如 Rancher 的 K3s,RKE2 就采用这种方式; 增加证书过期的监控,便于提早发现证书过期问题并人工介入 本次要介绍关于 Kubernetes 集群证书过期的监控,这里提供 3 种监控方案: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期时间; 使...阅读全文

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

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

)确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。 (4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。 一般,只要解决问题的阶段、状态和状态转移决策确定了,就可以写出状态转移方程(包括边界条件)。 实际应用中可以按以下几个简化的步骤进行设计: (1)分析最优解的性质,并刻画其结构特征。 (2)递归的定义最优解。 (3)以自底向上或自顶向下的记忆化方式(备忘录法)计算出最优值 (4)根据计算最优值时得到的信息,构造问题的最优解 算法实现的说明 动态规划的要难点在...阅读全文

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

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

本文作者从事数据库相关工作接近四十年,最近开始使用 MongoDB。在开始使用 MongoDB 之前,作者希望有些事情自己已经知道。根据一般经验,对于数据库是什么以及它们能干什么,人们会有先入为的认识。为了给他人提供方便,本文列出了一些常见的错误。 本文要点 即使 MongoDB 没有强制要求,设计一个模式还是至关重要。 类似地,在设计模式及访问模式时设计好索引。 避免大对象,尤其是大数组。 谨慎对待 MongoDB 的设置,尤其是关乎安全和稳定性时。 MongoDB 没有查询优化器,因此,对于如何安排查询操作的顺序,你必须格外小心。 创建一个无需身份验证的 MongoDB 服务器 很遗憾,MongoDB 在安装时默认不启用身份验证。在只从本地访问的工作站上,这没什么不好。但是,由于...阅读全文

如何使用 journalctl 清理 journal 日志

下面的逻辑来覆盖默认设置: 配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

博文 2021-02-05 15:43:28 博客园

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

)列表是一个不错的开始。打包前需要考虑:自己是否有足够的知识和能力来维护这个包?在可预见的一段日子里是否有充足的时间和精力来进行 更新和修复 Bug?如果答案都是肯定的,那么就动手把它打包好,期间遇到问题则找人咨询指导。 4. 当经过反复检查和测试,觉得软件包已经比较完善时,寻找一位 Debian Developer 帮你检查和上传软件包,这位 DD 此时便是你的 sponsor。 当找到一位愿意帮忙的 DD 后,他会对你的软件包进行彻底的检查,指出(可能)存在的问题并请你修改。这时要做的就是参考他的意见修改软件包,并把结果再发给他,这是一个极好的学习 会。如此反复若干次后软件包最终会符合 Debian 的标准,之后 sponsor 便会将其上传到 Debian 仓库。需要说明的是,经由...阅读全文

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

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

派的运维需负责运行该系统。 老派的运维通常是伪君子。他们张严苛的 SDLC,然后在维护基础架构时却绕过了同样的 SDLC 。新运维意味着基础架构即代码。配置变化即代码。这两个哪个也没能免于开发人员必须遵守的 SDLC。我们编纂变更请求,使用不可改变的基础架构和 AMI。没经历此进程,我们不会把改变推送到真实环境中。同样地,我们需要对合规性和其他开发人员无法产生共鸣的 SDLC 要求进行编码,编到工具和进程中。进程记录并编纂价值。 老派运维总是同精益思维不一致。它完全是中断驱动——灭火后,一个接一个解决问题。同时,取得平衡非常重要。在集成环境中,使开发者团队能够 SSH 登录进 box 中或者将调试器附加到集合上,会阻止他们正确地调试应用程序吗?会促进痛苦移位吗?在运维思维和开发思维间取得平...阅读全文

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

2017 年会是 Serverless 爆发之年吗

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

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

Gitlab CI 配置文件 .gitlab

,将从项目中使用默认值。 可以设置的值有:clone,fetch,和none。 clone是最慢的选项。它会从头开始克隆整个仓库,包含每一个job,以确保项目工作区是最原始的。 variables: GIT_STRATEGY: clone 当它重新使用项目工作区是,fetch是更快(如果不存在则返回克隆)。git clean用于撤销上一个job做的任何改变,git fetch用于获取上一个job到现在的的commit。 variables: GIT_STRATEGY: fetch none也是重新使用项目工作区,但是它会跳过所有的Git操作(包括GitLab Runner前的克隆脚本,如果存在的话)。它要用在操作job的artifacts(例如:deploy)。Git数据仓库肯定是存在的,但...阅读全文

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

最全 MongoDB 基础教程

版本 weights document 索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重 default_language string 对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语 language_override string 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language MongoDB聚合 MongoDB聚合(aggregate)要用于处理数据(诸如统级平均值、求和等), 并返回计算后的数据结果。有点类似sql语句中的count(*) aggregate() 方法 语法 db.COLLECTION_NAME.aggregate...阅读全文

博文 2021-02-22 07:45:45 OSChina