InfraPub 为您找到相关结果 425

Python的闭包和装饰器

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

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

本田 40GB 数据险遭泄漏 因云端数据库未设密

InfoQ 此前的粗略统计,仅 2019 年 2 月份,就发生了六起数据泄漏事件,而原因均是:Elasticsearch 服务器没有密码保护。即便是使用云端服务,企业也不可将数据安全的责任全部押到云厂商身上,云厂商只可以在有限的权限范围内提供安全防护,企业还是需要具备安全意识。 Elasticsearch 中文社区深圳分会杨振涛此前在接受 InfoQ 采访时表示:“不少开发人员及其团队在知上更多地把 Elasticsearch 看成是与 MySQL 同等的存储系统,所以在部署以后并没有太多地关心其访问控制策略和数据安全。而且 Elastisearch 开箱即用的特点也让开发和运维人员放松了对安全的重视。” 对于避免 Elasticsearch 在使用时发生数据泄露,杨振涛给出了几个最基本的低成本措...阅读全文

DevOps 越来越流行,2019 年这八大趋势值得关注

从我们为 DevOps 只是一个流行语开始,它已经发展了很长的一段时间。现在,DevOps 已经成为了一个主要焦点,并在过去几年一直在塑造着软件世界。专家表示,DevOps 将成为主流,它的流行程度将在 2019 年达到顶峰。 根据 2018 年《DevOps 现状报告》,DevOps 精英级执行团队代码部署频率和发布速度更高,变更故障率更少,事故恢复时间更短,同时高效能团队的比例逐年增长,采用 DevOps 的团队越来越多。 而 Stack Overflow2018 年的薪资计算器报告显示,全球 DevOps 专家的收入最高,美国 DevOps 专家的年薪中位数接近 10 万美元。 以下是“DevOps”一词的 Google Trends 以及 2019 年的预计增长假设。 从统计数据...阅读全文

博文 2018-12-10 22:49:57 debian.cn

三星谈论下一代DRAM解决方案:GDDR7、DDR5、LPDDR5X和V-NAND

列。Exynos 2200采用最先进的4纳米(nm)EUV(极紫外光刻)工艺,ISOCELL HP3的像素尺寸比上一代产品的0.64μm小12%,可以使摄像头模块的表面积减少约20%,使智能手机制造商能够保持其高端设备的纤薄。三星展示了其ISOCELL HP3的实际应用,向技术日的与会者展示了用20万像素传感器相机拍摄的照片质量,并展示了System LSI用于生物识别支付卡的指纹安全IC的工作原理,该IC结合了指纹传感器、安全元件(SE)和安全处理器,为支付卡增加了额外的证和安全层。存储器业务亮点今年是三星在DRAM和NAND闪存领域分别领先30年和20年的一年,三星发布了第五代10纳米级(1b)DRAM以及第八代和第九代垂直NAND(V-NAND),肯定了该公司在未来十年继续提供最强大...阅读全文

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

? Linux 系统当时的分割方式基本就是磁盘分割。所以如果你下载了所有的磁盘的话,某种意义上你也就下载了一套 Linux 系统。我们为这个方法不够好,我们要用更适合分工开发的法子来。 我们决定 Debian 的系统开发由资源包来。也就是说,系统的每一个内容、每一个板块都会以资源包的形式存在,这些资源包能够自动整合成一个完整的系统。你下载了这个资源包的时候,它就知道如何移除自己或是升级自己。 分工也一样按照资源包来,哪个资源包出错了就能非常明确地知道是谁的责任。我们会在开发时设定标准和规定,保证任何来源的资源包都能在我们的系统上照常运行。所以你只要下载全资源包,你就有了一整个系统。这感觉就像手工布艺一样,把很多布片拼成一整个作品,只不过实际上原理要比这复杂不少。 当然 Debian 项目的资源包分割法...阅读全文

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

2017 年会是 Serverless 爆发之年吗

站)。一般来说包含客户端、服务端程序、数据库,服务端用 Java 开发完成,客户端用 JavaScript。 采用这种架构,服务端需要实现诸多系统逻辑,例如证、页面导航、搜索、交易等都需要在服务端完成。如果采用 Serverless 架构来对该应用进行改造,则架构如图所示: Serverless 架构相比于传统面向客户端的三层应用架构,有以下几方面的差异: 删除证逻辑,用第三方 BaaS 服务替代; 使用另外一个 BaaS,允许客户端直接访问架构与第三方(例如 AWS Dynamo)上面的数句子库。通过这种方式提供给客户更安全的访问数据库模式; 前两点中包含着很重要的第三点,也就是以前运行在服务端的逻辑转移到客户端中,例如跟踪用户访问。客户端则慢慢转化为单页面应用。 计算敏感或者需要访问...阅读全文

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

Web前端知识体系精简

中的字段,Cache-Control 是 HTTP1.1 标准中新加的字段,功能一样,都是控制缓存的有效时间。当这两个字段同时出现时,Cache-Control 是高优化级的。 Etag 也是和 Last-Modified 一样,对文件进行标识的字段。不同的是,Etag 的取值是一个对文件进行标识的特征字串。在向服务器查询文件是否有更新时,浏览器通过 If-None-Match 字段把特征字串发送给服务器,由服务器和文件最新特征字串进行匹配,来判断文件是否有更新。没有更新回包304,有更新回包200。Etag 和 Last-Modified 可根据需求使用一个或两个同时使用。两个同时使用时,只要满足基中一个条件,就为文件没有更新。 另外有两种特殊的情况: 手动刷新页面(F5),浏览器会直接...阅读全文

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

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

,Trace 被为是 Span 的有向无环图(DAG)。官方也例举了以下 8 个 Span 的因果关系和他们组成的单 Trace示例图: 在当时, OpenTracing 相关的开源社区也是异常活跃,它使用 Jaeger 来解决数据的收集,调用链则使用了甘特图展示: 在 OpenTracing 生态中,我们对链路的采样使用头部采样策略, 对于指标 Metrics,OpenTracing 并没有制定它的规范,但在 Google SRE Book 里,关于 Monitoring Distributed System 章节中提到了四类黄金指标: 吞吐量:如每秒请求数,通常的实现方式是,设定一个计数器,每完成一次请求将自增。通过计算时间窗口内的变化率来计算出每秒的吞吐量。 延迟:处理请求的耗时。 错误率/错...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

案有如下优势: 可以优化数据模型,让数据更容易被消费。大多数数据模型避免冗余,因为冗余会让写入者一致性地编辑数据变得困难。因为我们的模型不允许编辑数据,所以可以生成重复的信息。这样,消费者那边的逻辑可以比较简单——比如,它们不需要特殊逻辑来找出某个字段的值存储在哪里,而只需要依赖扩展后的数据就可以了。和已有配置的集成。这是创建自己的生成pipeline的主要驱动力。在实践中,用户已将Prodspec与大量配置格式和实践集成在一起。“真相来源”可以针对人工或编程编辑进行优化。这很有用,因为我们需要用和配置Google Maps前端完全不同的方式来配置网络交换机。例如,你可能希望同时变更所有前端服务器的二进制版本。使用简单的数据库方案时,这需要编辑每个asset,从而导致潜在的不一致性,特别...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Apache Flink 1.14 新特性预览 - OSCHINA

作为社区 RoadMap 的重要组成部分,是大数据实时化必然的趋势。但是另一方面,传统离线的计算需求其实并不会被实时任务完全取代,而是会长期存在。 在实时和离线的需求同时存在的状态下,以往的流批独立技术方案存在着一些痛点,比如: 需要维护两套系统,相应的就需要两组开发人员,人力的投入成本很高; 另外,两套数据链路处理相似内容带来维护的风险性和冗余; 最重要的一点是,如果流批使用的不是同一套数据处理系统,引擎本身差异可能会存在数据口径不一致的问题,从而导致业务数据存在一定的误差。这种误差对于大数据分析会有比较大的影响。 在这样的背景下,Flink 社区定了实时离线一体化的技术路线是比较重要的技术趋势和方向。 Flink 在过去的几个版本中,在流批一体方面做了很多的工作。可以为 Flink...阅读全文

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

aptitude 与 apt

起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现后,人们为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为 dpkg。至此着名的package首次在GNU/Linux上出现。不久之後红帽子也开始着手建立自己的包管理系统 rpm。 GNU/Linux的创造者们很快又陷入了新的窘境。他们希望通过一种快捷、实用而且高效的方式来安装软件包。这些软件包可以自动处理相互之间 的依赖关系,并且在升级过程中维护他们的配置文件 。Debian又一次充当了开路先锋的角色。它首创了APT(Advanced Packaging Tool)。这一工具后来被Conectiva 移植到红帽子系统中用于对RPM包的管理。在其他...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

Debian Live 项目的剧变

Williams 却坚持为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里面」),但是完成这件事还需要很大的努力。 我向已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在进行以收集反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文

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

Intel 为啥要给 ARM 代工

日前,Intel 公开表示将为 ARM 阵营 IC 设计厂商代工生产芯片。且还公开叫板“友商”,称 Intel 的 10nm 工艺比三星、台积电的 10nm 工艺更具优势。ARM 方面表示很期待与英特尔合作。此外,不知道是否因为台积电和三星制造工艺注水的问题,Intel 的专家 Mark Bohr 还发布了一个更合理的衡量半导体工艺水平的公式。那么,Intel 缘何开始为 ARM 阵营 IC 设计公司代工芯片,Intel 提出的新计算公式能得到台积电、三星、格罗方德等代工大厂的同么? Intel 罕有为第三方提供代工业务 一直以来,虽然台积电在芯片代工领域的市场份额独占鳌头,但在芯片制造工艺上,Intel 始终掌握着最先进的技术。举例来说,虽然同样是 14nm 制造工艺,三星的 14nm...阅读全文

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

架构师详解 Nginx 架构

,主进程和工作进程需要进程交互。交互依赖于 Socket 实现的管道来实现。 Master-Worker 交互 这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程 ID 等;同时主进程与外界通过信号通信;每个子进程具备接收信号,并处理相应的事件的能力。 worker-worker 交互 这种交互是和 Master-Worker 交互是基本一致的,但是会通过主进程。工作进程之间是相互隔离的,所以当工作进程 W1 需要向工作进程 W2 发指令时,首先找到 W2 的进程 ID,然后将正确的指令写入指向 W2 的通道。W2 收到信号采取相应的措施。 五. 总结 通过这篇文章,我们对 Nginx 服务器的整体架构有了一个整体的识。包括其模块化的设计...阅读全文

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

Spinnaker 介绍 – Netflix 的持续交付平台

。每个服务都将自己的运行指标推送到 Atlas 中,用于绘制仪表盘和报警。Atlas 是Netflix的一个内存时间序列数据库。每个服务都将自己的日志发送到 ELK 集群中。每个内部服务除了deck 和 gate 必须用 mutual TLS,并且证书和证通过 Lemur 进行管理。不允许任何外部流量进入内部服务中。所有的 API 调用必须经过 gate。每个外部服务(除了gate)都要支持 mTLS 或者 SSO。如果某个服务有数据存储的需求,那么只能存在自己的数据库中,服务之间不共享数据存储。 为了保证兼容性,Spinnaker 在开发过程中还会准守一些准则: 保证足够的单元测试和覆盖率。在 code review 的时候特别注意是否会破坏API兼容性。7×24 不间断的执行集成测试。有...阅读全文

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

隐私声明

加公共论坛讨论或直接联系本网站),在您的同意及确下,我们可能会以线上或线下注册表格的形式要求您提供如下个人资料和信息: • 具体信息,比如姓名,年龄,出生日期,电子邮箱,手机号码等; • 一般性信息,比如您的性别,年龄,职业,兴趣爱好等; • 仅在特定情况下(比如您需要付费才能享有的服务或产品,或参加本网站参与或组织的抽奖或竞赛活动),我们会要求您提供个人付款信息和身份证件信息,比如信用卡号码或身份证及护照号码。 我们自动收集的信息。 当您浏览本网站时(不管是否注册或登录),本网站可能自动收集与您相关的如下信息: 请注意,本隐私权声明不适用于任何向您提供服务的第三方主体,包括那些可能向本网站披露信息的第三方。 您的浏览器类型和浏览器语言、操作系统类型、宽...阅读全文

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

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

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

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

任何类型的向后兼容的“增量”语言特性变更,因为他们为无论变更多么小,都要有更全面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性变更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还合并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文

SVN切换分支用法汇总

path:"中输入目标分支的远程地址,例如http://localhost/branches/develop/。Step 3:单击“OK”按钮,等待操作完成即可。四、SVN切换分支常见问题处理在使用SVN进行分支切换的过程中,可能会遇到一些常见的问题。为了方便大家解决这些问题,下面列举了一些经常遇到的问题及其解决方法:1. SVN switch的URL地址错误在使用SVN switch命令进行分支切换时,如果URL地址有误,可能会导致切换分支失败。此时,可以按照以下步骤进行处理:Step 1:检查URL是否正确;Step 2:确URL地址是否可以访问。2. 更新操作失败在进行分支切换的过程中,可能会遇到更新操作失败的问题。这时,我们可以使用以下方法来解决这个问题:Step 1:检查网络连接是否正...阅读全文

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

聊聊很重要的内核技术eBPF

查是BPF程序的空运行。这意味着验证者将尝试分析程序将要执行的每条指令,以确保它不会执行任何无效的指令。此执行还将检查所有内存指针是否均已正确访问和取消引用。最后,空运行向验证程序通知程序中的控制流,以确保无论程序采用哪个控制路径,它都会到达BPF_EXIT指令。为此,验证程序会跟踪堆栈中所有访问过的分支路径,并在采用新路径之前对其进行评估,以确保它不会多次访问特定路径。经过这两项检查后,验证者为程序可以安全执行。 3) hook : 由于eBPF是事件驱动的,所以ebpf是作用于具体的hook的。根据不同的作用,常用的有XDP,trace,套接字等。 4)帮助函数:eBPF程序无法调用任意内核功能。允许这样做会将eBPF程序绑定到特定的内核版本,并使程序的兼容性复杂化。取而代之的是...阅读全文

博文 2020-08-16 11:08:44 debian.cn

最全的 DevOps 工具集合

一地点的容器的集合,共同组成部署和调度服务。与基于基于相似性的容器协同调度机制(如 Swarm 和 Mesos)相比,这种方法简化了集群的管理。 Kubernetes 调度程序的任务是监视 PodSpec 为空的 Pod。NodeName 赋予一个值,以将容器调度在集群中的某个位置。 这是与 Swarm 和 Mesos 不一样的地方,因为 Kubernetes 允许开发人员在运行 Pod 时通过定义 PodSpec.NodeName 来绕过调度程序。 调度程序使用谓词和优先级来定义容器应运行的节点。这些参数的值可以使用新的调度程序策略配置覆盖。 如果使用命令行标志 policy-config-file 指向描述启动 Kubernetes 时要使用的谓词和优先级的 JSON 文件,调度程序...阅读全文

博文 2021-05-26 14:35:21 博客园

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

地实现了进程监测这样的需求。所以,eBPF 可编程的执行引擎非常适合用来将增强可观测性,将丰富的内核数据采集上来,通过关联业务应用,方便问题排查。​三、从监测系统到可观测性随着云原生浪潮,可观测性概念正深入人心。但仍离不开日志、指标、链路这三类可观测领域的数据基石。做过运维或 SRE 的同学经常遇到这样的问题:半夜被拉到应急群里,披头盖地地被质问为什么数据库不工作了,在没有上下文的情况下,无法立刻抓住问题核心。我们为好的可观测性平台应该帮助用户很好地反馈上下文,就像 Datadog 的 CEO 说的那样:监测工具不是功能越多功能越好,而是要思考怎样在不同团队和成员之间架起桥梁,尽可能把信息放在同一个页面中(to bridge the gap between the teams and...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

因为如果攻击者利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和监控。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地为他们声称的就一定是事实,让我们来看看它的镜像是否更小。 先修改...阅读全文

博文 2018-09-06 10:50:29 debian.cn

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

写给五年陈的自己 写周报,写的兴起,编写周报,还边用虎跑泉,泡铁观音喝。自己写周报的**惯还是要改一改,自己是个性情中人,写个周报也透露了太多情感在周报里。有很多人肯定觉得不好,也许以后我也会改,改的越来越干练,掏心的话少说。 兴奋了,喝了茶,睡不着了。灵感闪动,本周是个值得纪念的日子,写个文章纪念下过去。 回想这一路路走来,还是很感恩收获的一切,我渐渐从一名菜鸟,成长为一位架构师,记得毕业的时候我给自己定的目标是:五年要成为一方面的专家。虽然,实际的成长比这个慢了两年,但是我还是庆幸自己当初果断的裸辞,然后进入支付宝。 每个架构师都是独立无二的,每个架构师都应该有自己的情怀,这些情怀是你的世界观。 我是如何成长为一个架构师的,我姑且给自己定的 title 就是架构师,不要为有架构师的...阅读全文

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