InfraPub 为您找到相关结果 672

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

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

获取据时的延迟。此功能在大规模的应用程序上十分重要,据离应用程序越近,程序就能更快获取到据。 antirez 受 Ben Malec 演讲的启发,他想到可以将大部分需要频繁存和取的据直接放在服务器的内存中,以便让 Redis 为客户端完成部分工作,并使客户端缓存更简单、更有效。这个就是 Client side caching(客户端缓存)的概念。 不过这个思路有一个需要解决的问题是,如何控制据的有效时间?在程序允许的情况下,虽然可以直接设置据的有效时间,让据在一段时间后失效。但 antirez 表示,大多的应用程序无法接受提供过时的据的风险,此必须找到更理想的方案来控制据的失效时间。 所以 antirez 决定开发新的协议 RESP3,在协议中加入新特性来支持客户端...阅读全文

Linux Kernel 5.0将于2018年夏季发布

个像其他人一样的正常版本。 只是为版本号有一个大的跃进,并不意味着它会有非凡的功能。这只是一个普通字。 但是为什么在5.0版本中没有重大更改呢?原纯粹是心理上的,还是应该说纯粹的字。 Torvalds认为,二三十年代的字难以跟踪。记住13或14这样的小字更容易。 这就是为什么会有5.0而不是4.20的原。哈哈,知道了吗? 考虑到每8-10周就会有一个新的内核版本,Linux Kernel 5.0应该会在明年夏天发布,但是Torvalds认为它可能会比这个更早。...阅读全文

博文 2017-12-11 22:27:31 debian.cn

PostgreSQL 13 正式版发布

PostgreSQL 13 已正式发布,新版本对索引和查找系统进行了重大改进,大型据库此受益甚多,包括节省了空间并提高了索引的性能,使用聚合或分区的查询的响应时间更快,使用增强的统计信息时更好的查询计划(query planning)等。 除了并行化清理(parallelized vacuuming)和增量排序(incremental sorting)等呼声较高的功能外,PostgreSQL 13 还为大大小小的工作负载提供了更好的据管理体验,并对日常管理进行了优化,为应用开发者提供了更多便利,并增强了安全性。 性能提升 在先前 PostgreSQL 版本的基础上,PostgreSQL 13 可以有效地处理 B 树索引(PostgreSQL 的标准索引)中的重复据,从而降低 B 树...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。 这里分享一下最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个点,公司某服务化项目的 RDS 据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文

博文 2018-10-27 10:18:18 debian.cn

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

Go 语言设计者 Robert Griesemer 和 Ian Lance Taylor 近日在 Golang 官方论坛发帖讨论关于泛型及其括号使用的问题。 他们提到很多人表达了对泛型语法的担忧,特别是在类型参声明和函实例以及泛型的括号选择方面。 常见的计算机键盘提供了四对单字符对称括号,分别是小括号 ( )、方括号 [ ]、花括号 { } 以及尖括号 < >。基于此,他们解释了目前泛型草案在示例代码中使用小括号的原。首先,Go 使用花括号来划分代码块、复合字面量(composite literals)和一些复合类型,此几乎不可能在没有严重语法问题的情况下将花括号用于泛型。至于尖括号,解析器在某些情况下要求 <> 需要 unbounded lookahead。 所以只剩下...阅读全文

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

三大亮点带你看 Linux 内核 5.6

。 同样,Ubuntu 20.04 LTS 将支持 WireGuard。 2、支持 USB4 Linux 5.6 也将支持 USB4。 如果你不了解 USB 4.0 (USB4),你可以阅读这份文档。根据文档,“USB4 将使 USB 的最大带宽增大一倍并支持多并发据和显示协议multiple simultaneous data and display protocols。” 另外,虽然我们都知道 USB4 基于 Thunderbolt 接口协议,但它将向后兼容 USB 2.0、USB 3.0 以及 Thunderbolt 3,这将是一个好消息。 3、使用 LZO/LZ4 压缩 F2FS 据 Linux 5.6 也将支持使用 LZO/LZ4 算法压缩 F2FS 据。 换句话说,这只...阅读全文

博文 2020-02-07 11:13:09 debian.cn

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine竞争共享内存频繁加锁产生的性能问题。基本据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的据缓存。buf 的大小由创建 chan 时的参来决定。qcount 表示当前缓冲区中有效据的总量...阅读全文

GitHub 发布10月21日系统故障分析报告

GitHub 刚刚通过官方博客发布了 21 日“挂掉”的事件分析。GitHub 指出此次事件发生的原是在 10 月 21 日 22:52 UTC 进行日常维护——更换发生故障的 100G 光学设备时导致美国东海岸网络中心与美国东海岸据中心之间的连接断开。 更具体地,GitHub 分析,虽然两地的连接在 43 秒内恢复,但这次短暂的中断引发了一系列事件,这才导致了长达 24 小时 11 分钟的服务降级。 为了大规模提高性能,GitHub 的应用程序将直接写入每个群集的相关主据库,但在绝大多情况下将读取请求委派给副本服务器的子集。GitHub 使用 Orchestrator 来管理 MySQL 集群拓扑并处理自动故障转移,Orchestrator 在此过程中考虑了许多变量,并在...阅读全文

互联网协议正在发生变化

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

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博客

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

为何 Kubernetes 如此受欢迎?

原生云计算基金会(CNCF)。 CNCF 也是更大的 Linux 基金会的一部分,拥有一些顶级企业成员,其中包括微软、谷歌和亚马逊。此外,CNCF 的企业成员队伍持续增长,SAP 和 Oracle 在过去几个月内加入白金会员。这些加入 CNCF 的公司,其中 Kubernetes 项目是前沿和中心的,这证明了有多少企业投注于社区来实现云计算战略的一部分。 Kubernetes 外围的企业社区也在激增,供应商提供了带有更多的安全性、可管理性和支持的企业版。Red Hat、CoreOS 和 Platform 9 是少几个使企业级 Kubernetes 成为战略前进的关键素,并投入巨资以确保开源项目继续得到维护的公司。 混合云带来的好处 企业以这样一个飞速的方式采用 Kubernetes 的另...阅读全文

博文 2017-11-07 23:58:26 debian.cn

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

同点:不再关注于给生产环境推送单独的变更,而是关注于想要达到的状态。不再维护一步一步的工作流,而是让服务所有者使用配置来描述他们想要基础架构达到的样子:运行什么job,负载均衡器的搭建,据库schema的位置等等。 基于这些信息,Prodspec和Annealing将这些配置转化成统一的结构,随后被执行。执行是安全并且持续性的:自动化系统重复地比较用户模型所表达的预期状态和生产环境的状态,并且在安全的时候自动触发reconciliation。服务所有者不再需要将配置变更手动推送到生产环境里。 为我们从2015年左右就开始开发Prodspec和Annealing,基于intent的执行(intent-based actuation)这一简单明了的理念如今已经成了实际的标准。Google生产...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

0:00 nginx: worker process 19 root 0:00 /pause 24 root 0:00 sh 29 root 0:00 ps auxww Init 容器 在Kubernetes中,init容器是在同一Pod中的其他容器之前开始并执行的容器。它旨在为Pod上托管的主应用程序执行初始化逻辑。例如,创建必要的用户帐户,执行据库迁移,创建据库结构等。 创建initcontainer时应考虑一些注意事项: 它们总是在Pod中的其他容器之前执行。此,它们不应包含需要很长时间才能完成的复杂逻辑。启动脚本通常很小而简洁。如果发现要向初始化容器添加太多逻辑,则应考虑将其中的一部分移至应用程序容器本身。 初始化容器按顺序启动和执行。除非一个初始化容器被成功执行,否则下一个初...阅读全文

博文 2021-08-20 11:45:32 博客园

Kubernetes源码探疑:Pod IP泄露排查及解决方法

1440次申请VPC IP和释放VPC IP操作。 然而,经过天的测试统计,发现通过该CronJob,集群每天申请IP次高达2500以上, 而释放的的IP次也达到了1800。申请和释放次都超过了1440,而且申请次超过了释放次,意味着,部分分配给Pod的VPC IP被无效占用而消失了。 CNI:待删除的IP去哪儿了? 仔细分析CNI插件的运行日志,很快发现,CNI在执行拆除SandBox网络动作(CNI_COMMAND=DEL)中,存在不少无法找到Pod IP的情况。由于UK8S 自研的CNI查找Pod IP依赖正确的Pod网络名称空间路径(格式:/proc/10001/net/ns),而kubelet传给CNI的NETNS环境变量参为空字符串,此,CNI无法获取待释放的VPC...阅读全文

本田 40GB 数据险遭泄漏 因云端数据库未设密

近日,一位安全研究员在博客上表示发现了本田公司的云端据库未设密码,这可能导致 1.34 亿份文档,约 40GB 据被泄漏,其中包括机器主机名、MAC 地址、内部 IP 及操作系统版本等。在收到该研究员的提醒后,本田方面已对漏洞进行修复。 本田 1.34 亿份文档,40GB 据险遭泄漏 根据安全研究员 Justin Paine 的说法,自 2019 年 7 月 1 日起,他就发现了本田对外暴露的 ElasticSearch 据库未设置任何密码,内部包含大约 1.34 亿份文档,这些文档可以转换为大约 40GB 据,而这些据的日期最早可以追溯至 2019 年 3 月左右。 最初,Justin Paine 以为这些据来自本田的一家经销商,但他很快否定了这一想法,为这些文档包含了本...阅读全文

3300 万 Authy 用户手机号泄漏

站里每次讨论 2FA 的相关话题,总会有很多朋友说他自己在用 Authy 。它通过手机号注册,而且可以多终端同步。为看到站里有多例微软验证器丢失验证信息的案例,我曾经也考虑使用 Authy 作为第二个篮子,但为拖延症一直没有行动。没想到 Authy 出个这么个事故。 原是有一个没有鉴权的 API 接口,攻击者通过这个接口批量验证手机号是否用于注册 Authy 。攻击者最终收集了 33M 个注册了 Authy 的手机号。 ![3300 万 Authy 用户手机号泄漏](https://www.bleepstatic.com/images/news/security/attacks/a/authy/unsecured-api/shinyhunters-twilio.jpg...阅读全文

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

和强大性,更重要的是它的框架(MSF)。它允许使用者开发自己的漏洞脚本,从而进行测试。 之所以称为框架,为 MSF 本身包含了很多漏洞攻击模块,由一群开发者在进行维护和更新,更重要的是几乎每个 CVE 漏洞都会被添加到 MSF 里,有人称之为是“可以黑掉整个宇宙”的渗透测试框架。 这个强大的框架日前已发布最新的 5.0 版本。这是 Metasploit 团队在过去一年中的工作成果。此外,该版本还是自2011年以来 Metasploit 的第一个主要版本。Metasploit 5.0 带来了许多新功能,以及新的发布周期。 其中官方特别提到 Metasploit 5.0 使用了新的据库,并提供了一种新的据服务。新版本引入了新的规避机制(evasion capabilities),支持多项语...阅读全文

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

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

一、当 Kubernetes 成为云原生事实标准,可观测性挑战随之而来当前,云原生技术以容器技术为基础,通过标准可扩展的调度、网络、存储、容器运行时接口来提供基础设施。同时,通过标准可扩展的声明式资源和控制器来提供运维能力,两层标准化推动了开发与运维关注点分离,各领域进一步提升规模化和专业化,达到成本、效率、稳定性的全面优化。在这样的大技术背景下,越来越多的公司引入了云原生技术来开发、运维业务应用。正为云原生技术带来了越发纷繁复杂的可能性,业务应用出现了微服务众多、多语言开发、多通信协议的鲜明特征。同时,云原生技术本身将复杂度下移,给可观测性带来了更多挑战:​1、混沌的微服务架构,多语言和多网络协议混杂业务架构为分工问题,容易出现服务量多,调用协议和关系非常复杂的现象,导致的常见问题...阅读全文

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

开发者体验被重点关注:开发人员是关键资产 - OSCHINA

外媒 betanews 近日与一些企业高管进行了一些交流并得出结论称,开发者体验正经历一个优先级转变。即,云供应商和技术公司在开发者体验方面聚焦了更多的目光;这些公司正在投资和构建工具,以帮助开发人员更好、更快、更高效地工作。 开源据库公司 Percona 的产品高级副总裁 Donnie Berkholz 指出,发生这种焦点变化的原在于,企业希望他们的开发人员更有生产力,对他们的工作方式更加满意,但他们也希望围绕技术管理和控制自己的命运。他们希望提供同样水平的速度和效率,但要跨越他们的 IT stacks 来设置东西。对于运行私有云的公司来说,这就是要与那些完全致力于公共云的竞争对手平起平坐。 并补充称,开发者体验投资将是为了使这种自助式的构建应用程序的方法能够发挥作用,并迅速发挥作用...阅读全文

博文 2021-12-28 14:45:52 中文开源技术交流社区

项目总结报告应该怎么写

每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug量堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。​结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最主要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原并提出解决方案;✤提高项目质量,让项目“健康”前行;✤通过据衡量当前版本的质量,对项目整体情况进行评估...阅读全文

西数展示全球最大机械硬盘内部:8碟12TB、充氦封装

通过先后收购HGST(日立)、SanDisk(闪迪),西部据坐上了全球硬盘界的头把交椅。虽然西和希捷一样看到了SSD的巨大势头,但出于各种素,仍不敢贸然掉头。近日,西在官方博客秀出了新一代的充氦硬盘的内部,高达8碟装。 早在2013年,HGST率先推出充氦技术的时候,当时设定的技术极值是7碟6TB,现在已经发展到8碟最高12TB,据说两年内还有14和16TB。 充氦的目的是减少碟片间距便于封装多碟,这一方式比提高单位面积的存储量在技术上要稍微容易点。 具体来说,充氦硬盘的外观看上去和普通机械硬盘一模一样,也是标准的3.5寸规格,内部机械结构也是相同的,仅仅是将内部填充的普通空气换成了氦气。 但就是这点变化,可以大大缩短碟片之间的距离,彼此靠得更近。在这项技术诞生前,硬盘最多只能塞进...阅读全文

Linus Torvalds谈ECC内存的重要性 痛斥英特尔

新年假期,Linus Torvalds在邮件列表中发表的一篇火热的帖子引发技术社区关注,人们借此讨论ECC内存的重要性,Torvalds在文章中抨击了英特尔在这方面的"坏政策",为特定的市场细分使ECC内存不那么普及。Linus认为,纠错码(ECC)内存 "绝对重要",但 "英特尔在扼杀整个ECC产业方面起到了重要作用。" Torvalds用它惯常的热辣语言评论了ECC的重要性以及行业领导者和下游厂商有意无意地偷工减料:"为它可怕的糟糕的市场细分政策......英特尔对整个行业和用户都是有害的,反对ECC的论点一直都是完全的不知所云......现在,即使是内存制造商也开始在内部做ECC,为他们终于承认了一个事实,那就是他们绝对必须这样做。而内存制造商声称这是为经济和低功率。而他们都...阅读全文

博文 2021-01-05 13:11:20 debian.cn

TimescaleDB 1.0 正式版发布!基于PostgreSQL的时序数据库

TimescaleDB 1.0 正式发布了,开发团队表示,自 9 月分宣布第一个候选版本以来,Timescale 的工程师团队合并了 50 多个 PR,以加强据库,提高稳定性和易用性。 今天,TimescaleDB 1.0 宣布正式推出,官方表示该版本已可用于生产环境,是首个支持完整 SQL 和扩展的企业级时序据库。TimescaleDB 是基于 PostgreSQL 据库开发的一款时序据库,以插件化的形式打包提供,随着 PostgreSQL 的版本升级而升级,不会为另立分支带来麻烦。 TimescaleDB 架构 据自动按时间和空间分片 (chunk) 更新亮点: 更广泛的可用性改进 后台作业自动化和调度的基础 增强了据库强化和测试 构建开源监控堆栈:对 Grafana 和...阅读全文

博文 2018-11-03 23:23:44 debian.cn

Redis 6.0.0 GA已正式发布

用于选定的前缀),但服务器端无需进行任何内存操作。此外,现在支持选择加入/退出模式,此,对于不使用广播模式的客户端,可以将其将缓存的内容准确告知服务器,以减少无效消息的量。从根本上说,现在该功能在需要低内存模式和需要选择性(低带宽)模式时都更好。 2.这是许多用户的旧请求。现在,Redis支持一种模式,用于复制的RDB文件会在不再有用时立即删除。在某些环境中,最好不要将据存储在磁盘上,而要存储在内存中。 3. ACL在某些方面更好。首先,有一个新的ACL LOG命令,该命令允许查看所有违反ACL的客户端,访问不应该访问的命令,不应该访问的密钥或尝试失败的身份验证。该日志实际上位于内存中,此每个外部代理都可以调用“ ACL LOG”以查看发生了什么。这对于调试ACL问题非常有用。 但是...阅读全文

博文 2020-05-01 09:15:09 debian.cn

为什么 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

JDK 11 版本时间表公布

) JSR-250:Java 平台的常用注解 已经得到确认的是,JDK 不再需要支持这些模块,为它们已在过去的 12 年中得到很好的发展,并且可以在第三方站点(如 Maven Central)中随时获得。 CORBA 技术早在 1998 年就有了,但大多现代应用程序已经不使用该项技术,此 JDK 中可用的 CORBA 模块也将被移除。Oracle 认为继续为 CORBA 提供支持得不偿失。 计划在 JDK 11 中移除的模块包括: java.xml.ws(JAX-WS,以及相关的 SAAJ 和 Web 服务元据) java.xml.bind(JAXB) java.activation(JAF) java.xml.ws.annotation(通用注解) java.corba(CORBA...阅读全文

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

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

本文作者从事据库相关工作接近四十年,最近开始使用 MongoDB。在开始使用 MongoDB 之前,作者希望有些事情自己已经知道。根据一般经验,对于据库是什么以及它们能干什么,人们会有先入为主的认识。为了给他人提供方便,本文列出了一些常见的错误。 本文要点 即使 MongoDB 没有强制要求,设计一个模式还是至关重要。 类似地,在设计模式及访问模式时设计好索引。 避免大对象,尤其是大组。 谨慎对待 MongoDB 的设置,尤其是关乎安全和稳定性时。 MongoDB 没有查询优化器,此,对于如何安排查询操作的顺序,你必须格外小心。 创建一个无需身份验证的 MongoDB 服务器 很遗憾,MongoDB 在安装时默认不启用身份验证。在只从本地访问的工作站上,这没什么不好。但是,由于...阅读全文

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

将面临更大的挑战。大型强子对撞机有一个到 2035 年的蓝图,包括一些重要的升级。“我们的加速器运转三到四年,然后会用 18 个月或两年的时间来升级基础架构。在这维护期间我们会做一些计算能力的规划。 ”Bell 说。CERN 还计划升级高亮度大型强子对撞机,会允许更高光度的光束。与目前的 CERN 的规模相比,升级意味着计算需求需增加约 60 倍。“根据摩尔定律,我们可能只能满足需求的四分之一,此我们必须找到相应的扩展计算能力和存储基础架构的方法,并找到自动化和解决方案,例如 OpenStack,将有助于此。”Bell 说。“当我们开始使用大型强子对撞机并观察我们如何提供计算能力时,很明显我们无法将所有内容都放入 CERN 的据中心,此我们设计了一个分布式网格结构:位于中心的 CERN...阅读全文

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

欧洲最大云服务公司 OVH 法国机房着火:1个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复

欧洲云计算巨头 OVH 位于法国斯特拉斯堡的机房昨日发生严重火灾,该区域总共有 4 个据中心 (Strasbourg Data Center),发生起火的 SBG2 据中心被完全烧毁,另有一个据中心 SBG1 的建筑物部分受损,SBG3 受到消防保护暂未受影响,以及 SBG4 确认没有受到波及。不过出于安全起见,OVH 位于斯特拉斯堡的全部据中心暂时关闭了服务。​​OVH 在全球拥有 27 个据中心,其中 15 个位于欧洲。昨天这场灾难被认为已导致超过 350 万个网站下线,而这一切发生在 OVH 启动了首次公开募股 (IPO) 计划两天后。Rust 旗下的游戏工作室 Facepunch Studios 证实,他们的据已在这场大火中全部丢失,即使据中心重新上线后,也无法恢复...阅读全文

Web前端知识体系精简

Web前端技术由html、css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍。目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉。 JAVASCRIPT 篇 0、基础语法 Javascript基础语法包括:变量定义、据类型、循环、选择、内置对象等。 据类型有string,number,boolean,null,undefined,object等。其中,string,number和boolean是基础类型,null...阅读全文

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

Windows Lite 对微软来说意味着什么?

微软发烧友 Brad Sams 近日在 Petri 上写道,微软正在开发一个名为 Windows Lite 的新版操作系统。顾名思义,Windows Lite 将是轻量级并快速的,为它抛开了 Windows 长达十年的臃肿积累。此举似乎暗示着微软转向云计算并重新进入移动领域的野心。但微软想取得成功,它必须从过去的错误中吸取教训。 Windows 的转型是有必要的。尽管微软已经在其 Surface 系列产品上取得了成功,但即便是最新的 Windows 10 系统,仍然包含着几十年前的代码,部分原是微软的许多企业客户仍然需要与旧软件兼容。此,Windows 10 不仅臃肿,而且还不适合移动世界。比方说,微软试图将 Surface Go 作为 iPad 的竞争对手,但受操作系统的限制,它...阅读全文

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

Linux Kernel 4.19敲定为下个长期支持版本

Linux Kernel开发者和维护总负责人 Greg Kroah-Hartman今天正式敲定,即将发布的4.19分支将会是长期支持版本。目前Linux Kernel 4.17已经结束生命周期,而4.18并不具备成为长期支持版本的必要素,此LTSI社区就此事和Greg Kroah-Hartman进行了商谈。 最终答案是,即将到来的Linux 4.19分支内核将会成为长期支持版本,意味着在正式发布之后将会持续支持年时间。现阶段长期支持分支包括Linux 4.14, Linux 4.9, Linux 4.4以及Linux 3.16 and Linux 3.18。 Linux Kernel 4.19带来了诸多改进,包括升级驱动、改进图形和网络,架构更新,核心内核和网络改进,更新的文件系统...阅读全文

博文 2018-09-05 14:18:44 debian.cn

Google Chrome开始加入HTTP/3和IETF QUIC支持

谷歌开始在其Chrome浏览器中实现对HTTP/3的支持,该公司在一篇博客中宣布。此次更新将带来一些额外的性能改进,主要得益于实现了QUIC作为传输协议。互联网工程任务组(或IETF)早在2015年就推出了HTTP/2,它带来的一大改进就是支持复用。 但是,它采用了TCP作为传输协议,以及TCP中的丢失恢复机制,所以丢失的据包仍然会造成所有活动事务的延迟。通过采用QUIC,HTTP/3可以进一步改善传输过程,为丢失的据包只会影响到直接受其影响的事务。 谷歌是QUIC的最初开发者,但该协议在IETF手中已经有一段时间了,现在IETF版本的QUIC与谷歌内部的QUIC有很大不同。到目前为止,谷歌只支持自己的QUIC实现,而IETF则还在研究其版本,但现在这种情况正在改变。谷歌表示...阅读全文

博文 2020-10-08 11:16:05 debian.cn

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函负责处理一个据包,重复直到所有据包处理完毕)相比,向量据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

RabbitMQ 高可用实现镜像队列

于单点失效是有弹性的,但是同时也需要注意:尽管 exchange 和 binding 能够在单点失效问题上幸免于难,但是 queue 和其上持有的 message 却不行,这是为 queue 及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的 queue 不可用。 举例说明,如果一个 RMQ 集群由三个节点组成(RMQ集群节点的模式也是有讲究的,一般三个节点会有一个 RAM,两个 DISK),exchange、bindings 等元据会在三个节点之间同步,但 queue 上的消息是不会同步的,且不特殊设置的情况下,Queue 只会在一个节点存在。 可能有的同学会提另一个问题,我从三个 RMQ 节点的监控面板,都可以看到这个 Queue?这个是对的,这是由于 Queue 的元...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Debian 10 Buster 正式版即将发布

经被细分成为组件。要安装整个软件栈,可以安装 mailman3-full 来获取所有组件。 已有的 Postgresql 据库都需要重新索引 由于 glibc 本地据的更新,放入文本索引中的信息排序的方式将会改变,为重新索引是有益的,这样在将来就不会有据破坏发生。 默认 Bash 5.0 你可能已经了解了 Bash 5.0 的新特点 ,在 Debian 中已经是该版本了。 实现了 /usr/merge 我们已经分享过一个优秀的 freedesktop 读物 ,介绍了 /usr/merge 带来了什么。有一些事项需要注意。当 Debian 想要整个过渡时,可能由于未预见的情况,一些二进制文件可能并没有做这些改变。需要指出的一点是,/var 和 /etc 不会被触及,此使用容器或者云技...阅读全文

博文 2019-04-29 11:04:15 debian.cn

Sam Altman的成功学|OneFlow

,成功人士中不乏名声不佳的,而且有些还往往强调自己的成功是由于拥有某些品质和才能,甚至刻意掩饰时代和机遇的影响。Sam Altman取得了巨大的成就,但会谦逊地告诉你“深深意识到的一个事实”:他能有今天是为运气好。 愿你也有好运。如果没有,至少可以从Sam Altman这类顶尖人才的思考中获得启发,以在个人职业生涯中持续成长。 作者|Sam AltmanOneFlow编译|徐佳渝、杨婷 通过大量观察企业创始人,我思考了很多关于赚大钱或者建功立业的想法。通常,人们最开始一心只想赚钱,但最后会想有所成就。 以下是关于如何获得非凡成功的13条看法。如果你已经取得了一定成就(取得成就的途径不限,可以通过天生优势实现,也可以通过个人努力实现),那这些思考对你来说做起来会更加容易。[1] 其中大多想法...阅读全文

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

注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找点乐子,用一些老式的无意义据和代码片段组成的面板填充我们的屏幕(好吧,这些据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简单地回放你选择的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码...阅读全文

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

Open Source Initiative 批准四个新的开源许可证

许可证。 四个新的许可证 首先是 Cryptographic Autonomy License(CAL)。这个许可证是为分布式密码学应用而设计的。现有的开源许可证无法保证开放性,为如果没有义务与其他对等体共享据,那么一个对等体就有可能损害网络的运行。所以,CAL 除了是一个强大的版权许可以外,还包括向第三方提供独立使用和修改软件所需的权限和材料,而不使第三方有据或功能的损失。 随着分布式密码学在加密结构的点对点共享中越来越多的使用,如果更多的开发者发现自己需要一个像 CAL 这样的法律工具,也就不足为奇了。我们希望由此产生的许可证是清晰易懂的,并希望开源从业者会发现它大有用处。 在我们之前的报道中曾提到,欧洲核子研究组织 CERN 提交的 CERN Open Hardware...阅读全文

博文 2021-03-01 10:44:35 OSChina

Cortex: 高可用和水平扩展Prometheus监控系统

高可用性。使Prometheus高可用的一种方式是运行多个实例去scraping相同的作业。这些实例在抓取指标时会微小的时间间隔差异而在据中产生细微差异。此外,如果其中一个实例宕机了几个小时,那么当查询转发到该实例时,将会出现据空白。如果我们使用grafana这样的工具将指标展示为图形,我们可能会得到不同的样本值或有据缺失的图形。可以将Cortex配置为从多个HA Prometheus实例读取据。它从一个主实例main接受指标,并从其他实例放弃该度量。一旦这个副本掉线,Cortex会无缝切换到另一副本并将其标记为主副本main。为此,Cortex着眼于两个标签,一个共同的标签与一个集群(或一组Prometheus)相关联,另一个识别副本。全局指标视图可以将Prometheus实例配...阅读全文

博文 2021-10-09 17:00:22 知乎

红帽 2017 峰会 第三天回顾:自动化的未来

能够统一面向多个接入口进行自动化操作的定义与管理。 在本次峰会之前,红帽的 Linux发行版RHEL OpenStack发行版RDO OpenShift(Kubernetes) 存储产品Cepht与Gluster 已经与Ansible集成。本次峰会上,红帽又发布了Red Hat Insights(红帽的监控预警产品)和CloudForms与Ansible的集成。 为什么是Ansible? 其中一个很重要的原在于,Ansible连不懂技术的业务人员也可以拿来用。甚至可以这么说:任何一个能够阅读英文的人都能看懂Ansible Playbook的用法。红帽认为Ansible代表了自动化的未来,在此投入了大量研发力量与资源。 2、Red Hat Insights作为统一的据分析层 Red Hat...阅读全文

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

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

-command,以便从损坏的据库文件中恢复更多内容增强 RBU 扩展,以支持表达式索引更改架构解析器,此如果 sqlite_master 表的类型、名称和 tbl_name 列中的任何列已损坏,并且据库连接未处于 writable_schema 模式,它将出错现在默认情况下,所有版本中都启用 PRAGMA function_list,PRAGMA module_list 和 PRAGMA pragma_list 命令,可使用 -DSQLITE_OMIT_INTROSPECTION_PRAGMAS 禁用它们为 sqlite3_db_config() 添加 SQLITE_DBCONFIG_ENABLE_VIEW 选项添加了 TCL 接口配置方法,以便能够禁用...阅读全文

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

WireGuard简明介绍及使用指引

WireGuard 是 Jason A. Donenfeld 开发的开源VPN协议。目前支持Linux, macOS, Android 以及 OpenWrt。iOS 和 Windows 官方客户端还在开发,但第三方 Windows 客户端已经出现。WireGuard 被视为下一代VPN协议,用来替代OpenVPN,IPSec等VPN协议。 WireGuard 协议作为 Linux 内核模块运行,所以效率极高。使用了最先进的加密技术(利用Curve25519进行密钥交换,ChaCha20和Poly1305用于据认证,BLAKE2用于散列),安全性毋庸置疑。WireGuard 是为嵌入式设备开发的,支持IP地址漫游,也就是网络断开再连,对它不会有影响。WireGuard 使用 UDP 协议传...阅读全文

博文 2019-11-28 12:44:00 debian.cn

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成集群,prometheus可以remote write写入据到任意receive节点,收到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分据的receive节点,并将据转发过去; 同时,receive可以配置replica量,这样的话receive会根据哈希结果将据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,为监控场景没那么严谨所以基本可用即可,查询去重和归拢则全部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive集群,然后让...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

分布式 NewSQL 数据库 TiDB

view 时报错的问题 #15867修复 fast analyze handle 列时 panic 的问题 #16080修复 current_role 输出结果字符集不正确的问题 #16084完善 MySQL 连接握手错误相关日志 #15799修复加载审计插件后端口探测活动导致 panic 的问题 #16065修复 TypeNull 类被错误识别为变长类型,导致 left join 上的 sort 算子 panic 的问题 #15739修复监控 session 重试错误计不准确的问题 #16120修复在 ALLOW_INVALID_DATES 模式下,weekday 结果出错的问题 #16171修复在集群中存在 TiFlash 节点时,GC 可能不能正常工作的问题 #15761修复创建...阅读全文

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

Linux 5.10 LTS维护期限将持续到2026年年底

Linux 5.10作为最新的长期支持版本在宣布时只打算维护到2022年底,但在足够多的公司加紧帮助测试之后,Linux 5.10 LTS现在已经确认可以被维护到2026年底。Linux 5.10 LTS原本只是要维护到明年年底,但是之前的内核如Linux 5.4 LTS被维护到2024年,甚至Linux 4.19 LTS和4.14 LTS也会进入2024年,这就让人觉得比较奇怪。 Linux 5.10 LTS的生命周期很短是为帮助测试与发布候选程序和/或承诺使用这个内核LTS系列的资源的开发者/组织的量有限。但是现在有足够的参与者致力于此,这就使得Greg Kroah-Hartman有信心确认他和Sasha Levin将维护内核到2026年12月。 此次改动之后,将使Linux...阅读全文

博文 2021-05-10 08:47:55 joseph

Kali Linux 2019.1 发布,Metasploit 更新到 5.0

v5.0.2-dev ] + -- --=[ 1852 exploits - 1046 auxiliary - 325 post ] + -- --=[ 541 payloads - 44 encoders - 10 nops ] + -- --=[ 2 evasion ] + -- --=[ ** This is Metasploit 5 development branch ** ] msf5 > Metasploit 5.0 是一个大规模的更新,包括据库和自动化 API、新的防毒功能以及整个可用性改进等内容,具体可以查看 之前的报导 。 此外,2019.1 Kali ARM 版本提供了 Banana Pi 和 Banana Pro 的回归,两者都使用 4.19 内核。Veyron 已经转移到...阅读全文

博文 2019-02-19 09:28:30 debian.cn