让孩子爱上计算机和编程的 15 本书
在工作之余,我听说不少技术专家透露出让他们自己的孩子学习更多关于 Linux 和 开源知识的意愿Media
via https://linux.cn/article-9787-1.html
在工作之余,我听说不少技术专家透露出让他们自己的孩子学习更多关于 Linux 和 开源知识的意愿Media
via https://linux.cn/article-9787-1.html
在 GitHub 上对编程语言与软件质量的一个大规模研究
在这项研究中,我们从 GitHub 上收集了大量的数据(728 个项目,6300 万行源代码,29000 位作者,150 万个提交,17 种编程语言),尝试在这个问题上提供一些实证。Media
via https://linux.cn/article-9788-1.html
在这项研究中,我们从 GitHub 上收集了大量的数据(728 个项目,6300 万行源代码,29000 位作者,150 万个提交,17 种编程语言),尝试在这个问题上提供一些实证。Media
via https://linux.cn/article-9788-1.html
10 条加速 Ubuntu Linux 的杀手级技巧
一些实用的加速 Ubuntu Linux 的技巧。 这里的技巧对于大多数版本的 Ubuntu 是有效的,也可以应用于 Linux Mint 以及其他的基于 Ubuntu 的发行版。Media
via https://linux.cn/article-9789-1.html
一些实用的加速 Ubuntu Linux 的技巧。 这里的技巧对于大多数版本的 Ubuntu 是有效的,也可以应用于 Linux Mint 以及其他的基于 Ubuntu 的发行版。Media
via https://linux.cn/article-9789-1.html
2018 LC3 开源盛会闭幕,ACRN 推动物联网开发落地
ACRN 由 Linux 基金会于今年 3 月发布,凭借小型化、实时性、可适应性、开源性等特点,以实时性及关键安全性为设计出发点,开发者可以采用 ACRN 来构建一个开源的嵌入式 hypervisor,适用于物联网、汽车等领域。Media
via https://linux.cn/article-9790-1.html
ACRN 由 Linux 基金会于今年 3 月发布,凭借小型化、实时性、可适应性、开源性等特点,以实时性及关键安全性为设计出发点,开发者可以采用 ACRN 来构建一个开源的嵌入式 hypervisor,适用于物联网、汽车等领域。Media
via https://linux.cn/article-9790-1.html
2018 LC3 开源盛会闭幕,ACRN 推动物联网开发落地
6 月 25 - 27日,由 Linux 基金会主办的 2018 LinuxCon + ContainerCon + CloudOpen China(LC3)在国家会议中心召开。本次会议邀请了来自 100 多家国内外开源技术领先企业的 300 多位技术大咖,用 3 天时间,分享超过 200 场技术演讲,对开源技术最为前沿的 10 大话题,从市场、技术、产业、生态层面做全方位的探讨。数千位开发人员、运营专家等借助 LC3 大会这一平台,共同学习和探讨创新的开源思维、前沿技术与解决方案。作为一款轻量级、专门为精简嵌入式开发而优化的可扩展的 hypervisor 参考平台,ACRN 项目参加了本次 LinuxCon China 大会。在第一天上午的大会上,英特尔公司副总裁兼软件与服务事业部开源技术中心的总经理苏义德(Imad Sousou)发表主题演讲,着重强调了 ACRN 的架构特点和实用性。MediaACRN 由 Linux 基金会于今年 3 月发布,凭借小型化、实时性、可适应性、开源性等特点,以实时性及关键安全性为设计出发点,开发者可以采用 ACRN 来构建一个开源的嵌入式 hypervisor,适用于物联网、汽车等领域。英特尔在其 Apollo Lake 处理器中使用 ACRN,实现了同时让多个操作系统区隔运行,该解决方案已经成为意大利高级轿车玛莎拉蒂在智能驾驶功能上采用的关键技术。Media为了让开发者们更好地了解 ACRN,英特尔工程师王禹以 “ACRN – A big little hypervisor for IoT Development” 为题发表主题演讲。从 ACRN 概况开始介绍,随后是 ACRN 的安全相关的功能架构,以及 ACRN 实现的丰富的 I/O 调度的讲解。通过这些讲解,层层揭开谜底,让听众了解为什么ACRN被称之为 “a big little hypervisor”。他首先介绍 “ACRN” 的名字由来和美好寓意,ACRN 与 “acorn” 同音,意思是“橡子——橡树的种子”,“a big little hypervisor”,含义是代码量很小但功能很丰富。希望 ACRN 在开源社区中像一粒橡子一样茁壮成长,在物联网领域开发出种类丰富的应用和产品,长成 “参天橡树”。Media然后,英特尔工程师王禹介绍了 ACRN 主要特点。首先是轻量级,它只有大约 25K 行代码,比同样是 Type-I hypervisor 类似架构设计 Xen 精简 10 倍,以及实时性、可适应性、开源性、安全性等特点。ACRN 针对嵌入式系统独有的一些硬件设备进行了虚拟化支持,如可支持显卡,摄像头,声卡等设备,跨多个 VM 的丰富的 I/O 共享设备,丰富的 I/O 设备虚拟化功能,支持多个虚拟机同时访问。为了让大家更好理解 ACRN,王禹先简单介绍了虚拟化技术在 IoT 领域的应用化场景,包括汽车、机器人、精密仪器、工业等领域,它们共同特点是同一个硬件产品中需要多个独立系统的支持,而虚拟化方案能够把每一个系统实现为独立虚拟机,共享高性能的应用平台,则可以为硬件产商节省相应的成本,为系统的安全性提供进一步技术保障。ACRN Hypervisor 是运行在裸机上,运行一个基于 Linux 的服务操作系统(SOS),然后可以同时运行多个客户操作系统,以便整合工作负载。ACRN hypervisor 为服务操作系统创造了第一个虚拟环境,然后启动服务操作系统。它运行本地设备驱动程序来管理硬件,向客户操作系统提供 I/O 调度。服务操作系统目前可以运行 Clear Linux*,但是 ACRN 也支持其它 Linux* 的发行版或者专有 RTOS 作为服务操作系统或客户操作系统。为了保持 ACRN hypervisor 代码库尽可能小且高效,大部分物理设备模块都由服务操作系统管理,并同时用来提供设备共享和其它功能。ACRN 有 hypervisor 和 ACRN 设备模型两个关键组成。ACRN 设备模型提供了虚拟设备模拟的参考框架,提供了丰富的 I/O 虚拟化支持。ACRN 配合 Intel APL 平台其他模块,支持了全方位的验证启动。验证启动在嵌入式场景是非常重要的,可以防止出厂的系统软件被篡改,造成经济损失,他以 SBL 和 UEFI 为例展开介绍了验证启动的步骤。其中 UEFI 启动引导顺序是先利用 UEFI 的引导服务来验证和启动 ACRN hypervisor,随后 ACRN hypervisor 保存 UEFI 现场,并为服务操作系统创建虚拟化环境后导入 UEFI 现场。服务操作系统的引导加载程序则会使用 UEFI 的运行时服务来校验并启动服务操作系统内核。随后该内核再通过 dm-verify 验证并且加载 ACRN 设备模型和 vSBL,vSBL 会按照原生验证启动流程继续进行客户操作系统的启动流程。ACRN hypervisor 也支持 HECI 的虚拟化。HECI 是一个 PCIe 的接口设备,CPU 通过它和 CSE 进行通信,Intel 的硬件平台使用 HECI 作为管理引擎的接口。每个使用 CSE 的 Intel 硬件平台都有一个唯一的 SEED,操作系统通过该 SEED 来管理其密钥存储。在 ACRN hypervisor 中提供 virtual SEED 用于给每个客户操作系统来管理其自己的密钥存储。 接下来,他还介绍了常用车载系统的硬件 IOC,ACRN 也实现了虚拟化。在服务操作系统的设备模型里,IOC 后端服务截获客户操作系统的 IOC 信息,然后解析,过滤并模拟这些命令。IOC Mediator 把 IOC 信息分为特权信息和非特权性信息两类,特权信息是只能被服务操作系统使用的,即只有服务操作系统才有权从 IOC 物理硬件发送或接收的这类信息。另一类 IOC 信息是非特权信息,客户操作系统可以通过虚拟串口进行发送。设备模型通过模拟串口得到信息,然后 IOC 后端服务过滤信息并发送给物理硬件,如果该信息可被允许发送。反之亦然。关于 USB 虚拟化,ACRN 扩展了 USB 虚拟化,以便支持 CarPlay 和其他应用场景。其中包括 USB host 控制器的虚拟化,DRD 硬件虚拟化和 USB 设备控制器的 VTD 穿透。除了区别于服务器的 I/O 调度,ACRN 还实现了虚拟化场景中比较成熟的I/O 调度,像 virtio storage,virtio network,virtio console,virtio input 以及 GPU 虚拟化技术。在演讲的最后,王禹介绍了 ACRN 的路线图,从中可以看出,无论是现在还是未来,还有新的平台和功能需要 ACRN 的支持和实现,向开发者伸出了橄榄枝,共同加入 ACRN 的大家庭。这边三层的会议室的演讲精彩纷呈,另一边是四层 ACRN 展区的人流如织。在 LC3 大会的四层企业展区里,ACRN 备受追捧,英特尔工程师杨爱林迎接了一拨又一拨的开发者,向他们进行 ACRN 现场演示,解答了相应的技术问题,吸引了很多参观者驻足倾听。Media未来十年是数字化转型的关键十年,相信 LC3 大会的参与者都已领悟到,物联网领域拥有着更广阔的发展空间,而 ACRN 是专为物联网开发打造的轻量级 hypervisor,将推动物联网技术的产品落地和产业发展。关于ACRNACRN 由 Linux 基金会于 2018 年 3 月发布,是一款灵活的、轻量级、开源 hypervisor 参考软件。ACRN 以实时性和关键安全性为设计出发点,特别为精简嵌入式开发而优化。该项目为各行业的领导者提供了一个参考设计框架,可以用来构建一个开源的嵌入式 hypervisor,尤其适用于物联网领域。Media
via https://linux.cn/article-9790-1.html?utm_source=rss&utm_medium=rss
6 月 25 - 27日,由 Linux 基金会主办的 2018 LinuxCon + ContainerCon + CloudOpen China(LC3)在国家会议中心召开。本次会议邀请了来自 100 多家国内外开源技术领先企业的 300 多位技术大咖,用 3 天时间,分享超过 200 场技术演讲,对开源技术最为前沿的 10 大话题,从市场、技术、产业、生态层面做全方位的探讨。数千位开发人员、运营专家等借助 LC3 大会这一平台,共同学习和探讨创新的开源思维、前沿技术与解决方案。作为一款轻量级、专门为精简嵌入式开发而优化的可扩展的 hypervisor 参考平台,ACRN 项目参加了本次 LinuxCon China 大会。在第一天上午的大会上,英特尔公司副总裁兼软件与服务事业部开源技术中心的总经理苏义德(Imad Sousou)发表主题演讲,着重强调了 ACRN 的架构特点和实用性。MediaACRN 由 Linux 基金会于今年 3 月发布,凭借小型化、实时性、可适应性、开源性等特点,以实时性及关键安全性为设计出发点,开发者可以采用 ACRN 来构建一个开源的嵌入式 hypervisor,适用于物联网、汽车等领域。英特尔在其 Apollo Lake 处理器中使用 ACRN,实现了同时让多个操作系统区隔运行,该解决方案已经成为意大利高级轿车玛莎拉蒂在智能驾驶功能上采用的关键技术。Media为了让开发者们更好地了解 ACRN,英特尔工程师王禹以 “ACRN – A big little hypervisor for IoT Development” 为题发表主题演讲。从 ACRN 概况开始介绍,随后是 ACRN 的安全相关的功能架构,以及 ACRN 实现的丰富的 I/O 调度的讲解。通过这些讲解,层层揭开谜底,让听众了解为什么ACRN被称之为 “a big little hypervisor”。他首先介绍 “ACRN” 的名字由来和美好寓意,ACRN 与 “acorn” 同音,意思是“橡子——橡树的种子”,“a big little hypervisor”,含义是代码量很小但功能很丰富。希望 ACRN 在开源社区中像一粒橡子一样茁壮成长,在物联网领域开发出种类丰富的应用和产品,长成 “参天橡树”。Media然后,英特尔工程师王禹介绍了 ACRN 主要特点。首先是轻量级,它只有大约 25K 行代码,比同样是 Type-I hypervisor 类似架构设计 Xen 精简 10 倍,以及实时性、可适应性、开源性、安全性等特点。ACRN 针对嵌入式系统独有的一些硬件设备进行了虚拟化支持,如可支持显卡,摄像头,声卡等设备,跨多个 VM 的丰富的 I/O 共享设备,丰富的 I/O 设备虚拟化功能,支持多个虚拟机同时访问。为了让大家更好理解 ACRN,王禹先简单介绍了虚拟化技术在 IoT 领域的应用化场景,包括汽车、机器人、精密仪器、工业等领域,它们共同特点是同一个硬件产品中需要多个独立系统的支持,而虚拟化方案能够把每一个系统实现为独立虚拟机,共享高性能的应用平台,则可以为硬件产商节省相应的成本,为系统的安全性提供进一步技术保障。ACRN Hypervisor 是运行在裸机上,运行一个基于 Linux 的服务操作系统(SOS),然后可以同时运行多个客户操作系统,以便整合工作负载。ACRN hypervisor 为服务操作系统创造了第一个虚拟环境,然后启动服务操作系统。它运行本地设备驱动程序来管理硬件,向客户操作系统提供 I/O 调度。服务操作系统目前可以运行 Clear Linux*,但是 ACRN 也支持其它 Linux* 的发行版或者专有 RTOS 作为服务操作系统或客户操作系统。为了保持 ACRN hypervisor 代码库尽可能小且高效,大部分物理设备模块都由服务操作系统管理,并同时用来提供设备共享和其它功能。ACRN 有 hypervisor 和 ACRN 设备模型两个关键组成。ACRN 设备模型提供了虚拟设备模拟的参考框架,提供了丰富的 I/O 虚拟化支持。ACRN 配合 Intel APL 平台其他模块,支持了全方位的验证启动。验证启动在嵌入式场景是非常重要的,可以防止出厂的系统软件被篡改,造成经济损失,他以 SBL 和 UEFI 为例展开介绍了验证启动的步骤。其中 UEFI 启动引导顺序是先利用 UEFI 的引导服务来验证和启动 ACRN hypervisor,随后 ACRN hypervisor 保存 UEFI 现场,并为服务操作系统创建虚拟化环境后导入 UEFI 现场。服务操作系统的引导加载程序则会使用 UEFI 的运行时服务来校验并启动服务操作系统内核。随后该内核再通过 dm-verify 验证并且加载 ACRN 设备模型和 vSBL,vSBL 会按照原生验证启动流程继续进行客户操作系统的启动流程。ACRN hypervisor 也支持 HECI 的虚拟化。HECI 是一个 PCIe 的接口设备,CPU 通过它和 CSE 进行通信,Intel 的硬件平台使用 HECI 作为管理引擎的接口。每个使用 CSE 的 Intel 硬件平台都有一个唯一的 SEED,操作系统通过该 SEED 来管理其密钥存储。在 ACRN hypervisor 中提供 virtual SEED 用于给每个客户操作系统来管理其自己的密钥存储。 接下来,他还介绍了常用车载系统的硬件 IOC,ACRN 也实现了虚拟化。在服务操作系统的设备模型里,IOC 后端服务截获客户操作系统的 IOC 信息,然后解析,过滤并模拟这些命令。IOC Mediator 把 IOC 信息分为特权信息和非特权性信息两类,特权信息是只能被服务操作系统使用的,即只有服务操作系统才有权从 IOC 物理硬件发送或接收的这类信息。另一类 IOC 信息是非特权信息,客户操作系统可以通过虚拟串口进行发送。设备模型通过模拟串口得到信息,然后 IOC 后端服务过滤信息并发送给物理硬件,如果该信息可被允许发送。反之亦然。关于 USB 虚拟化,ACRN 扩展了 USB 虚拟化,以便支持 CarPlay 和其他应用场景。其中包括 USB host 控制器的虚拟化,DRD 硬件虚拟化和 USB 设备控制器的 VTD 穿透。除了区别于服务器的 I/O 调度,ACRN 还实现了虚拟化场景中比较成熟的I/O 调度,像 virtio storage,virtio network,virtio console,virtio input 以及 GPU 虚拟化技术。在演讲的最后,王禹介绍了 ACRN 的路线图,从中可以看出,无论是现在还是未来,还有新的平台和功能需要 ACRN 的支持和实现,向开发者伸出了橄榄枝,共同加入 ACRN 的大家庭。这边三层的会议室的演讲精彩纷呈,另一边是四层 ACRN 展区的人流如织。在 LC3 大会的四层企业展区里,ACRN 备受追捧,英特尔工程师杨爱林迎接了一拨又一拨的开发者,向他们进行 ACRN 现场演示,解答了相应的技术问题,吸引了很多参观者驻足倾听。Media未来十年是数字化转型的关键十年,相信 LC3 大会的参与者都已领悟到,物联网领域拥有着更广阔的发展空间,而 ACRN 是专为物联网开发打造的轻量级 hypervisor,将推动物联网技术的产品落地和产业发展。关于ACRNACRN 由 Linux 基金会于 2018 年 3 月发布,是一款灵活的、轻量级、开源 hypervisor 参考软件。ACRN 以实时性和关键安全性为设计出发点,特别为精简嵌入式开发而优化。该项目为各行业的领导者提供了一个参考设计框架,可以用来构建一个开源的嵌入式 hypervisor,尤其适用于物联网领域。Media
via https://linux.cn/article-9790-1.html?utm_source=rss&utm_medium=rss
如何暂时禁用 iptables 防火墙
了解如何在 Linux 中暂时禁用 iptables 防火墙来进行故障排除。还要学习如何保存策略以及如何在启用防火墙时恢复它们。Media
via https://linux.cn/article-9791-1.html
了解如何在 Linux 中暂时禁用 iptables 防火墙来进行故障排除。还要学习如何保存策略以及如何在启用防火墙时恢复它们。Media
via https://linux.cn/article-9791-1.html
如何在 Linux 中的特定时间运行命令
我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它Media
via https://linux.cn/article-9794-1.html
我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它Media
via https://linux.cn/article-9794-1.html
让我们从 GitHub 中迁移出来
编者按:本文不代表本站观点,而且微软收购 GitHub 的后果目前尚未显现出来,本文只是提供了一个选择。Media正如你们之前听到的那样,微软收购了 GitHub。这对 GitHub 的未来意味着什么尚不清楚,但 Gitlab 的人认为微软的最终目标是将 GitHub 整合到他们的 Azure 帝国。对我来说,这很有道理。尽管我仍然不情愿地将 GitHub 用于某些项目,但我前一段时间将所有个人仓库迁移到了 Gitlab 中。现在是时候让你做同样的事情,并抛弃 GitHub。有些人可能认为微软的收购没有问题,但对我来说,这是压垮骆驼的最后一根稻草。几年来,微软一直在开展一场关于他们如何热爱 Linux 的大型营销活动,并突然决定用所有它的形式拥抱自由软件。更像 MS BS 给我的。让我们花点时间提醒自己:Windows 仍然是一个巨大的专有怪物,数十亿人每天都丧失了他们的隐私和权利中。微软公司(曾经)以传播自由软件的“危害”闻名,以防止政府和学校放弃 Windows,转而支持 FOSS。为了确保他们的垄断地位,微软通过向全世界的小学颁发“免费”许可证来吸引孩子使用 Windows。毒品经销商使用相同的策略并提供免费样品来获取新客户。微软的 Azure 平台 - 即使它可以运行 Linux 虚拟机 - 它仍然是一个巨大的专有管理程序。我知道移动 git 仓库看起来像是一件痛苦的事情,但是 Gitlab 的员工正在乘着人们离开 GitHub 的浪潮,并通过提供 GitHub 导入器使迁移变得容易。如果你不想使用 Gitlab 的主实例(gitlab.org),下面是另外两个你可以用于自由软件项目的备选实例:Debian Gitlab 实例适用于每个 FOSS 项目,它不仅适用于与 Debian 相关的项目。只要项目符合 Debian 自由软件指南,你就可以使用该实例及其 CI。Riseup 为名为 0xacab 的激进项目维护了一个 Gitlab 实例。如果你的理念与 Riseup 的一致,他们很乐意在那里托管你的项目。朋友不要再让人使用 Github 了。via: https://veronneau.org/lets-migrate-away-from-github.html作者:Louis-Philippe Véronneau 选题:lujun9972 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9795-1.html?utm_source=rss&utm_medium=rss
编者按:本文不代表本站观点,而且微软收购 GitHub 的后果目前尚未显现出来,本文只是提供了一个选择。Media正如你们之前听到的那样,微软收购了 GitHub。这对 GitHub 的未来意味着什么尚不清楚,但 Gitlab 的人认为微软的最终目标是将 GitHub 整合到他们的 Azure 帝国。对我来说,这很有道理。尽管我仍然不情愿地将 GitHub 用于某些项目,但我前一段时间将所有个人仓库迁移到了 Gitlab 中。现在是时候让你做同样的事情,并抛弃 GitHub。有些人可能认为微软的收购没有问题,但对我来说,这是压垮骆驼的最后一根稻草。几年来,微软一直在开展一场关于他们如何热爱 Linux 的大型营销活动,并突然决定用所有它的形式拥抱自由软件。更像 MS BS 给我的。让我们花点时间提醒自己:Windows 仍然是一个巨大的专有怪物,数十亿人每天都丧失了他们的隐私和权利中。微软公司(曾经)以传播自由软件的“危害”闻名,以防止政府和学校放弃 Windows,转而支持 FOSS。为了确保他们的垄断地位,微软通过向全世界的小学颁发“免费”许可证来吸引孩子使用 Windows。毒品经销商使用相同的策略并提供免费样品来获取新客户。微软的 Azure 平台 - 即使它可以运行 Linux 虚拟机 - 它仍然是一个巨大的专有管理程序。我知道移动 git 仓库看起来像是一件痛苦的事情,但是 Gitlab 的员工正在乘着人们离开 GitHub 的浪潮,并通过提供 GitHub 导入器使迁移变得容易。如果你不想使用 Gitlab 的主实例(gitlab.org),下面是另外两个你可以用于自由软件项目的备选实例:Debian Gitlab 实例适用于每个 FOSS 项目,它不仅适用于与 Debian 相关的项目。只要项目符合 Debian 自由软件指南,你就可以使用该实例及其 CI。Riseup 为名为 0xacab 的激进项目维护了一个 Gitlab 实例。如果你的理念与 Riseup 的一致,他们很乐意在那里托管你的项目。朋友不要再让人使用 Github 了。via: https://veronneau.org/lets-migrate-away-from-github.html作者:Louis-Philippe Véronneau 选题:lujun9972 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9795-1.html?utm_source=rss&utm_medium=rss
如何记录你在终端中执行的所有操作
无论你是安装程序,创建目录/文件还是删除文件夹,一切都会被记录下来,包括命令和相应的输出。这个命令对那些想要一份交互式会话拷贝作为作业证明的人有用。无论是学生还是导师,你都可以将所有在终端中执行的操作和所有输出复制一份。Media
via https://linux.cn/article-9802-1.html
无论你是安装程序,创建目录/文件还是删除文件夹,一切都会被记录下来,包括命令和相应的输出。这个命令对那些想要一份交互式会话拷贝作为作业证明的人有用。无论是学生还是导师,你都可以将所有在终端中执行的操作和所有输出复制一份。Media
via https://linux.cn/article-9802-1.html
不要再手动合并你的拉取请求(PR)
如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。Media
via https://linux.cn/article-9803-1.html
如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。Media
via https://linux.cn/article-9803-1.html
不要再手动合并你的拉取请求(PR)
Media如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。尽管如此,他们每天都有数千名使用 GitHub 的开发人员一遍又一遍地做同样的事情:他们点击这个按钮:Screen-Shot-2018-06-19-at-18.12.39这没有任何意义。不要误解我的意思。合并拉取请求是有意义的。只是每次点击这个该死的按钮是没有意义的。这样做没有意义因为世界上的每个开发团队在合并拉取请求之前都有一个已知的先决条件列表。这些要求几乎总是相同的,而且这些要求也是如此:是否通过测试?文档是否更新了?这是否遵循我们的代码风格指南?是否有若干位开发人员对此进行审查?随着此列表变长,合并过程变得更容易出错。 “糟糕,在没有足够的开发人员审查补丁时 John 就点了合并按钮。” 要发出警报么?在我的团队中,我们就像外面的每一支队伍。我们知道我们将一些代码合并到我们仓库的标准是什么。这就是为什么我们建立一个持续集成系统,每次有人创建一个拉取请求时运行我们的测试。我们还要求代码在获得批准之前由团队的 2 名成员进行审查。当这些条件全部设定好时,我希望代码被合并。而不用点击一个按钮。这正是启动 Mergify 的原因。github-branching-1Mergify 是一个为你按下合并按钮的服务。你可以在仓库的 .mergify.yml 中定义规则,当规则满足时,Mergify 将合并该请求。无需按任何按钮。随机抽取一个请求,就像这样:Screen-Shot-2018-06-20-at-17.12.11这来自一个小型项目,没有很多持续集成服务,只有 Travis。在这个拉取请求中,一切都是绿色的:其中一个所有者审查了代码,并且测试通过。因此,该代码应该被合并:但是它还在那里挂起这,等待某人有一天按下合并按钮。使用 Mergify 后,你只需将 .mergify.yml 放在仓库的根目录即可:
via https://linux.cn/article-9803-1.html?utm_source=rss&utm_medium=rss
Media如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。尽管如此,他们每天都有数千名使用 GitHub 的开发人员一遍又一遍地做同样的事情:他们点击这个按钮:Screen-Shot-2018-06-19-at-18.12.39这没有任何意义。不要误解我的意思。合并拉取请求是有意义的。只是每次点击这个该死的按钮是没有意义的。这样做没有意义因为世界上的每个开发团队在合并拉取请求之前都有一个已知的先决条件列表。这些要求几乎总是相同的,而且这些要求也是如此:是否通过测试?文档是否更新了?这是否遵循我们的代码风格指南?是否有若干位开发人员对此进行审查?随着此列表变长,合并过程变得更容易出错。 “糟糕,在没有足够的开发人员审查补丁时 John 就点了合并按钮。” 要发出警报么?在我的团队中,我们就像外面的每一支队伍。我们知道我们将一些代码合并到我们仓库的标准是什么。这就是为什么我们建立一个持续集成系统,每次有人创建一个拉取请求时运行我们的测试。我们还要求代码在获得批准之前由团队的 2 名成员进行审查。当这些条件全部设定好时,我希望代码被合并。而不用点击一个按钮。这正是启动 Mergify 的原因。github-branching-1Mergify 是一个为你按下合并按钮的服务。你可以在仓库的 .mergify.yml 中定义规则,当规则满足时,Mergify 将合并该请求。无需按任何按钮。随机抽取一个请求,就像这样:Screen-Shot-2018-06-20-at-17.12.11这来自一个小型项目,没有很多持续集成服务,只有 Travis。在这个拉取请求中,一切都是绿色的:其中一个所有者审查了代码,并且测试通过。因此,该代码应该被合并:但是它还在那里挂起这,等待某人有一天按下合并按钮。使用 Mergify 后,你只需将 .mergify.yml 放在仓库的根目录即可:
rules: default: protection: required_status_checks: contexts: - continuous-integration/travis-ci required_pull_request_reviews: required_approving_review_count: 1通过这样的配置,Mergify 可以实现所需的限制,即 Travis 通过,并且至少有一个项目成员审阅了代码。只要这些条件是肯定的,拉取请求就会自动合并。我们将 Mergify 构建为 一个对开源项目免费的服务。提供服务的引擎也是开源的。现在去尝试它,不要让这些拉取请求再挂起哪怕一秒钟。合并它们!如果你有任何问题,请随时在下面向我们提问或写下评论!并且敬请期待 - 因为 Mergify 还提供了其他一些我迫不及待想要介绍的功能!via: https://julien.danjou.info/stop-merging-your-pull-request-manually/作者:Julien Danjou 选题:lujun9972 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-9803-1.html?utm_source=rss&utm_medium=rss
Intel 和 AMD 透露新的处理器设计
Whiskey Lake U 系列和 Amber Lake Y 系列的酷睿芯片将会在今年秋季开始出现在超过 70 款笔记本以及 2 合 1 机型中。Media
via https://linux.cn/article-9804-1.html
Whiskey Lake U 系列和 Amber Lake Y 系列的酷睿芯片将会在今年秋季开始出现在超过 70 款笔记本以及 2 合 1 机型中。Media
via https://linux.cn/article-9804-1.html