Debian、Ubuntu安装源配置文件说明
」。 Debian 多媒体源 一些多媒体软件因牵涉到版权问题,包括硬件解码器,Debian 官方并未收录,有一网站专门填补该空缺,见 http://www.deb-multimedia.org。 最后忠告:不要同时启用多个源,同一仓库的源启用一个即可,否则容易引起混乱。以下实例便是列有多套而仅启用一套。...阅读全文
」。 Debian 多媒体源 一些多媒体软件因牵涉到版权问题,包括硬件解码器,Debian 官方并未收录,有一网站专门填补该空缺,见 http://www.deb-multimedia.org。 最后忠告:不要同时启用多个源,同一仓库的源启用一个即可,否则容易引起混乱。以下实例便是列有多套而仅启用一套。...阅读全文
在Reddit上有人表示把42TB的普通存储(没有组RAID或者其他)全部采用Btrfs技术,通过把ext4文件系统迁移到Btrfs至少节省了5TB的存储空间。尽管已经开发了相当长时间,但是鲜有发行版把Btrfs当作默认的文件系统,目前SUSE企业版把Btrfs作为系统默认的文件系统。Linux.com日前采访了Btrfs的主要贡献者Chris Mason,通过他的讲述透露了社交巨头Facebook使用Linux内核与Btrfs文件系统的大量细节。 Chris Mason是开源文件系统项目Btrfs的主要贡献者,Mason最初在Oracle从事Btrfs的开发,后来他加入社交巨人Facebook的Linux内核技术小组继续从事Btrfs文件系统的研发工作。当Facebook需要升级新内核的...阅读全文
务,可根据业务事件灵活触发。 16、任务进度监控:支持实时监控任务进度; 17、Rolling 实时日志:支持在线查看调度结果,并且支持以 Rolling 方式实时查看执行器输出的完整的执行日志; 18、GLUE:提供 Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持 30 个版本的历史版本回溯。 19、脚本任务:支持以 GLUE 模式开发和运行脚本任务,包括 Shell、Python、NodeJS、PHP、PowerShell 等类型脚本; 20、命令行任务:原生提供通用命令行任务 Handler(Bean 任务,”CommandJobHandler”);业务方只需要提供命令行即可; 21、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后...阅读全文
注释,后面的Entity表示该注释的名称。 注释的元素 一个注释可以包含多个可以被赋值的元素。一个元素就像是一个属性或者参数。下面是一个包含一个元素的注释 @Entity(tableName = "vehicles") 元素紧跟在注释之后,并放置在圆括号中,没有元素的注释,不需要圆括号。注释可以包含多个元素,当只包含一个元素时,可以省略元素名,只提供元素值既可,如下: @InsertNew("yes") 注释的位置 你可以将注释放置到类、接口、方法、方法参数、成员变量、局部变量之前。下面是一个将注释放到类之前的例子: @Entity public class Vehicle { } 下面是一个更大的例子,演示了在类、成员变量、方法、参数以及局部变量之前添加注释。仅作演示之用,并没有什么特别的...阅读全文
最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文
谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如下: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文
有很多理由可以选择 Debian 作为您的操作系统——作为用户、作为开发者,甚至是在企业环境中。大多数用户称赞它的稳定性,以及软件包和发行版的平滑的升级过程。Debian 也被软件和硬件开发人员广泛使用,因为它能运行在众多架构和设备上,提供了一个公开的缺陷跟踪系统,以及面向开发人员的其他工具。如果您在专业环境中使用 Debian,您还可以享受到诸如 LTS 版本和云映像带来的额外好处。对我而言,使用 Debian 的原因是它完美的易用性和稳定性。这些年来,我使用了各种不同的发行版,但是 Debian 是唯一一个能够完美使用的发行版。NorhamsFinest 在 Reddit 上写道面向用户的 DebianDebian 是自由软件。Debian 是由自由和开放源代码的软件组成的,并将始终保...阅读全文
ATOM feeds 使用 Django,你可以通过创建一个简单的Python类来快速创建 RSS 和 ATOM feeds。 在数据库中自动创建表 如果你的数据库中缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的数据迁移 数据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个数据库模式。同样也容易就能跟踪你的数据库模式和相关的改变。为数据迁移所做的命名能够帮助你进行版本控制,还有很多选项可以用来合并版本和进行修改。 安全性 Django非常安全,该框架默认情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。 Django有一个...阅读全文
Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安全策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不可变 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文
。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的总结,Linux成功的原因包括分布式开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心字体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文
双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务器上启用双因子验证。 请注意,本文涉及到多次修改 SSH 配置,当你修改配置时,请确保有至少两个到服务器终端的连接。打开的终端将一直保持,即便 SSH 服务重启。第二终端意味着你可以修复你在SSH配置的错误。 密钥和密码验证的SSH SSH 支持对登录要求不止一个身份验证方法,我们首先启用密钥和密码验证。 在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方...阅读全文
Stable和Update。然而,用户需要把注意力主要放在三大类软件库上。 Debian系统具有的优点之一是,你可以在下面这两个极端之间作一选择:极其稳定,但缺点是版本较老;或者非常先进,但缺点是软件不大稳定,技术出现的重大变化可能让不知情用户的系统崩溃。这里的选择取决于你是升级核心组件(比如Linux内核),还是升级灾难发生时不影响其他东西的自带代码库的独立式实用工具。 恰恰相反,Ubuntu的程序包来自Debian测试版或不稳定版。Ubuntu的软件库按照其他标准来加以组织,而不是由测试状态来加以组织。Main含有Canonical支持的软件,以及Ubuntu社区支持的Universe软件。Restricted含有专有驱动程序,其中Multiverse存放有版权或其他法律限制的软件。 另一个主要的...阅读全文
。 内存寻址和分配 我们知道通过虚拟内存机制,每个进程都以为自己占用了全部内存,进程访问内存时,操作系统都会把进程提供的虚拟内存地址转换为物理地址,再去对应的物理地址上获取数据。CPU 中有一种硬件,内存管理单元 MMU(Memory Management Unit)专门用来翻译虚拟内存地址。CPU 还为页表寻址设置了缓存策略,由于程序的局部性,其缓存命中率能达到 98%。 以上情况是页表内存在虚拟地址到物理地址的映射,而如果进程访问的物理地址还没有被分配,系统则会产生一个缺页中断,在中断处理时,系统切到内核态为进程虚拟地址分配物理地址。 功能 虚拟内存不仅通过内存地址转换解决了多个进程访问内存冲突的问题,还带来更多的益处。 进程内存管理 它有助于进程进行内存管理,主要体现在: 内存完整性:由于...阅读全文
libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文
谷歌帐户来登录,在Linux和你使用的其他操作系统之间同步书签、扩展和应用程序。 其他替代方案:Vivaldi(Chromium)、GNOME Web(GTK)和QupZilla(Qt)。 3. GIMP照片编辑器 GIMP的全称是“GNU图像处理程序”,它是一款免费开源的Photoshop替代工具。虽然它缺少Adobe的一些比较花哨的功能,但是GIMP在常用功能方面与Adobe不相上下,有些方面甚至更胜一筹! 无论你是想快速自动修饰自拍照头像、创建可以在网上共享的多层次文化基因,还是作为摄影业余爱好的一部分,搞些专业的修饰工作,都要打量一下GIMP。 替代方案:Photomatix(收费版)、Pinta(GTK)和Shotwell(GTK)。 4. VLC媒体播放器 你不需要我告诉VLC是...阅读全文
出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文
HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有
高可用性。使Prometheus高可用的一种方式是运行多个实例去scraping相同的作业。这些实例在抓取指标时会因微小的时间间隔差异而在数据中产生细微差异。此外,如果其中一个实例宕机了几个小时,那么当查询转发到该实例时,将会出现数据空白。如果我们使用grafana这样的工具将指标展示为图形,我们可能会得到不同的样本值或有数据缺失的图形。可以将Cortex配置为从多个HA Prometheus实例读取数据。它从一个主实例main接受指标,并从其他实例放弃该度量。一旦这个副本掉线,Cortex会无缝切换到另一副本并将其标记为主副本main。为此,Cortex着眼于两个标签,一个共同的标签与一个集群(或一组Prometheus)相关联,另一个识别副本。全局指标视图可以将Prometheus实例配...阅读全文
的调用链路通常复杂多变,站在流量角度上看,需要完整地知道它的来源,上下游链路,异步调用等等,这对于 CAT 来说可能略显超纲。 缺少图表定制化能力: CAT 虽供多维度报表分析,但定制化能力非常有限,在当时,业内的图表组件定制化解决方案逐步向 Grafana + Prometheus 靠拢,但若使用 CAT,则无法享受强大的图表绘制能力。与此同时,随着云原生社区可观测性项目 OpenTracing 的崛起,大约不到半年时间我们逐步下线了 CAT,向 OpenTracing 生态演进。 三、 0x02 第二阶段 持续创造 基于OpenTracing全链路采样监控 OpenTracing 为全链路追踪 Trace 定制了完整的一套协议标准,本身并不提供实现细节。在 OpenTracing 协议中...阅读全文
改并不重要,因为在实践中,我们仔细地推出了整个incarnation的内容。 但是,这个方案缺少灵活性。考虑这样的场景:多个正在进行的推出改变了相同的asset——比如,为期一周的新标志与每日版本更新并行推出。这个用例无法通过纯粹的基于actuation的推出来管理。在实践中,需要对更改进行批处理。 如图12所示,基于intent的推出仅仅在特定asset选中后才会更新asset的intent。随后intent立即通过Enforcer被执行。 图12:基于intent的推出 基于intent的推出比基于acutation的推出复杂很多。它们要求能够程序化地改变intent的能力。在Prodsepc模型里,这个需求意味着依赖于可以以编程方式编辑的SoT。SoT还应允许足够的粒度来匹配asset...阅读全文
Williams 却坚持认为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里面」),但是完成这件事还需要很大的努力。 我向已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在进行以收集反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文
公式就尤为重要了。Intel 希望在介绍工艺节点时要公布逻辑芯片的晶体管密度、SRAM cell 单元面积等参数,并定下加权系数以便于新标准计算。 原本的 XXnm 制造工艺,一方面是衡量速度,一方面也是集成度。越高工艺的目标是集成度越高,速度越快。但如果只用 XXnm 来衡量制造工艺,其实是有所欠缺的。比如中国大陆的 SMIC 和台积电相比,虽然是同等工艺但要慢不少。加上之前苹果交付三星代工的 14nm 芯片反而不如台积电 16nm 芯片的情况,使 Intel 提出的新公式具有一定依据。 不过,Intel 这个新标准的权威性还有待提升,相关例证也有待补充,而且新标准计算相对复杂,不太容易被大众理解。更关键的是出于商业利益,台积电和三星也不可能去迎合 Intel 的新标准,毕竟台积电和三星已...阅读全文
主进程(master process)生成一个子进程(worker process)出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响,如果一个进程发生异常退出时,其它进程正常工作,master 进程则很快启动新的 worker 进程,确保服务部中断,将风险降到最低。缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降。 异步非阻塞 每个工作进程使用异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能...阅读全文
众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文
-installer-netboot-images) | 对拟议的更新进行重建 | | [debian-installer-utils](https://packages.debian.org/src:debian-installer-utils) | 支持USB UAS设备上的分区 | | [device-tree-compiler](https://packages.debian.org/src:device-tree-compiler) | 修正dtc上的segfault -I fs /proc/device-tree上的segfault | | [didjvu](https://packages.debian.org/src:didjvu) | 增加对tzdata的缺失的构建依赖性...阅读全文
择更多,因此被官方定义了的参与者也更多,但Debian具有明显更多的开发者人数。虽然所有工作都是贡献者来完成,但最关键的权利还是只有少数人才能获得。Ubuntu贡献者中,Canonical员工居多,63名核心开发人员中有36人使用 @canonical.com邮件后缀注册launchpad帐号,他们放在Ubuntu发行版上的时间比Debian成员更多,如果能比较一下他们的工时数将非常有意思。 Debian已经意识到成员结构的缺点,就是否增设专门的打包人员也讨论过多次了,但遗憾的是每次都只是讨论讨论就结束了,始终没有拿出一个解决方案。 可能的演变 Ubuntu方面,底层结构变化最近已经结束,他们近期不再打算做出进一步变化,但他们计划让每个团队可以更好地控制与自身相关的包上传权限,这样可以让每个...阅读全文
,就因为dev团队正在推出的破烂玩应,他们大半夜的得被叫起来。这种思维方式基本上已经过时了,正是思维方式使得人们都觉得干运维这一行的都是深深厌恶自己,一根接一根不停抽烟。这是由于缺乏同理心而产生的避重就轻、刻薄的想法。如果凌晨两点出现内存不足的异常,要不要去警告那些没有远见或者能力的运维人员去解决这个问题呢?还是说我们应该警告那些对系统相当熟悉的开发者呢?后一种做法似乎是明显的,但是关键在于他们需要被授权获悉状况,调试后自动解决。 其实新运维模式本质上应该把运维看作是一个产品团队,其产品就是基础设施。就像开发者把 API 作为他们提供的服务,运维把 API 以工具、UI、自动化、基础设施即代码、可观察性和警戒的形式作为他们提供的基础设施。 @perterbourgon 关于这个话题,我有很多想...阅读全文
目的自然选择,Debian、Ubuntu、Fedora 和 Linux 内核以及很多都是例子。 近年来,尽管我们已经看到了不再那么挑剔的一代开发者的出现,但是如果我说的过激一些,他们缺少对于自由的关注。对于他们来说开源软件是构建软件的务实、实用的一部分,而无关伦理。我想,这就是为什么我们发现 MIT 和 Apache 协议的流行的原因。 未来 ? 这对于 GPL 意味着什么? 我的猜想是 GPL 依然将是一个主要选项,但是开发者将将之视为纯粹的自由软件协议。我想对于软件的纯粹性有高要求的项目会优先选择 GPL 协议。但是对于商业软件,为了保持我们之前讨论过的那种平衡,他们不会那么做。我猜测, MIT 以及 Apache 依然会继续流行下去。 不管怎样,好消息是开源/自由软件行业确实在增长。无...阅读全文
有一个“填充因子(padding factor)”,为文档增长提供空间。 你也许会想,你可以通过不建立数组索引来绕开这个问题。遗憾的是,没有索引,你会遇到其他问题。因为文档会从头到尾扫描,找到一个接近数组尾部的元素需要花更多的时间, 大部分处理这个文档的操作都会变慢 。 忘记聚合情况下的阶段排序 在有查询优化器的数据库系统中,你编写的查询是说明你想要什么而不是如何获取它。这就像在餐馆中点餐;你通常只需要点菜,而不必对厨师发出详细的指令。 在 MongoDB 中,你是对厨师发指令。例如,你需要通过$match 和$project 确保管道中的数据尽早减少,排序只在数据减少时发生一次,查找按照你希望的顺序执行。查询优化器省去了不必要的工作,优化阶段顺序,选择连接类型,这会把你宠坏。MongoDB...阅读全文
忆说,“云健康”公司的一个客户发现,因为失误,公司在亚马逊S3上源源不断地保存日志文件。问题解决之后,该客户每年就节省了120万美元的存储费。去年,亚马逊推出了一个名为“S3存储放大镜”的工具,帮助客户发现没有必要的存储开支。布科维奇介绍说,这一新产品获得了客户热捧。布科维奇表示,其他的云计算公司经常会提供价格优惠,吸引客户,不过企业用户要比服务商更加聪明。比如一些企业希望在提交某个提取对象的请求之后,系统才开始启动一个计算作业,当然用户也不用考虑底层基础设施。亚马逊数据存储业务的一个竞争对手是私营的Wasabi公司。该公司首席执行官大卫·弗雷德(David Friend)介绍,他们没有亚马逊的复杂产品线,只有一种存储产品,价格只有亚马逊S3的五分之一。弗雷德表示,亚马逊S3虽然产品众多,但...阅读全文
了。 事实上,iQUIC 当前的 ‘短报文头’ 被用于除了握手外的所有包,仅公开一个包编号、一个可选的连接标识符和一个状态字节,像加密密钥轮换计划和包字节(它最终也可能被加密)。 其它的所有东西都被加密 —— 包括 ACK,以提高 通讯分析 攻击的门槛。 然而,这意味着通过观察连接来被动估算 RTT 和包丢失率将不再变得可行;因为没有足够多的信息。在一些运营商中,由于缺乏可观测性,导致了大量的担忧,它们认为像这样的被动测量对于他们调试和了解它们的网络是至关重要的。 为满足这一需求,它们有一个提议是 ‘Spin Bit’ — 这是在报文头中的一个回程翻转的位,因此,可能通过观察它来估算 RTT。因为,它从应用程序的状态中解耦的,它的出现并不会泄露关于终端的任何信息,也无法实现对网络位置的粗略估...阅读全文
会,IBM 发布了 OpenWhisk,这种事件驱动型开源计算平台可以用来替代 AWS Lambda。OpenWhisk 平台让广大开发人员能够迅速构建微服务,从而可以响应诸多事件,比如鼠标点击或收到来自传感器的数据,并执行代码。事件发生后,代码会自动执行。 Serverless Framework Serverless Framework 是无服务器应用框架和生态系统,旨在简化开发和部署 AWS Lambda 应用程序的工作。Serverless Framework 作为 Node.js NPM 模块提供,填补了 AWS Lambda 存在的许多缺口。它提供了多个样本模板,可以迅速启动 AWS Lambda 开发。 Azure WebJobs Azure Web 的应用功能,可以与 Web...阅读全文
己的自定义执行代码,而是使用统一的执行层,统一之后方便审计,并将应用程序开发人员的关注点与运营和安全团队的关注点分离。Kubernetes 零信任我们必须从第一原则重新思考身份,以任意表达性策略的形式来将信任具象化,并将新的执行机制渗透到基础设施的各个层面。面对这些的要求,我们不可避免地经历短暂的恐慌。前面是不是提到需要在 2024 财年之前实现?好消息是,至少对于 Kubernetes 用户来说,采用零信任的某些方面要容易得多。尽管有缺陷和复杂性,Kubernetes 是一个具有明确范围、定义良好的安全模型和明确的扩展机制的平台。这使其成为零信任实施的成功领域。在 Kubernetes 中解决零信任网络的最直接方法之一是使用服务网格。服务网格利用了 Kubernetes 强大的...阅读全文
deploy nginx --port 80 --target-port 80 --type NodePort 服务是另一种类型的Kubernetes对象,它向内部和外部客户端公开集群内部服务。 它们还能够对多个pod进行负载均衡请求,并且是Kubernetes中不可或缺的组件,经常与其他组件交互。 运行以下命令: kubectl get services 这将输出类似于以下内容的文本: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 1d nginx NodePort 10.109.228.209 80:nginx_port/TCP 40m 从上面输出的第三行,您可以检...阅读全文
图工具就能生成 SVG 图片。 上面图片中,最顶层的函数g()占用 CPU 时间最多。d()的宽度最大,但是它直接耗用 CPU 的部分很少。b()和c()没有直接消耗 CPU。因此,如果要调查性能问题,首先应该调查g(),其次是i()。 另外,从图中可知a()有两个分支b()和h(),这表明a()里面可能有一个条件语句,而b()分支消耗的 CPU 大大高于h()。 五、局限 两种情况下,无法画出火焰图,需要修正系统行为。 (1)调用栈不完整 当调用栈过深时,某些系统只返回前面的一部分(比如前10层)。 (2)函数名缺失 有些函数没有名字,编译器只用内存地址来表示(比如匿名函数)。 六、Node 应用的火焰图 Node 应用的火焰图就是对 Node 进程进行性能抽样,与其他应用的操作是一样的...阅读全文
截止目前k8s1.18,k8s已经支持标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。本文我们详细介绍一下这4种容器的特性已经使用场景。 Ephemeral 容器 临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启,因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 段进行描述,但许多字段是不相容且不允许的。 临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。 Pod 资源分配是不可变的,因此 resources 配置是不允许的。 有关允许字段的完整列表,请参见临时容器参考文档。 临时容器是使用...阅读全文
过去而蹉跎;不要羡慕别人现在的生活;不要羡慕陈冠希,长得帅,女朋友交的多。你明明没有别人找的帅,不努力,你就是天天守着电脑看看片。说不定那天你去创个业,成功了,然后的然后,你想想然后的然后。。。 所以,不为过去蹉跎,活在当下,把握当下。 找到你的追求,然后就去追求 首先,我这里没有使用信念。信念,可能太重了。尤其对于中国人而言,信仰普遍都是缺失的,很难一直相信、坚信一件事。 第二,很多人,不知道自己想要什么,想去追求什么。所以一直不知道,该怎么去改变,该怎么去追求。 我是为了追求钱? 其实我不追求钱,当然我不是圣人,我家里不富裕,就是从农村出来的,我结婚的时候没有自己的房子(谢谢妻子),我还有很多东西没有买。我需要钱,但是不是为了钱而工作,工作这么多年,没有询问过加薪,没有为了加薪而跳槽(当...阅读全文
Gentoo中文社区,一开始想法挺多,也做了点工作。不过,由于个人技术水平、能力等方面原因,现在社区基本上也没什么动静了。现在年龄越来越大,精力也有限,希望有更多新生力量加入进来,让Gentooo这个发行版在国内有更多影响力! 2.您会参与哪些线下活动? 答:我们庄里,有个活动参加就不错了,不像北上广这样的一线大城市经常有。虽然离帝都近,但一是时间紧张,二是自己掏腰包负担路费,看看3K多的月薪,算了吧。。。 3.您怎么看现目前中国的开源社区,又看好哪些?能举例详细说明吗? 答:中国的开源社区和国外比,有明显的差距,但从这几年的发展来看,氛围是越来越好的。我认为目前最大的问题是:不少社区是靠核心组织者的热情来维持,缺乏一定的资金和硬件条件支持,也就是没有长久发展的机制。再加上拿来主义盛行,在一定程度上也...阅读全文
老黑客的指责,这也是本文的唯一受指责的地方,所以我们必须指出,我们曾经推荐使用「提前谢了」的感谢方式,这种感谢方式在一些黑客看来有一种事后不用再感谢任何人暗示和过河拆桥的味道,所以,我们现在的建议是:一、先说「提前谢了」,事后再表示对回复者的感谢;二、换一种表达方式,譬如用「谢谢你的关注」或「谢谢你的帮助」等。) 问题解决后,追加简短说明 在问题解决后向所有帮助过的人回复一条信息,让他们知道问题是如何解决的并再次感谢。如果问题在论坛中受到广泛关注,在那里追加此信息比较恰当。 最理想的方式是向最初提问的主题中回复此消息,并在主题中注明「已解决」、「已搞定」或其它同等含义的字样[17]。这样,在信息快速流动的论坛中,一个注明「已解决」或「已搞定」的主题就会让别人节省很多时间,回复者不用再点进去重...阅读全文
试为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中 4.5.1 Why Eureka 为什么我们采用Eureka作为服务注册中心,而不是使用传统的zk、etcd呢?我大致总结了一下,有以下几方面的原因: 它提供了完整的Service Registry和Service Discovery实现 首先是提供了完整的实现,并且也经受住了Netflix自己的生产环境考验,相对使用起来会比较省心。和Spring Cloud无缝集成 我们的项目本身就使用了Spring Cloud和Spring Boot,同时Spring Cloud还有一套非常完善的开源代码来整合Eureka,所以使用起来非常方便。另外,Eureka还支持在...阅读全文
境传输提供保障: 若缺少上述“充分性认定”,控制者或者处理者当且仅当其提供了适当的保障时,可以将个人数据传输给第三国及国际组织。 这种“适当的保障”可以通过以下几种方式提供: (a)在公共机构或团体之间有法律约束力和执行力的文件; (b)由欧盟委员会通过的标准数据保护条款(即《欧盟数据跨境转移协议模板(SCC)》所设定的条款,内容一般不可变更); (c)由监管机构通过、并由欧盟委员会批准的数据传输方和接收方之间签订的特定标准数据保护协议(即“Ad-hoc data protection clauses”,与上述“SCC标准模板”相互区分。但截至2018年尚未有欧盟成员国的数据保护监管机构批准这类协议); (d)代表不同种类的控制者和处理者的协会和其它机构可以制定行为准则(Code of...阅读全文
法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。 分治法:若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解的子问题的答案。 总结: 不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。...阅读全文
packet 为单位(默认64K),A 收到一个 packet 就会传给 B,B 传给 C。A 每传一个 packet 会放入一个应答队列等待应答; 数据被分割成一个个 packet 数据包在 pipeline 上依次传输,在 pipeline 反方向上, 逐个发送 ack(命令正确应答),最终由 pipeline 中第一个 DataNode 节点 A 将 pipelineack 发送给 Client; 当一个 block 传输完成之后,Client 再次请求 NameNode 上传第二个 block,重复步骤 2; 7.1 网络拓扑概念 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的...阅读全文
它身上可以找到 Screw.Unit、JSSpec、JSpec 和 RSpec 等诸多单元测试框架的影子。 Cucumber Cucumber 是一种支持行为驱动开发的软件工具。 Cucumber BDD 方法的核心是一种称为 Gherkin 的普通语言解析器。它能用客户可以理解的逻辑语言来指定预期的软件行为。 持续集成和部署(CI/CD) CI 工具的存在是为了快速反馈和减少缺陷、等待。目前业务比较常用的 CI 工具包括 Jenkins、CircleCI、Travis CI、Concourse、AWS CodePipeline 和 Azure Pipelines。 Jenkins Jenkins 是一个免费的开源自动化服务器。Jenkins 可用来自动化软件开发过程中非人类参与的工作,基于...阅读全文
,消费消息也是一个道理,一次拉取一批次的消息进行消费。并且Producer、Broker、Consumer都使用了优化后的压缩算法,发送和消息消息使用压缩节省了网络传输的开销,Broker存储使用压缩则降低了磁盘存储的空间。参考资料:1.《深入理解Kafka:核心设计实践原理》2.状态机程序设计套路3.raft算法源码4.https://www.bbsmax.com/A/QW5Y3kaBzm/ 作者简介屈志平腾讯数据研发工程师腾讯数据研发工程师,目前负责QQ浏览器、搜狗小说、搜狗浏览器、bingo等多款产品的数据建设。有丰富的数据治理、数仓建设、数据平台平台相关的经验。参考阅读:BIGO RTC如何低成本实现高画质一文读懂 Web3:互联网发展的新时代还是骗局?解析分布式系统的缓存设计日志中台...阅读全文