InfraPub 为您找到相关结果 258

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

PostgreSQL 13 正式版发布

索引所需的整体空间使用率,同时提高了整体查询性能。 PostgreSQL 13 引入了增量排序,即在查询中较早步骤的排序数据可以加速后面步骤的排序。此外,PostgreSQL 现在可以使用扩展的统计信息(可通过CREATE STATISTICS访问)来为带有OR和IN/ ANY查找列表的查询创建改进的计划。 在 PostgreSQL 13 中,更多类型的聚合查询和分组查询可以利用 PostgreSQL 的高效哈希聚合功能,因为具有大型聚合的查询不必完全放入内存。对分区表的查询也得到了性能提升,因为现在有更多的情况下可以修剪分区和直接联接分区。 优化管理 清理(Vacuuming)是 PostgreSQL 管理的一个重要部分,使数据库在更新和删除行后能够回收存储空间。此过程也会带来管理上的...阅读全文

博文 2020-10-04 20:07:23 debian.cn

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

吗?你不能。你得看看它里面装的是什么型号的处理器,有多少个核,主频多少,有多少 L1 cache,L2 cache……,有多少内存和硬盘,显示器分辨率有多大,显卡是什么 GPU,网卡速度,等等各种“配置”。有时候你还得看各个组件之间的兼容性。 这些配置对应到程序语言里面,就是所谓“语言特性”。举一些语言特性的例: 变量定义 算术运算 for 循环语,while 循环语 函数定义,函数调用 递归 静态类型系统 类型推导 lambda 函数 面向对象 垃圾回收 指针算术 goto 语 这些语言特性,就像你在选择一台电脑的时候,看它里面是什么配置。选电脑的时候,没有人会说 Dell 一定是最好的,他们只会说这个型号里面装的是 Intel 的 i7 处理器,这个比 i5 的好,DDR3 的内...阅读全文

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

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

分布式 NewSQL 数据库 TiDB

hash 分区表时指定非常大的分区数量导致 TiDB OOM 的问题 #16219让 union 语的行为和 select 语保持相同,修复把 warnings 当 error 的问题 #16138修复 TopN 下推到 mocktikv 中的执行错误 #16200增大 chunk.column.nullBitMap 的初始化长度,以避免多余的 runtime.growslice 开销 #16142TiKV修复 replica read 导致 TiKV panic 的问题 #7418 #7369修复 restore 产生许多空 Region 的问题 #7419修复重复的 resolve lock 请求可能会破坏悲观事务原性的问题 #7389TiFlash修复从 TiDB 同步 schema...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

AWS省钱攻略:预留实例怎么玩

、Linux/Unix 当您购买了区域性 Linux/Unix RI,将自动匹配正在运行的按需实例,折扣将立即适用于该实例系列中的实例使用,无论实例大小如何,直接上例: 场景一:假设您在新加坡区域购买了一个 m5.2xlarge 的 Linux/Unix 的标准RI,并且您的账户在该区域有两个 m5.xlarge 实例在运行 ,那么两个实例将完全匹配,做预留。如果您的账户在新加坡区域区域有一个 m5.4xlarge实例(Linux/Unix),将匹配到 50% 的实例费用。 场景二:那么,有同学可能有比较刁钻的场景:如果我的账户在该区域有个m5.4xlarge实例( Linux/Unix)在运行 ,且当前我有一个 m5.2xlarge的标准RI,一个m5.large的标准RI,我是否需要重新购买...阅读全文

博文 2019-08-18 18:26:19 debian.cn

技术部门的 SEO 规范

、Description标签、H1文字按格式自动生成缺省版本,但系统需要给SEO部门预留人工填写功能。一个页面只使用一次H1。栏目页面Title缺省格式:二级栏目名称 – 一级栏目名称 – 网站名称栏目页面翻页Title缺省格式:二级栏目名称 – 一级栏目名称 – 网站名称 – 第X页产品页面Title缺省格式:产品名称 – 网站名称栏目页面H1缺省格式:一级栏目名称 – 二级栏目名称产品页面H1缺省格式:产品名称Description标签从栏目或产品说明文字第一段截取长度20字以上、70字以下的完整。产品页面如果有格式化数据,Title和Description标签可以充分利用,使其组成通顺可读的。除非SEO部门另行要求,页面不使用Keywords标签。除非SEO部门另行要求,所有链接使用HTML代码链接...阅读全文

博文 2019-03-28 13:58:51 debian.cn

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

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语组合在一行命令中或许是一种很好的做法,就像上面的第一个例那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

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

Debian 环境下有趣的命令

sl 命令 你会看到一辆火车从屏幕右边开往左边。。。。。。 安装 $ sudo apt-get install sl 运行 $ /usr/games/sl sl 命令有 -alFe 几个选项, -a An accident seems to happen. You'll feel pity for people who cry for help. -l shows little one. -F It flies. -e Allow interrupt by Ctrl+C. 可以给别人来个恶作剧,他一敲 ls,不知道的肯定很有效果。 $ alias ls=sl fortune 命令 输出一话,有笑话,名言什么的 (还有唐诗宋词 sudo apt-get install fortune-zh...阅读全文

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

Golang Context 探究

{ // 返回 context.Context的截止时间(也就是取消时间) Deadline() (deadline time.Time, ok bool) // 返回一个 Channel,这个 Channel 会在当前操作完成或者上下文被取消之后关闭,多次调用 Done 方法会返回同一个 Channel Done() <-chan struct{} // 返回 context.Context 结束的原因 Err() error // 从 context.Context 中获取键对应的值, 该方法可以用来传递请求特定的数据 Value(key interface{}) interface{} } Context 实现 首先我们思考为什么Golang 中需要 Context。用我们最熟悉的例 http...阅读全文

博文 2021-02-25 09:27:27 lxkaka

提问的智慧 – 全文

Google搜索时你遇到的各种提示(记得也搜索一下Google groups),这样很可能直接就找到了解决问题的文档或讨论组的相关线索。即使没有结果,在论坛或讨论小组寻求帮助时提一「我在Google中搜过下列,但没有找到什么有用的东西」也是件好事,至少它表明了搜索引擎暂时还不能提供哪些帮助。另外,将搜索关键词与你的问题及可能的解决方案联系起来,还有助于引导其他有类似问题的人。 耐心一点,不要指望Google搜索几秒钟就能解决一个复杂的问题。读一下与产品或项目相关的常见问题解答。在向专家提问之前,先稍微放松一下,再深入地思考一下问题。相信我们,他们能从你的提问之中看得出你做了多少阅读与思考的准备功课,如果你是有备而来,专家们很有可能会为你解答。如果你第一次搜索没有结果(或者结果太多),也不要抛出一...阅读全文

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

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待解决方案。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症状问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

博文 2023-10-07 15:02:42 infras

Stackstorm 入门介绍

话概况:stackstorm是一个事件驱动的自动化引擎。StackStorm 是一坨功能强大的开源自动化平台,可将通过使用插件封装API的方式,将所有应用程序,服务和工作流程连接起来。这里的所有包括了目前我们常用Gitlab、Zabbix、ELK、AWS 等服务。 Stackstorm 具有很好的可扩展性,灵活性,完美支持 ChatOps 和全操作的API实现。通过Stackstorm 可以将您现有的基础架构和应用程序环境联系在一起,以便您可以更轻松地自动化操作该环境。它特别专注于针对事件采取行动。 便利的故障排除 - 触发由Nagios,Sensu,New Relic和其他监控系统捕获的系统故障,在物理节点、OpenStack或Amazon实例和应用程序组件上运行一系列诊断检查,并将...阅读全文

MySQL 8 第一个正式版发布:更好的性能

“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文

博文 2018-04-20 10:40:18 debian.cn

HTTPS 证书有效期被提议缩短至13个月

推荐的加密和散列证书,而不是使用不安全算法的老化证书。 不过,本周一时,DigiCert 的 Timothy Hollebeek 却反对将证书有效期缩短至 13 个月,他认为,缩短证书寿命确实带来的好处,但意味着要有更好的方法来确保证书是最新的和安全的,同时也存在一些麻烦,企业不得不每年续签一次付费证书,并且增加其成本。 换话说,减少有效期可能会促使企业免费使用 Let's Encrypt TLS/SSL,就不会向 Digicert 这样的机构支付费用。Let's Encrypt 可以免费发放 90 天的 HTTPS 证书,使用提供的软件客户端来自动更新和部署证书,而由于几乎所有浏览器和操作系统都支持 Let's Encrypt TLS/SSL 证书,导致该服务正给向 HTTPS 证书收费...阅读全文

博文 2019-08-14 14:13:58 debian.cn

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Ian Murdock 走了,但 Debian 常在。今天就从与 Ian Murdock 的访谈来回顾一下 Ian 的 Debian 往事。 Debian 社区前几日宣布,Debian 的著名创始者 Ian Murdock 已经去世,死因至今不明。到官方公布具体死因之前,恐怕我们多猜测也无益。今天,不如让我们一起来回顾一下 Murdock 对免费软件的发展做出的贡献。 1999 年 11 月,我曾有幸与 Murdock 有过一次访谈。我为写《Rebel Code:Linux and the Open Source Revolution》这本书共做过 50 多次访谈,这就是其中一回。虽说在书中我只引用了 Murdock 所说的寥寥几,不过如今,借着这个时机,我想用 Murdock 自己的话...阅读全文

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

架构师详解 Nginx 架构

主进程(master process)生成一个进程(worker process)出来和客户端建立连接进行交互,直到连接断开,该进程就结束了。使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响,如果一个进程发生异常退出时,其它进程正常工作,master 进程则很快启动新的 worker 进程,确保服务部中断,将风险降到最低。缺点是操作系统生成一个进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降。 异步非阻塞 每个工作进程使用异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能...阅读全文

博文 2018-05-01 23:10:47 debian.cn

最全 MongoDB 基础教程

回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略) # 以易读的方式读取数据 db.ruochen.find().pretty() 操作 格式 范例 RDBMS中的类似语 等于 {key:value} db.ruochen.find({'by':'ruochen'}).pretty() where by = 'ruochen' 小于 {key:{$lt: value}} db.ruochen.find({'likes': {$lt:3}}).pretty() where likes < 3 小于或等于 {key:{$lte: value}} db.ruochen.find({'likes': {$lte:2}}).pretty() where likes <= 2 大于...阅读全文

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

Monit:开源服务器监控工具

[0.0%] data collected Sat, 18 Feb 2017 10:09:56 或者浏览器输入http://localhost:2812登录网页版查看实时状态。 设置错误提醒 Monit默认情况下如果一个服务失败只发送一个通知: alert foo@bar 如果您希望在服务保持处于失败状态时每十个周期通知一次,您可以使用: alert foo@bar with reminder on 10 cycles 同样,如果您想在每个失败的周期获得通知,您可以使用: alert foo@bar with reminder on 1 cycle 要禁止某些用户和服务的警报,可以在服务检查的局部配置里添加语: noalert mail-address 服务类型 首先需要理解在monit里什么是...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

腾讯云 香港主机 1核1G 50G硬盘1M带宽 三年仅428元!

最近腾讯云活动不断,双十一智慧上云服务器的优惠力度非常的大,可以说是前所未有的历史低价了。赶紧行动吧, 2核4GB内存50GB硬盘,3Mbps带宽的国内主机,三年只需要688元,1核2GB内存50GB硬盘,1Mbps带宽的国内主机三年也只要268块,1核1GB内存50GB硬盘,1Mbps带宽的香港主机,三年只要428块。 需要特别提醒的一是,如果你的账号之前就已注册,但是没有购买记录,也是可以参加的。活动页面也是很炫的,如果不想买国内主机,还有免备案的香港主机可选,价格都很良心, 相比此前的方案,优惠力度绝对是杠杠的, 活动地址(已更新): 1核1GB 1Mbps 只要88/年:直达链接2核4GB 3Mbps 带宽 仅688元/三年:直达链接 目前活动优惠力度历史新低,建议大家尽快下单...阅读全文

博文 2019-11-22 13:06:00 debian.cn

Gitlab CI 配置文件 .gitlab

。CI_COMMIT_REG_NAME就是一个很好的例,它的值表示用于构建项目的分支或tag名称。除了在.gitlab-ci.yml中设置变量外,还有可以通过GitLab的界面上设置私有变量。 更多关于variables。 cache Gitlab Runner v0.7.0 开始引入。 cache用来指定需要在job之间缓存的文件或目录。只能使用该项目工作空间内的路径。 从GitLab 9.0开始,pipelines和job就默认开启了缓存 如果cache定义在jobs的作用域之外,那么它就是全局缓存,所有jobs都可以使用该缓存。 缓存binaries和.config中的所有文件: rspec: script: test cache: paths: - binaries/ - .config 缓存git中没有被跟踪的文件...阅读全文

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

Debian 使用VSFtpd安装配置架设FTP服务器

000010010 在unix中文件权限是三类用户,三种权限。三类用户分别是文件所有者user(u),文件所有者所在主群组group(g)、其它用户others(o),三种权限分别是起读read(r)、写write(w)、执行execute(x)。 如果一个文件的权限如下:所有者有读写的权限,群组有读和执行权限、其它用户有读权限,可以写成: rw-r-xr– 其中前三位指明了所有者的权限、中间三位指明了组权限、最后三位指明了其它用户的权限。我们用ls -l可以看到文件权限详情,列出来的是10位,最前一位如果是d表示是目录。 说回来,如果把这上面9位字母换成二进制数则是: 110101100 如果换成八进制是多少? 因此文件权限可以用9位二进制数表示。umask在英文中是屏蔽的意思,那么 umask=022...阅读全文

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

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

Google用基于Debian的gLinux取代了基于Ubuntu的Goobuntu

了gLinux。 gLinux将遵循滚动发布模式 如果你听DebConf17谈话(从12分钟开始),你会发现一些关于Goobuntu和gLinux的细节,比如前者仍然基于Ubuntu 14.04 LTS(Trusty Tahr),后者现在基于即将发布的Debian GNU/Linux 10 “Buster”操作系统,并且遵循滚动发布模式。 那么Google为什么要搬到Debian呢?那么,他们似乎打算推动他们到上游。换话说,如果他们修补任何安全缺陷或修复一些错误,这些将立即在Debian软件库中供所有Debian GNU/Linux用户在他们的计算机上安装。 当然,这对于Debian社区来说是个好消息,对于Linux社区的其他人来说,这也是一个更好的消息,因为Google是Linux操作系...阅读全文

Mac OS下如何安装卸载 Homebrew

Homebrew 是一款 Mac OS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,你不用关心各种依赖和文件路径的情况,十分方便快捷。 引用官方的一话:又提示缺少套件啦?别担心,Homebrew 随时守候。Homebrew —— OS X 不可或缺的套件管理器。 Homebrew的安装有一些前置依赖,具体如下, 64 位 Intel CPUMac OS X High Sierra 10.13 或更新的系统版本Xcode 的命令行工具 xcode-select --installBourne 兼容的 shell (zsh 或 bash) 安装 Homebrew 安装 Homebrew 只需要用普通用户,执行一条命令即可,如下...阅读全文

博文 2020-04-04 21:48:16 debian.cn

Python 2.7.18 发布,Python 2正式结束

今年 1 月 1 日的时候,Python 2.7 正式停止维护,但是实际上还遗留有一个版本 2.7.18 没发布。4月20 日,官方发布了最后的这一个版本,为 Python 2 划下了圆满的号。 注:Python 2.7 在 2019 年的最后一个版本是 10 月 19 日发布的 2.7.17 版本,在它之后直到 2020 年 1 月 1 日之间产生的问题会合入最后一个版本 2.7.18。 Python 核心开发团队宣布了这一消息,“自 11 年前发布 Python 2.6 以来,Python 2.7 一直处于积极开发中。这些年来,CPython 的核心开发人员和贡献者认真地将 bug 修复应用到 2.7 分支,这是一项艰巨的任务,因为 Python 2 和 3 分支有所不同。”官方感谢...阅读全文

博文 2020-04-21 09:34:45 debian.cn

Fedora28正式版发布:GNOME 3.28使用更优雅

深受Linux之父 -- Linus Torvalds 青睐的 GNU/Linux 发行版 - Fedora 于今天发布了 28.0 正式版。Fedora 28 带来了很多的新功能,但令桌面/工作站用户最为开心的事情就是引入了GNOME 3.28环境,支持Thunderbolt 3 端口并改善笔记本电池续航表现。 如需下载Fedora 28,请访问 官方网站:https://getfedora.org/ ● Get Fedora 28 Workstation ● Get Fedora 28 Server ● Get Fedora 28 Atomic Host Fedora系统此前一直将GNOME作为默认桌面环境,而且最令人称道的一点在于Fedora并不会对该桌面环境进行修改和自定义。换话...阅读全文

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

Redis 官网宕机:错误提示无法连接 Redis

Redis 官网 redis.io 昨日罕见地宕机了一段时间。宕机原本不是什么新鲜事,但戏剧性的是网站的报错信息居然是连接不上 Redis。 Redis::CannotConnectError at / Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) ▲ 看到这,忍不住刷一:禁止套娃! Redis 作者 Antirez 很快修复了问题,并解释了宕机的原因。原来是因为他最近在运行 redis.io 的实例上安装了 Try Redis(用于在线体验 Redis 数据库),可能是未能对 session key 进行良好的垃圾回收,从而导致内存累积,最终因为内存溢出(OOM )引发宕机。对此,Antirez 表示...阅读全文

博文 2020-03-13 13:17:06 debian.cn

Golang后端面试题目

,merge跟rebase 技术二面 项目相关 通过腾讯会议,腾讯的两个大佬一起面试。 项目实现爬虫的流程爬虫如何做的鉴权吗怎么实现的分布式爬虫电商系统图片多会造成带宽过高,如何解决micro服务发现mysql底层有哪几种实现方式channel底层实现java nio和 go 区别读写锁底层是怎么实现的go-micro 微服务架构怎么实现水平部署的,代码怎么实现micro怎么用怎么做服务发现的mysql索引为什么要用B+树?mysql语性能评测?服务发现有哪些机制raft算法是那种一致性算法raft有什么特点当go服务部署到线上了,发现有内存泄露,该怎么处理还有一些非常底层的问题 总结 腾讯对于基础部分是相当重视的,总体回答的还算可以项目部分腾讯也是非常重视,从电话里面听出来有一个架构在面试我...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

prometheus通过node_exporter抓取的数据准确计算磁盘使用率

公司使用的openstack的备份服务组件karbor,要查询所使用的备份nas磁盘使用率的需求,根据以前的查询语,很快写出如下的prom sql 100-topk(1,node_filesystem_free{device=~":/.*"}*100/node_filesystem_size{device=~":/.*"}) 不久后,同事过来说给出的使用率不严谨,和在系统上通过df -h的命令不一样,分别是prom:10%,df结果是11%。嘴上说着差异不大不用管,身体却很实诚,马上去主机上通过df -h查看了使用率 :/var/lib/docker/nfs 147G 15G 125G 11% /var/lib/docker/volumes/volume-nfs/_data 通过prom...阅读全文

博文 2021-01-30 20:26:49 中文开源技术社区

Linux 基金会创办LFN 旨在协调开源网络生态系统

Foundation)为例,它将Kubernetes和其他平台即服务(PaaS)云计划结合在一起。在过去的5年中,LFN项目大大加速了网络创新,使数据网络在未来数十年以前所未有的速度发展。” 在LNF下,每个项目都将继续按照现有的章程运作,保持技术的独立性,社区的亲和力,项目的发布路线图和以及网站的存在。 LFN 长远的目标是形成从网络协议栈到数据平面到控制平面,协调,自动化,端到端(end-to-end )测试等的协作基础。LFN 有 83 个成员组织参与: 90%排名前10位的开源网络项目 超过60%由参与公司提供支持的全球移动用户 十大网络和企业供应商中的大多数 顶级系统集成商 顶级云提供商 换话说,LFN有了业务和开发者社区的支持,它就要有所作为。希望 LFN 能带来更好的跨项目协同效应,更快的采用...阅读全文

博文 2018-01-25 12:50:35 debian.cn

Golang 中的 channel 通道详解

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

使用 MongoDB 之前应该知道的 14 件事

望的唯一方式是把它直接和另一种类型的数据库如 RDBMS 比较,或者对它有特别的期待。这就像把桔和叉比较。数据库系统有它们的用途。最好是理解并领会这些差别。强迫 MongoDB 开发人员按照 RDBMS 的方式做事就太遗憾了,我希望继续看到解决旧问题的有趣的新方法,如确保数据完整性、使数据系统具有从故障和恶意破坏中恢复的能力。 在 4.0 版本中,MongoDB 引入了 ACID 事务处理,这是以创新方式引入重大改善的一个很好的例。多文档、多语事务现在是原的了,它允许开发人员调整用于获取锁的时间,过期挂起事务以及修改隔离级别。 关于作者 Phil Factor(为保护作者隐去真名),又称数据库摩尔,他有将近四十年的数据库密集型应用程序经验。在 20 世纪 80 年代初的一次展览会上...阅读全文

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这话很精辟的总结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

博文 2021-02-25 09:14:23 lxkaka

Ubuntu发布重要更新将修复九个漏洞

Canonical发布了针对所有支持的Ubuntu操作系统的新的Linux内核安全更新,解决了由各个研究人员发现的总共九个漏洞。 新修补的Linux内核漏洞影响 Ubuntu 17.10(Artful Aardvark),Ubuntu 17.04(Zesty Zapus),Ubuntu 16.04 LTS(Xenial Xerus),Ubuntu 14.04 LTS(Trusty Tahr)和 Ubuntu 12.04(Precise Pangolin)ESM(扩展安全维护)以及所有官方衍生版,包括 Kubuntu,Lubuntu等。 它们包括Mohamed Ghannam在Linux内核的Netlink系统(XFRM)中发现的释放后使用漏洞,以及Linux内核不能正确处理大页内存的拷贝...阅读全文

博文 2017-12-20 11:31:08 debian.cn

深入理解Golang之context

context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例:func...阅读全文

博文 2021-01-27 09:05:27 知乎

“Debian 章程有毒” - OSCHINA

1996年,Bruce Perens 接下了 Debian 创始人 Ian Murdock 的接力棒,成为 Debian 社区历史上第二位当家人。也就在这一年,不满20岁的 Joey Hess 为了满足自己打包游戏的爱好成为了 Debian 成员之一。 某天,加利福尼亚州的阳光正好,旧金山湾区(硅谷所在地)的某一角落,Bruce Perens 敲响了 Joey —— 这位刚来此地工作的年轻人的大门。 “I’m going to take you on a tour of the Bay Area. ” 他们开着车随意地在湾区闲逛,当经过各大科技公司时,也会聊上两。这次兜风是 Joey 第一次和社区的人面基,从此开启了 Joey 通往这个全新世界的大门,而 Bruce Perens 这位大...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

谷歌元老施密特隐退:传奇落幕 新篇开启

。对于这话佩奇也是有着深刻的理解,在担任谷歌 CEO 短短四年之后,他就将 CEO 的位让给了2004年加入谷歌的印度人桑达尔·皮查伊,他主导了 Android 的后期运作、还一手建立起了 Chrome 项目。 可以预见的是,佩奇和布林两位创始人现在从公司运营一线退了下来,就像7年前的施密特一样,而未来他们也应该会完全把手中的担交给年轻人,然后像今天的施密特一样安然退休。传奇落幕,新篇开始,原来在商业和科技界,也有体育赛场上那样的伟大传承。【本文转载自威锋网】...阅读全文

博文 2017-12-24 09:18:44 debian.cn

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

CERN 无需过多介绍了吧。CERN 创建了 万维网(World Wide Web)(WWW)和 大型强对撞机(Large Hadron Collider)(LHC),这是世界上最大的 粒加速器(particle accelerator),就是通过它发现了 希格斯玻色(Higgs boson)。负责该组织 IT 操作系统和基础架构的 Tim Bell 表示,他的团队的目标是“为全球 13000 名物理学家提供计算设施,以分析这些碰撞,了解宇宙的构成以及是如何运转的。”CERN 正在进行硬核科学研究,尤其是大型强对撞机,它在运行时 生成大量数据。“CERN 目前存储大约 200 PB 的数据,当加速器运行时,每月有超过 10 PB 的数据产生。这必然会给计算基础架构带来极大的挑战,包...阅读全文

博文 2021-11-29 13:20:55 腾讯云

盖茨退休后的日常:很少吃早餐 保证7个小时的睡眠

据国外媒体报道,微软公司联合创始人比尔盖茨现在还是世界首富,目前个人财富高达900亿美元。 但比尔盖茨在2008年就退出了微软公司的日常管理,仅作为董事长继续保证公司的正常运营,而在2014年,也就是在他60岁的前一年,他又放弃了微软公司董事长一职。 在离开微软管理层之后,盖茨将大部分精力和财富都放到了慈善事业上,通过慈善活动,他也时常出现在公众的视野之中,但也有很多人好奇,曾经忙于微软公司事务的他,在退休之后的每一天又是怎么度过的? 事实上在2008年退休之后,如果没有慈善等需要外出的活动,他的一天基本都是在他那历时7年、耗资6300万美元打造的豪宅 “仙乐都2.0” 中度过的,他的一天从豪宅中醒来之后就算开始了。 在早餐方面,盖茨喜欢的早餐是可可泡芙,不过他的妻梅琳达?盖茨却透露,盖...阅读全文

博文 2017-08-31 16:36:02 debian.cn

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房的侧方刨面图来绘画的。使用这样的一个房来代表 Linux 内核。 地基 作为一个房,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

Debian 9修复18个重要的Linux 4.9 LTS内核安全漏洞

Debian 项目近日发布了针对 Debian GNU/Linux 9 “ Stretch ” 系列操作系统新的 Linux 内核安全更新,修复了最近发现的几个漏洞 。 根据最新的 DSA 4073-1 Debian 安全通报,在 Debian GNU/Linux 9 “ Stretch ” 操作系统的 Linux 4.9 LTS 内核中,共有 18 个安全漏洞,其中包括信息泄露,提权升级和拒绝服务等问题。 通报显示,在 Linux 内核的 DCCP 实现、dvb-usb-lmedm04 驱动程序、hdpvr 媒体驱动程序、扩展 BPF 验证程序、netfilter 系统、netlink 系统、xt_osf 模块、USB 核心以及 IPv4 原始套接字实现都存在问题。另外,Linux...阅读全文

博文 2017-12-27 23:31:06 debian.cn

六大算法之三:动态规划【转载】

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方式就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移图如下图所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个性质: (1) 最优化原理:如果问题的最优解所包含的问题的解也是最优的,就称该问题具有最优结构,即满足最优化原理。 (2) 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有重叠问题:即问题之间是不独立的,一个问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Git 介绍与使用详解

出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样。 但额外增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文

博文 2017-02-25 09:00:27 程序员

Linux基金会宣布长期支持内核分支

在布拉格举行的LinuxCon Europe上,Linux基金会宣布了针对消费者电产品的长期支持内核分支“Long Term Stable Kernel Initiative (LTSI)”,旨在减少开发定制移动或嵌入式Linux平台的成本。 LTSI将提供可连续使用2到3年的稳定版内核,消费电产品的生命周期也就二到三年左右。LTSI将每年发布一个新内核版本,此后两年定期提供更新。LTSI由Linux基金会管理,将与行业合作伙伴合作开发,该项目已经吸引了日立、LG、松下、索尼和东芝等大型硬件制造商。...阅读全文

Gitlab CI 配置文件 .gitlab

。 默认情况下,job artifacts 只正对成功的jobs收集。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作间内的文件或目录路径。如果想要在不通的job之间传递artifacts,请查阅依赖关系。以下是一些例: 发送binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 发送所有没有被Git跟踪的文件: artifacts: untracked: true 发送没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个空的dependencies可以禁用artifact传递: job...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

Debian 9 Stretch 安装配置 Caddy Server

] ... Environment=CADDYPATH=/etc/ssl/caddy + Environment=CLOUDFLARE_EMAIL=xxx + Environment=CLOUDFLARE_API_KEY=xxx ... 写完配置后输入 sudo systemctl start caddy.service 启动 Caddy。输入 journalctl --boot -u caddy.service 可以查看日志。 启用 QUIC 关于 QUIC 的介绍,可以看一下这篇文章,一话概况呢就是减少 TLS 握手次数,加快网站速度。 修改 /etc/systemd/system/caddy.service ,在 ExecStart=/usr/local/bin/caddy -log stdout -agree...阅读全文

博文 2017-12-24 10:18:33 debian.cn

Ruby 2.5.0 稳定版发布

, stringio, strscan, webrick, zlib 从标准库中提升到默认 gem。 升级 Onigmo 到 6.1.3。 添加 缺位运算符。 注意,Ruby 2.4.1 也包含这项改动。 把 bundler 纳入标准库。 更新到 Psych 3.0.2。 更新到 Rubygems 2.7.3。 更新到 RDoc 6.0.1。 词法分析程序由 IRB 更换为 Ripper,极大提升了生成文档的速度。 修正过去这些年存在的缺陷。 支持近些年 Ruby 的新法。 更新到 Unicode 10.0.0。 Thread.report_on_exception 默认值现为 true,这对调试多线程程序很有帮助。[功能 #14143] IO#write 现接受多个参数 [功能 #9323] 详见...阅读全文

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