InfraPub 为您找到相关结果 258

谷歌开源了代码评审规范:好坏代码应这样来判断

谷歌开源了一套评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 评审,也称复查,如果一个团队正在使用任务分支工作流,那么在所有编写完成并通过自动化测试之后,在合并之前,就会启动评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,评审的所有工具和过程都是为了这个目的而构建的。评审对于敏捷团队来说的作用如下: 评审共享知识通过评审可以更好的进行工作评估评审能让你享受休假通过评审指导新工程师 既然评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文

博文 2019-09-10 17:19:13 debian.cn

英特尔放出Linux微代码以修复Meltdown和Spectre漏洞

近日,Intel发布了最新版本的Linux处理器微数据文件,而这个补丁文件能够修复Intel CPU中的Spectre以及Meltdown漏洞。广大用户可以使用微文件来修复操作系统中目前已知的Intel CPU安全漏洞,而无需在计算机中执行BIOS更新。 根据Intel微下载页面所提供的介绍,Intel此次发布了40种不同版本(针对Linux)的补丁,可适用于多款不同型号的Intel处理器。 下面给出的就是Intel官方网站列出的处理器支持型号。大家可以参考下列表格以及cpu-world.com网站上的CPU信息来寻找合适自己处理器的补丁版本。注意,下列表格中的CPU版本号为十六进制值(例如(06-3c-03:32)),你可以在cpu-world.com寻找到相匹配的处理器...阅读全文

博文 2018-01-17 23:26:58 debian.cn

华为的 Linux 发行版 openEuler 可以使用了!

华为提供了一个基于 CentOS 的企业级 Linux 发行版 EulerOS,华为也发布了一个名为 openEuler 的 EulerOS 社区版。 openEuler 的源也一同发布了,源可以在 Gitee 找到。它有两个独立的库,一个用于存储源;另一个作为软件包的源,存储有助于构建该操作系统的软件包。 openEuler 基础架构团队分享了他们使源可用的经验: 我们现在很兴奋。很难想象我们会管理成千上万的仓库。为了确保它们能被成功地编译,我们要感谢所有参与贡献的人。 openEuler 是基于 CentOS 的 Linux 发行版 与 EulerOS 一样,openEuler OS 也是基于 CentOS,但华为技术有限公司为企业应用进一步开发了该操作系统...阅读全文

博文 2020-01-27 11:08:00 debian.cn

六个开源软件开发的潜规则

正如体育界不成文的规定一样,这些规则基本上不会出现在官方文档和正式记录上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲,这些东西很难懂,甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说,这些都是理所当然的。 软件开发,特别是开源软件开发中,也有一套不成文的规定。和其它的团队运动一样,这些规定很大程度上决定了开源社区如何看待一名开发者,特别是新加入社区的开发者。 按部就班,循序渐进 在参与社区之前,比如开放源或者其它什么的,你需要做一些基本工作。对于有眼界的开源贡献者,这意味这你需要理解社区的目标,并学习应该从哪里起步。人人都想贡献源,但是只有少量的人做过准备,并且乐意、同时也有能力完成这项艰苦卓绝的工作:测试补丁、复审...阅读全文

博文 2017-05-20 10:27:11 debian.cn

Linux 内核将停止支持旧CPU架构 可减50万行代码

Linux 内核维护者已经决定在即将发布的版本中放弃对旧 CPU 架构的支持。因此,Linux 4.17 内核将减少大约 50 万行,目前它包含大约 2030 万行。 Linux 内核维护者已经决定在即将发布的版本中放弃对旧 CPU 架构的支持。因此,Linux 4.17 内核将减少大约 50 万行,目前它包含大约 2030 万行。将被弃用的体系结构是 Blackfin,CRIS,FRV,M32R,Metag,MN10300,Score 和 Tile。虽然不被弃用,Unicore32 和 Hexagon 体系结构也处于风险之中,但他们的维护人员正在努力改善情况,以便继续支持。 内核开发人员 Arnd Bergmann 在 Linux 内核邮件列表中发帖称: “Linux...阅读全文

博文 2018-04-10 10:29:09 debian.cn

代码审计CodeQL

CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织与元数据,使研究人员能够“像查询数据库一样检索”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文

Ruby 2.5.0 稳定版发布

Ruby 2.5 系列第一个稳定版本发布,新版包括了一系列新的特性和性能改进。主要变化包括:rescue/else/ensure 允许直接与 do/end 块使用,yield 增加 yield_self,Struct.new 能创建接受关键字参数的类,最高级常量查询不再可用,移除所有 trace 指令提升 5-10% 性能,SecureRandom 将更偏向使用操作系统提供的 SSL 库等。 此版本包括数个新特性和性能提升,例如: 新特性 允许在 do/end 中直接使用 rescue/else/ensure。[功能 #12906] 新增 yield_self 来使用当前上下文 yield 块。不同于 tap,此方法会返回块的运行结果。[功能 #6721] 支持测量分支覆盖和方...阅读全文

博文 2017-12-25 21:59:41 debian.cn

成功运作一个开源项目的15个要点

运作开源项目很容易。所有你需要做的就是让你的源可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。虽然开源软件是免费的,但它的创作却不是免费的:你需要往项目中投入时间和精力等宝贵资源。 那么,你如何投资这些资源? 1、定义成功 在考虑运作开源项目之前,你需要明确定义成功的意义。这里有很多因素要考虑。只将放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商业采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多...阅读全文

博文 2017-11-08 09:58:28 debian.cn

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动部署到 production。公司里有很多员工、很多用户的好处:新让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问量用上新,最后慢慢增加到 100% 的访问量。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将投入生产的灵活方法。这篇文章着重讲述了他们在一年之内如何从“ cherry-picking ”升级到“ push-from-master ”策略。早些时候, Facebook 也分享了他们部署过程的细节。作者 Chuck Rossi 是...阅读全文

博文 2017-10-31 14:05:20 debian.cn

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

华为正式发布 openEuler 系商业发行版操作系统

3月27日,华为开发者大会2020以线上形式举行,华为云与计算BG总裁侯金龙在主题演讲中发布openEuler系商业发行版操作系统,首批参与的操作系统包括银河麒麟服务器操作系统V7.6,普华服务器操作系统V5.1(鲲鹏版)、深度欧拉V1.0以及傲徕服务器操作系统1.0。 IT之家此前报道过,今年1月份,openEuler开源社区(以下简称openEuler社区)正式开放源、镜像及开发测试环境,标志着openEuler社区开放运作迈出了坚实一步。作为主要筹备方,华为会逐步开放在ICT基础软件领域的技术积累,将操作系统、编译器/JDK等领域的基础平台能力开源至openEuler社区。 在openEuler社区,社区参与者可下载操作系统安装镜像或源,快速了解并掌握openEuler操作系...阅读全文

博文 2020-03-27 11:10:15 debian.cn

Go 1.15.7 新鲜出炉:修复安全问题,建议升级

Go 官方刚刚发布了 Go 1.15.7 和 Go 1.14.14,以解决最近报告的安全问题。建议所有用户都更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.15.7)。具体修复的安全问题如下:1、cmd/go:使用 cgo 的包可能会在构建时导致任意执行。当 Windows 上使用 cgo 时,go 命令可以在构建时执行任意。运行 “go get” 或任何其他构建的命令时,可能会发生这种情况。只有构建不受信任的(而不执行)的用户才会受到影响。除 Windows 用户外,这还可能影响在 PATH 中使用了 “.” 的 Unix 用户,在模块外部或禁用模块模式下运行 “go get”或构建命令。具体 issue:https://github.com/golang...阅读全文

博文 2021-01-25 15:15:34 mp.weixin.qq.com

Linux 27周年:这27件有趣的事实你可能不知道

许多人认为10月5日是 Linux 系统的周年纪念日,因为这是 Linux 在1991年首次对外公布的时间。不过,你可能不知道的是,早在1991年8月25日,当年还是大学生的 Linus Torvalds 就向 comp.os.minix 新闻组的人透露了由于“业余爱好”他正在研究操作系统的消息。因此,该时间也被许多爱好者视为 Linux 的真正诞生日期。 为纪念 Linux 27 岁诞辰,OMG Ubuntu 列出了 27 个与 Linux 和 Linus Torvalds 相关的有趣事实。 1、截至 2018 年,Linux 内核已有 20,323,379 行。尽管近期有所减少,但庞大的量意味着 Linux 仍然是地球上(单个)最大的开源项目。 2、Linux 差点不叫这个名字...阅读全文

3个 Linux 命令让你看起来很忙:摸鱼的技巧

如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的,大量的矩阵中的十六进制数字像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。 当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。编写、管理项目和管理系统与股票交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关者进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。 但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。 旁...阅读全文

博文 2019-09-28 15:48:43 debian.cn

SVN切换分支用法汇总

一、SVN切换分支操作介绍SVN(Subversion,下文简称SVN)是一种版本控制系统,它提供了一系列的命令行工具来管理源。在的开发过程中,可能会需要更改当前工作目录下所处的分支。SVN提供了switch命令供用户进行分支切换操作,该命令只修改当前工作目录下原本的模块链接并不会真的修改目标URL中的版本库。在SVN中,一个版本库可能会有多个分支,我们可以通过checkout命令来创建这些分支,也可以使用branches工具来进行分支的删除、移动、查看等,这些工具都是由SVN提供的。SVN提供了非常完善的分支管理机制,让我们可以方便地在开发过程中,随时随地地更换所处的分支。二、SVN切换分支常用命令及其参数介绍切换分支是SVN的基本操作之一,下面是一些常用的命令及其参数。大家可以...阅读全文

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

osquery 4.1.0 发布,操作系统监控工具

osquery 是 SQL 驱动的分析和监控操作系统的工具,是操作系统分析框架,支持 OS X 和 Linux 系统。osquery 能帮助监控和分析低水平的操作系统,提供更直观的性能监控。 4.1.0 版本内容如下: New Features / Under the Hood improvements 还原扩展 SDK 和构建支持改进文档在整个库中添加更多的测试允许使用标志配置更多 Linux Audit 设置添加 logger_tls_max_lines 标志添加对 AWS Session Token 支持 Build 在所有平台上将 OpenSSL 升级到 1.0.2t在 Windows 和 MacOS 上使用 SQLite 3.29.0在 Windows 和 MacOS 上使用...阅读全文

博文 2019-11-07 10:14:24 debian.cn

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap (例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增量的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

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

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

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

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无法可靠地这样做。 尽管静态分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文

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

Go 泛型草案更新,明年8月Go 1.17引入

Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此编写了一个类型检查器——可按照设计草案中的说明,解析使用泛型的 Go 并报告任何类型的错误。为了收集社区的反馈,他们还编写了示例并在草案中提供。 根据收集的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼容 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Go 语言发布 2.x 计划,或将不完全向后兼容

论 Go 2 了。 开发团队表示,Go 语言如今的目标与 2007 年相同,就是希望使程序员更有效地管理两种规模:生产规模和开发规模,其中又主要针对的是与许多其他服务器交互的并发系统,和许多工程师协调的大型库。Go 2 的目标就是解决 Go 1 在规模化方面做的还不好的地方。 据 Russ 估算,目前全球的 Go 开发者至少有 50 万,这意味着有数百万个 Go 源文件和至少十亿行 Go 。那些程序员和源代表了 Go 的成功,但同时也是对 Go 2 的主要约束。只有在回报非常巨大时,才能让开发者改变原有的旧习惯,学习新用法。Go 2 必须修正 Go 1 的问题,带动所有的 Go 开发者, 也就必须带上所有现有的 Go 源,不能让生态系统分裂。 如果把 Go 2 要增加的特性分...阅读全文

博文 2017-07-22 19:50:05 debian.cn

Linux基金会确认开源技术不受美国出口管制

去年GitHub突然宣布开源也要受美国出口管制EAR让全球程序员都担心了,不过Linux基金会现在可以确认开源技术不受美国管制了。 软件开发方面,开源技术已经成为全球共识,很多项目都是全球各地的程序员合作开发的,不仅有美国及欧洲程序员,中国不少公司及开发者也是全球开源社区的重要组成,任何一方如果强硬限制,那么整个开源社区就存在断链的风险。 本周,Linux基金会在官网上发表了一份白皮书《了解开源科技和美国出口管制》,中英文双版介绍了美国出口管制的限制,最重要的是这个指南明确了“公开发布给全世界享用的开源技术是不受制于美国出口管制EAR,开源至今仍然是一个最为便利的全球协作的模式。” EAR第734.7条款指出,当可被公众获取且无进一步传播限制时,未被归类为密级事项的『技术』或『软件』属...阅读全文

博文 2020-07-12 17:19:51 debian.cn

Django 3.0 发布第一个版本 开始支持异步功能

Django 3.0 发布了第一个版本3.0a1,正式版版本将于今年12月份发布。3.0版的Django带来了一些新特性,其中最值得关注的应当是其开始支持异步功能。 django路线图 此前有草案提出要 让 Django 支持异步 。聚集于 HTTP 中间件视图和 ORM,开发者要在 Django 中添加异步支持,同时维护对同步 Python 的支持,并且将完全向后兼容。 该设想最终会替换掉 Django 中的大多数阻塞部分,包括 Session、Auth、ORM 与 Handlers 等,使其 原生支持异步 。而同步 API 将继续存在并得到完全支持,其中一些最终将转变为原生异步的同步包装器。 ASGI 模式将 Django 作为原生异步应用程序运行,原有的 WSGI 模式将围绕每个...阅读全文

博文 2019-09-13 07:21:28 debian.cn

Linux基金会宣布开放物联网ACRN管理程序

Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理程序。该项目得益于英特尔和工程的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理程序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解决方案提供的,但嵌入式开发人员社区被邀请提供以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理程序选项。 ACRN针对资源受限设备进行了优化,并将重点放在隔离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文

博文 2018-03-20 08:33:38 debian.cn

Angular 6.0 即将发布 承诺更小更快更易用

本月早些时候,Angular 团队发布了 6.0 的第五版候选版本 ,其中包括一些错误修复以及添加令牌标记和支持配置导航网址。 根据 Angular 的开发者支持者 Stephen Fluin 的说法,RC 意味着团队已经在一定程度上实现了正式版的稳定性,并且已经完成了添加功能和更改 API。 Fluin 还解释说,该团队有两个发布曲目。 首先,他们向公众发布了新闻稿,其中包括团队对 Angular 所做的每一项变更,并将其合并到主分支中。 第二个是谷歌将所有的 Angular 源放在一个存储库中,这意味着 Angular 的每一个变化都已经在谷歌的超过 500 种产品中使用。 6.0 版本的关键功能是将所有版本的框架结合起来,这意味着核心路由器,平台浏览器,CLI,Angular...阅读全文

博文 2018-04-24 09:41:33 debian.cn

2017年的Linux内核防护依然脆弱

"Linux 内核 “社区” 对待安全的优先级并不高,虽然经历了 2000 年代的多次大规模漏洞利用事件但并没有让 Linus Torvalds 本人改变 "A bug is bug" 的哲学,由于 Linux 内核的安全问题逐渐影响到了 Android 和 IoT 设备,一次 华盛顿邮报的曝光促使了 KSPP(Linux 内核自防护项目)的成立。 KSPP 是由 Linux 基金会旗下的 CII(基础架构联盟)管理,其吸纳了来自诸多大厂商(Google, RedHat, Intel, ARM 等)的工程师进行联合工作,可惜的是两年的时间过去了,KSPP 大多时候只是在重复的抄袭 PaX/Grsecurity 的各种特性以获得各自雇主那里的 KPI 和 credit,各种混乱的合并到了...阅读全文

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

谷歌开源 Pigweed:用于提升嵌入式开发效率

谷歌于 1 月下旬曾向 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据申请内容来看,Pigweed 商标涵盖“计算机操作软件”。当时,人们猜测这是一款新的操作系统商标,但并未有任何相关信息提供。 昨日,谷歌毫无征兆地公布并开源了 Pigweed。与之前的猜想不同,这是一个嵌入式库(或模块)的集合。使用 Pigweed 模块可​​以在 32 位微控制器( 即嵌入单电路芯片中的小型计算机 )上实现更快、更可靠的开发。 Pigweed 提供的模块可满足嵌入式开发人员的广泛需求。从整个生命周期来看,Pigweed 从设置,到开发,再到提交,都能够有效提高嵌入式开发的效率。谷歌以上述开发过程为轴,围绕这几个方面分别介绍了 Pigweed 的一些模块。 嵌入式空间...阅读全文

博文 2020-03-22 08:35:14 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型库,Go 程序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的太多,但处理这些错误的却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

发行版)。该版本引入了一系列新功能,包括对多平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享,以及多项对语言方面的改进 —— 包括支持在注释中使用数组字面量。更多关于 1.2 版本新功能的内容,点此查看。 此外,值得关注的就是协程这个特性了。虽然协程仍然被标记为实验性状态,但官方特意说明了这里“实验性”代表的含义。官方表示协程已经完全准备好用于生产环境,他们也已使用协程进行开发,而且也没发现在使用当中出现任何重大问题。之所以仍保持实验性状态,是为了能够对 Kotlin 继续进行设计迭代。根据目前的计划,Kotlin 1.3 将会删除协程的实验性状态。 Kotlin/Native 对 iOS 开发的支持 另外一个重大消息就是 Kotlin...阅读全文

博文 2017-11-05 19:28:14 debian.cn

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一定程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

Java Annotations详解

Java注释被用来为java提供元数据(meta data)。作为元数据,注释不会直接影响的执行结果,不过事实上有些注释就是为了影响的执行结果而定义的。 Java注释是从Java 5开始添加的。本文对于Java注释的讨论是基于java 6的,据我所知,到目前为止Java 7中关于注释的部分并没有发生改变,所以本文对java 7编程人员上来说应该也是可用的。 目录: · Java 注释的作用 · 注释的基础知识 · 注释的位置 · Java中预置的注释 · 创建你自己的注释 Java 注释的作用 预编译指令(Compiler instructions) 编译时指令(Build-time instructions) 运行时指令(Runtime instructions) Java有...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

Node.js Vs. PHP:你应该选择哪一个

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 编写后端。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。 PHP 和 Node.js 的基本区别在于...阅读全文

博文 2017-12-23 23:15:39 debian.cn

BSD 系统正在死亡?

安全研究员从内核发现的 bug 数量这一角度认为 BSD 正在死亡。安全公司 IOActive 负责渗透测试的总监 Ilja von Sprundel 分析了 BSD 的源,从 3 大 BSD 发行版发现了 115 个内核 bug,其中 FreeBSD 有 30 个,OpenBSD 有 25 个,NetBSD 有 60 个,大部分 bug 被认为是非常容易发现的。 他报告了这些 bug,但六个月后许多 bug 仍然没有修复。 Linux 内核的 bug 通常存在的时间很短,很快就会修复,但 BSD 的情况不是如此,许多 bug 已经存在了十年甚至更长时间。von Sprundel 特别称赞了 OpenBSD 的质量。 【原文来自 CSOOnline】...阅读全文

博文 2018-01-29 11:30:29 debian.cn

Debian 9.7 发布:安全更新版本

Debian 使用的包管理器 apt/apt-get 曝出了一个远程执行漏洞,该漏洞允许网络中间人在正在安装任何包的机器上以 root 权限执行任意。最新版的 apt 已经修复了该漏洞,尚未安装最新更新或正在安装最新更新的用户可以通过暂时禁用 HTTP 重定向来防止中间人攻击。 Debian 紧急释出了 9.7 版本,修复该漏洞。将现有版本升级之此版本可以通过包管理系统指向 Debian 的 HTTP 镜像来实现。建议遵循 DSA-4371 中的说明。 镜像列表:https://www.debian.org/mirror/list Bug 修复 base-filesUpdate for the point release 安全更新 DSA-4371apt 完整的软件包更新列表...阅读全文

博文 2019-01-24 09:49:36 debian.cn

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF ;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过程: 以字节码的形式创建...阅读全文

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

改善 Debian Linux 软件包管理的七款工具

说,你可以用它来设定软件包安装时向你提出哪种类型的问题、重置问题的优先级,或者尽管软件包破损仍强行安装。 dpkg-reconfigure可用来配置基于Debian系统的几乎方方面面。由于出现了配置安装系统的其他工具,它的多用途性在丧失,不过dpkg- reconfigure仍可用于配置诸如此类的特性:时区、视频驱动程序、打印机和扫描仪。Ubuntu弃用了dpkg- reconfigure,但是它在其他基于Debian的发行版中仍很有用。 4.netselect-apt 如今,互联网连接的速度已经非常快。然而,一些软件包库的速度仍比其他库要快;在使用高峰期间,流行的软件包库会降低速度。有时候,根本就缺少高速连接。 对于注重速度的那些人来说,netselect-apt为你的位置列出...阅读全文

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

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日本丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内核提出新的要求,这对于为嵌入式系统开发解决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖范围更大了,有更多的人对这个进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文

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

为什么 Django 能持续统治 Python 开发世界

对于 Python 开发者来说,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。通过本篇博客,我来为大家讲解下为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择 Django。 再大肆宣扬Django之前,让我们简单了解一下web框架 Web框架是一个库,使开发人员更容易构建动态网站、Web应用程序和Web服务。 众所周知的是,每个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次创建网站时都需要编写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可以让您每次创建网站都需要重新编写通用功能...阅读全文

博文 2017-07-21 14:15:11 debian.cn

HHVM 3.24 正式发布:不再支持 PHP 5

-json option, which includes node content in the output In partial mode, Hack no longer assumes that any unknown definitions must be defined in PHP 更新内容较多,详情请参阅 发布主页 。 HipHopVM(HHVM) 是 Facebook 推出的用来执行 PHP 的虚拟机,它是一个 PHP 的 JIT(Just-In-Time) 编译器,同时具有产生快速和即时编译的优点。...阅读全文

博文 2018-01-17 13:45:09 debian.cn

Debian 在其内核中测试启用 WireGuard

WireGuard 是 Linux Kernel 5.6 新增的重要功能之一,经过多年的开发,现在可以作为内核树之外的模块提供(DKMS)。Linux Kernel 5.6 也已将其合并进内核主线。诸如 Ubuntu 20.04 LTS 之类的发行版也已经反向移植 WireGuard 到其内核。 现在,Debian 在测试的内核构建中已启用 WireGuard,它已进入到 Debian 的 Linux 内核树的 Kconfig 中。鉴于 WireGuard 的成功,Debian 大概率会对它进行深度定制。对于希望继续采用 WireGuard 的 Debian 11 来说,这是个好消息。 对于内核版本较旧的现有 Debian 稳定版本用户以及其他发行版/操作系统,请参阅...阅读全文

博文 2020-03-24 10:26:42 debian.cn

微软宣布年底关闭开源软件托管平台 CodePlex

据 Venturebeat 报道,微软今天宣布,将关闭开源软件托管平台 CodePlex。微软 2006 年推出这项服务,并决定在今年 12 月 15 日将其关闭。 微软公司副总裁布莱恩·哈里(Brian Harry)在博文中写道,人们将可以下载他们的数据档案,微软正与面向开源及私有软件项目的托管平台 GitHub 合作,给用户提供 “简化的进口体验”,和相关内容都将转移到 GitHub 上。简单来说,GitHub 赢了! 哈里写道:“过去多年中,我们已经看到许多惊人的选项起起落落。但是现在,GitHub 正成为开源共享和大多数开源项目托管事实上的中心。”过去几年里,微软越来越向 GitHub 倾斜。它已经于 2016 年将 CNTK 深度学习工具包从 CodePlex 转移到...阅读全文

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

GitLab 12.5 稳定版发布:支持EKS集群、多云托管和环境面板等

问。这样我们可以快速、直观地识别并分类问题。 集成 Sourcegraph 以支持智能感知 在 GitLab 12.5 中,实例管理员配置了 Sourcegraph 集成后,当浏览或查看合并请求时,便可在 GitLab 中使用 Sourcegraph 的强大导航功能了。...阅读全文

树莓派4B系统Buster版换用国内安装源

树莓派4B使用国内源(buster版本) 之前一直找的是网上现成的源,结果后面发现树莓派4B早已不是stretch版本,而是buster版本,踩了许许多多坑,希望后来的人不要重蹈覆辙。下面就来手把手教你如何将树莓派4B切换为国内源。 1.使用ssh或者VNC登录到树莓派,然后打开终端,修改软件更新源,执行如下命令: sudo nano /etc/apt/sources.list 2.在第一行复制粘贴以下,在这里使用中科大官方镜像源。 deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi !!!(2020年8月18日更新,5月份以来在官网下载的镜像已经是Raspberry Pi...阅读全文

博文 2021-02-09 10:49:11 CSDN博客

Linux基金会推出ACT项目 帮助开发者遵守开源许可证

Linux Foundation 正致力于通过组建新项目来改善开源的合规性,他们近日推出了一个 Automated Compliance Tooling(ACT)项目,旨在整合对推进开源合规性工具的投入,提高互操作性和可用性,从而帮助组织管理合规性义务。 根据 Linux 基金会的说法,虽然开源的使用变得越来越流行,但使用开源有责任遵守该许可的条款,这会给用户和组织的管理带来挑战。 Linux 基金会战略高级主管 Kate Stewart 表示:“推进开源合规性的工具或项目有很多,但大多没有资金,构建强大可用性或高级功能的范围有限。我们从许多组织那里听说,目前存在的工具无法满足当前的需求。在 Linux 基金会下成立一个中立机构来处理这些问题,将使我们能够增加对合规工具开发社区...阅读全文

博文 2018-12-09 13:32:56 debian.cn

2017年DevOps的5大发展预测

DevOps解决方案营销副总裁Aruna Ravichandran预测道。她说,“鉴于攻击者强度和复杂度的提高,以及安全问题快速公诸于众对品牌带来潜在不可挽回的损害,本身必须考虑安全问题,并且部署在牢固的安全架构中。” Ravichandran认为,随着微服务框架和SDK的引入,开发人员为了避免影响用户体验,应该从一开始就考虑安全功能。当到了测试和部署阶段,安全验证应该被视为特殊情况处理。她提到“安全相关需求测试要求是非常特殊和动态的,这个过程非常有可能需要专家和用户的介入,这不是传统DevOps流程的一部分。” 更加注重安全的时期 按照Tufin首席技术管兼联合创始人Reuven Harrison的说法,DevOps可能是企业的最新漏洞。2017年,他期望能够看见安全相关流程能够融入到...阅读全文

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

Rust 1.37.0 稳定版发布

1.37.0 中,还可以使用 Self : Variable 引用枚举变量: impl Coin { fn value_in_cents(&self) -> u8 { match self { Self::Penny => 1, Self::Nickel => 5, Self::Dime => 10, Self::Quarter => 25, } } } 更确切地说,Rust 现在允许通过“type-relative resolution”来引用枚举变量,>::Variant。 内置 cargo 支持独立依赖关系 cargo vendor 命令集成到 Cargo,该命令获取项目的所有依赖项,将它们解压缩到 vendor/ 目录中,并展示了在构建过程中使用分布式所需的配置片段...阅读全文

博文 2019-08-17 21:17:23 debian.cn

钉钉发送报警消息的Python实现

我司使用钉钉作为主要的内部通讯工具,基本上大家在电脑和手机上都开着,消息可以第一时间查看,报警消息的即时性要求比较高,我们计划使用钉钉来发送报警通知。本文将简要介绍发送消息的API使用样例。钉钉的API接口文档,请查阅钉钉开放平台。 介绍如何用 Python 实现钉钉自动发送消息,你可以用来和报警平台整合,或者做ChatOps。 获取 access token 要使用钉钉发送消息,首先需要获取access token,如下: def get_access_token(): url = 'https://oapi.dingtalk.com/gettoken?corpid=%s&corpsecret=%s' % (corp_id, corp_secret) request...阅读全文

博文 2018-04-27 08:51:33 debian.cn

Google 关于 Go 2 的讨论

在本周召开的GopherCon 2017上,Google Go的技术负责人Russ Cox做了关于Go的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪些内容提出建议。Google在十年前开始发展Go语言,在5年前提供了第一个稳定版本1.0。目前的稳定版本是1.8.3,Google正在向社区开放,听取下一个主要版本2.0应该包括哪些内容。 最近的一项研究评估,Go语言的开发者数量约为50万。如果就编程语言向所有这些开发人员询问他们想要什么,那么很可能得到一个很长的期望功能列表。但Google非常关心维护与现有Go库的兼容性,该库大致近似于1B LoC。虽然这表明该语言的成功,但是按照Cox的说法,它也是“Go 2的主要制约因素”。 Go 1承诺兼容性,让开发人员放心,只要...阅读全文

博文 2017-07-20 10:03:13 debian.cn

运维的未来:云服务兴起,运维人员会“下岗”吗?

都跟质量保证(QA)的未来走向相似。传统意义上的 QA 正从关注测试转向关注工具。工程师写、单元测试和集成测试。测试在 CI 上运行,通过 CD pipeline 和 canary 转出(rollout)来生产。QA 团队正在缩小,但是构建工具的团队正在增长——测试框架、CI 环境和 CD pipeline 。QA 能力现在已经嵌入发展团队中了。经由 Microsoft 和 Amazon 等公司普及的SDET 模式是这个方向的第一步。2014 年,Microsoft 转向了联合工程(Combined Engineering)模式,将 SDET 和 SDE(软件开发工程师)合并成一个角色,软件工程师,负责产品、测试和工具。 你们有没有注意到 QA 起的作用似乎在悄然消失?跟...阅读全文

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

Gitlab 从 12.1 版本开始不再支持 MySQL

Gitlab 官方 宣布 ,将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017 年 7 月,Gitlab 就计划将弃用对 MySQL 的支持。而目前这个决定将从 12.1 版本开始。 官方列出几个 MySQL 不能满足 Gitlab 需求的地方: 无法支持嵌套分组查询(详情)必须使用黑科技来提升 MySQL 对列的限制,这将导致 MySQL 拒绝存储数据MySQL 无法添加 TEXT 类型字段的长度限制MySQL 不支持分区索引还有类似 Geo 为了解决上面这些问题,Gitlab 创建了许多专门针对 MySQL 的。 在某些情况下,这导致合并请求的复杂性要高一倍,因为它们必须支持第二个数据库后端。 创建和维护这些会消耗我们的循环时间和速度,并且会降低我们的迭代值...阅读全文

博文 2019-07-03 22:41:20 debian.cn