InfraPub 为您找到相关结果 664

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

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

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

Java 12 / JDK 12 正式发布

200 MB 还是 200 GB,都将具有相同的暂停时间。 Microbenchmark Suite 微基准测试套件 JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。 Switch Expressions (Preview) Switch 表达式(预览功能) 扩展了 switch 句,使其不仅可以作为句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 法,或者使用简化的“case L ->”模式匹配法作用于不同范围并控制执行流。这些更改将简化日常码工作,并为 switch 中的 模式匹配(JEP 305) 做好准备。 JVM Constants API JVM 常量 API 引...阅读全文

博文 2019-03-20 12:46:27 debian.cn

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

。早在 2016 年,基础架构团队就已经开始基于 Golang 开发内部框架 Kite,并在 2019 年围绕性能和可扩展启动重构,使其能更好地满足业务发展和技术体系演进需求。 2020 年 10 月,Kitex 正式上线。虽然是一个全新的框架,但经过一年的线上应用,目前字节跳动内部已有超过 50% 的 Golang 微服务迁移到了 Kitex。 下面是 Kitex 的一些特性: 高性能:Kitex 默认集成自研网络库 Netpoll 作为网络传输模块,性能相较使用 go net 有显著优势;除了网络库带来的性能收益,Kitex 对 Thrift 解码也做了优化,这在之前的性能优化实践文章中有介绍。关于性能数据,可参考 https://github.com/cloudwego...阅读全文

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

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

大指令数为 100 万。与此同时,针对性能担忧,eBPF 探针控制在大约在 1%左右。其高性能主要体现在内核中处理数据,减少数据在内核态和用户态之间的拷贝。简单说就是数据在内核里算好了再给用户进,比如一个 Gauge 值,以往的做法是将原始数据拷贝到用户进再计算。2、可的执行引擎天然适合可观测性可观测性工通过帮助用户更好的理解系统内部状态来消除知识盲区和及时消除系统性风险。eBPF 在可观测性方面有何威力呢?以应用异常为例,当发现应用有异常后,解决问题过中发现缺少应用层面可观测性,这时候通过埋点、测试、上线补充了应用可观测性,具体的问题得到了解决,但往往治标不治本,下一次别的地方有问题,又需要走同样的流,另外多、多协议让埋点的成本更高。更好的做法是用无侵入方式去解决,以避免...阅读全文

博文 2022-03-21 09:11:51 joseph

提问的智慧 – 全文

复地址都嫌麻烦,我们也懒得花几秒钟去考虑你的问题。如果你的邮件客户端序不支持设置,请换一个;如果你的操作系统不支持这种邮件客户端序,也请换一个。 实际上,在论坛中,要求回答者通过电子邮件回复你的提问是粗暴无礼的,除非你确定他回复的比较敏感或涉及隐私的(现在的论坛也可以设置「私人可见」的回复)。如果你只是想在有人回复主题时得到电子邮件提醒,可以要求论坛发送。几乎所有论坛都支持诸如「留意本主题」、「有回复发送邮件」等功能[12]。 【本章注释】 [12]实际上,目前中国的论坛已很少使用邮件通知回复,只有少数索取资料的主题要求留些邮箱发送而已,大部分的论坛已采用消息提醒的方式来显示回复。 用字义清晰、法标准、拼写正确的句撰写问题 经验告诉我们,粗心草率的人通常也会粗心草率地思考与。回答...阅读全文

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

Terraform 学习总结 — Terraform 简介

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

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

生态 微软 CEO Nadella 谈到了微软在过去几年中如何成为 GitHub 上最活跃的组织,提交了超过 200 万次的项目 commits 和 updates ,并表示微软正在全身心地投入开源。 至于 GitHub 将如何发展成为一家微软公司,Nadella 主要关注三大策略:在开发周期的各个阶段为开发者赋能,加速 GitHub 用于企业开发,并利用该平台让更多用户使用微软的开发工具和服务。 2、保持 GitHub 的开放性 GitHub 创始人 Chris Wanstrath 表示,无论使用的是哪种、平台、操作系统或码设备,GitHub 都会是面向所有开发者的开放平台。像之前的 LinkedIn 和 Minecraft 一样,Nadella 时期的微软会让被收购的公司保持其...阅读全文

博文 2018-06-06 11:08:17 debian.cn

Go 1.12 正式版发布,初步支持 TLS 1.3

Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 序会像之前一样正常译。 新版本的更新亮点有 TLS 1.3 的初步支持 ,模块(module)支持的提升(目标在 Go 1.13 默认启用 module 模式),支持 windows/arm,以及 提升 macOS & iOS 的前向兼容性。 其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希算法,带来了更高的性能和安全性。 此外,值得关注的 Go 1.12 的更新内容有: 新版在规范方面没做改动;工具方面的一些变动,有:Go 1.12...阅读全文

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

LMDE 4 Debbie 正式版发布

LMDE 4 “Debbie” 正式发布了,LMDE 即 “Linux Mint Debian Edition”。它的目标是与 Linux Mint 尽可能相似,但不使用 Ubuntu,软件包库由 Debian 提供。 新版本主要带来了以下新特性: 支持 LVM 和全盘加密的自动分区主目录加密支持自动安装 NVIDIA 驱动序支持 NVMe支持 SecureBoot支持 Btrfs 子卷改进安装序自动安装微码包在 Virtualbox 中,实时会话的自动分辨率提高到最小 1024×768Linux Mint 19.3 改进(HDT、引导修复、系统报告、设置、HiDPI 和插图改进、新的引导菜单、Celluloid、Gnote、绘图、Cinnamon 4.4、XApp 状态图标等...阅读全文

博文 2020-03-23 10:20:09 debian.cn

Debian 上安装搭建 Shadowsocks 服务

在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,原因是 libev 的版本是用 C 写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更新也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文

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

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

作为约束(constraints)使用时,可被允许包含类型列表。在旧版的设计草案中,类型列表属于 contracts 的功能。更复杂的情况将使用参数化的 interface 类型. 为了帮助决定如何进一步完善设计草案,团队还发布了翻译工具。此工具可用于类型检查,以及运行使用设计草案中描述的泛型版本写的代码。它通过将泛型代码翻译为普通的 Go 代码来工作。此翻译过有一定的局限性,不过团队主要是希望借此让大家对 Go 泛型的整体有所了解。如果泛型最终被吸纳,它们的实际实现可能会有所不同。 此工具已在 Go playground 的变体上提供,这个 playground 的工作方式与常见的 Go playground 相同,不过前者支持泛型代码。团队希望此工具能为 Go 用户提供尝试使用泛型的...阅读全文

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

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

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

分布式运行时 Dapr 知多少

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

Go 泛型的括号选择:[ ] or ( )

( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小度的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了向后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面量和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文

博文 2020-07-16 10:38:01 debian.cn

三个技巧 大幅减少 Docker 镜像体积

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看起来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的内核接口。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的空间,并侧重于安全性。 在译应用序时,大部分都是针对特定的 libc 进行译的。如果你要将它们与另一个 libc 一起使用,则必须重新译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Golang 中的 channel 通道详解

,dataqsiz 表示缓冲区的大小,对于无缓冲区通道而 dataqsiz 的值为 0。如果 qcount 和 dataqsiz 的值相同,则表示缓冲区用完了。__buf __缓冲区表示的是一个环形队列 。其中 **sendx 表示下一个发送的地址,recvx **表示下一个接收的地址。elemtype 是channel的中存放的具体类型,每一个通道都是一个具体类型的导管,也就是声明channel的时候需要为其指定元素类型。recvq 表示等待接收的 sudog 列表,一个接收句执行时,如果缓冲区没有数据而且当前没有别的发送者在等待,那么执行者 goroutine 会被挂起,并且将对应的 sudog 对象放到 recvq 中。sendq 类似于 recvq,一个发送句执行时,如果缓冲区已经满了,而且没...阅读全文

图解 Debian 系统通用安装教程

这篇文章我会尽可能详细地说明如何快速安装纯净的Debian新系统,需要懂一点vi辑器的使用方法。 如果是新手,没用过 vim 辑器也不用担心,我会尽量详细地说明使用方法。 首先在Debian官网上下载网络安装CD或者完整DVD镜像,DVD镜像只需DVD-1即可。如果你的网络环境不错,推荐下载 netinst 包,通过网络安装 Debian 系统。 下载好镜像后做成U盘启动盘,从U盘启动开机。在引导界面选择Graphical install(图形化安装),进入安装过,如图: 选择界面,选择中文吧, 提示虽然是好心,但是安装过中我就见到一处乱码还就是下面这个图上,直接选是,下一步。 区域选择,选择中国。 主机名,自己随便填吧。 域名可不填,直接下一步。 设置root密码,自己设定好...阅读全文

博文 2017-07-13 12:52:56 debian.cn

开源图数据库 Dgraph 完成 300 万融资

次数,并自动重新平衡服务器之间的碎片,以平均分配服务器负载。此外,Dgraph 更有效地处理复制,从而使可扩展性成为可操作的功能。 据悉,Dgraph 的下一步计划是提供托管管理服务,并对其用户界面进行重大改进。此外,它还将在其列表中添加流行的图形 Open Cypher 和 Gremlin ,以方便用户切换到 Dgraph 。...阅读全文

阿里巴巴版 JDK 首发 GA 版 生产环境可用

区接受,确定会被移植进 OpenJDK 8u 主线,目前社区的移植工作正在 incubator 分支紧张进行当中。在不远的将来,整个 OpenJDK 8 的下游生态都可以享受这一功能特性。 除社区现有功能外,Dragonwell 在 JFR 上做了很多增强和创新。作为 JFR 在 OpenJDK 8u 社区的参与者,阿里巴巴表示会将 Dragonwell 在 JFR 方面的最新工作成果及时引入社区。在上游社区接受这些特性之前,Dragonwell 的开发者将会最先使用这些新特性。 ElasticHeap 新特性展望 据阿里巴巴内部披露,ElasticHeap 特性将很快在下一个版本开源。作为高级,Java 带有垃圾回收器。随着序运行,Java 会把用户配置的内存逐渐消耗掉。即使这些...阅读全文

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

Postgres 10 开发者新特性

),但是这些选项可以根据需要进行配置。 Postgres 10另一个重要的新特性是支持JSON和JSONB类型列的全文搜索。一旦我们创建了一个特定的全文索引,我们就可以通过JSON字段对值进行直接搜索。在JSON列上的全文索引与其他列是类似的,因此我们的查询需要使用to_tsquery函数和to_tsvector函数的文本搜索的法。 标识列(Identity columns)和自增列(Auto-increment columns)也是Postgres 10进行改进的一个地方。新的实现方法会有一点冗长,但是它是符合SQL标准的,使得在不同数据库之间的迁移会更加容易。最重要的是,使用Postgres 10时,我们在从一个不同的id重启时,不再需要修改序列(alter sequences)了,但...阅读全文

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

Python 2.7将于2020年1月1日终止支持

Python 作者 Guido van Rossum 在开发者邮件列表上宣布 Python 2.7 将于 2020 年 1 月 1 日终止支持。他说,别玩义游戏了,Python 2.7 的终止支持时间不会再更改,之后不会再有安全更新。想要在这个日期之后继续支持 Python 2.7 的人将需要付费给商业供应商。 Python 是一个开源项目,他欢迎创建分支,他表示 Python 核心团队在这上面工作的时间够长了。 Python 2.7 原计划在 2015 年终止支持,但由于大量现有代码没有移植到 Python 3 开发者将终止支持的时间推迟到了 2020 年。...阅读全文

博文 2018-03-14 16:58:09 debian.cn

谷歌将给 Chrome 做全新的 Material Design

2月份,有消息称,谷歌将对 Chrome 动一次大手术,使用全新的“Material Design 2”UI设计。不过,XDA 的一份最新报道显示,“Material Design 2”是误传,谷歌正在进行的工作是将Chrome桌面浏览器变得对触摸设备更加友好。 对于桌面版而,当下已经有越来越多的支持触摸屏的二合一笔记本、一体机等设备了,需求在逐渐增长。 需要注意的是,9月2日将是Chrome浏览器十周年的生日,虽然“Material Design 2”被否决,但是“Material Design refresh”是确定要进行的事情。 此前在安卓版的 Chrome 上,弧形地址栏“Omnibar”的出现就是一种 UI 调整信号。...阅读全文

博文 2018-04-10 10:11:30 debian.cn

Linux Mint 20 与 Debian 版本 LMDE 4 新特性

Linux Mint 20 将基于 Ubuntu 20.04 LTS,同时,其 LMDE(Linux Mint Debian Edition,Debian 版本)4 也将到来,LMDE 版本基于 Debian GNU/Linux,提供滚动发布,而不是像常规的 Linux Mint 基于 Ubuntu。 日前 Linux Mint 官方博客释出了关于 Linux Mint 20 与 LMDE 4 的新特性信息。 LMDE 4 LMDE 4 将首先发布,基于改进的 Debian 10 软件包,它将带来在 Linux Mint 19.3 上的所有改进,包括 HDT、引导修复、系统报告、设置、HiDPI 和、新的引导菜单、Celluloid、Gnote、Cinnamon 4.4 与 XApp...阅读全文

博文 2020-02-04 18:35:24 debian.cn

深入了解Docker背后的namespace技术

容器中创建namespace,不要让他影响到你,我选择提供一个容器预加载所有依赖项的方法。我使用 --net host标志,这样可以在容器内看到host的网络接口。也需要提供--privilged标签,以保证拥有正确的权限去通过容器创建新的namespace。 以下是Dockerfile内的内容: FROM debian:jessie RUN apt-get update && apt-get install -y \ gcc \ vim \ emacs COPY containers/ /containers/ WORKDIR /containers CMD ["bash"] 我会使用C来解释这个例子,因为它比Go更容易去解释底层的细节。 NET Namespace network...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Prometheus 常用 PromQL 语句样例

PromQL 是 Prometheus 提供的一个函数式的表达式,可以使用户实时地查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或者作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的,因为在时间序列上执行计算类型时,SQL 相对缺乏表达能力。而 PromQL 表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

Prometheus 2.13.0 发布

服务监控系统 Prometheus 2.13.0-rc.0 发布了,Prometheus 是一个 Go 开发的开源的服务监控系统和时间序列数据库。该版本引入了一些新特性,比如记录其他组件、增强功能和修复 bug,这些都是为了提高可用性。 更新内容如下: [SECURITY/BUGFIX] UI:修复了一个 Stored DOM XSS 漏洞 CVE-2019-10215. #6098[CHANGE] Metrics:将 prometheus_sd_configs_failed_total 重命名为 prometheus_sd_failed_configs,并更改为仪表 #5254[ENHANCEMENT] 在构建中包含 tsdb 工具 #6089[ENHANCEMENT...阅读全文

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

需的内容。但他们没有像 Arm 或其他一些较早建立的供应商那样支持着整个生态系统。” 那么,验收开源硬件与验证开源软件有何不同?Mellanox Technologies 的外部董事 Thomas J Riordan 告诉 Synced,他认为两者面临的挑战实际上非常相似。“从指令集架构(ISA)层面上来看,处理器和开源序都是用某种高级(HLL)写的软件(算法)。在这两种情况下,必须以详尽的方式对处理器/序进行验收,以确保质量结果。” “就实现指令集架构而,它是开放的这一事实几乎可以保证其可以从多个来源获得许多实现,这也是 Arm 所担心的情况之一。毕竟开源模型的功能已得到充分验证。如果说 RISC-V 就是处理器界的 Linux,那么就好比微软希望 Linux 和...阅读全文

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

SQLite 3.30.0 发布,使用最广泛的数据库引擎

SQLite 3.30.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。 此版本更新内容包括: 添加对聚合函数的 FILTER 子句的支持添加对 ORDER BY 子句中的 NULLS FIRST 和 NULLS LAST 法的支持增强了 index_info和index_xinfo 译指示,以提供有关 WITHOUT ROWID 表在磁盘上的表示形式的信息新增 sqlite3_drop_modules() 接口,使应用序可以禁用不需要的自动加载的虚拟表改进 CLI 中的 .recover dot...阅读全文

博文 2019-10-06 12:03:42 debian.cn

Debian Stretch 安装配置 Jenkins

=shanghai,dc=op Manager Password PASS Display Name LDAP attribute uid Email Address LDAP attribute mail 保存配置,然后就可以用LDAP账号登陆了。 设置Jenkins为中文 忽略浏览器,强制使用中文。 首选在插件页,安装Locale plugin插件。安装好后,在系统设置 -> Locale,Default Language -> zh_CN,勾选Ignore browser preference and force this language to all users,忽略浏览器属性强制所有用户使用该。 修改时区。这种方式安装的 Jenkins 默认不是我国时区,可以通过更新运行参数调整...阅读全文

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

Golang 面试题搜集

) - [简单聊聊内存逃逸?](https://github.com/lifei6671/interview-go/blob/master/question/q019.md) - [字符串转成byte数组,会发生内存拷贝吗?](https://github.com/lifei6671/interview-go/blob/master/question/q020.md) - [http包的内存泄漏](https://github.com/lifei6671/interview-go/blob/master/question/q021.md) ## Golang 理论 - [Go的GPM调度器是什么?](https://github.com/lifei6671/interview-go...阅读全文

21款必不可少的Ubuntu桌面应用程序

无论你是刚接触Ubuntu,还是最近从微软Windows改用Ubuntu,都会在下文中找到适合你的一款软件。并非所有的应用序对每个人都有用,欢迎分享你认为最出色的Linux应用序。 有读者常常问我们必不可少的Ubuntu应用序有哪些,本文我将逐一介绍21款对Ubuntu来说必不可少的应用序,而不是仅仅在留区回复。 无论你是刚接触Ubuntu,还是最近从微软Windows改用Ubuntu,都会在下文中找到适合你的一款软件。并非所有的应用序对每个人都有用,欢迎分享你认为最出色的Linux应用序。 我们不会介绍默认情况下随Ubuntu交付的任何软件,比如火狐、LibreOffice、Thunderbird和Transmission等,可能的话,重点介绍不需要为它添加PPA的软件...阅读全文

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

2017 年会是 Serverless 爆发之年吗

务(Backend-as-a-Service,BaaS),或移动后端即服务(MobileBackend-as-a-service,MBaaS)。 现在,无服务器架构是指大量依赖第三方服务 (也叫做后端即服务,即“BaaS”) 或暂存容器中运行的自定义代码 (函数即服务,即“FaaS”) 的应用序,函数是无服务器架构中抽象运行时的最小单位,在这种架构中,我们并不看重运行一个函数需要多少 CPU 或 RAM 或任何其他资源,而是更看重运行函数所需的时间,我们也只为这些函数的运行时间付费。无服务器架构中函数可以多种方式触发,如定期运行函数的定时器、HTTP 请求或某些相关服务中的某个事件。 Serverless 案例 以带有服务功能逻辑的传统面向客户端的三层应用为例(一个典型的电子商务应用网...阅读全文

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

PHP 7.4 有哪些新特性

性类型限定 class A { public string $name; public Foo $foo; } 不得不说,PHP越来越接近Java等强类型 Improved type variance 协变返回类型: class ParentType {} class ChildType extends ParentType {} class A { public function covariantReturnTypes(): ParentType { /* … */ } } class B extends A { public function covariantReturnTypes(): ChildType { /* … */ } } 依赖(是不是很熟悉): class...阅读全文

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

内网穿透利器frp部署配置指南

frp是一个使用go开发的反向代理服务,可用于内网穿透,支持tcp, udp协议,为http和https协议提供了额外的能力,且尝试性支持了点对点穿透。 由于ngrok 2.x已经闭源,ngrok 1.x已不再维护,所以这里尝试使用frp替代ngrok作为个人的内网穿透工具。 0.前提条件 一台Linux云主机(这里是CentOS 7),并要求具有固定公网IP暴露这台云主机指定端口的能力 有一个域名解析到这个公网IP,如frp.frognew.com和*.frp.frognew.com解析到这个公网IP 1. 下载frp服务端frps和客户端frpc可执行文件 分别在服务器和个人本地机器上,从[https://github.com/fatedier/frp/releases]下载对应平...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

国产 Java 社区平台 Sym 2.7.0 发布

Sym 是一个用 Java 实现的现代化社区(论坛/社交网络/博客)平台,标称为下一代的社区系统,为未来而构建。近日 Sym 2.7.0 已正式发布了,主要改进内容包括: 改进功能: 610 小薇支持回复 611 反对帖子、回帖不发通知 612 首页改版 621 发帖无法选择非导航领域的标签 626 小薇升级到图灵 API v2.0 新增文档: 618 sym.props 配置项说明文档 开发相关: 609 重构用户主页链接生成 修复缺陷: 619 URL Redirect vulnerability 620 Any File Upload 622 非管理员访问 /admin 路径报错 目前已经有非常多的社区论坛使用 Sym 进行搭建,如果你正在寻找一个 Java 实现的社区系统,请一...阅读全文

博文 2018-05-05 06:32:19 debian.cn

Linux Mint 19 将基于 Ubuntu 18.04 LTS

Linux Mint项目负责人Clement Lefebvre在该项目2017年的最新月刊中透露,开发团队将很快发布下一个主要的 Linux Mint 和 LMDE。 随着Linux Mint 18.3“Sylvia”的所有版本发布,Linux Mint团队将把精力集中在Linux Mint 19和Linux Mint Debian Edition(LMDE)3上。虽然LMDE 3将只是一个刷新滚动发行版的安装映像,但是即将带来所有最新的Debian安全更新,Linux Mint 19将基于Ubuntu 18.04 LTS(仿生海狸)操作系统发布。 官方Linux Mint安装指南选择新的: Canonical将支持Ubuntu 18.04 LTS(Bionic Beaver),直到...阅读全文

博文 2018-01-01 10:20:43 debian.cn

Rust 1.37.0 稳定版发布

) => { const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()]; // ^ Note the underscore here. } } static_assert_size!(Option>, 8); // 1. static_assert_size!(usize, 8); // 2. 注意第二个 static_assert_size!(..):由于使用了未命名的常量,可以在不命名冲突的情况下定义新项。以前,需要写 static_assert_size!(MY_DUMMY_IDENTIFIER, usize, 8);。在 Rust 1.37.0,可以更容易地为静态分析目的创建人机工学和可重用的声明性和过宏。 配置文件引导的优化(Profile...阅读全文

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

快速切换本地 hosts 的小程序 SwitchHosts

SwitchHosts 是一个用于快速切换本地 hosts 文件的小序,便于开发人员快速修改测试域名的解析记录。SwitchHosts 基于 Electron 开发,同时使用了 React、Ant Design 以及 CodeMirror 等框架/库,项目主页为 https://oldj.github.io/SwitchHosts/。 SwitchHosts 主界面 SwitchHosts 功能特性 快速切换本地 hosts 文件hosts 文件法高亮在线 hosts 方案系统托盘图标快速切换macOS: 支持 Alfred workflow 快速切换 下载安装 switchhosts 你可以直接下载源码到本地运行或辑,或者在下面下载可执行版本: SwitchHosts! 下载地址1...阅读全文

打破IP协议重塑互联网 华为能做到吗

在一个快速扫描的世界,现有的 IP 协议也是适用的。 在 2019 年 11 月的 IETF 会议上,华为发人进行了回应: New IP 主张的是一种自上向下的整体架构,希望将应用序紧密地耦合到网络上,这正是互联网设计的初衷。 IP 的改变与否不仅是顶层人员的事务,背后利益关系最受影响的,当属用户。在国外讨论区 Reddit 上,网友们也给出了各自的看法。 用户 Cookie_Dodger 认为,“数据就是数据,所有数据源都应该被平等对待,尽管网络中立性已死......普通人关心的是服务有多快、多实用、是否支付得起”。 关于“(华为提议重塑互联网可能影响)网络中立性”,Cookie_Dodger 补充称: 如果华为可以提供具有基本功能的 Internet 服务(包括 IE...阅读全文

博文 2020-03-31 06:40:15 debian.cn

玩转 AWS 的必备工具

主要详细介绍Ansible和SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行序拷贝到总体目标isntances上并实行,随后根据ssh连接在远控制服务器上启用Ansible可执行序。Ansible应用YAML做为配备模版英法。 小在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了...阅读全文

玩转 AWS 的必备工具

SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行序拷贝到总体目标isntances上并实行,随后根据ssh连接在远控制服务器上启用Ansible可执行序。Ansible应用YAML做为配备模版英法。 小在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解决构架和一...阅读全文

DevOps 越来越流行,2019 年这八大趋势值得关注

。 在 2019 年,将会发生从 CI 管道到 DevOps 装配线的转变。DevOps 装配线专注于自动化和连接多个团队执行的活动,例如开发人员的 CI,运维人员的基础架构配置和配置管理,测试人员的测试自动化,SecOps 的安全补丁,发布负责人的义版本控制和部署到多种环境,等等。 下图展示了单个应用序或服务的典型装配线: 自动化将成为主要焦点 关于 DevOps,我们谈论了很多自动化方面的内容。如果可能的话,零接触(zero-touch)自动化就是未来的发展方向。这并不是说你一定要自动化一切,只是说如果有必要,你就应该能够做到。了解 DevOps 周期的六个“C”,并确保在这些阶段之间应用自动化,这才是关键,这将是 2019 年的主要目标。 测试人员要学习码 DevOps 对知道如何...阅读全文

博文 2018-12-10 22:49:57 debian.cn

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

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

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

WebAssembly:无需容器的 Docker (下)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container。这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文字版。作者:Asen Alexandrov,Wasm Labs 工师。文中的我们均指作者或 Wasm Labs。本篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。上篇文章我们了解了服务端 Wasm 为什么有着重要的作用、什么是 WasmEdge 以及如何让解释型写的序在 Wasm 里运行,这篇文章,我们将通过动手示例了...阅读全文

博文 2023-01-03 06:39:46 spider

Ceph 12.2.0 正式版本发布, 代号 Luminous

Luminous的升级后,集群将尝试将现有池与已知应用(即CephFS,RBD和RGW)相关联。未与应用序关联的使用池将生成健康警告,可以使用新命令手动关联任何未关联的池。ceph osd pool application enable RGW RGW支持最终用户请求服务,通过ElasticSearch进行RGW元数据搜索,并且还支持自定义元数据字段。 查询是一组RESTful API,用户可以通过其元数据来搜索对象。还添加了允许自定义元数据字段控制的新API。 RGW支持动态存储桶索引分片。随着桶中的对象数量的增加,RGW将自动重新构建桶索引。不需要用户干预或桶大小容量规划。 RGW引入了上传对象的服务器端加密,用于管理加密密钥的三个选项有:自动加密(仅推荐用于测试设置),客户提供的类似于...阅读全文

博文 2017-08-31 13:36:49 debian.cn

最全 MongoDB 基础教程

}]}).pretty() 条件操作符 db.ruochen.insert({ title: 'python', description: 'i love python', by: 'ruochen', url: 'xxx', tags: ['python'], likes: 200 }) db.ruochen.insert({ title: 'php', description: 'php是世界上最好的', by: 'ruochen', url: 'xxx', tags: ['php'], likes: 150 }) db.ruochen.insert({ title: 'MondoDB', description: 'NoSQL数据库', by: 'ruochen', url: 'xxx', tags...阅读全文

博文 2021-02-22 07:45:45 OSChina