代码审计CodeQL
CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文
CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文
的 AKS(Azure Kubernetes 服务)或 Amazon Web Services 上的 EKS(亚马逊弹性 Kubernetes 服务)。利用这一点意味着底层基础设施将由云服务商管理,并且可以更轻松地完成有关扩展集群的任务,例如添加和删除节点,而让工程师管理 K8s 集群上运行的内容本身。升级Kubernetes版本除了引入新功能外,新的 K8s 版本还包括漏洞和安全修复,这使得在集群上运行最新版本的 K8s 非常重要。对旧版本的支持可能不如新版本好。然而,迁移到新版本时应谨慎对待,因为某些功能可能会被废弃,也可能会添加新功能。此外,在升级之前,应检查集群上运行的应用程序是否与较新的目标版本兼容。监控集群资源和审计策略日志监控 K8s 控制平面中的组件对于控制资源消耗非常重要...阅读全文
Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。 Observium支持大量的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。 Observium提供了一个功能强大,简单易用的界面来监视网络的健康和状态。 在本教程中,我们将解释如何在Debian 9服务器上安装和配置Observium。配置需求: 一个新的Debian 9服务器安装在您的系统上。 在您的服务器上设置一个根密码。 入门 首先运行以下命令,将系统更新到最新的稳定版本: apt-get update -y apt-get upgrade -y 系统更新后,重新启动系统以...阅读全文
" MYSQL_SERVICE_PASSWORD: "123456" 参数说明: MYSQL_SERVICE_HOST:数据库地址(这里使用上面部署的 Mysql,由于部署在 K8S 里面,所以使用 Mysql Service 提供的 K8S 内部地址) MYSQL_SERVICE_PORT: 数据库端口。 MYSQL_SERVICE_DB_NAME: 指定使用的库名称。 MYSQL_SERVICE_USER: 数据库用户名。 MYSQL_SERVICE_PASSWORD: 数据库密码。 NACOS_APPLICATION_PORT:指定 Nacos 端口号。 PREFER_HOST_MODE:配置 Nacos 集群节点间服务发现使用的模式,支持 hostname、ip 两种模式。 JVM_XMS: 设置 JVM 最大堆内存大小...阅读全文
感情,使团队内部形成一种和谐与欢乐的气氛。4、公平激励法一个人在产生公平感时,会心情舒畅,努力工作;而在产生不公平感时就会怨气冲天,大发牢骚,影响工作的积极性。公平激励法是强化工作积极性的重要手段,所以在团队管理中,对员工分配、晋级、奖励、使用等方面要力求做到公平、合理。5、竞赛激励法竞赛激励法就是指团队领导者通过经常性的检查评比和多种形式的竞赛活动,来激发下属的上进心和竞争意识,促使其努力使自己的工作走在他人前面的方法。6、褒奖激励法表扬和奖励是对良好思想和行为的一种积极肯定,它包括物质的,也包括精神的。表扬和奖励能够引起人们愉快的感受,这是因为渴望得到他人或社会的赞赏,是一种心理需要,已经成为人们的人格特征之一。7、榜样激励法榜样激励法就是指领导者通过树立生动、鲜明、具体、形象的学习榜样...阅读全文
WordPress 本质上并没大家认为的那么危险,而且开发者也在努力工作,以确保危险漏洞能被快速修复。但不幸的是,WordPress 的成功使其成为众矢之的:如果你能攻破一个 WordPress 安装,那么可能会有数以百万计的网站向你 “开放”。而且即使 WordPress 是安全的,也并不是所有的主题和插件都会有同样级别的开发重视程度。 有些人攻击 WordPress 是为了挑战或造成恶意的损害,这些行为都很容易被发现。最糟糕的罪魁祸首是那种潜入内容的行为,它们会将钓鱼网站深入到文件夹结构,或使用你的服务器发送垃圾邮件。一旦你安装的 WordPress 被破解,可能需要删除所有内容并从头重新安装。 庆幸的是,有很多简单的方案来提升安全性。下面提到的安全修复方案都不会超过几分钟。 1. 切...阅读全文
查可能会带来意外问题;此选项用于将其检查的时间间隔长度上增加或减小一定的随机时长; – tune.bufsize
apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文
sponsor 上传的软件包的维护者是打包人而非 sponsor,所以它的各种更新、任何 Bug 报告都是打包人的责任。在维护软件包上,普通维护人员与正式的 DD 间的差别仅在于能否直接上传,其他的完全相同。 这个步骤进行期间,需要多次阅读 Debian Policy Manual 并确保自己的软件包符合里面的全部要求。最好再读一下 Debian Developers Reference,里面介绍了很多 Policy Manual 中没有提到的细节和最佳经验。 如果打算申请 DM/DD,则应尽早开始维护软件包,因为申请 DM 需要经过一段时间的软件包维护作为评价的材料,以此证明你能够胜任。 5. 不是有软件包被上传到仓库就说明你已经符合了成为 DM 的要求。你必须通过一段时间的努力(更新软件、修复...阅读全文
个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文
门的必备软件都必须在 Windows 上运行,估计 800 个程序中就有一半不支持 Linux。虽然过去 15 年一直在努力独立于微软,还花费大量金额寻求解决方案,但还是以失败告终。 2020 年全面迁移投票将于 11 月 23 号举行,参与了委员会投票的人都会再次参加,估计投票结果与委员会投票结果一致。【编译自:The Register】...阅读全文
万维网联盟(W3C)与 FIDO 联盟近日宣布,Web 认证(Web Authentication,简称 WebAuthn)现已成为正式 Web 标准。 WebAuthn 于 2015 年 11 月由 W3C 和 Fido 联盟宣布,现已成为网上无密码登录的开放标准。它由 W3C 贡献者支持,其中包括 Airbnb、阿里巴巴、苹果、谷歌、IBM、英特尔、微软、Mozilla、PayPal、软银、腾讯和 Yubico。 WebAuthn 允许用户使用生物特征、移动设备或 FIDO 安全密钥登录在线帐户,而不是在账号密码框中键入一串串字符。Android 和 Windows10 已经支持 WebAuthn。浏览器方面,谷歌 Chrome、Mozilla Firefox 和 微软 Edge 浏览...阅读全文
HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有
Firefox 59 还提供了一个应用程序接口(API),能够隐藏界面上未使用的标签页,并改进了网络请求(webRequest)API 。 当然,得益于一套双层 WebAssembly 编译器,最近发布的 Firefox 58 已经带来了显著的速度提升。【编译自:Neowin , 来源:Mozilla】...阅读全文
AMD即将推出第二代Ryzen 2000系列处理器,各方面全面提升,从最近泄露的规格和性能看十分值得期待。Ryzen二代基于12nm新工艺和Zen+新架构,频率平均提升400MHz,并支持更高级的动态加速技术,超频空间也更大,同时改进了缓存、内存性能。 权威评测软件SiSoftware不小心泄露了一份Ryzen 7 2700X、Ryzen 5 2600的评测报告,虽然很快被撤下还是有网友保留了下来。这份评测都是考察SiSoftware的理论性能项目,没有实际应用和游戏测试,但是Ryzen二代的架构提升已经十分明显。 首先来看一下这两款新品的主要规格和 SiSoftware 的评价: 内存频率: 2400MHz提高到2933MHz,可以大大改进内存性能,就是现在高频内存太贵了。 核心线程...阅读全文
上都是通过讨论取得共识后再决定的。更最重要的是,现在 Django 中的不少提交者都处于非活动的状态,再加上“提交者”或“核心团队成员”这种头衔往往被视为有较高的门槛,容易让潜在的贡献者“不敢”与之相匹配。因此,从各层面来说,Django 的核心团队都已经失去了作用,倒不如直接解散。 作为替代者,两个新的角色将被正式化 —— 合并者(Merger)和 发布者(Releaser),合并者负责拉取请求到 Django ,发布者负责打包和发布版本。技术委员会作为最终的把关者,将继续保留,并赋予一些额外的决定权,主要是把控合并者和发布者的工作,并确认 Django 即将发布的版本。同时,董事会选举的频率将会降低,计划会是在每个主要版本发布时举办一次,而不是现在的每个版本发布时都进行。技术委员会的选举...阅读全文
负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并检查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文
SPEC期望状态做同步。下面源码流程图可以总结上述流程。 SyncPod:我做错了什么? SyncPod首先计算Pod中所有容器的当前状态与该Pod API期望状态做对比同步。这一对比同步分为两个部分: 检查podCache中的Sandbox容器的状态是否满足此条件:Pod中有且只有一个Sandbox容器,并且该容器处于运行状态,拥有IP。如不满足,则认为该Pod需要重建Sandbox容器。如果需要重建Sandbox容器,Pod内所有容器都需要销毁并重建。检查podCache中非Sandbox容器的运行状态,保证这些容器处于Pod API Spec期望状态。例如,如果发现有容器主进程退出且返回码不为0,则根据Pod API Spec中的RestartPolicy来决定是否重建该容器。 回顾前面提到...阅读全文
1996年,Bruce Perens 接下了 Debian 创始人 Ian Murdock 的接力棒,成为 Debian 社区历史上第二位当家人。也就在这一年,不满20岁的 Joey Hess 为了满足自己打包游戏的爱好成为了 Debian 成员之一。 某天,加利福尼亚州的阳光正好,旧金山湾区(硅谷所在地)的某一角落,Bruce Perens 敲响了 Joey —— 这位刚来此地工作的年轻人的大门。 “I’m going to take you on a tour of the Bay Area. ” 他们开着车随意地在湾区闲逛,当经过各大科技公司时,也会聊上两句。这次兜风是 Joey 第一次和社区的人面基,从此开启了 Joey 通往这个全新世界的大门,而 Bruce Perens 这位大...阅读全文
今天我们公布了Kubernetes 1.7,这一里程碑版本引入了更为强大的安全性、存储以及扩展性因素,旨在满足Kubernetes在广泛企业环境下所面临的实际需求。 这次发布的版本中安全方面的改进包括加密的Serect,Pod到Pod通讯的网络策略,限制kubelet访问的节点授权器(node authorizer),和客户端/服务端 TLS 证书轮换。 对于在Kubernetes上伸缩数据库的用户,这次版本有一个重要特性向StatefulSet添加了自动化的更新,并增强了对DaemonSet的更新。同时我们宣布对本地存储和用于更快速伸缩StatefulSet的加速模式(burst mode)的alpha支持。 同时,对于高级用户,这次版本中的API聚合允许用户提供的API服务器和...阅读全文
本文作者 Tyler Treat 是一名软件工程师,他认为运维的未来从很多方面来说都跟质量保证(QA)的未来走向相似。未来,运维要使开发者能够通过工具、自动化和流程实现自助服务。传统的运维( Ops)没有消失,只是在重组。 云服务的发展看起来让运维人员“丢”了工作,因为从传统意义上说,从本地(on-premise)转移到云平台意味着运维工作在相当大程度上外包给云提供商。这正应了那个流行词—— “无运维运动”(NoOps),许多人称之为 DevOps 的“继承者”,虽然这个词最近这些日子已经不是那么响亮了。这使得 Amazon 和开发团队创建的产品——包括基础设施自动化,部署自动化,配置管理,日志管理以及监控和检测——之间出现了隔膜,隔膜虽小,但却至关重要。 事实上,运维的未来从很多方面来说...阅读全文
nodejs 你也可以直接下载官方预编译好的二级制文件来安装,注意更新 $PATH 变量。Node.js 的二进制文件打包脚本的官方地址在 GitHub 上。你也可以直接从官方网站上下载通用版的预编译文件,额外的工作是你需要自己解决 $PATH 等环境变量的设置问题。 检查确认 Nodejs 版本 通过执行命令 node -v ,我们可以看到当前Node.js是最新的v8.x版本。 提示:如果我们需要其他版本的Node.js,我们只需要将安装里面下载链接 setup_8.x 替换成其它即可,如setup_7.x...阅读全文
影响几乎所有现代处理器的“幽灵”(Spectre)和“熔毁”(Meltdown)安全漏洞的余波尚未散尽,软硬件厂商仍在携手努力给平台打补丁。如果你正在运行 Debian GNU/Linux 环境,并且希望检查系统是否存在严重的安全漏洞,那么现在已经可以从 Debian 资源库下载 Spectre 和 Meltdown 缓和检查器了。Debian 项目团队表示,用户只需输入单行命令,即可完成该脚本的安装。 本月早些时候,外媒 Softpedia 曾发布过一篇面向 Linux PC 用户的安全检查教程。不过现在,Debian GNU/Linux 用户只需打开终端,并输入如下命令行: sudo apt-get install spectre-meltdown-checker 然后运行...阅读全文
DebConf19 峰会的举办地今天正式敲定为巴西的库里奇巴,但是具体的召开时间仍未公布。DebConf是年度Debian开发者和贡献者峰会,首届于2008年在阿根廷马德普拉塔召开,明年是该峰会的第11个年头,团队最终决定重回南美洲地区。 在Wiki页面上写道:“距离DebConf上次在南美洲地区开会将会有11个年头,所以我们认为是时候让DebConf重新回归了。在巴西地区的自由软件社区将会组织多场会议将兴趣相投的人聚集在一起。” 每年DebConf大会都吸引了大量开发者、贡献者和用户到场参加,而今年大会圆满落幕之后Debian社区已经着手筹备明年的大会了。根据Debian Wiki公布的日期,DebConf18将于今年7月29日至8月5日在台湾新竹市的国立交通大学召开举行,而...阅读全文
nodes master1 node-role.kubernetes.io/master=:NoSchedule` 注意: 为master设置的这个taint中, node-role.kubernetes.io/master为key, value为空, effect为NoSchedule 如果输入命令时, 你丢掉了=符号, 写成了node-role.kubernetes.io/master:NoSchedule, 会报error: at least one taint update is required错误 容忍tolerations主节点的taints 以上面为 master1 设置的 taints 为例, 你需要为你的 yaml 文件中添加如下配置, 才能容忍 master...阅读全文
上传的artifacts。默认情况下,artifacts都是在GitLab中永久保存。expire_in允许设置设置artifacts的存储时间,从它们被上传存储到GitLab开始计算。 可以通过job页面的Keep来修改有效期。 过期后,artifacts会被通过一个默认每小时执行一次的定时job删除,所以在过期后无法访问artifacts。 expire_in是一个时间区间。下面可设置的值: '3 mins 4 sec' '2 hrs 20 min' '2h20min' '6 mos 1 day' '47 yrs 6 mos and 4d' '3 weeks and 2 days' 示例配置 设置artifacts的有效期为一个星期: job: artifacts: expire_in...阅读全文
且总是设法规避这些批评。但现在我开始尝试听取这些意见,我会先设想这些批评是正确的,然后在这个基础上调整我的计划。做决定的过程充满了艰辛和痛苦,但也只有经历了这个过程才能将自信和自欺欺人区分开来。 保持自信与自我认知之间的平衡可以让人免于傲气、避免与他人脱节。 3 学会独立思考 创业很难,因为培养原创性思维很难。这种思维在学校里面是学不到的,实际上学校培养的是一种相反的思维方式,所以只能靠我们自己来培养原创性思维。 我们可以从第一性原理(first principles)出发,从中想出新的点子,然后与人交流沟通,对这些想法进行改良,之后我们再用轻松快捷的方式进行实际测试。 对创业者来说,失败是家常便饭,但我们一定要抱有必胜的信念,要不断尝试、不断试错,只有这样才能得到幸运之神的眷顾。 在这个过...阅读全文
。 现在,核心互联网协议的重要改变已经开始了。虽然它们意图与互联网大部分兼容(因为,如果不兼容的话,它们不会被采纳),但是它们可能会破坏那些在协议中没有规定的地方,或者根本就假设那些地方不存在变化。 为什么我们需要去改变互联网 有大量的因素推动这些变化。 首先,核心互联网协议的局限性越来越明显,尤其是考虑到性能的时候。由于在应用和传输协议方面的结构性问题,网络没有得到高效使用,导致终端用户认为性能不能满足要求(特别是,网络延迟)。 这就意味着人们有强烈的动机来演进或者替换这些协议,因为有 大量的经验表明,即便是很小的性能改善也会产生影响。 其次,演进互联网协议的能力 —— 无论在任何层面上 —— 会随着时间的推移变得更加困难,这主要是因为上面所讨论的对网络的非预期使用。例如,尝试去压缩响应的...阅读全文
CHECK PROGRAM
选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文
在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文
去年,相关部门印发《推进互联网协议第六版(IPv6)规模部署行动计划》,提出要在2018年末实现国内IPv6活跃用户数达到2亿,2020年达到5亿。随后,阿里云宣布,将首先在公网接入相关产品,如负载均衡SLB、弹性公网IP(EIP)产品上支持提供IPv6服务。 来自下一代互联网国家工程中心的最新消息,该中心正式宣布推出IPv6公共DNS:240c::6666,这是面向全球免费提供的公共DNS服务。 同时,还有一个备用DNS:240c::6644。 据介绍,北京、广州、兰州、武汉、芝加哥、弗里蒙特、伦敦、法兰克福等地区均有部署递归节点。基于IPv6 BGP Anycast方式部署,让用户可以实现就近访问,降低延迟。 不仅如此,IPv6公共DNS将通过主动同步com/net域名、缓存热点域名等...阅读全文
GitLab 11.10 已正式发布 ,更新亮点包括将管道功能(pipeline)集成到操作面板、将管道用于合并结果以及针对多行合并请求的建议。 轻松查看跨项目的管道健康状况 此版本通过强大的功能增强了 Operations Dashboard,该功能让用户能直接查看管道状态。 即使在查看单个项目的管道状态时,这也很方便,不过在使用 多项目管道 时尤其有用 —— 当拥有微服务架构并且需要运行管道来测试和部署位于多个不同项目仓库中的代码时,这种情况很常见。现在,我们可以方便看到操作面板上所有管道的运行状况 。 针对合并结果运行管道 现在可以在合并之前 针对合并结果运行管道 。这样可以快速捕获只有经常重新定位时才会出现的错误,从而更快地解决管道故障并更有效地使用 GitLab Runner...阅读全文
的主要问题是缺乏对现代密码的支持(如ECDHE和AEAD),在规范中存在支持旧密码的要求,在计算机工程发展的现阶段,其可靠性受到质疑(例如,要求支持 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,MD5 和 SHA-1 用于完整性检查和认证)。对传统算法的支持已经导致了ROBOT、DROWN、BEAST、Logjam和FREAK等攻击。然而,这些问题并不是协议的直接漏洞,而是在执行层面上被关闭了。TLS 1.0/1.1协议本身并不包含可以被利用来进行实际攻击的关键漏洞。...阅读全文
Carter 的有 421 票,高于 Sruthi Chandran 的 341 票。 具体投票过程与结果分析访问:https://www.debian.org/vote/2021/vote_001 Jonathan Carter 在竞选宣言中描述了他的工作目标: - 改进财务相关工作,例如提升财务透明度,更好地追踪资金的收入和使用情况 - 实行支出政策 (expendature policy),主要是让项目成员更清楚他们可以在哪些方面花钱以及如何花钱,Jonathan Carter 表示项目成员之间对于这方面没有达成一致的认识,通常会导致这些成员不使用本来可以让 Debian 项目受益的资金 - 考虑正式注册 Debian 组织 今年选举 DPL 的投票中还提及到了是否应就 Richard...阅读全文
,它的价值马上就体现出来了。而写一份文档,随着时间的推移,它的价值才会逐渐体现出来。 你可能只写一次文档,将来它会被阅读上百次、上千次,因为一份好的文档可以在未来替你向别人回答类似下面这些问题。 1. 为什么当时是这么决策的? 2. 为什么代码是这样实现的? 3. 这个项目里都有哪些概念? 4. …… 写文档同样对于写作者也有非常大的收益: - 帮你构思规范化API: 写文档的过程也是你审视你API的过程,写文档时会让你思考你API设计是否合理,考虑是否周全。如果你没法用语言将API描述出来,那么说明你当前的API设计是不合理的。 - 文档也是代码的另一种展现: 比如你两年后回过头来看你写过的代码,如果有注释和文档,你可以很快速理解代码。 - 让你的代码看起来更专业: 我们都有个感觉,只要文档...阅读全文
通过先后收购HGST(日立)、SanDisk(闪迪),西部数据坐上了全球硬盘界的头把交椅。虽然西数和希捷一样看到了SSD的巨大势头,但出于各种因素,仍不敢贸然掉头。近日,西数在官方博客秀出了新一代的充氦硬盘的内部,高达8碟装。 早在2013年,HGST率先推出充氦技术的时候,当时设定的技术极值是7碟6TB,现在已经发展到8碟最高12TB,据说两年内还有14和16TB。 充氦的目的是减少碟片间距便于封装多碟,这一方式比提高单位面积的存储量在技术上要稍微容易点。 具体来说,充氦硬盘的外观看上去和普通机械硬盘一模一样,也是标准的3.5寸规格,内部机械结构也是相同的,仅仅是将内部填充的普通空气换成了氦气。 但就是这点变化,可以大大缩短碟片之间的距离,彼此靠得更近。在这项技术诞生前,硬盘最多只能塞进...阅读全文
PHP7 的发布废弃了部分特性,一些程序或者插件当前不能很好的运行在 PHP7 上,因此如果服务器上能同时运行多个 PHP 的版本,就可以很好的解决过渡期的兼容性问题。在前面两篇文章中,我们介绍了如何在 Debian Stretch 中安装使用 PHP5,以及如何在Debian环境安装配置PHP 7.2。看完这两篇文章,细心的同学就会发现,两个版本的PHP共存,是很好实现的。 这里我们以同时安装 PHP-7.2 和 PHP-5.6 两个版本为例,说明Debian环境中如何配置实现Nginx中的PHP多版本共存。 一、根据安装配置PHP7.2教程安装 PHP-7.2 和 PHP-5.6: #先安装 PHP7.2 apt install -y php7.2-fpm php7.2-mysql...阅读全文
Android 12 正式发布,代号「Snow Cone」 自今年 2 月 Google 发布 Android 12 开发者预览版起,时隔 8 个月时间 Google 正式发布 Android 12,该版本带来的重要功能包括: Material You Google 在今年推出了名为 Material You 的全新设计语言,极大地改变了 Android 的视觉效果。它专注于整个操作系统的个性化、色彩和动画。通知面板、快速设置,以及电源按钮菜... 15 2 NGINX 1.18 和 1.19 简析 今天文章的焦点将是互联网上最受欢迎的 Web 服务器 NGINX Open Source 的NGINX 1.19版本。NGINX 1.19 开发分支的推出跟随着早先发布的NGINX 1.18...阅读全文
Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产环境中企业用户可能面临的基础设施不同的困境,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。 新版本的更新亮点有: Rancher CVE-2019-11202 修复 开发团队发现过一个问题:Rancher 首次启动时创建的默认管理员帐户将在 Rancher 的后续重新启动时重新创建,即使 Rancher 管理员明确删除了该帐户,也仍会如此。这会带来一定的安全风险,因为帐户是使用 Rancher 的默认用户名和密码重新创建的。因此,攻击者可以使用这些默认账号密码来获取对 Rancher...阅读全文
几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文
容视图中,管理员现在可以使用新列“创建日期”过滤存储的数据,例如,该列可以简化从特定日期开始搜索备份的过程。可以无缝更改 Web 界面的语言,而无需重新启动会话。添加了阿拉伯语翻译,因此 Proxmox VE 总共支持 20 种语言。 Linux 容器: 集成容器技术已更新为 LXC 4.0.2 和 lxcfs 4.0.3。Proxmox VE 6.2 现在允许在基于目录的存储上为容器创建模板。适用于 Ubuntu 20.04、Fedora 32、CentOS 8.1、Alpine Linux 和 Arch Linux 的新 LXC 模板。 Zstandard用于备份/还原: 集成的备份管理器支持快速高效的无损数据压缩算法 Zstandard(zstd)。 用户和权限管理: Proxmox...阅读全文
站)。一般来说包含客户端、服务端程序、数据库,服务端用 Java 开发完成,客户端用 JavaScript。 采用这种架构,服务端需要实现诸多系统逻辑,例如认证、页面导航、搜索、交易等都需要在服务端完成。如果采用 Serverless 架构来对该应用进行改造,则架构如图所示: Serverless 架构相比于传统面向客户端的三层应用架构,有以下几方面的差异: 删除认证逻辑,用第三方 BaaS 服务替代; 使用另外一个 BaaS,允许客户端直接访问架构与第三方(例如 AWS Dynamo)上面的数句子库。通过这种方式提供给客户更安全的访问数据库模式; 前两点中包含着很重要的第三点,也就是以前运行在服务端的逻辑转移到客户端中,例如跟踪用户访问。客户端则慢慢转化为单页面应用。 计算敏感或者需要访问...阅读全文
游 keepalive 连接、ARM64 架构支持和 LuaJIT GC64 模式方面带来了更好的行为。并且由于 LuaJIT 编译器生成更多原生代码,OpenResty 更有效地存储请求上下文数据,因此在密钥身份验证基线代理基准测试中,Kong 现在运行速度提高约 10%。 此版本还带来了更多更新内容,包括 Kong 的路由器现在能够通过任何请求头(不仅是主机)匹配路由、新添加的 CLI 命令可用于创建数据库内容转储到 YAML 文件中等,详情查看发布公告。...阅读全文
:现在科学界对AI的应用分为两种。一种是将AI工具直接用于科学目的,如AlphaFold(用于蛋白质结构预测),它们可以创造巨大价值,相信未来会出现无数这样的工具。 另一种是将AI工具用于提升科研工作效率,如帮科学家和工程师找到新研究方向、写代码等。Copilot编程工具就是一个例子。但AI工具的能力远不止于此。上述两种AI应用将会大大推动科技前进。 此外,目前科学界也在探索对AI的第三种应用方式——让AI成为可以“自我改进”的科学家。这件事情既有好处也有风险。 好的一面是,可以利用AI将人类的工作内容自动化,教会AI做任何人类可以做的事情:探索新科学、提出理论解释、验证、思考等,或许还可借此解决困扰人类已久的“AI对齐问题(Alignment Problem)”(即如何让AI系统的目标符合人...阅读全文
2022 Debian 项目负责人选举已开启,本次选举的流程和以往一样,有三位候选人:Felix Lechner、Hideki Yamane 和现任 Debian 负责人 Jonathan Carter ,三人分别以一个页面进行自我介绍,并等待社区开发者为其进行不记名投票。下面来介绍一下三位候选人。Felix Lechner同时受新时代思想以及古老宗教的启发,拥有扎实的理论基础,试图让 Debian 重新焕发活力。现担任美国加州的图书馆馆长(公务员),妻子来自中国,最好的朋友来自印度。Debian 贡献Debian 商标团队的一员,努力保护 Debian 的品牌;设计了 Debian 的密钥到期提醒功能;共同维护 了 Lintian (Debian 软件包追踪工具)及其网站;维护...阅读全文
11 12 13 [common] server_addr = frp.frognew.com server_port = 17000 tls_enable = true token = 12345678 [web] type = http local_port = 8080 custom_domains = demo.frp.frognew.com http_user = abc http_pwd = abc 启动frp客户端: 1 ./frpc -c ./frpc.ini 使用http://demo.frp.frognew.com即可从公网访问前面使用python启动的用于测试的http服务。 上面只是frp的基本功能,frp还提供更多的功能。 关于frp的更多内容可以查看官方文档frp...阅读全文
个简化的Web应用,由这些部分组成: 为了冗余而在两个集群上运行的二进制文件,实现前段逻辑负载均衡,有集群前和全局的配置全局的Spanner数据库 生产或者服务基础架构提供服务所需的基础模块来服务用户的请求,比如,Borg集群管理系统[2],网络交换机的firmware等等。每个这些组件都是一个asset。 Shakespeare服务使用多个基础架构提供者:Borg来运行二进制文件,GSLB[1]管理负载均衡,以及Google共享的Spanner基础架构。 控制平面是服务用于管理生产服务基础结构的平面——比如,添加一台VM或者搭建负载均衡器。控制平面可以包括人工(“我会把新的二进制文件拷贝到服务器上”)到复杂的自动化系统(“我使用机器学习来控制变更”)。控制平面包括变更管理:控制平面里的逻辑...阅读全文
&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中查找该键对应的值直到在某个父上下文中返回 nil 或者查找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行分布式追踪的 trace id。不建议用来传递请求参数。 我用下面这种图来展示...阅读全文
识也是改善系统代码健康状态的重要部分。当然,如果评审者的评论仅仅只是教育性的,且对于标准要求不那么重要,那么还是要加上前缀「Nit:」的。 评审准则 技术事实和数据要优先于观点与个人风格。 在代码风格方面,谷歌的代码风格指南是最权威的参考资料。任何不在风格指南中的代码习惯,都属于个人风格,但我们应该保证基本的风格和谷歌风格指南是一致的。 软件设计方面几乎不会有纯粹的风格问题,或者纯粹个人的习惯问题。很多风格问题都基于一些基本准测,它们并不是简单地由个人观点决定的。此外,如果代码作者通过数据或基本工程原则证明了几种方法同样有效,那么评审者应该接受作者的风格。否则,偏好的选择还是取决于软件设计的标准原则。 如果没有其它适用规则,那么评审者可以要求作者的偏好与当前代码库保持一致,同时不对整体的代码...阅读全文