InfraPub 为您找到相关结果 567

Python的闭包和装饰器

定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由的函数。这个被引用的自由将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文

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

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

Facebook 的首位发布工程师,目前是 Facebook 发布工程的工程总监。 Facebook 的发布周期是“ quasi-continuous ” (准连续)——这只是一种委婉的说法,表明并非每次提交都会部署到生产环境,实际上它采用的是对几十到几百个提交进行批处理,每隔几个小时就进行推送。这种分层发布的方式使任何更的回滚很容易。 这个新系统从 2016 年 4 月开始,经过一年的时间慢慢地完善。早先的模式是从主干分支的提交中选择特定的更放到发布分支上。发布分支每天将这些更推送到生产环境。这种“ cherry-picking ”的特点是,每天选择更的数为 500 ~ 1000。剩下的更就推入到每周发布分支中。随着时间的推移,提交的数和参与其中的工程师都有所增加,发布工程师的手工劳动得...阅读全文

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

Bash Shell 中的 PROMPT_COMMAND

今天查看了一个系统初始化的 Shell 脚本,其中有一段命令是配置记录 bash 命令日志的,如下: ``` LOGIN_IP=$(who am i | awk '{print $NF}') export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });echo $(date +"%Y-%m-%d %H:%M:%S") [$(whoami)@$SSH_USER$LOGIN_IP `pwd` ]" $msg" >> /var/log/.history; }' ``` 其中的 PROMPT_COMMAND 是 bash 的环境,这个的中内容是作为一个普通的 bash 命令执行的,而且执行时间是...阅读全文

Grafana 6.3.3发布 系统指标监控与分析平台

Grafana 6.3.3 发布了,Grafana 是一个功能丰富的指标标准仪表板和图形编辑器,用于分析和监控 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。 新版本更新主要是 Bug修复,具体如下: Annotations:修复取消时间序列查询时,失败的注释查询 #18532Auth:如果 cookie_samesite 为 none,请不要设置 SameSite cookie 属性 #18462DataLinks:正确地将范围应用于数据链接 #18454DataLinks:在图形上下文菜单中显示数据点的时间戳时,遵守时区 #18461DataLinks:插值时,正确使用数据点时间戳 #18459Explore:修复空...阅读全文

博文 2019-08-17 21:20:29 debian.cn

不可变基础设施 (immutable infrastructure) - 云原生定义解析

Your Code: Immutable Infrastructure and Disposable Components”, Chad Fowler, 2013“Phoenix Server”, Martin Fowler, 2012不可基础设施里的“不可”非常类似于程序设计中的“不可”概念。程序设计中不可(Immutable Variable)就是在完成赋值后就不能发生更改,只能创建新的来整体替换旧的。由于具有这样的特性这种可以在并发环境下安全的使用。对于基础设施的不可性,最基本的就是指运行服务的服务器在完成部署后,就不在进行更改。在过去依赖传统的高可靠性基础设施的时代,服务的可靠性依赖于高可靠性的服务器。然而,这些基础设施具有很高的拥有成本,并且初始化,配置的成本也非常高...阅读全文

Gitlab CI 配置文件 .gitlab

types 已废除,将会在10.0中移除。用stages替代。 与stages同义 variables GitLab Runner V0.5.0. 开始引入 GItLab CI 允许在.gitlab-ci.yml文件中添加,并在job环境中起作用。因为这些配置是存储在git仓库中,所以最好是存储项目的非敏感配置,例如: variables: DATABASE_URL:"postgres://postgres@postgres/my_database" 这些可以被后续的命令和脚本使用。服务容器也可以使用YAML中定义的,因此我们可以很好的调控服务容器。也可以定义成job level。 除了用户自定义的外,Runner也可以定义它自己的...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的化,Terraform 能够确定发生了什么化,并创建可应用的增执行计划。 Terraform 是用 Go 语言开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执行计划(Execution Plans)资源图(Resource Graph)自动化更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。 执行计划(Execution...阅读全文

即将发布的 JDK 10 有 109 项新特性,你喜欢哪些

按计划,JDK 10 将于 3 月 20 日正式发布。据前 Oracle 员工 Simon Ritter 的统计,JDK 10 总共包含 109 项新特性。当然,在最终发布前,可能还会发生化。 新特性中最重要的,是我们之前曾报道过的 12 个 JEP : JEP 286: 局部的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。 JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。 JEP 307: 向 G1 引入并行 Full GC。 JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓...阅读全文

博文 2018-03-08 12:56:20 debian.cn

Debian下安装配置 Hadoop 3.1.3 集群

/lib/jvm/。如果/usr/lib下没有jvm文件夹,则先创建jvm,执行sudo mkdir /usr/lib/jvm。然后创建jdk软链接: sudo ln -sf /usr/lib/jvm/jdk1.8.0_202 /usr/lib/jvm/jdk 2. JDK环境的配置 新建/etc/profile.d/jdk.sh文件,并添加以下内容, # JDK environment settings export JAVA_HOME=/usr/lib/jvm/jdk export JRE_HOME=${JAVA_HOME}/jre export CLASSPATh=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME...阅读全文

博文 2019-11-27 23:04:39 debian.cn

新改进让Linux 5.10能更快地休眠以及恢复工作

如果你经常让你的系统经历休眠周期,那么从即将开始的 Linux 5.10 周期开始,性能应该会好很多。在即将到来的Linux 5.10合并窗口中,有一个化允许对休眠/恢复的I/O请求进行批处理,以加快休眠和恢复进程。 到目前为止,Linux 内核依靠为每一页数据提交单独的 I/O 请求,但现在 Linux 5.10+ 的时候,它设置为使用 batch 与 blk_plug。 开发者Xiaoyi Chen的内核补丁解决了这一问题:合并I/O请求让系统休眠和恢复的速度提升了一个数级以上。在使用的32GB内存中,16GB内存的一个休眠和恢复周期在改前需要21分钟左右,在存储IOPS有限的系统上,改后仅需要1分钟。" Xiaoyi Chen在亚马逊EC2旗下主导了这项工作,这项改是在系统...阅读全文

博文 2020-10-04 20:25:21 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

中国投资130亿元量产相变内存 比闪存快1000倍

入运营阶段。这个项目2017年11月份完成了厂房封顶,并完成了设备采购,从开工到封顶不到9个月时间,今年3月底开始运营。 根据之前的消息,江苏淮安的这个项目总投资130亿元,一期投资43亿元,建成后将年产10万片12英寸PCM相存储芯片。相存储芯片被成为21世纪的存储芯片标准,与传统存储芯片(比如内存)相比,它是一种非易失性存储芯片,但是速度达到了传统存储芯片的1000倍,同时可靠性是后者的1000倍——当然这些指标都是理论上的。 目前产的PCM存储芯片并没有这么强,Intel的3D XPoint闪存据说就是一种PCM存储芯片,只不过一直没有被证实,而它宣传的特点就是性能是闪存的1000倍,可靠性也是闪存的1000倍,同时容密度是闪存的10倍。...阅读全文

博文 2018-04-10 22:34:58 debian.cn

Rust 1.37.0 稳定版发布

Rust 1.37.0 stable 有什么?Rust 1.37.0 的亮点包括通过类型别名引用枚举、内置 cargo vendor、对宏使用未命名的 const、配置文件引导的优化、Cargo 中的 default-run 和枚举上的 #[repr(align(N))] 。 通过类型别名引用枚举 在 Rust 1.37.0,可以通过类型别名引用枚举。例如: type ByteOption = Option; fn increment_or_zero(x: ByteOption) -> u8 { match x { ByteOption::Some(y) => y + 1, ByteOption::None => 0, } } 要实现它,Self 充当类型别名。在 Rust...阅读全文

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

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

-bindata/go-bindata 这类第三方开源库来实现。 而从 Go1.16 起,通过 go:embed 就可以快速实现这个功能: import _ "embed" //go:embed hello.txt var s string print(s) 通过对 s 声明 go:embed 指令,使其在编译时读取当前目录下的 hello.txt 文件。 最终 s 就会输出 hello.txt 文件中的字符串内容。 新增 io/fs 的支持 新增了标准库 io/fs,正式将文件系统相关的基础接口抽象到了该标准库中。 以前的话大多是在 os 标准库中,这一步抽离更进一步的抽象了文件树的接口。在后续的版本中,大家可以优先考虑使用 io/fs 标准库。 调整切片扩容策略 Go1.16 以前的...阅读全文

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

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的化几乎是微乎其微的;HTTP 增加了几个新的报文头和请求方式,TLS 缓慢地进行了一点小修改,TCP 调整了拥塞控制,而 DNS 引入了像 DNSSEC 这样的特性。这些协议看起来很长时间都一成不(除了已经引起网络运营商们的大关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策者对这些协议采用的做法是基于其原有工作方式 —— 无论是打算调试问题,提高服务质,或施加政策...阅读全文

Google 关于 Go 2 的讨论

Go 1规范还存在,他们的程序将可以继续编译并正确运行。现在,要设计的Go 2规范,存在破坏与1.x兼容的可能性。Cox认为需要谨慎选择新特性。 Go 2必须带动所有开发者[包括使用Go 1.x的开发者]。只有回报足够丰富,我们才能要求他们放弃旧有习惯,来学习Go 2的新特性。 Go 2还必须兼顾所有现有的Go 1源代码。 我们不能分裂Go生态系统。在混合型的项目中,用Go 2 写的包中导入了用Go 1写的包,或者相反的情况,这种情况必须要在多年的过渡期中正常运行。我们必须弄清楚如何做到这一点,自动化工具像go fix一定会发挥作用。 为了避免引起混乱,Google将新功能的数限制为“两到三个”,一定不超过五个“,”每一个化都需要仔细的思考,规划和工具化“。 这些功能不包括“允许使用更加口...阅读全文

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

深入学习golang — channel

goroutine的创建数: func Serve(queue chan *Request) { for req := range queue { sem <- 1 go func() { process(req) // Buggy; see explanation below. <-sem }() } } 上面的代码看似简单清晰,但在go中,却有一个问题。Go语言中的循环每次迭代中是重用的,更直接的说就是req在所有的子goroutine中是共享的,从的作用域角度来说,req对于所有的goroutine,是全局的。 这个问题属于语言实现的范畴,在C语言中,你不应该将一个局部传递给另外一个线程去处理。有很多解决方法,这里有一个讨论。从个人角度来说,我更倾向下面这种方式: func...阅读全文

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

nginx 1.18.0 稳定版发布

nginx 1.18.0 已发布,这是继 1.16 系列之后的最新稳定版本。 1.18.0 加入了 1.17.x mainline 分支中的新功能和 bug 修复,包括 limit_req 和 limit_conn 中的 dry run 模式,limit_rate, limit_rate_after 和 grpc_pass 指令中对的支持,以及支持 auth_delay 指令等。 auth_delay 指令位于 ngx_http_core_module 模块中,用法如下: 语法:auth_delay time; 默认值:auth_delay 0s; 上下文:http, server, location 通过 401 响应状态码来延迟处理未经授权的请求,以防止因密码、子请求结果或 JWT...阅读全文

博文 2020-04-23 09:18:27 debian.cn

阔别多年 Slax 9.2.1 发布:基于 Debian “Stretch”

消失了很长时间的 Slax Linux 终于发布了更新。昨日,Slax Linux 的作者 Tomas Matejice 发布了 Slax Linux 9.2.1,并带来了几个重大的化。 最重要的化是,Slax Linux 9.2.1 不再基于 Slackware,现已切换至基于 Debian 的最新稳定版 Stretch。因此,Slax Linux 也将采用 APT 软件包管理工具和 Systemd 这款 init 程序。 图形桌面使用了 Fluxbox 窗口管理器和 xLunch,xLunch 的开发也是独立的。 尽管新版本已经基于 Debian GNU/Linux 9.2.1 “Stretch”,但依然保留 Slackware 的前缀名字。这款系统的容依然保持了轻设计...阅读全文

Debian Stretch 安装 Nodejs 最新版本

nodejs 你也可以直接下载官方预编译好的二级制文件来安装,注意更新 $PATH 。Node.js 的二进制文件打包脚本的官方地址在 GitHub 上。你也可以直接从官方网站上下载通用版的预编译文件,额外的工作是你需要自己解决 $PATH 等环境的设置问题。 检查确认 Nodejs 版本 通过执行命令 node -v ,我们可以看到当前Node.js是最新的v8.x版本。 提示:如果我们需要其他版本的Node.js,我们只需要将安装里面下载链接 setup_8.x 替换成其它即可,如setup_7.x...阅读全文

博文 2018-01-17 14:00:39 debian.cn

2017 Linux 内核开发报告 Linux统治着计算机世界

-Day 测试服务在到达 Linux 内核前很久就发现了错误。此服务会自动从 Linux 内核邮件列表 (LKML) 中提取修补程序并对其进行测试。这意味着在影响用户之前,许多问题都会被解决。 4.9 开发周期是内核历史上最繁忙的一次,其化比任何时候都要多。不过,4.12 涉及到的开发人员数和首次贡献者的数创造了一个新的记录。经过这么多年,内核开发社区成长迅速。 Kroah-Hartman 和 Corbet 总结说:“Linux 内核是迄今为止最大和最成功的开源项目之一,巨大的革率和个人贡献者人数显示,它拥有一个充满活力和活跃的社区,参与其中的开发着和公司的数也在增加;到目前为止,开发过程已经证明是能够无障碍地扩展到更高的速度。“ 来自:ZDNet...阅读全文

博文 2017-10-26 10:57:34 debian.cn

谷歌公开了内部管理Infra层的两个工具的Paper

库?服务需要支持多大的流? 这些都是很重要的问题,但服务是动态并且化的:二进制版本不断更新,实例被添加和删除。架构也就需要随之演进:可能需要在某个特定的集群添加新的缓存,移除一些过时的日志等等。 在2014年,我们发现自己不能充分地适应服务的灵活性。对于绝大多数服务,我们使用人工编制的工作流来更基础架构:推送x,然后y;手动执行不常见的更。 但是团队通常需要管理数十个服务,每个服务都有很多job,数据库,配置以及自定义的管理流程。已有的解决方案因为如下两大原因无法扩展: 基础架构配置和API是异构的,并且很难连接在一起——比如,不同的服务使用不同的配置语言,抽象级别,存储和推送机制等等。因此,基础架构不一致,很难确定出通用的更管理。生产更管理的流程很脆弱,不理解更之间的联系...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

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

单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

,可以视为是每秒的读写次数。与其他性能测试一様,IOPS 仅代表理想环境下的性能指标,不保证实际应用下也能达到同等情况。IOPS 的数值会随系统组态而有很大的不同,依测试者在测试时的控制而异,控制包括读取及写入的比例、线程数以及资料区块的大小等。​从 Jens Axboe 在社交媒体上分享的截图可以看到,他用最新的 Linux 内核补丁在一个物理 CPU 核心上实现了 1000 万 IOPS。此次测试的设备仍然与他此前实现 890 万 IOPS 时所使用的设备保持一致 —— 采用了一个 AMD Ryzen 9 5950X CPU 和英特尔 P5800X Gen2 傲腾 SSD。为了实现这些的性能提升,Jens Axboe 主要是在内核的 block / NVMe / IO_uring...阅读全文

博文 2021-10-27 10:32:50 joseph

Java Annotations详解

注释,后面的Entity表示该注释的名称。 注释的元素 一个注释可以包含多个可以被赋值的元素。一个元素就像是一个属性或者参数。下面是一个包含一个元素的注释 @Entity(tableName = "vehicles") 元素紧跟在注释之后,并放置在圆括号中,没有元素的注释,不需要圆括号。注释可以包含多个元素,当只包含一个元素时,可以省略元素名,只提供元素值既可,如下: @InsertNew("yes") 注释的位置 你可以将注释放置到类、接口、方法、方法参数、成员、局部之前。下面是一个将注释放到类之前的例子: @Entity public class Vehicle { } 下面是一个更大的例子,演示了在类、成员、方法、参数以及局部之前添加注释。仅作演示之用,并没有什么特别的...阅读全文

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

Go 1.16 发布,支持 macOS ARM64

/mips64)上支持 MIPS64 体系架构,但尚不支持 cgo - 放弃了对 x87 模式编译(GO386=387)的支持。现在可以使用软浮点模式(GO386=softfloat)来支持非 SSE2 处理器 - linux/riscv64 现在支持 cgo 和 -buildmode=pie - GO111MODULE 环境现在默认为 on。可通过将 GO111MODULE 设置为 auto 切换回旧行为 - go 命令现在支持使用新的 //go:embed 指令来将静态文件和文件树作为最终可执行文件的一部分包含在内 - 新的 runtime/metrics 包引入了一个稳定的接口,用于从 Go 运行时中读取实现定义的指标 - 现在将 GODEBUG 环境设置为 inittrace=1 会导致...阅读全文

博文 2021-02-17 08:58:12 joseph

Java 10 正式发布:包含 109 项新特性

期待已久的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版。为了更快地迭代,以及跟进社区反馈,Java 的版本发布周期更为每六个月一次,并且承诺不会跳票。新的发布周期也会严格遵循时间点,将在每年的 3 月份和 9 月份发布。 Java 10 是采用新发布周期的第一个版本,提供了 109 项新特性,其中最备受关注的莫过于局部的类型推断。 相关链接: JDK 10 安装指南 JDK 10 发布说明 Readme Java 10 的 12 项关键新特性: JEP 286: 局部的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中 JEP 304: 垃圾收集器接口。通过引入一...阅读全文

博文 2018-03-21 08:35:10 debian.cn

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

Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫 by-move 绑定的共享引用,以及函数参数的属性。 async/.await 稳定 此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函数和块,并进行 .await 操作。 async 函数通过 async fn 引入,被调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{…} 和 async move{…} 块也可以用来定义“异步文字”,它们的行为像闭包。 match 守卫引用 by-move 绑定 在 Rust 中进行模式匹配时,一个,也就是“绑定”,可以...阅读全文

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

Debian GNU/Linux 9 “Stretch” 将于2017年初发布

2016 年 11 月 5 日,Debian 发布经理 Emilio Pozuelo Monfort 和 Niels Thykier 高兴地宣布 Debian GNU/Linux 9 "Stretch" 操作系统进入冻结开发阶段。 在一个开发周期中,GNU/Linux 有多个里程碑,如 Alpha、Beta、RC、Beta Freeze、Feature Freeze,等等, Debian GNU/Linux 9 "Stretch" 即 Debian OS 的下一个重大发布,此版本已经是功能完善的版本。 "这意味着不再有新的库或包的大化。不过之后几天还会有小的改,我们尽使其工作更流畅,所以请耐心等待最后的调整。"通知中写道。 按 Debian 开发周期,下一步是 2017 年 1 月...阅读全文

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

Kubernetes常用命令大全(持续更新)

分析错误)对控制器和服务,node同样有效 kubectl describe pods xxxxpodsname --namespace=xxxnamespace 其他控制器类似吧,就是kubectl get 控制器 控制器具体名称 查看pod日志 kubectl logs $POD_NAME 查看pod kubectl exec my-nginx-5j8ok -- printenv | grep SERVICE kubectl get cs #### 集群健康情况 kubectl cluster-info #### 集群核心组件运行情况 kubectl get namespaces #### 表空间名 kubectl version #### 版本 kubectl api...阅读全文

博文 2020-03-13 12:35:13 debian.cn

历数2017年五大Linux痛点

Linux操作系统为许许多多用户安装和使用,难免会遇到一些问题。正如2016年我们总结过5大Linux故障排除技巧一样,在即将过去的2017年里,我们依然搜集了用户在使用Linux系统时发现的问题,在此总结综述为"2017年五大Linux痛点",直指用户使用的关键点,希望能对您有所帮助。 1.文档 文档的问题是你今年最大的痛点吗?开源的方式产生了大优秀的代码,文档的质也因此上升了一个台阶。随着越来越多的非技术用户采用Linux和开源软件,文件的质和数得至关重要。如果您想为开源项目做贡献,但又不觉得自己有足够的技术来提供代码,那么改进文档是一个很好的参与方式。许多项目甚至将文档保存在它们的存储库中。因此你可以通过自己的贡献去改进工作的效率。 2.软件/版本不兼容 软件版本不兼容的...阅读全文

博文 2017-11-25 12:27:56 debian.cn

下一个LTS内核版本确定为 Linux Kernel 4.9

新选择4.8分支或者等待4.10版本。如果有了进一步的消息,我们将会在kernel.org网站上进行更新让所有人都知道。” Linux Kernel 4.9的主要特性包括:虚拟映射内核栈分配,英特尔的粗粒度保护机制pkeys系统调用,BBR拥堵控制算法,支持模块化智能手机的Greybus子系统,大的文件系统改进,驱动更新如改进 AMD Radeon GPU支持,bug修正,等等。4.9包含了16,216个非合并更集,是内核项目历史上最忙碌的开发周期,AMD贡献了最多的行更,最活跃的开发者中就有开发AMD PowerPlay驱动的Rex Zhu。...阅读全文

Gitlab 12.2 发布:改进团队协作

跨越多个项目,代码更改之间具有相互依赖关系,其中合并更改的顺序很重要。GitLab 现在支持 跨项目合并请求依赖 ,使定义这些依赖关系成为可能,并防止因更改按错误的顺序合并而导致的错误。减少错误意味着能够减少修改,并更快地部署更改。 Gitlab 12.2 还有其他改进,包括 合并请求中的安全审批 、 Core 中包含的范围内的环境 、按域限制组成员 、 功能标志百分比推出策略和功能标志用户 ID 推出策略 等内容。 详情见发布说明:https://about.gitlab.com/2019/08/22/gitlab-12-2-released/...阅读全文

博文 2019-08-23 15:59:42 debian.cn

GitLab的Python依赖扫描Docker镜像将换用Debian

)构建官方 Docker 镜像的体时 需要采取的具体措施包括: 如果定期在 gemnasium-python:2 上构建自己的 Docker 镜像,并依赖于DS_ANALYZER_IMAGES 之类的 CI ,则下次尝试构建镜像时,会中断gemnasium-python:2,虽然它不会在运行时中断。可以在gemnasium-python:2.6.0基础上构建镜像解决此问题。如果在 Docker 中禁用 Docker,并且已经设置了gemnasium-python-dependency_scanning工作定义的before_script,将会在执行任务时,在运行时中断。除非重载作业定义明确使用一个在切换到 Debian 前构建的gemnasium-python镜像,如gemnasium...阅读全文

博文 2020-02-15 11:54:28 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

国产 Java 开源博客 Solo 2.5.0 发布,支持数据导出

Solo 是一款 一个命令 就能搭建好的 Java 开源博客系统,如果你想开个独立博客,请一定不要错过!2.5.0 版本主要支持了 Markdown/JSON 格式数据导出,并改进了 Markdown 渲染。 另外,我们 新的博客产品 Pipe(golang 开发)已经开源 ,欢迎大家来围观! 安装 下载 安装包 解压后执行 java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.solo.Starter 从 2.4.0 升级只需将已有的配置拷贝覆盖即可,启动后会自动升级。 文档 用户指南 :安装、配置、备份以及常见问题 开发指南 :开发环境、项目结构、框架说明 皮肤开发 :开发步骤、模版 插件开发 :插件机制、处理流程 项目...阅读全文

博文 2017-12-21 09:48:36 debian.cn

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

任何类型的向后兼容的“增”语言特性更,因为他们认为无论更多么小,都要有更全面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还合并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文

Linux kernel 4.0全新发布!引入热升级

对于所有开源爱好者来说,今天是个大喜的日子,Linus Torvalds很高兴地宣布了Linux Kernel 4.0全新内核。 从版本上就可以看出Linux 4.0的化之大,事实上也的确如此,尤其是打补丁后不需要重启了。 Linux新的补丁更新机制叫做“live patching”(实时补丁),可以对系统内核进行更新而不用重启。该功能由SUSE Enterprise Linux kGraft、Red Hat Kpatch合并升级而来。 普通用户对这个可能没啥感觉,但如果你是企业的网管,就会对打补丁再重启深恶痛绝了,那可意味着整套系统的下线。Windows要是啥时候也能会这招就好了,那意味着你的系统甚至可以连续运行几年乃至十几年! 新系统还更新了大驱动,包括Radeon DRM驱动支持...阅读全文

如何在docker pull时,配置使用代理服务?

-registry.somecorporation.com" ``` 重新加载配置,并验证是否生效: ``` $ sudo systemctl daemon-reload $ sudo systemctl show --property Environment docker Environment=HTTP_PROXY=http://proxy.example.com:80/ Environment=HTTPS_PROXY=http://proxy.example.com:80/ ``` 最后重启一下docker, `sudo systemctl restart docker`...阅读全文

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

较于PHP、Python、Java来说,JavaScript是最有可能在物联网大行其道的解释性语言。 JavaScript在浏览器没有对手,nodejs在服务器端也在不停的攻城拔寨,积累了大的资源,构建了一个完整的应用开发生态环境。 JavaScript语言本身特点适合互联网,事件驱动,异步使单线程处理网络事件得心应手。 JavaScript已经跨界到物联网,受到了行业巨头的关注,各种项目发展的如火如荼。 未来的物联网开发 如果JavaScript在物联网获得成功,那么物联网的开发将会发生巨大的化。 底层驱动由C实现,应用开发者不需要关注硬件,大的互联网、移动互联网应用开发者加入物联网开发。 传统的交叉编译、烧写、调试的开发方式使用范围将急剧缩小 所见即所得,上位机和下位机的架构由C...阅读全文

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

都是颗粒 为什么SSD有寿命、内存却没有?

。 SSD则是外部存储,用来长久保存数据,属于非易失性存储,断电后数据还在,但是相对速度慢、延迟高,HDD机械硬盘、U盘、光盘等也是此类。 SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改内部状态来存储数据,随着时间的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。 NAND闪存的寿命一般用P/E编程擦写次数来描述,写满一次容就损失一次P/E。 SLC大约是10万次,MLC只有5000次左右,TLC就只大概2000次,QLC仅为1000次上下,所以不得不依靠更多管理技术和算法来辅助,以保持寿命。 但另一方面,SLC、MLC、TLC、QLC的存储密度越来越大,SSD容也越来越大,写满的概率越来越低,所以整个SSD的实际寿命其实并没有大大缩短,一般应用无需过分担忧寿命问题。...阅读全文

社交巨人Facebook使用Linux和Btrfs的姿势

们招聘从事上游内核开发的人才。开发者想要从事革命性的新技术的研发工作,他们想做上游内核的开发工作、参加相关的技术会议、成为上游技术社区的一员。我们也希望能够为上游内核的开发贡献力,并把这些成果应用到Facebook中去。这样我们能比较容易找到并聘用上游内核的开发者,同时也是我们降低工作负载的最佳途径。 Linux.com:在服务器领域,我常听系统管理员说“一旦安装好并运行起来,就不要再碰它了”,这与我们在现代IT基础设施中看到的刚好相反——现代IT基础设施的宝典是为了安全要动的更快。 Chris Mason:我认为,Facebook横向扩展的能力使我们进行测试得更为容易。这并不是说测试工作本身得容易了,而是我们把测试单元部署在大机器上的过程得更容易了。我们有能力把测试工作放在一个...阅读全文

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

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

?如果你是 Oracle JDK 8 的用户,原 License 尚可免费使用,但之后若希望得到持续安全更新则需要为此付费。如今,在 Oracle 主导下的 Java 大环境已经发生化。作为最大的 Java 的用户之一,阿里巴巴几乎拥有世界最大规模的 Java 应用集群,肯定需要为此采取一些行动。 基于此,阿里巴巴决定开源 OpenJDK 长期支持版本 Alibaba Dragonwell,一是因为其自身拥有大 Java 客户和业务需求,阿里巴巴希望他们可以继续免费享受到 JDK 的所有功能;二是考虑到不少开发者可能会做出新的选择,阿里巴巴决定开源该项目,为开发者提供一个新的参考。 在过去三个月时间内,阿里巴巴方面对该项目进行了持续维护和更新。据了解,本次 GA 版本的主要目的是让...阅读全文

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

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作巨大,而且还需要手动执行机械的更改。 特别是,在Debian的更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

Bootstrap 4首个维护版发布 新增多项功能

.flex-fill,.flex-grow- * 和 .flex-shrink- * 实用程序 为表格添加了新的 .table-borderless 体 增加了新的 .text-monospace 工具 添加了新的 .text-body(默认主体颜色),.text-black-50(50%不透明度黑色)和.text-white-50(50%不透明度白色)实用程序 添加了新的 .shadow- * 工具,用于快速添加阴影框 增加了在下拉菜单中禁用 Popper 定位的功能 更新我们的 Theming 文档以确认您不能在媒体查询中使用 CSS 修复了为卡片错误地渲染 CSS 列的问题 已弃用 .text-hide,在编译期间您会看到一条警告 修复了 Firefox 和 IE 浏览器中的...阅读全文

博文 2018-04-10 13:04:36 debian.cn

WordPress 5.0“Bebo” 正式版发布

WordPress 5.0 最大的亮点就是正式引入新的基于块(block-based)的编辑器 —— Gutenberg,给用户提供更简化的编辑体验。无论是首次构建网站、修改博客还是编写代码,用户都可以更灵活地显示内容。新的 Gutenberg 编辑器不会改访问者对你的内容的观感,它的作用是让你快速插入任何类型的多媒体并重新排列你想要核心展示的内容。每块内容都在自己的块中,有单独的封装,便于操作。 WordPress 默认提供大的块,而且社区也在不断添加新的块。 这种全新的编辑体验为设计和内容提供了更加一致的处理。如果你正在构建 client 站点,则可以创建可重用的块,这有益于你的客户随时添加新内容,同时仍保持一致的外观。 此外,WordPress 5.0 还引入了新的默认主题...阅读全文

博文 2018-12-07 12:11:52 debian.cn

深入了解Docker背后的namespace技术

的demo之一,同时它会产生一个shell会话,这样你就可以在你的namespace中“闲逛”。你可以自己的方式探索与检查这些不同的namespace。因此让我们复制这个文件,并开始使用network namespace。 > cp skeleton.c network.c 在这个文件里有一个很特殊的,叫做clone_flags,大部分的化将在此处发生。namespace主要由clone标志控制。network namespace的clone标记是CLONE_NEWNET。我们需要把int clone_flags = SIGCHLD;这一行改为 int clone_flags = CLONE_NEWNET | SIGCHLD;。这样调用clone就为我们创建一个新的network...阅读全文

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

10年来最重要创新 ARM发布AMRv9指令集:IPC性能大涨30%

访问:2021阿里云上云采购季:采购补贴、充值返券、爆款抢先购云通信分会场:爆款产品低至7.2折,短信低至0.034元/条 相比之下,ARMv9的升级看点就多了,过去10年计算架构有了太多化,ARM处理器也不止是移动/嵌入式专用了,已经扩展到了PC、HPC高性能计算、深度学习等等新市场。ARMv9在兼容ARMv8的基础上,提升了安全性、增强了矢计算、机器学习及数字信号处理,同时继续提升处理器性能。首先来说说性能上的化,以智能手机等移动平台使用的Cortex-X/A系列为例,X1/A78这一代的性能相比16nm A72提升2.5倍,下一代的Matterhorn架构及Makalu架构会保持30%以上的IPC性能提升。IPC提升与频率无关,如果再考虑到未来工艺带来的频率增加,那么CPU性能...阅读全文

译:零信任对 Kubernetes 意味着什么

这篇是 Buoyant 的创始人 William Morgan 文章《What Does Zero Trust Mean for Kubernetes?》 的翻译,文章很好的解释了什么是零信任、为什么要实施零信任,以及服务网格如何以最小的代码实现零信任。零信任是营销炒作,还是新的机会,各位看官你怎么看?要点零信任是一种被大炒作的安全模型,但尽管存在营销噪音,但它对于具有安全意识的组织具有一些具体而直接的价值。零信任的核心是,将授权从“在边界验证一次”转为“随时随地验证”。为此,零信任要求我们重新思考身份的概念,并摆脱基于位置的身份,例如 IP 地址。Kubernetes 采用者在网络层实现零信任时具有明显的优势,这要归功于基于 Sidecar 的服务网格,它提供无需更改应用程序就可实现...阅读全文

Debian及衍生版自动安装系统更新

"; // "libc6-i686"; }; Unattended-Upgrade::MailOnlyOnError "true"; Unattended-Upgrade::Automatic-Reboot "false"; 注意在最后一行,如果希望服务器在必要时重新启动,你可以将自动重新引导设置为 true。 接下来,我们可以安装 “apticron” 来管理 APT 更新的自动执行。 # apt -y install apticron 用编辑器打开 /etc/apticron/apticron.conf ,将电子邮件设置为你自己的邮件地址,这样您就可以收到更改列表。 EMAIL="**me@debian.cn**" DIFF_ONLY="1" LISTCHANGES_PROFILE="apticron...阅读全文

博文 2019-06-04 12:23:56 debian.cn