2018 GitHub 最火技术趋势
,大多数公司都在开源他们的软件,还有一些公司则将Kubernetes这样的技术引入了竞争领域,它已经成为了许多开发人员工作流的基础。 最后,Warner比较关注的是目前对于网络中立性的讨论,下一个阶段的FFC投票会在12月4日进行。 2018年将决定网络中立性的未来,不论结果如何,我们都会受其影响。 查看英文原文:The Hottest Tech Trends in 2018 According to GitHub...阅读全文
,大多数公司都在开源他们的软件,还有一些公司则将Kubernetes这样的技术引入了竞争领域,它已经成为了许多开发人员工作流的基础。 最后,Warner比较关注的是目前对于网络中立性的讨论,下一个阶段的FFC投票会在12月4日进行。 2018年将决定网络中立性的未来,不论结果如何,我们都会受其影响。 查看英文原文:The Hottest Tech Trends in 2018 According to GitHub...阅读全文
做得很突出是不够的,不是每个人都适合做管理。要找到好的经理人,需要观察他们是如何与其他员工共事的,看看他们是否具备足够的灵活性并是否能够拥抱变化。要想知道一个人是否适合管理岗位,可以先分配一些小任务给他们,比如让他带实习生或者让他管理一个小项目。经过一段时间的观察后,看看他是否胜任。 培训经理人需要几个月的时间。Calderon建议这个时间不要太长,以免养成不好的习惯,只要等到他们开始理解管理者角色的时候就可以了。在谷歌,这个时间一般是三个月。Calderon说,不要在他们还没开始工作或刚开始工作时就培训他们,而是要让他们先工作几个月,让他们对工作有所了解,并经历一些挑战。到了培训阶段,不要只是纸上谈兵,而是真正赋予他们管理者的角色。 不要一开始就让他们承担太多的工作。一个新经理人刚开始工作...阅读全文
生态 微软 CEO Nadella 谈到了微软在过去几年中如何成为 GitHub 上最活跃的组织,提交了超过 200 万次的项目 commits 和 updates ,并表示微软正在全身心地投入开源。 至于 GitHub 将如何发展成为一家微软公司,Nadella 主要关注三大策略:在开发周期的各个阶段为开发者赋能,加速 GitHub 用于企业开发,并利用该平台让更多用户使用微软的开发工具和服务。 2、保持 GitHub 的开放性 GitHub 创始人 Chris Wanstrath 表示,无论使用的是哪种编程语言、平台、操作系统或编码设备,GitHub 都会是面向所有开发者的开放平台。像之前的 LinkedIn 和 Minecraft 一样,Nadella 时期的微软会让被收购的公司保持其...阅读全文
、紫光展锐等公司也加入了RISC-V联盟,其中华米科技今年9月份还宣布了基于RISC-V指令集的首款智能穿戴芯片黄山1号。 不过RISC-V前景虽好,但是现在还在起步阶段,包括RISC-V基金会本身的运作也需要向Linux基金会这样的成熟社区学习,所以这次合作对RISC-V阵营意义重大,Linux软件生态在RISC-V处理器的开发、优化、支持等方面都会推动RISC-V建立更强大的生态系统。...阅读全文
的证书颁发机构带来巨大压力。 Hollebeek 称: 将证书寿命迅速缩短到一年,甚至更少,对于许多依赖数字证书保护系统的公司来说,这将带来巨大的成本。这些费用不会换来更加安全的改进,并且这项提案对从事非法活动或冒充合法公司的非法分子不会有任何影响。最主要的一点是,减少证书寿命的任何好处都是属于理论性的,在短期内要付诸实际的话,产生的风险和成本也将难以预测。 该提案于今年早些时候在谷歌员工 Ryan Sleevi 的一次会议上提出,目前仍处于草案阶段,还没有关于何时进行表决的消息。...阅读全文
。”Pigweed 项目团队希望名字有趣,又能反映项目本身的成长,就像快速生长的杂草 Pigweed 一样。 目前,Pigweed 已提供了不少模块,后续将会有更多模块被添加进来。需要注意的是,它仍处于早期开发阶段,目前不适合用于生产。...阅读全文
,而我们也开始考虑利用基于kubectl exec构建的工具为开发人员提供支持。此次新增的kubectl debug命令(目前为alpha版)允许开发人员在集群当中轻松调试自己的Pod,进而获得巨大的便利性增益。这项命令将创建一个即席容器,容器运行在待检查Pod旁边,同时附带有控制台以执行交互式故障排查。 SIG-CLI 调试程序的能力变得越来越必要,基于 kubectl exec,增加了 kubectl alpha debug 命令(目前为 alpha 阶段),使开发人员可以轻松地在集群中调试其 Pod。此命令允许创建一个临时容器,该容器在要检查的 Pod 旁边运行,并且还附加到控制台以进行交互式故障排除。 Windows CSI 支持 带来了用于 Windows 的 CSI 代理,目前处于...阅读全文
访问:天猫6·18 “开门红”超级红包活动主会场 | 手机版京东6·18“京享红包”25日12点开始领取 最大面额高达18618元 (图 via Orozco 2018)据悉,工程团队中有三位核心成员,且他们对 QUIC 的承诺深信不疑。其中包括 IETF QUIC 工作组只需 Mark Nottingham,协议主要贡献者兼 quicly 创作者 Kazuho Oku,以及核心文档集编辑、杰出工程师 Jana Iyengar 。最新消息是,互联网工程任务组(IETF)已经发布了 RFC 9000,且得到了 RFC 9001 / 9002 / 8999 支持,意味着 QUIC 已从草稿阶段转向了 1.0 正式版。与此同时,基于 QUIC 的 HTTP/3 也有望紧随其后很快发表。对于...阅读全文
方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文
体系下,客户需要将软件做容器化打包和微服务改造,这个是有成本的。K8S 的特点决定它是运维和研发之间的桥梁,这样就要求公司的研发过程需要跟着改造。我们看到很多公司的运维人员有动力去推动,而研发人员则没有动力,因为它改变了研发的习惯和流程,增加了负担;当然也有的公司是研发希望用 K8S 管理应用,而需要运维跟着变。这样导致迁移到 K8S 的工作较重,但一旦这个阶段过去了,迁移后的效率和成本优势就体现出来了。 因此,这是个新技术落地的问题,涉及到用户教育和习惯的改变,这个需要社区和商业公司一起完成。而且每家公司的技术路线和文化不一样,上 K8S 的路径也不一样,所以没有一个放之四海皆准的最佳实践,但随着容器和微服务逐渐落地,K8S 作为事实标准,会逐步普及。 除了改造业务的成本,另外一方面是...阅读全文
态。这时,虽然 Java 能够对外提供服务,但服务质量较差,如果该阶段的用户并发较高,那么就会造成服务质量降级乃至服务崩溃。 为了优化这一过程,通常的工业实践会在 Java 启动后引入 " 预热 "(warmup) 步骤,通过人为导入数据来让应用提前加热。在预热完成之前,用户请求通过网络控制不让它发送到 Java 进程,在预热完成之后才打开流量限制让 Java 真正提供服务。这个做法可以部分缓解上述问题,但是该方案在很多场景下会有一些局限性,在很多情况下,获取一份高质量的预热数据是很困难的。而预热数据的正确性直接影响预热效果,与实际情况相符的数据可以提高编译质量,如果不一致,有时反而会造成反面效果,比如一种常见的情况是预热时漏掉重要方法调用。更糟糕的情况是由于和实际情况不一致,导致 JVM...阅读全文
本文最初发布于 Better Programming 博客,经原作者授权由 InfoQ 中文站翻译并分享。 随着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家总结了 DevOps 各个阶段可以选择的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文
DevOps解决方案营销副总裁Aruna Ravichandran预测道。她说,“鉴于攻击者强度和复杂度的提高,以及安全问题快速公诸于众对品牌带来潜在不可挽回的损害,代码本身必须考虑安全问题,并且部署在牢固的安全架构中。” Ravichandran认为,随着微服务框架和SDK的引入,开发人员为了避免影响用户体验,应该从一开始就考虑安全功能。当到了测试和部署阶段,安全验证应该被视为特殊情况处理。她提到“安全相关代码需求测试要求是非常特殊和动态的,这个过程非常有可能需要专家和用户的介入,这不是传统DevOps流程的一部分。” 更加注重安全的时期 按照Tufin首席技术管兼联合创始人Reuven Harrison的说法,DevOps可能是企业的最新漏洞。2017年,他期望能够看见安全相关流程能够融入到...阅读全文
因。也有其他人认为,systemd的日志记录并不是很好,二进制日志被很多人所诟病,虽然systemd提供了更快的索引,但二进制日志本身就有问题,而且systemd的日志损坏也不是第一次发生了。而且systemd真正令人反感的是设计不够灵活,对很多人而言,systemd阻止了他们的选择自由,考虑到kFreeBSD分支的软件源无法纳入systemd,为与其他分支保持一致,Debian的开发者尽力避免纳入systemd。但Lennart Poettering本人对此并不在意,并称“Debian GNU/kFreeBSD不过是玩具系统”。 systemd目前还处于中间发展阶段,那些想要超级安全或超级小或超快速系统的人都不适合使用。事实的真相是,systemd的很多反对者并不真正关心“底层”,只是抱怨...阅读全文
(canary)和分阶段(phased)推出部署(rollout);本地持久卷(Local Persistent Volume)。当前以Alpha版发布,允许用户通过标准的PersistentVolumeClaims/PersistentVolume接口及StatefulSets中的StorageClasses访问本地存储卷;DaemonSets。该特性用于确保给定的Pod对每个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷。 在可扩展性方面,1.7中以Beta版的形式添加了API聚合层,允许用户在他们的集群中添加Kubernetes风格的预先构建的、用户定义的或是第...阅读全文
过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文
开发和发布时间表后,新版本的 Linux kernel 现在基本每隔 66 天左右发布一次。 18、Linux 不是 Linus Trovalds 唯一知名的作品,还有 Git 版本控制系统和潜水应用 SubSurface 。 19、据估计,90% 的好莱坞视觉效果在生产流程的某个阶段依赖于 Linux 。 20、根据 openhub.net 的统计数据,超过 95% 的 Linux 是用 C 语言编写的。 21、最新版本的 Linux kernel 可能有 13.3%的代码由空行组成。这并非毫无意义,空行是严谨的编码风格的一部分,使内核保持整洁、高效和有序。 22、基于 Linux 的 Android 是目前全球最成功的移动操作系统。 23、Linux 的每个内核版本都有一个有趣的代号,比...阅读全文
前两天我们才报导过 Debian 包维护者 Michael Stapelberg 因对 Debian 社区的现状不满而 宣布退出 Debian 的维护 ,该消息引发了人们对于 Debian 的担忧。11 日,邮件列表上一封标题为“Leaderless Debian”的公开信进一步加深了这种担忧。 Debian 社区目前正在进行领导人选举,3 月 3 日-10 日是候选人提名阶段,然而,截至公开信发出的 11 日,还没有一位符合资格的 Debian 开发者提交申请。 此前的 Debian 领导人 Chris Lamb 一直被寄予厚望,他已经连任了两年,但是今年他公开表示因为一些 Debian 相关的与私人的原因 不参与竞选 。 所以,现在出现了尴尬的情况:“提名期已经结束,竞选期已经开始,但...阅读全文
自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天 Java 12 正式发布了! △ JDK 12 GA 发布 Java 12 带来了一系列新特性: 189Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停时间的 GC230Microbenchmark Suite 微基准测试套件325Switch Expressions (Preview) Switch 表达式334JVM Constants API JVM 常量 API340One AArch64 Port, Not Two 只保留一个 AArch64 实现341Default...阅读全文
:go:embed helloworld/*。 总的来讲,Go1.16 embed 特性很好的填补了 Go 语言在打包静态文件资源的一块原生空白领域。同时也说明了 Go 官方的确在不断地吸收社区的一些良好的想法和经验。 分享 Go 语言、微服务和奇怪的系统设计 ???? 长按关注煎鱼,在知识的海洋里遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶图书 Mastering Go。...阅读全文
泛型又近了一步。 另外在本次新版本中,像是 template 支持跨行: {{"hello" | printf}} 又或是 Linux 的默认内存管理策略下又从 MADV_FREE 改回了 MADV_DONTNEED 策略,大家在新版本中不再需要设置: GODEBUG=madvdontneed=1 大家若有需求都可以进一步去了解,现在新版本的功能特性已经锁定,基本尘埃落定。 传送门:https://tip.golang.org/doc/go1.16。 分享 Go 语言、微服务和奇怪的系统设计 ???? 长按关注煎鱼,在知识的海洋里遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶图书 Mastering Go。...阅读全文
来源|Greylock OneFlow社区编译 翻译|胡燕君、贾川 预告了一整年的GPT-4迟迟没来,人们猜想OpenAI是不是要跳票了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界地位危矣。 不过,就在大家以为今年OpenAI将以沉寂收场时,聊天机器人模型ChatGPT横空出世,让人们看到了AI的更大创造力,聚光灯也再度打到了OpenAI的身上。 今年9月,LinkedIn联合创始人Reid Hoffman与OpenAI首席执行官Sam Altman进行了一场对话,而肩负着宏伟使命且极富远见的Altman就曾预言:AI即将迎来下一个发展阶段。如今,大型语言模型越来越先进,也出现了可以实现文本-图像相互转换的多模态模型,一...阅读全文
谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文
。 在 2019 年,将会发生从 CI 管道到 DevOps 装配线的转变。DevOps 装配线专注于自动化和连接多个团队执行的活动,例如开发人员的 CI,运维人员的基础架构配置和配置管理,测试人员的测试自动化,SecOps 的安全补丁,发布负责人的语义版本控制和部署到多种环境,等等。 下图展示了单个应用程序或服务的典型装配线: 自动化将成为主要焦点 关于 DevOps,我们谈论了很多自动化方面的内容。如果可能的话,零接触(zero-touch)自动化就是未来的发展方向。这并不是说你一定要自动化一切,只是说如果有必要,你就应该能够做到。了解 DevOps 周期的六个“C”,并确保在这些阶段之间应用自动化,这才是关键,这将是 2019 年的主要目标。 测试人员要学习编码 DevOps 对知道如何编...阅读全文
} /*** * go特有变量交换 */ func SwapGo(list []int, i, j int) { list[i],list[j]=list[j],list[i] } /*** * go变量高阶交换(不推荐,一般不好理解) */ func SwapGoAdvanced(list []int, i, j int) { list[i]=list[i]+list[j] list[j]=list[i]-list[j] list[i]=list[i]-list[j] } 运行排序方法 使用终端执行go get github.com/e9ab98e991ab/go-algorithm执行touch main.go执行vim main.go拷贝下方代码块代码到main.go文件中wq保存后直接执行go run...阅读全文
Beta 阶段,并默认开启。注意,使用该特性需要 CSI 驱动程序实现对应的接口。TTL 控制器 BetaTTL 控制器用来自动清理已经结束的 Pod,如处于 Complete 或 Failed 状态的 Job。Pod 停止之后的 TTL 可以通过 .spec.ttlSecondsAfterFinished 来设置。注意,该特性要求集群中各节点(包括控制节点)的时间一致,比如在所有节点中运行 NTP 服务。GenericEphemeralVolume Beta通用临时卷(GenericEphemeralVolume)类似于 emptyDir 卷,但它更加灵活:存储可以是本地的,也可以是网络存储。卷可以有固定的大小,Pod 不能超量使用。卷可能有一些初始数据,这取决于驱动程序和参数。当驱动程序支持...阅读全文
/? sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=developer 一般我们在AWS上建立了一个集群服务器,则很有可能我们要对这种这一群集的全部服务器虚拟机统一的实际操作,例如安裝一个程序包,运行某一服务项目,布署某一文档这些。倘若大家假如仅有一台网络服务器,那全部流程非常简单,立即根据ssh登陆到网络服务器,并手动式实行一系列的指令就可以。但要是使用的另一半是成千上万的网站服务器的情况下,大家就必须一个能完成群集实际操作(collectiveoperation)的专用工具了。现阶段这种的专用工具许多,包含Ansible,Chef,Fabric,Puppet,Saltstack,文中主要详细介绍Ansible和...阅读全文
。总结报告的形成明确写报告需要的思维和目的后,我们如何形成报告呢?报告形成步骤如下。1.明确项目分析维度项目分析的维度不同,后期确定的指标也会不同。一般以项目总结的目的为基准方向,确定分析维度。分析维度可以从产品立项到发布每个阶段作为分析维度,也可以按照项目中的角色为维度进行分析。以输入法的项目总结为例,按照产品、开发、测试的测试角色为横向维度进行分析,然后纵向深入分析每个维度的数据。2.项目指标抽取我们在进行指标抽取时,会先根据项目分析维度形成一个指标集,如下图。指标的选取方式有两种:根据问题选取指标和固定通用指标。根据问题选指标是先收集项目中明确感知到的问题,对问题进行归类(归类分组思想),然后选取可以反映此问题的指标进行数据分析,一个问题可能对应多个指标。以输入法为例,当前版本出现...阅读全文
/free/? sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=developer 一般我们在AWS上建立了一个集群服务器,则很有可能我们要对这种这一群集的全部服务器虚拟机统一的实际操作,例如安裝一个程序包,运行某一服务项目,布署某一文档这些。倘若大家假如仅有一台网络服务器,那全部流程非常简单,立即根据ssh登陆到网络服务器,并手动式实行一系列的指令就可以。但要是使用的另一半是成千上万的网站服务器的情况下,大家就必须一个能完成群集实际操作(collectiveoperation)的专用工具了。现阶段这种的专用工具许多,包含Ansible,Chef,Fabric,Puppet,Saltstack,文中...阅读全文
Chiplet可以应用,以及Chiplet产品的性价比何时能最先验证。"戴伟民说到。正因如此,即便是有了UCIe这一标准,大家也容易停留在观望阶段,都在等待第一个吃螃蟹的人出现。"芯原正在与有意向使用Chiplet的企业积极沟通,并尝试探索向潜在客户'众筹'Chiplet的方案,有望尽快打破僵局。"戴伟民补充道。续命摩尔定律,万能胶芯片不万能抛开工艺难题,芯片万能胶普及的关键在于,能否延续摩尔定律给芯片公司们更大价值。从产业链角度,一方面,Chiplet作为半导体产业的技术趋势,需要各家芯片公司都在自己的位置上做最擅长的工作,通过分工协作减少Chiplet芯片与市场需求匹配的时间和周期,因此芯片公司之间的连接会更加紧密,另一方面,芯片万能胶似乎正在改写芯片公司或芯片产品的评价体系或维度。"一直以来,最先...阅读全文
我们正处于gRPC采用的开始阶段,期待社区提供更多的工具和技术。很高兴能够加入这个充满活力的社区,并对未来的项目有一些想法,我们希望看到这些项目是开放源代码或我们自己写的。 gRPC工具的当前状态 gRPC比较新,缺乏可用的开发工具,特别是与经验丰富的REST over HTTP / 1.1协议相比。搜索教程和示例时,这一点尤其明显,因为只有少数有用的信息。二进制格式也使消息不透明,需要努力解码。虽然有一些选择,例如JSON代码转换器可以帮助,但预计需要做一些基础工作,以便为gRPC提供顺畅的开发体验。 我们喜欢用Apiary 来记录外部API。使用服务协议缓冲区(protobuf)文件自动生成交互式文档的等价物,将是理想的有效的内部通信gRPCAPI。protobuf文件的静态分析在运行时...阅读全文
一个待处理事件的列表,使用非阻塞 I/O 方式调用“事件处理器”来处理该请求。其处理方式称为“多路 IO 复用方法”,常见的包括以下三种:select 模型、poll 模型、epoll 模型。 针对上面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:433540541,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 四. Nginx 设计架构 Nginx 服务器使用 master/worker 多进程模式。多...阅读全文
为客户提供SEO顾问服务的时候,经常遇到一些作为外部顾问不方便全程参与的情况。比如有的公司要新建网站,或者现有网站推到重来,问我能否从一开始就参与,提供SEO建议。 网站规划设计阶段就考虑SEO当然是好事,但作为一个远在异国的顾问,参与到这种需要大量深度讨论、沟通、协调的过程中,实在是不好操作,内部SEO人员更适合这种工作。 有的客户公司规模比较大,技术开发、内容、SEO等各部门是分开的,SEO部门的很多需求是要提交给技术、运营等部门实施的。反过来,其它部门的需求也由技术部门实施,但可就不一定经过SEO部门同意了。这个过程中就可能产生对SEO的不良影响。 也有的公司人员流动频繁,即使原先的开发人员都经过SEO培训,也还是会有完全不了解SEO的新人加入团队。 这些情况都需要有一个技术部门必须...阅读全文
的永久存储和查询能力。 Compactor则是对Bucket里的历史数据进行采样或者清理,有具体需求后再自行研究即可。 上述组件均是可选的,没有历史数据永存需求的可以直接忽略。 方案2:thanos receive + thanos querier thanos提供的另一种方案是计算与存储分离,利用thanos receive组件部署一个分布式存储集群,然后令prometheus通过remote write机制直接写入到thanos receive集群完成分布式存储,这样prometheus本身就无状态了。 再利用thanos querier反向代理到thanos receive集群,最终对外提供统一的promql查询入口,这个阶段就没有prometheus什么事了。 这套方案的工作原理如下...阅读全文
月)。 而在为期3个月的开发周期中(2019年2月至5月),被选择的提案将会被实现,每位使用者都可以体验新功能并进行反馈(评估流程的第4步)。最后,在短暂的冻结期后(2019年5月1日),Go 开发团队会最终决定是否永久保留新功能(并保证这些功能与 Go 1 兼容),或是放弃这些功能(评估流程的最后一步)。 Go 开发团队表示这是首次采用这一流程,因此在冻结阶段将会是反思这个流程,并在必要时进行调整的好机会。我们也不妨拭目以待吧!...阅读全文
你想明白了该做什么,就不要犹豫,快速行动起来去完成优先事项。毕竟成功人士就没有执行力弱的。 7 努力工作 通过运用自己的聪明才智或者勤奋努力,一个人可以达成工作领域里百分之九十的成就,能做到这一点已经很不错了。但是要想尽量做到完美,达成百分之九十九的成就,那就必须要兼顾聪明与勤奋,因为这一阶段你的竞争者往往是两者兼备的人。 有付出才有收获,付出越多收获也就越大。努力工作可能会造成工作与生活失衡,我完全可以理解有的人选择去更好地平衡工作与生活,在工作中不那么拼命。但是拼命工作确实有很多好处,在多数情况下,努力工作会产生叠加效应,越是成功的人就越能成功。 这通常很有趣。生活中最大的乐趣之一就是找到你的目标,并且有所建树,然后你会发现你在这件事上的影响力比你自己本身更重要。一位YC创始人表示:他在...阅读全文
序。Ubuntu的标准安装程序被设计成主要为了要求尽量少的用户输入,以便确保安装简单、速度尽可能快。要是你遇到任何问题,可以试试专家模式安装程序,这是Debian安装程序稍稍改头换面的版本。 Debian安装程序显然有其他优先事项。比如说,其图形化版本是GUI,这有别于主要在工具包中的基于文本的安装程序:除了让害怕使用命令行的那些用户感到安心外,没有任何优势可言。 相比之下,Debian之前的声誉是,只要按照在线操作说明,此外每个阶段接受默认设置,通常就可以安装Debian。然而,如果你决定亲自选择,可以在安装过程的每一步选择每个设置,这大大增加了安装所需的时间。Debian安装程序并不是迎合没有经验的用户,而是兼顾所有不同水平的用户。它不是很漂亮,但是不用编译自己的程序包,所以你不可能找到...阅读全文
"} prometheus_tsdb_head_samples_appended_total{cluster="one"} Cleanupkubectl delete -f k8s/ helm delete --purge prom-one helm delete --purge grafana ingester pods将卡在终止阶段。这是设计使然的,因为ingester是半状态的,并且将在终止之前尝试将其数据刷新到其他ingester。这使得升级和回滚成为可能,同时避免了数据丢失。在这种情况下,我们只是尝试一下,而不关心数据,因此我们可以使用以下命令强制将其删除:kubectl delete pod -l name=ingester --grace-period=0 --force 具有数据去重功能的HA Prometheus设置此设置与上一个非常相似。主要区别在于我们正在部...阅读全文
,Debian 邮件列表出现了一封标题为“Leaderless Debian”的公开信,文章表示,这年的3月3日-10日是候选人提名阶段,然而,截至公开信发出,还没有一位符合资格的 Debian 开发者提交申请。 此前的 Debian 领导人 Chris Lamb 一直被寄予厚望,他已经连任了两年,但是今年他公开表示因为一些 Debian 相关的,以及一些私人的原因不参与竞选。由此,Debian 不得不根据章程延长提名时间,直至有人提交申请为止。 当然,最后还是有人跳了出来参加竞选。这里要指出的是,这一尴尬事件非常直观地反映出一个事实 —— DPL 并不吃香。 准确来说,在 Debian 章程的制约下,DPL 是一个没有绝对权利的虚席。 首先,DPL 并不接触具体业务,他可以任命某人执行专门的任务,而这...阅读全文
有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文
经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。 HTTP/1.x HTTP 协议可以算是现阶段 Web 上面最通用的协议了,在之前很长一段时间,很多应用都是基于 HTTP/1.x 协议,HTTP/1.x 协议是一个文本协议,可读性非常好,但其实并不高效,笔者主要碰到过几个问题: Parser 如果要解析一个完整的 HTTP 请求,首先我们需要能正确的读出...阅读全文
被包含 db.ruochen.aggregate( { $project: { _id: 0 title: 2, by: 1, }} ); 如此即可不包含_id, 非0可表示显示字段,负数也可以表示显示该字段 $match 获取分数大于70或小于等于90的记录,然后把符合条件的记录送到下一阶段$group 管道操作符进行处理 db.ruochen.aggregate([ {$match: {score: {$gt: 70, $lte: 90}}}, {$group: {_id: null, count: {$sum: 1}}} ]) 当 match 条件和 group 同时存在时,顺序会影响检索结果,必须先写 match 在前面 $skip 过滤前5个文档...阅读全文
ML 等语言的 currying 自己动手实现语言特性 在基本学会了各种语言特性,能用它们来写代码之后,下一步的进阶就是去实现它们。只有实现了各种语言特性,你才能完全地拥有它们,成为它们的主人。否则你就只是它们的使用者,你会被语言的设计者牵着鼻子走。 有个大师说得好,完全理解一种语言最好的方法就是自己动手实现它,也就是自己写一个解释器来实现它的语义。但我觉得这句话应该稍微修改一下:完全理解一种“语言特性”最好的方法就是自己亲自实现它。 注意我在这里把“语言”改为了“语言特性”。你并不需要实现整个语言来达到这个目的,因为我们最终使用的是语言特性。只要你自己实现了一种语言特性,你就能理解这个特性在任何语言里的实现方式和用法。 举个例子,学习 SICP 的时候,大家都会亲自用 Scheme 实现一个...阅读全文
丝雀部署,然后是一段时间的延迟,然后增量到生产环境的其余部分,每个步骤之间还有一些进一步的延迟。 select步骤是通过名为Target Selection的无状态服务来实现的。这个服务提供了一个RPC方法: 输入是上线的asset列表和哪些asset已经更新的信息输出是还没有更新,但是已经准备更新的asset列表。这个列表通常是空的——比如,因为推出阶段中间配置了一些延迟。 Target Selection通过Prodspec配置,并且实现如下策略: 一次性推送所有东西以预先定义好的顺序,一次推送一个集群推送一个asset,随后所有其他asset 我们发现,即使在单次推出的时间范围内,也需要能够应对不断变化的环境。比如,如果推出持续两周并影响数百个asset,则在推出过程中可能会添加和删除...阅读全文
出的部分解决方案至今仍在试水阶段,具体如下: (1)第一关,数据输入者所在国是否被列入“充分性认定白名单”: 指欧盟一般数据保护条例(GDPR)第45条所规定的,由欧盟委员会以“实施法案”方式确定的数据跨境传输“白名单”。 一旦欧盟以外的某国家或地区(也包括国际组织或行业)进入该“白名单”,就意味着欧盟境内的个人数据可以更加自由地传输到该国家或地区(国际组织或行业),而不再受GDPR中诸如数据跨境传输协议、BCR认证等严格条件的限制。 “充分性认定”的门槛和标准比较高,且欧盟方面在判定、审查、修改、撤销等程序中自由裁量权十分大,目前全球范围内也仅有瑞士、以色列、日本等少数国家获得了欧盟“充分性认定”。 (2)第二关,若所在国未进入上述“充分性认定白名单”,则判断是否提供适当协议、行为准则为跨...阅读全文
,dfs.heartbeat.interval的单位为秒。