InfraPub 为您找到相关结果 323

Python的闭包和装饰器

回绑定变量后的函数(也即闭包),此时即便生成闭包的环境(父函数)已经释放,闭包仍然存在,这个过程很像类(父函数)生成实例(闭包),不同的是父函数只在调用时执行,执行完毕后其环境就会释放,而类则在执行时创建,一般程序执行完毕后作用域才释放,因此对一些需要重用的功能且不足以定义为类的行为,使用闭包会比使用类占用更少的资源,且更轻巧灵活,现举一例:假设我们仅仅想打印出各类动物的叫声,分别以类和闭包来实现: 可以看到输出结果是完全一样的,但显然类的实现相对繁琐,且这里只是想输出一下动物的叫声,定义一个 Animal 类未免小题大做,而且 voice 函数在执行完毕后,其作用域就已经释放,但 Animal 类及其实例 dog 的相应属性却一直贮存在内存中: 而这种占用对于实现该功能后,则是没有必要...阅读全文

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

十个增加 Linux Shell 脚本趣味的小工具

-Windows 系统发送消息 smbclient可以和 SMB/CIFS服务器通信。它可以向MS-Windows系统的指定用户发送消息: smbclient -M WinXPPro < 或者 echo "${Message}" | smbclient -M salesguy2 10. Bash Socket 编程 你可以在bash中开启一个socket链接,并且传输数据。Bash有两个特殊的设备: /dev/tcp/host/port - 如果hostname,和port是合法的话,bash会尝试开启一个TCP连接。 /dev/udp/host/port - 如果hostname和port是合法的话,bash会开启一个UDP连接。 你可以利用这个技术来测试一台主机的端口是否是开启的,而不需要使用...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Golang常见的十大算法精简版

} /*** * go特有变量交换 */ func SwapGo(list []int, i, j int) { list[i],list[j]=list[j],list[i] } /*** * go变量高阶交换(不推荐,一般不好理解) */ func SwapGoAdvanced(list []int, i, j int) { list[i]=list[i]+list[j] list[j]=list[i]-list[j] list[i]=list[i]-list[j] } 运行排序方法 使用终端执行go get github.com/e9ab98e991ab/go-algorithm执行touch main.go执行vim main.go拷贝下方代码块代码到main.go中wq保存后直接执行go run...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Debian 10 Buster 正式版即将发布

经被细分成为组件。要安装整个软件栈,可以安装 mailman3-full 来获取所有组件。 已有的 Postgresql 数据库都需要重新索引 由于 glibc 本地数据的更新,放入文本索引中的信息排序的方式将会改变,因为重新索引是有益的,这样在将来就不会有数据破坏发生。 默认 Bash 5.0 你可能已经了解了 Bash 5.0 的新特点 ,在 Debian 中已经是该版本了。 实现了 /usr/merge 我们已经分享过一个优秀的 freedesktop 读物 ,介绍了 /usr/merge 带来了什么。有一些事项需要注意。当 Debian 想要整个过渡时,可能由于未预见的情况,一些二进制可能并没有做这些改变。需要指出的一点是,/var 和 /etc 不会被触及,因此使用容器或者云技...阅读全文

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

Kubernetes v1.21 新特性预览

,卷上的典型操作(如快照、克隆、扩展等)也被支持。Kubelet 内存控制策略 Alpha内存控制策略是 Kubelet 在 v1.21 中新增的一个 Alpha 特性,用于为 Pod 提供 NUMA 内存。Kubelet 新增了 --memory-manager-policy 用于配置内存控制策略,它支持两个策略:默认策略是 none,等同于内存控制策略未开启;static 策略:为 Pod 分配 NUMA 内存并确保 Guaranteed Pod 预留足够的内存(Kubelet 状态保存在 /var/lib/kubelet/memory_manager_state 中)。image.pngServiceLoadBalancerClass Alpha以前 LoadBalancer 类型的...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

你应该选择Cinnamon作为Linux桌面环境的十个理由

。 我们还可以在其中找到“Create New Document”选项,借此在~/Templates目录中创建一个文档模板并列出现有模板选项。它使用的是用户默认的办公应用,我个人选择了LibreOffice。 8. 多工作区。Cinnamon与其他桌面环境一样提供多桌面功能,并将其称为“工作区”。工作区选择器位于Cinnamon面板中,且会显示每个工作区的窗口缩略图。不过,我发现工作区选择器有时候无法及时跟上窗口的显示位置,所以我通过调整让选择器仅显示工作区数量,而非工作区内的具体窗口。 9. Nemo。大多数桌面都会使用自己的默认应用,Cinnamon也是如此。我个人最喜爱的桌面管理器是Krusader,但Cinnamon默认使用Nemo,所以我对它进行了测试。Nemo确实相当出色,界面干...阅读全文

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

2017 年会是 Serverless 爆发之年吗

、API 应用相同的上下文中运行程序或脚本。可以上传并运行可执行,例如 cmd、bat、exe、psl 等等。WebJobs 提供 SDK 用于简化针对 Web 作业可以执行的常见任务,例如图像处理、队列处理、RSS 聚合、维护,以及发送电子邮件等等。 Serverless 架构原则 按需使用计算服务执行代码 Serverless 架构是 SOA 概念的自然延伸。在 Serverless 架构中,所有自定义代码作为孤立的、独立的、细粒度的函数来编写和执行,这些函数在 AWS Lambda 之类的无状态计算服务中运行。开发人员可以编写函数,执行常见的任务。在比较复杂的情况下,开发人员可以构建更复杂的管道,编排多个函数调用。 编写单一用途的无状态函数单单负责处理某一项任务的函数很容易测试,并稳...阅读全文

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

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

能清楚地记住不同工作流程的所有细节。每当我遇到一个与我的工作方式截然不同的包时,我就会非常沮丧,我不得不重温日常工作的各个方面。 在注意到Go包团队(我最初的团队)工作流程的支离破碎后,我尝试采用这篇文章(https://go-team.pages.debian.net/workflow-changes.html)中介绍的工作流程更改提议来解决这个问题,但没能成功。虽然我愿意贡献时间和精力,但周围的工具缺乏有效的自动化,且变化速度缓慢,这抹杀了我的动力。 陈旧的基础设施:包的上传 如果想在Debian中创建包,你需要通过匿名FTP上传GPG签名的。还有几个定时(例如dinstall的运行时间为UTC 01:52、UTC 07:52、UTC 13:52和UTC 19:52)运行的批处理作业...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

“Debian 章程有毒” - OSCHINA

些代表有权力在考虑技术标准和共识的情况下做出他们认为最佳的决定。 至于 Debian 社区的项目层面,DPL 更是无权过问,每个项目的开发者都对项目有百分百的决定权。比如,个别开发者几乎可以完全控制他们维护的软件包;开发人员之间的技术分歧很大的时候,将由项目技术委员会处理;发布管理者与 FTP 主人有权最终决定项目实际发布的内容,以及何时发布;项目秘书负责确保遵循必要的程序;政策团队处理项目的大部分总体设计。 其次,DPL 是可以随时进行更换的,因为有一般决议(General Resolution)这样的通道,开发者们可以重新选举另外的 DPL、撤销 DPL 或代表的决定、修改基本并做出其他有约束力的决定。(如下图所示) 那么,DPL 到底是干什么的呢?主要分为两个方面: 在对外职能中...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

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

的灵感有一部分也来自于 Linux。 事实上 Debian 的子任务思路就是继承了 Linux 的理念。有些人负责写系统,有些人负责写驱动程式。就算你不过是路人甲,你要是给 Linux 编写一套新的系统然后发给 Linus,说不定就你写的东西就真的被采用了。 所以我希望 Debian 的用户也能够毫无顾忌地给我们提意见,比如「嘿你知道吗,我觉得在 Debian 的系统里加这个软件包会超赞的。」我觉得这是件大好事,因为只要跟着我们发布的系统模型走,用户是完全有可能开发出自己的软件包的。而且如果你遵循我们的指南和标准,那你的软件包在我们的系统上运行应该不成问题。 Deb-Ian 这个名字的来源想必已是众所周知的了;Murdock 在 1999 年告诉我, 我妻子叫 Deb,我叫 Ian...阅读全文

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

Debian 向左:或将迎来根本性改革 - OSCHINA

决定离开贡献18年之久的 Debian。促使他离开的直接原因是,Debian 社区对于是否接受 systemd(一种 init 进程)争执不下。这件事引起了 Debian 内部长达数年的争论,至今仍然没有定论。 当然,systemd 事件仅仅是一个引子,Joey 已经感受到了 Debian 社区背后所隐藏的某种“病态”。 “ 我第一次感觉到 Debian 的这种(病态),是在 Debian 改变‘ /usr/doc’这一错误的保存路径(系统的标准要求被保存在‘usr/share/doc’中)的时候,完成这样一个再简单不过的操作更改,Debian 居然花了6年之久。” 在 Joey Hess 看来,这实在太荒诞了。 要知道,Joey 并不是为此离开的第一位前辈。此前,Matthew...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文

博文 2018-05-01 23:10:47 debian.cn

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

资源,从而获取虚拟货币的一种程序,需要较高的硬件配置及用电量。 而单凭一个矿工的力量是挖不到比特币的。于是“安某”便想到可以利用自己的职务之便利用百度的服务器来开启自己的发家致富之路,只是他可能没想到的是事情会败露的这么快。 那么,他具体是怎么做的呢? 首先,他用自己的工作账户上传了一个压缩 miner.tar.gz ,其中包含一个名为 java_4u3 的脚本, 而这个脚本可以自动执行解压缩、创建目录、删除目录、自动连接代理进行网络交换,达到控制服务器的目的。 然后,编译了一个挖矿程序,并将上述程序部署非法控制了百度的 155 台服务器上,利用公司为其配备的苹果电脑上的 iterm 软件控制所有服务器的中控机,通过中控机上传挖矿脚本,并通过 iterm 软件发出批量下载指令,让 200...阅读全文

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

SVN切换分支用法汇总

参考这些命令,来更好地管理自己的代码仓库。1. svn switchsvn switch URL [PATH] 该命令的作用是将工作副本切换到URL的版本。如果指定了PATH,则该命令会将PATH指定的目录切换到URL的版本。如果省略PATH,则该命令将当前工作目录切换到URL的版本。2. svn checkoutsvn checkout URL [PATH] 该命令的作用是将URL指定的版本库checkout到PATH指定的本地目录。如果省略PATH,则该命令会在当前目录下创建一个与URL同名的本地目录,并在其中checkout版本库。3. svn listsvn list URL 该命令的作用是查看URL指定的版本库中的和目录。4. svn movesvn move old_URL...阅读全文

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

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

减轻用户迁移到 K8S 的负担。 目前 UK8S 插件还属于正在整理开源的阶段,还没有正式的发布,但我们已经小范围的开放了代码,把我们的插件代码分发给到很多用户,但公开的开源,我们希望做的更加规范一点再进行,因为我们的插件还在不断的迭代中,有一天我们觉得达到一定程度的稳定了,我们就会进行公开开源。 记者:你认为未来 K8S 以及容器的技术方向上比较值得重点关注的技术点是什么? 叶理灯:虚拟化容器。未来的方向我们相信是 Serverless,这个也是云计算应该做的,持续地为了用户提高效率和降低成本。刚才我也说了,现在用户使用 K8S 还是有资源管理的负担的,不是完全的面向应用来运维,所以需要解决这个问题,让计算节点对用户透明。用户通过 Docker 镜像和配置就可以把一个应用跑起来,而不用...阅读全文

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

Cortex: 高可用和水平扩展Prometheus监控系统

复制。有三个Prometheus配置。它们具有外部标签,在执行远程写入时将标签添加到所有指标。Prometheus1和Prometheus3容器写入Cortex1,而Prometheus2容器写入Cortex2。我们将在Cortex3上运行查询。以下代码片段显示了三个Prometheus实例的配置差异。# Prometheus one global: # ... external_labels: cluster: two # ... remote_write: - url: http://cortex2:9009/api/prom/push # Prometheus two global: # ... external_labels: cluster: two...阅读全文

博文 2021-10-09 17:00:22 知乎

Debian 相比 Ubuntu 有哪些不同之处

的版本。为Debian编写的软件几乎总是有面向Ubuntu的版本,因为Ubuntu的程序包来自Debian的软件库。由于Debian的发布周期慢,Ubuntu的软件还通常比Debian的软件来得更新颖。不过其优点是,Debian往往更稳定,经过更全面的测试。 提醒一句:别想当然地以为共同的起源让两者程序包可以相互兼容;因为虽然许多程序包可以同时安装到Ubuntu和Debian上,但大约20%的Ubuntu程序包与Debian不兼容的可能性相当大,那是由于名称和位置不一样。 社区方面的区别 对于从事开发工作的用户来说,Ubuntu社区和Debian社区也是他在选择时需要考虑的一个因素。众所周知,Debian常常事无巨细地讨论一切,尤其是有争议的话题,甚至会进入集体表决的地步。 近些年来...阅读全文

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

如何写好技术文档 — 来自十多年的文档经验总结

自己遇到了什么问题,就是来找解决方案的。还有一批人只有一个简单的想法,但不知道具体的问题。举个例子,以读数据库慢为例,前者已经知道数据库慢可能是因为数据量巨大且没有加索引,解决方案很简单 加索引,这时候他可能需要知道的是如何正确地加索引。而后者可能着重关注的是为什么读数据库会慢,这时候你可能需要额外重点介绍下数据库相关的原理。 ## 清晰的分类 ## 文档大致可以分为以下几种类型,每种类型也有自己不同的特点和写作侧重点。 ## 参考文档 ## 参考文档也是大部分开发人员日常会使用和书写的文档,比如我们使用某个框架或者工具,都会有API说明文档,这就属于参考类文档。 它并没有太多的要求,只要能向读者展示清楚如何使用即可,但无需向读者讲明具体的实现。 注:参考文档并不仅限于API文档,还包括...阅读全文

博文 2021-07-30 16:15:13 joseph

分布式运行时 Dapr 知多少

bindings and triggers (资源绑定及事件触发) Dapr的Bindings与Azure Functions很类似,其是建立在事件驱动架构的基础之上的。通过建立触发器与资源的绑定,可以从任何外部源(例如数据库,队列,系统等)接收和发送事件,而无需借助消息队列,即可实现灵活的业务场景。Dapr的Bindings分为两种: Input Bindings(输入绑定):当外部资源的事件发生时,借助输入绑定,你的应用即可通过特定的API:POST http://localhost:/收到外部资源的事件,用于处理特定逻辑。Output Bindings(输出绑定):输出绑定允许你调用外部资源。比如,在订单处理场景中,在订单创建成功后,可以将订单信息通过Dapr的绑定...阅读全文

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

打印“Hello World!”,进而要他们记忆 printf 的各种“格式字符”的意义,要他们实现各种复杂格式的打印输出,甚至要求打印到文本里,然后再读出来…… 可是殊不知,这种输出输入操作其实根本不算是语言的一部分,而且对于掌握编程的核心概念来说,都是次要的。有些人的 Java 课程进行了好几个星期,居然还在布置各种 printf 的作业。学生写出几百行的 printf,却不理解变量和函数是什么,甚至连算术语句和循环语句都不知道怎么用!这就是为什么很多初学者感觉编程很难,我连 %d,%f,%.2f 的含义都记不住,还怎么学编程! 然而这些野鸡大学的“教授”头衔是如此的洗脑,以至于被他们教过的学生(比如我女朋友)到我这里请教,居然骂我净教一些没用的东西,学了连 printf 的作业都没...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

依靠 Checkpoint 机制,进行二阶段提交,从而保证数据的 Exactly-once 一致性。 具体可以这样说:在 Checkpoint 过程中,每个算子只会进行准备提交的操作。比如数据会提交到外部的临时存储目录下,所有任务都完成这次 Checkpoint 后会收到一个信号,之后才会执行正式的 commit,把所有分布式的临时一次性以事务的方式提交到外部系统。 这种算法在当前有限流的情况下,作业结束后并不能保证有 Checkpoint,那么最后一部分数据如何提交? 在 1.14 中,这个问题得到了解决。Task 处理完所有数据之后,必须等待 Checkpoint 完成后才可以正式的退出,这是流批一体方面针对有限流任务结束的一些改进。 三、checkpoint 机制 1. 现有...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

读取。用户态进程读取这些数据后,进一步关联 Kubernetes 元数据后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种内核事件,如读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在内核上做监测的好处是应用不需要变更,也不需要重新编译内核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的解决方案会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证内核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈空间当前为 512、最...阅读全文

博文 2022-03-21 09:11:51 joseph

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

境传输提供保障: 若缺少上述“充分性认定”,控制者或者处理者当且仅当其提供了适当的保障时,可以将个人数据传输给第三国及国际组织。 这种“适当的保障”可以通过以下几种方式提供: (a)在公共机构或团体之间有法律约束力和执行力的; (b)由欧盟委员会通过的标准数据保护条款(即《欧盟数据跨境转移协议模板(SCC)》所设定的条款,内容一般不可变更); (c)由监管机构通过、并由欧盟委员会批准的数据传输方和接收方之间签订的特定标准数据保护协议(即“Ad-hoc data protection clauses”,与上述“SCC标准模板”相互区分。但截至2018年尚未有欧盟成员国的数据保护监管机构批准这类协议); (d)代表不同种类的控制者和处理者的协会和其它机构可以制定行为准则(Code of...阅读全文