InfraPub 为您找到相关结果 397

2017 热门开源自动化测试框架优缺点对比

是最好的选择。 但是,对于功能测试或非 Java 应用,应考虑其他解决方案。 3. Spock Spock 是用于 Java 和 Groovy 应用的测试和规范框架,基于 JUnit 。 优点: 测试可读性强,支持单的英文句子,便于阅读。 提供周边上下文,从而能轻松了解如何解决故障。 内置 mocking 和 stubbing 功能。 支持数据驱动测试(DDT)。 缺点: 需要具备基本的 Groovy 语知识。 如果你的应用是基于 JVM 的,并且目标是使用 DSL 进行 BDD 自动化测试,则此框架正适合! 4. NUnit NUnit 是支持所有 .Net 语的单元测试框架。最初也是基于 Junit 的启发,完全采用 C# 编写,目前已被完全重新设计以使用更多 .NET 语功能...阅读全文

博文 2017-11-15 08:52:47 debian.cn

深入学习golang — channel

Channel 1. 概述 “网络,并发”是Go语的两大feature。Go语号称“互联网的C语”,与使用传统的C语相比,写一个Server所使用的代码更少,也更单。写一个Server除了网络,另外就是并发,相对python等其它语,Go对并发支持使得它有更好的性能。 Goroutine和channel是Go在“并发”方面两个核心feature。 Channel是goroutine之间进行通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 例如: var ch chan int var ch1 chan<- int //ch1只能写...阅读全文

博文 2021-01-25 12:39:17 博客园

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

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

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

Go 语官博发文展示了 Go 2 计划,征询社区和用户的意见。 先单回顾 Go 语发展历程: 2007 年 9 月 25 日,Rob Pike、Robert Griesemer 和 Ken Thompson 讨论构建一种新的编程语,Rob 建议命名为 “Go” 。 随后,Russ Cox 和 Lance Taylor 加入 Go 语设计团队。2009 年 11 月 10 日,Go 语开源。 在开源社区的帮助下,Go 做了一系列改进,于 2011 年 10 月 5 日正式提出 Go 1 计划。2012 年 3 月 28 日 Go 1.0 正式发布。 Go 语从酝酿到发布经历了五年,Go 1.x 开发也已持续了五年,目前更新到了 1.9 版本(正式版计划 8 月发布),也是时候讨...阅读全文

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

Focalboard :一款开源、本地存储、免费的类 Notion 应用

是为团队协作所提供的自托管服务器版本。界面语:这款开源软件的开发者是 Chen-I Lim,看名字应该是国人或者华裔。可能因为如此,这款还在不断更新的开源软件,提供了体和繁体中文语。在实际测试中,繁体设置正常,体设置暂时不起作用。使用体验:Focalboard 应该还属于 Beta 阶段,在Mac 平台上操作会出现闪退等 Bug. 推荐暂时体验,等产品优化一小段时间后使用。如果你的工作环境对公网服务有所限制,需要本地存储、离线版的、类Notion的项目管理软件,那么 Focalboard 值得你考虑。参考链接Focalboard官网Focalboard Github 地址NotionAnytype...阅读全文

博文 2021-09-16 19:50:29 少数派

VS Code 公布 2018 路线图:生态改进 快乐编码

,例如 Java。 扩展创建、发现和管理包括: 针对用户:改进推荐系统、改进扩展搜索、化由扩展引起的问题跟踪、显示有关扩展使用情况的更多信息等。 针对作者:改进语 API 、支持远程开发、快速选择命令改进、支持更换发布者等。 更多详情和具体细节请点此查阅 开发团队还表示,VS Code 将继续坚持按月更新的频率,并在每次迭代版本发布时对后续改进目标进行“调查”。这也意味着今后几个月的目标是在真正进行功能开发之前更好地了解问题和潜在的解决方案。调查完成后,会适当调整开发计划。...阅读全文

博文 2017-11-02 11:50:40 debian.cn

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

Go 1.10 还没发布,下面将单介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保持与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用程序都能像以前一样继续编译和运行。 语特性方面的改变 语特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过编译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文

博文 2017-11-18 13:59:12 debian.cn

Debian Stretch 安装配置 Jenkins

本文将单介绍 Debian 环境下,Jenkins 服务的安装与配置。通常Jenkins有两种方式安装,一种是通过官方提供的 Deb 包安装,另一种是用 tomcat 作为容器来运行 jenkins。这里我们使用Deb包方式,部署单、后期的更新维护也很方便;这也是我们选择 Debian 部署 Jenkins 的原因。 安装 Jenkins 第一步:添加 jenkins 安装源 # wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - # vim /etc/apt/sources.list deb http://pkg.jenkins.io/debian-stable binary 第...阅读全文

博文 2019-11-29 14:39:43 debian.cn

Proxmox VE 6.2发布 开源虚拟机平台

容视图中,管理员现在可以使用新列“创建日期”过滤存储的数据,例如,该列可以化从特定日期开始搜索备份的过程。可以无缝更改 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...阅读全文

博文 2020-05-18 19:18:30 debian.cn

王垠:如何掌握所有的程序语言

基本特性写出好的代码,那你换成另外一种语也无济于事。你会写出一样差的代码。我经常看到有些人 Java 代码写得相当乱,相当糟糕,却骂 Java 不好,雄心勃勃要换用 Go 语。这些人没有明白,是否能写出好的代码在于人,而不在于语。如果你的心中没有清晰单的思维模型,你用任何语表述出来都是一堆乱麻。如果你 Java 代码写得很糟糕,那么你写 Go 语代码也会一样糟糕,甚至更差。 很多初学者不了解,一个高明的程序员如果开始用一种新的程序语,他往往不是去看这个语的大部头手册或者书籍,而是先有一个需要解决的问题。手头有了问题,他可以用两分钟浏览一下这语的手册,看看这语大概长什么样。然后,他直接拿起一段例子代码来开始修改捣鼓,想法把这代码改成自己正想解决的问题。在这个短的过程中,他...阅读全文

博文 2017-07-10 10:13:17 debian.cn

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

第七届开源操作系统会议(OS2ATC)资料下载

开源操作系统年度技术会议(称 OS2ATC)是为了促进我国操作系统相关教学、研究与产业的发展,加强学术研究,展开跨学科的交流等。本届 OS2ATC 会议 2019 年 12 月 14 日 在深圳鹏城实验室举办,邀请了国内一线的操作系统专家和团队领导围绕如何“开源协作”进行深入探讨。 本次除了邀请操作系统及相关领域的知名专家学者做大会的演讲,还围绕了“内核技术”、“全栈及应用生态”、“编程语及编译器”、“架构及芯片技术”、“虚拟化技术”等专题进行讨论。会议资料下载地址: 地址一: https://www.atzlinux.com/debian/doc/os2atc2019/地址二:https://debian.cn/files/os2atc2019/...阅读全文

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程语(C++)。他们依然还习惯使用 C 语来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文

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

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 语贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内容在博客中分享,由于内容过长,他又写了一个洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go洁版:https://the-zen-of-go.netlify.com 这里单翻译一下洁版本的内容:编写单、可读、可维护的 Go 代码的十个工程要点。 每个包实现单一目标 设计良好的 Go 软件包提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件包首先需要选择一个好名字,使用电梯法则(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件包要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 debian.cn

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

的语,你只需要将问题讲清楚即可。 - 有时候工具不好用也会影响的文档写作。如果没有一个很好的写作工具将写文档嵌入到开发工作流程中的话,写作确实会增加工作的负担。 - 大多数人将写文档看做是工作的额外负担。 我代码都没时间写,哪有时间写文档!,这其实是错误的观念,文档虽然前期有投入,但能让你代码的后期维护成本大幅降低,磨刀不误砍柴工这个道理相信大家都还是能理解的。 ## 如何产出高质量文档 ## 既然理解了好文档的重要性,我们如何保证在时间的长河中维护好一份文档,这里有些相关的方法论,大家可以参考下。 ## 像管理代码一样管理文档 ## 对于如何写出好代码,整个技术圈已经有好多经验的总结了,比如书籍《重构》《代码洁之道》…… 针对各种编程语,也有相关的规范,比如国外的Google C...阅读全文

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

Go1.16 新特性:一文快速上手 Go embed

在以前,很多从其他语转过来 Go 语的同学会问到,或是踩到一个坑。就是以为 Go 语所打包的二进制文件中会包含配置文件的联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法读取到静态文件的资源。 无法将静态资源编译打包进二进制文件的话,通常会有两种解决方法: 第一种是识别这类静态资源,是否需要跟着程序走。第二种就是考虑将其打包进二进制文件中。 第二种情况的话,Go 以前是不支持的,大家就会去借助各种花式的开源库,例如:go-bindata/go-bindata 来实现。 但从在 Go1.16 起,Go 语自身正式支持了该项特性,今天我们将通过这篇文章快速了解和学习这项特性。 基本使用 演示代码: import _ "embed...阅读全文

博文 2021-02-17 08:44:12 CSDN

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

码的困境结束,从而实现更快的开发。 之,Web框架可以化Web开发。 如果您想深入了解Web框架及其优点,请点击此处。 为什么Django是Python开发者的最佳选择 Django是一个Python编写的,高级的,MVC风格的开源库。 Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。 除了更快完成常见的Web开发任务,Django还可以保持设计干净且实用。 Django是Python Web开发新人的最佳选择,因为官方文档和教程是几个(同类)软件开发框架中最好的。 技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很单...阅读全文

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

SonarQube 8.4 发布,分析时间最多可减少 80%

。 更快地分析 C#、C、C++ 和 Objective-C 在此版本中,通过消除分析过程中不必要和多余的工作,加快了针对 C、C++、Objective-C 和 C# 的分析速度。对于 C、C++ 和 Objective-C,测试显示分析时间最多可减少 80%,具体取决于项目使用的外部依赖项的数量,而 C# 分析显示,时间平均缩短了 25%。 热备份,更快的启动 现在可以进行数据库备份而无需关闭 SonarQube,不必担心数据损坏。SonarQube 在问题索引编制完成之前接受并处理分析报告。这意味着,即使在接口完全可用之前,Quality Gate 的状态也将被更新,并发送 webhooks 和拉取请求。同时,一旦索引了每个项目,就可以浏览每个项目。之,当启动在后台进行时,开发生命周...阅读全文

博文 2020-07-13 12:55:22 debian.cn

Go 1.16 即将发布,这些变更你需要知道

bytes, 0 allocs init errors @0.22 ms, 0.004 ms clock, 0 bytes, 0 allocs init strconv @0.24 ms, 0.002 ms clock, 32 bytes, 2 allocs init sync @0.28 ms, 0.003 ms clock, 16 bytes, 1 allocs init unicode @0.44 ms, 0.11 ms clock, 23328 bytes, 24 allocs ... 主要作用是 init 函数跟踪的支持,以用于 init 调试和启动时间的概要分析,算是一个 GODEBUG 的补充功能点。 化结构体标签 在 Go 语的结构体中,我们常常会因为各种库的诉求,需要对结构体的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

7大维度看国外企业为啥选择gRPC打造高性能微服务

括Java,Ruby,Go和Node。框架是否为现有的语选择提供了一流的支持,同时提供了用其他语编写新服务的选项? 代码量 - 框架应该有助于降低工程成本。企业需要编写和维护多少代码才能使其工作?与业务逻辑相比,这是多少样板代码? 安全 - 所有的内部通信都应该被认证和加密。我们需要能够使用所有通信的SSL / TLS(或等价物)。 设计上的考虑,并非都与技术有关 服务API是最重要的接口之一,因为在开发过程中对设置服务期望至关重要。解决服务API的设计是一项艰巨的任务,当不同的团队负责所涉及的不同服务时,该任务会被放大。最大限度地减少由于预期不匹配而浪费的时间和精力,与缩短编码时间一样有价值。由于Bugsnag拥有跨地区的工程团队,因此沟通时间有限。必须通过化沟通,确保事情不用那么多...阅读全文

博文 2018-03-19 17:51:32 debian.cn

MongoDB 4.2 正式发布 引入分布式事务

MongoDB 4.2 正式发布了,MongoDB Server 4.2 提高了现代事务和分析数据平台的技术水平。 Mongodb-4.2 的主要改动包括: 分布式事务将 MongoDB 的多文档 ACID 从副本集扩展到共享集群,能够为更广泛的用例服务按需物化视图使用新的 $Merge 运算符,在集合中缓存大型聚合的输出是一种常见的模式,新的 $Merge 运算符将可以有效地更新这些结果,而不是完全重新计算它们通配符索引使建模像产品目录这样的高度异构的集合变得单和自然,而不牺牲对索引的支持。只需定义一个过滤器,它将自动索引集合中所有匹配的字段、子文档和数组MongoDB 查询语增强功能,如更有表现力的更新、新的数学运算符和扩展的 regex 支持。此版本的 update 和...阅读全文

博文 2019-08-16 07:54:08 debian.cn

Ryzen发布两周:AMD 称表现达到预期 四月发布更新

要游戏正确识别了 Zen 的核心与缓存,即可在启用 Ryzen SMT 技术后恢复正常性能。遗憾的是,该公司暂未给出确切的时间表。 之,当前 Ryzen 用户只能享受到略低于理想状况的性能,除非它们将 Windows 电源设置选项指定为“高性能”模式才能得到改观。AMD 称,此举可减少处理器核心闲置行为,在程序有需要时给出更快的响应。 至于Ryzen 桌面处理器的 CPU 默认均衡配置优化,AMD 表示会通过 4 月首周的更新进行修复。【原文编译自 TechReport.com 】...阅读全文

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

谷歌删除Chrome应用板块 2018年全面停用

。 不过,谷歌正在为Chrome增加一种新的应用——Progressive Web Apps(PWA),之前也进行过测试。这种模式目前已经可以在Android版Chrome上使用,而且也可以用在其他浏览器上。 之,PWA为网站提供了像应用一样的功能,还有一个“应用图标”,甚至能提供推送通知和离线功能。据报道,谷歌计划在2018年中开始让PWA兼容桌面版Chrome。...阅读全文

博文 2017-12-09 07:59:24 debian.cn

Rancher 2.3 发布:支持Windows容器 集成Istio

Istio的集成,极大化了Istio的安装和配置,Rancher中现已内置支持: 用于流量和遥测可视化的Kiali仪表板用于追踪的Jaeger用于监控和可观察性的Prometheus和Grafana Rancher 2.3还正式支持了Kubernetes v1.15.x和Docker 19.03。 增强Kubernetes安全性 Rancher 2.3引入了“集群模板”功能,它可以让企业在整个基础架构中实施一致的集群配置,进而帮助企业降低安全风险。具体而,通过使用集群模板: 运维人员可以在其所有集群部署中创建、保存并放心使用经过良好测试的Kubernetes配置。管理员可以启用配置强制实施,从而抑制配置漂移或不当的配置错误。如果创建更多的集群,这些配置不当可能会带来安全风险。...阅读全文

博文 2019-10-10 11:44:14 debian.cn

服务监控系统 Prometheus 2.0 发布

服务监控系统 Prometheus 2.0 已发布,Prometheus 是一个 Go 语开发的开源的服务监控系统和时间序列数据库。 Prometheus 2.0 有一个单而强大的运营模式。然而,基础设施领域也没有停滞不前,像 Kubernetes 和 Mesos 这样的项目正在迅速改变软件的部署和管理方式。受监控的环境变得越来越活跃。 存储 Prometheus 2.0 有性能显着提高,几乎在所有方面都有所改进。查询延迟更加一致,特别是在高系列流失的情况下,它的规模更大。在不同的现实世界生产情景下测量的资源消耗也显着下降: 与 Prometheus1.8 相比,CPU 使用率 降低了 20% – 40% 与普 Prometheus1.8 相比, 磁盘空间使用率 降低了 33...阅读全文

博文 2017-11-09 10:44:45 debian.cn

Harbor 1.9 发布:新增多项企业级功能

Harbor 1.9 发布了,此版本新功能众多,包括 tag 保留和配额、可与 CI/CD 工具集成的 Webhook 通知、数据复制、Syslog 集成以及 CVE 例外策略等安全功能。 Webhook 如果您是项目管理员,可以通过 Webhook 的通知机制,将 Harbor 的项目与您技术栈的其余部分连接在一起。之,如果您配置了 Webhook,Harbor 会就把该项目中发生的某些事件(包括推送、拉取、删除镜像和 Helm Charts、镜像扫描及 CVEanqu 漏洞发现)向 Webhook 端点发出通知。通过这些事件,您可以将 Harbor 与其他系统集成在一起,以化持续集成和开发过程。理想情况下,获得 Webhook 的端点应具有一个操作侦听器,用于解释 JSON 格式...阅读全文

博文 2019-10-09 12:12:04 debian.cn

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种候选语中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

Postgres 10 开发者新特性

目前非常流行的RDBMS PostgresSQL已经在几周前发布了它的第10个版本。由于Postgres的可靠性、节约成本、成熟,当然还有它的开源,已经21岁的Postgres在开发者之中仍旧非常流行。 Postgres 10带来了一些新特性,其中一些特性另开发者感到十分兴奋。10Clouds在博客中详细介绍了其中的一些特性。通过消除主表(master table)中触发器(trigger)的需求,本地分区(native partitioning)现在变得更单了。这意味着创建分区表将变得更单,并且从开发者的角度来看,现在从分区数据表中进行查询和插入与在非分区的数据表进行这些操作是完全一致的。 多列统计(multicolumn statistics)是Postgres 10的另一项改进...阅读全文

博文 2017-12-30 11:46:16 debian.cn

使用 Go 语言的三个原因

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

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

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

建议。 实现:根据来自社区的反馈意见,提案开始实现。 针对所实现的提案的反馈:在开发周期中,Go 开发团队和社区试用新功能并且收集进一步的反馈意见。 启动决策:在三个月的开发周期结束时,根据在发布周期中收集的经验和反馈意见,Go 开发团队会考虑变更的预期收益或产生的额外成本,从而最终决定是否发布每个变更。一旦发布,这些被发布的提案就成为语和库的一部分。未被发布的提案可能会重新起草,但也有可能会被永久拒绝。 可以看到,通过两轮的反馈过程,可对提案进行有效的筛选,从而防止“功能蔓延(feature creep)”,有助于保持 Go 语洁。 提案选择标准 一项提案至少要满足以下这些条件: 解决大部分使用者觉得重要的问题 不会对其他使用者造成太大的影响 提供一个清晰且易于理解的解决方案 条件...阅读全文

Debian 8 (Jessie)下面如何安装卸载docker

Debian是使用非常广泛的系统,本篇文章第一部分讲述如何在Debian 8 (Jessie) 下面安装 Docker 环境,第二部分介绍了如何彻底的清理 Debian 8 上的 Docker 环境。 Debian 8 使用了3.16的内核,已经满足了docker运行的要求。但是因为安全方面的原因,docker.io 包并没有放在debian的stable源里面,而是放在了backports 源里面。为什么从jessie源里面移除docker.io包,之,是因为go语包版本的问题。 Debian backports的介绍和使用可以参考本篇文章,或者官方站点的介绍。 安装Docker包之前,先设置安装源。 这里我们使用了Docker官方提供的Debian安装源。配置方法如下。新建一个...阅读全文

博文 2021-01-28 17:50:17 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

最全的 DevOps 工具集合

和 JavaScript 文件,还可以在构建过程中运行这些文件并发布网站。你可以在 GitHub Pages 示例集合中查看 GitHub Pages 网站的示例。 Confluence Confluence 是 Atlassian 开发和发行的协作软件程序。Atlassian 用 Java 编程语编写了 Confluence,并于 2004 年首次发布。 Confluence 是一个协作 Wiki 工具,用于帮助团队有效地协作和共享知识。借助 Confluence,你可以在 Team Calendars 附加组件的帮助下捕获项目需求、向特定用户分配任务,还能一次管理多个日历。 Jekyll Jekyll 是一个单的,博客型的静态网站生成器,可用于个人、项目或组织的网站生成。它是由...阅读全文

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

Terraform 学习总结 — Terraform 简介

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

Intel放弃桌面版 Clear Linux 全面转向云和服务器端

能力,并提供了更多的桌面软件包。而现在“对于 Clear Linux OS 团队来说,情况已经发生了变化”,官方表示,现在他们仍然想吸引开发人员,但是在支持多样化和复杂的桌面环境,甚至多个桌面环境方面的投入已经不如以前了。考虑到这一点,Clear Linux 决定将重心偏向云和服务器来化内容产品。 “对于开发人员而,提供与桌面无关的实际优化组件,也就是云和服务器工作负载仍然至关重要。能够开发、部署和操作这些工作负载绝对是最重要的事情。” 具体的变化还会在论坛中讨论,而现在已经有了一些进展。一方面将删除一些桌面自定义项,包括扩展、主题和图标,这些是发行版当前作为默认桌面产品的一部分提供的。桌面将迁移到“原始的” GNOME 3.36,现在团队不再花那么多时间精力去发展桌面。Clear...阅读全文

博文 2020-04-28 07:52:58 debian.cn

Rust 1.39.0 发布,async/.await 稳定了

: &[u8]) -> usize { slice.len() } 现在可以以更洁的方式: fn len( #[cfg(windows)] slice: &[u16], // This parameter is used on Windows. #[cfg(not(windows))] slice: &[u8], // Elsewhere, this one is used. ) -> usize { slice.len() } 这里可以使用的属性包括: 条件编译:cfg 和 cfg_attr控制 lint:allow、warn、deny 与 forbid应用于项目的过程宏属性使用的帮助程序属性 这在整个语生态中提供了一个更具可读性的基于宏的 DSL。 标准库中增加的 const fn 此版本中...阅读全文

博文 2019-11-11 09:44:43 debian.cn

Facebook 以最高级别身份加入Linux基金会及其董事会

项目使电信运营商可以轻松地在难以到达的区域部署移动网络,从而降低了建设和维护电信网络的成本。Facebook 的 “Data for Good” 计划用于共享地理数据,以解决一些世界范围内的人道主义问题,包括在 COVID-19 疫情期间发挥作用。创建并维护 PyTorch 开源生态系统,为在计算机视觉、自然语处理和其他学科中利用人工智能和机器学习贡献了很大一份力量;React.js 也由 Facebook 创建,它为世界上一些最受欢迎的网站提供支持,并且由于其单性和灵活性而成为前端 Web 开发标准。 Linux 基金会会员分为银级、金级和白金级三种不同等级,白金级即最高等级,每年需缴纳会费 50 万美元,同时拥有董事会席位。AT&T、谷歌、华为、IBM、英特尔、微软、Oracle、腾...阅读全文

Metasploit Framework 5.0 发布 最流行的渗透测试框架

Metasploit 项目是一个旨在提供安全漏洞信息的计算机安全项目,可以协助安全工程师进行渗透测试(penetration testing)及入侵检测系统签名开发。Metasploit 项目知名的功能还包括反取证与规避工具,其中的某些工具已经内置在 Metasploit Framework 里面。 Metasploit Framework —— 一套针对远程主机进行开发和执行 “exploit代码” 的工具,是 Metasploit 的最为知名的子项目。Metasploit Framework 全称为 The Metasploit Framework,称 MSF。这是一个渗透测试的框架,不是一个直接的渗透测试攻击软件。Metasploit 作为全球最受欢迎的工具,不仅仅是因为它的方便性...阅读全文

博文 2019-01-15 13:37:28 debian.cn

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都可以升级到PHP 7.4版。 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)预加载提交性能属性类型限定Improved type variance(不会翻译)三元运算写数组展开运算新增类的魔术方法:serialization数字分隔符运算优先顺序允许在__toString中抛出异常支持反射引用新增字节分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数可以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

2022年云原生服务网格展露的五大趋势

性能问题。四是 无 Sidecar 模式的服务网格可供选择。Istio 推出了 Ambient 部署模式,这是一种新的 Istio 数据平面模式,旨在化操作、扩大应用兼容性并降低基础设施成本。用户可以选择将 Ambient Mesh 集成到其基础设施的网格数据平面,放弃 sidecar 代理,同时保持 Istio 的零信任安全、遥测和流量管理等核心功能。五是 WebAssembly 崛起。WebAssembly 正在发展成为云原生环境中跨平台、多语的沙箱环境,甚至可以替代容器运行时,在 Kubernetes 中编排调度。 WasmEdge、KubeEdge、Istio 等项目可以从控制平面无缝编排 Wasm 工作负载。...阅读全文

AWS 宣布赞助 Rust 语言

毫无疑问,Rust 目前发展势头正劲。此前,微软安全响应中心探索采用 Rust 的消息引发大量关注,在连续四年蝉联“最受开发者喜爱的编程语”后,Rust 可能已经从“想要学习的语”逐渐转变为许多开发者“正在学习的语”。自从四年前首次发布稳定版以来,它已经得到了广泛的采用,谷歌,微软和 Mozilla 等公司都在使用 Rust。现在,AWS 也向 Rust 伸出了橄榄枝。 近日,AWS 在其开源博客上发文宣布赞助 Rust 语。迄今为止,Rust 已在 AWS 中实现了许多增长,Lambda、EC2 和 S3 等服务都选择在性能敏感的组件中使用 Rust。AWS 开源的 Firecracker microVM 项目也正是采用 Rust 编写。 AWS 从 Rust 维护者的视角解释了...阅读全文

博文 2019-10-17 22:42:27 debian.cn

提问的智慧 – 全文

这些粗心草率者的提问没有什么好处,我们宁可将时间花在其他地方。 清楚、正确地表达你的问题非常重要。如果你嫌斟字酌句麻烦,那我们也懒得回复。所以,请稍微花一点点时间组织语,也用不着太正式和死板──事实上,黑客文化提倡使用非正式词句、网络语和幽默的语句,同时注意在遣词造句的过程中体现文字的准确性和你思考问题的积极性。 正确地拼写、使用标点和大小写,不要将「its」混淆为「it's」,「loose」搞成「lose」或者将「discrete」弄成 「discreet」。不要全部用大写,这会被视为粗鲁无礼的大声嚷嚷 (全部小写也好不到哪去,因为不易阅读。Alan Cox[13]也许可以这样做,但你不行。) 一般来说,如果你像个半文盲般来提问,你多半会被无视。也不要使用短信中的写,如将「you」...阅读全文

博文 2009-10-01 13:18:00 debian.cn

WebAssembly时代 Rust也想成为Web语言

目前 Mozilla 正在基于 WebAssembly 可移植代码格式研发 JavaScript 和 Rust 之间的桥梁——wasm-bindgen,意义是提高 JavaScript 和 Rust 之间的互操作性。Mozilla 这么做是想让 Rust 成为类似 JavaScript 的 Web 语,让它能够与 Web 应用中的 WebAssembly 和 JavaScript 一起使用。 Wasm-bindgen 提供 WebAssembly(wasm)模块和 JavaScript 之间的高级别交互。使用 wasm-bindgen,JavaScript 和 WebAssembly 之前不仅可以通过整形和浮点型进行通信,还可以使用字符串、JavaScript 对象和类进行。 wasm...阅读全文

博文 2018-04-10 12:38:26 debian.cn

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

首届官方举办的 Kotlin 专题会议 KotlinConf 于昨天正式开幕,来自世界各地约 1200 名与会者齐聚旧金山,在这场盛大的 KotlinConf 大会主题演讲中,Kotlin 的首席语设计师 Andrey Breslav 公布了一系列与 Kotlin 紧密相关的重大发展成果。 首届官方举办的 Kotlin 专题会议 KotlinConf 于昨天正式开幕,来自世界各地约 1200 名与会者齐聚旧金山,在这场盛大的 KotlinConf 大会主题演讲中,Kotlin 的首席语设计师 Andrey Breslav 公布了一系列与 Kotlin 紧密相关的重大发展成果,我们不妨关注一下。 Kotlin 1.2 RC 首先宣布了 Kotlin 1.2 RC 版(即 1.2 首个候选...阅读全文

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

Golang常见的十大算法精简版

最近有时间,都在看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...阅读全文

博文 2019-09-05 09:31:10 debian.cn

开源硬件是趋势,Arm 却走了一条与众不同的路

“开源”一词所代表的不仅仅是技术人员的情怀,它还传达了诸如研究知识共享和社区建设之类的观点。虽然开源一直都在产生积极的影响 —— 随着开源微处理器指令集架构 RISC-V 的日益普及,推动软件创新的开源运动现在正在微处理器领域引起轰动,但半导体 IP 提供商 Arm(为 95% 的智能手机嵌入式处理器提供了支持) 并不是开源的狂热爱好者。 近日,外媒 Synced 与 Arm 嵌入式、物联网和汽车营销高级总监 Rhonda Dirvin 进行了一次对话,探讨开源硬件和开源软件之间的区别,以及由此对 Arm 进行决策带来的影响。 Dirvin 认为,当今的开源硬件格局并不像看起来那样单明了:“我们开始看到有人说免费并非真正的免费。因为归根结底,他们必须考虑验收所需的内容以及实现指令或架构所...阅读全文

博文 2019-10-17 22:39:43 debian.cn

Debian下编译安装Golang

”(Bootstrap),也就是用Go来实现Go、用Go来编译Go。之前都是用C来实现,编译Go项目就是编译C语。 因此,只要把源码checkout到1.4版本,就可以不需要依赖于Go自身,解决自我依赖悖论。 git checkout go1.4 ./all.bash 二次编译错误:import cycle not allowed import cycle not allowed package ./cmd/dist imports bytes imports errors imports runtime imports runtime/internal/atomic imports runtime Go不支持循环导入,不知算进步还是退步。 不过,这里倒是体现了价值,提前报错。这个错误的主要原因,是编译时把...阅读全文

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

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

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...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

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

为什么使用 JavaScript 开发物联网?

嵌入式设备与JavaScript看似是来自两个不同世界的两个物种,八竿子都打不着。但是随着JavaScript 开疆扩土,从浏览器逆袭登陆到服务端之后又与物联网有了交集。 物联网的未来需要一门解释性语 传统的嵌入式开发相对于WEB开发来说门槛高,碎片化严重,平台复杂。C/C++性能高,对设备资源要求低,但是对开发者的要求高,开发效率低。 物联网与互联网、移动互联网的基因是相同的,大量的应用才能铸就生态的繁荣。而使用C/C++来开发应用是及其低效和昂贵的,纵观互联网、移动互联网,应用开发是解释性语的天下。互联网的PHP、JavaScript,移动互联网的Java,JavaScript,而物联网还是使用C/C++。因此,物联网的未来需要一门解释性语。 JavaScript是最好的选择 相...阅读全文

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