InfraPub 为您找到相关结果 302

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

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

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Facebook 已于上周正式发布 JavaScript 包管理器 Yarn 1.0。 Facebook 表示 GitHub 上有 175,000 个项目在使用 Yarn,许多大大小小的公司和广大开源社区也在使用 Yarn,个月通过 Yarn 下载的包数量接近 30 亿个。此外,Yarn 现在也已预安装在诸如 CircleCI、Travis CI 和 AppVeyor 这些主流的持续集成平台上。 Yarn 具有极佳的伸缩性,可以支持成千上万个直接或间接的包依赖。Yarn 的设计初衷是保证稳定性、弹性和高性能。基于这些原则,Yarn 1.0 带来了更多的新特性,希望能够帮助 Yarn 社区更快地发展,构建更好的项目。 Yarn 1.0 中值得关注的新特性 Yarn 工作区 (Yarn...阅读全文

博文 2017-09-19 14:43:15 debian.cn

钉钉发送报警消息的Python实现

("https://oapi.dingtalk.com/message/send?access_token=", access_token, body) 其中agent_id是一个钉钉应用的id,以钉钉应用的名义给用户发送消息。users是用户id列表,个用户id是一个字符串。 发送链接 def send_link_to_users(access_token, users, url, title, text): msg_type, msg = _gen_link_msg(url, title, text) return _send_msg_to_users(access_token, users, msg_type, msg) def _gen_link_msg(url, title, text...阅读全文

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

可用于企业的三个非主流 Web 服务器

,可支持服务器及其所有功能的直接配置。Cherokee 在 Linux,Mac OS X,BSD 和 Solaris 上本机运行,但不在 Windows 上运行。 Monkey HTTP 服务器 Monkey HTTP 是一个轻量级的服务器和开发堆栈,最初针对 Linux 进行了优化,但现在也与 Mac OS X 兼容。它专为嵌入式设备而设计,因此具有高度可扩展性,具有低内存和低 CPU 消耗。该项目于 2001 年开始,在 2008 年被改写为事件驱动系统时转向专业应用程序。 服务器通过混合机制运行,为个线程提供数千个客户端的访问能力。它提供高性能的重负载服务器,易于安装,是嵌入式设备的理想选择。 除了这三种Web服务器,你还有其他开源项目推荐吗?...阅读全文

博文 2018-05-02 09:27:32 debian.cn

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

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

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

通道(就是两条PCI-E),而 M.2(Socket 3)的固态则可以走 PCI-E 3.0×4 通道。 需要说的是条 PCI-E 3.0 的带宽是 8Gbps,而 SATA 3.0 的带宽则只有 6Gbps。 最后要说的就是经常被商家拿来当作卖点的 NVMe 了。其实 NVMe 跟 AHCI 都是一种规范,就像是在路上走如果没有交通规则的限制,那么肯定是一团拥挤肯定都走不动了,而 NVMe 和 AHCI 就像是这种交通规则。 AHIC 是针对 SATA 这种弯路的交通规则。然后开发者发现,这种针对弯路的规范,数据只能一个一个通过的规则用在宽敞的 PCIE 通道上面实在太浪费了,于是针对 PCIE 通道又开发出了 NVME 规范,可以让很多数据同时通过。 总结:M.2 跟 SATA 其实可...阅读全文

博文 2019-01-23 13:28:23 debian.cn

树莓派4发布:性能飙升 配件丰富 价格不变

树莓派是一款旨在通过超实惠的方式,来鼓励孩子们投身编程事业的奇趣开发套件。不过这款主板只有信用卡大小的装置,已经在教育系统之外培养出了一大票粉丝,首年就卖掉了百万台。 今天,树莓派在官网上宣布了 Raspberry Pi 4 正式开售的消息。作为一款改变游戏规则的产品,其处理能力是前一代 Raspberry Pi 3+ 的三倍、多媒体性能为四倍。 树莓派的一次迭代,都会引入一些新的卖点,比如 64 位处理器、802.11ac 双频 Wi-Fi、以及通过 HAT 的以太网供电(PoE)。 今天发布的树莓派 4,不仅在计算和多媒体性能上有所提升,还采用了运行频率为 1.5GHz 的四核 ARM Cortex-A72 处理器、千兆以太网、蓝牙 5.0、以及 USB 3.0 连接。 性能的提升...阅读全文

博文 2019-06-25 08:43:29 debian.cn

Docker CE 19.03 正式发布 无需root权限

加 –pids-limit 标志 docker/cli#1765添加对服务的系统支持 docker/cli#1754在复合文件中增加了对 template_driver 的支持 docker/cli#1746使用该参数 --device 启动时将设备传递到 Windows 容器中 docker/cli#1606增加了对数据路径端口配置的支持 docker/cli#1509添加快速上下文 switch: commands docker/cli#1501个节点添加最大副本 docker/cli#1612添加选项来 pull 图像 docker/cli#882添加 –domainname 标志 docker/cli#1130在 docker stack deploy 增加了对秘密驱动程序的支持...阅读全文

博文 2019-07-24 21:30:05 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

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

with the `H' inter-active command. Also for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a task's cpu usage will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the `I' interactive command. 即在过去的一段时间里进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或者多核,需要将个CPU的时间相加。kubelet中的cadvisor采集的指标与含义,见...阅读全文

博文 2020-08-13 20:41:03 debian.cn

Scrapy 架构及数据流图简介

URL的类。 个spider负责处理一个特定(或一些)网站。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数据库中)。 下载器中间件(Downloader middlewares) 下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。 Spider中间件(Spider middlewares) Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出(items及requests...阅读全文

博文 2017-07-23 22:56:26 debian.cn

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。 TensorFlow可以在系统范围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你可以在一台计算机上拥有多个不同的隔离Python环境,并在个项目的基础上安装模块的特定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

Harbor项目发布v1.7 2018圆满收官

目最佳用户,贡献者和合作伙伴颁发社区成就奖。 12月,Harbor 首次登陆 KubeCon 北美大会,项目成员发表了数场演讲,吸引了世界各地的粉丝前来交流。目前,Harbor 项目组月定期举行社区电话例会,讨论发展路线图,并与国内外的企业及个人建立了广泛的合作关系,社区生态发展得如火如荼。 年近岁末, 经过 Harbor 社区三个多月的不懈努力,Harbor v1.7版本正式发布!新版本带来诸多新功能: · 镜像构建历史 - 用户可查看容器镜像的构建历史和内容; · 镜像复制(retagging)- 提供了在镜像上传至Harbor后重新创建镜像tag的能力。此功能在CI流水线中提升镜像到生产状态或者通过编程方式重新tag镜像,亦或将特定镜像重新tag或者移动到其它仓库或者项目等场景中特别...阅读全文

博文 2018-12-30 09:35:15 debian.cn

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

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

近日,OSCHINA 和 Gitee 联合发布了《2022 中国开源开发者报告》。其中,云原生社区创始人宋净超在报告中对开源云原生服务网格领域进行了深入解读,以下为主要观点。2022 云原生服务网格五大趋势2022 年,云原生展露了一些趋势。因我更多地关注服务网格领域,在此就该方向谈谈我的观点,欢迎其他专家交流。一是 零信任的云原生安全备受关注。CNCF 在《云原生安全白皮书》中指出,“我们需要在应用安全生命周期中采用更自动化和安全的架构设计(如零信任)”,这表明云原生安全越来越受重视。零信任安全意味着默认情况下,网络内外都不信任任何人,并且要对试图访问网络资源的一个人进行验证。部署服务网格有助于缩小云原生部署的攻击面,并为构建零信任应用网络提供关键框架。二是 API 网关与服务网格融合...阅读全文

Greg Kroah

脚本开头使用了#!/bin/sh而不是#!/bin/dash,从而自掘坟墓,损人害己。由此可见Ubuntu本身就不是一个严肃的产品,不适合作为操作系统使用。 只有让用户经常遇到麻烦,为Ubuntu提供服务的公司才能最大限度地赚钱。要多赚钱,不但要让个用户多使用服务,还要扩大用户群。这就要从Windows世界不择手段地拉拢用户。 Ubuntu为了讨好Windows用户不惜东施效颦。作出了一些破坏*nix惯例的修改,例如学习Windows的Program Files目录,将不同软件装到各自的目录而不是分散在统一目录结构中,导致类似tkConfig失效等Ubuntu特有问题。 综上所述,Ubuntu完全就是一个用砸钱的办法耧取商业利益同时祸害自由软件社区的发行版。一般人无论是从自身利益还是从社会...阅读全文

博文 2021-01-28 17:50:09 Hartman批评Ubuntu发行版

Ceph 基金会正式成立 接受 Linux 基金会的管理

2018年11月12日,北京时间16:00,Linux基金会在德国柏林“Ceph Day”上正式宣布成立“Ceph基金会”来支持Ceph开源项目。Ceph基金会接受Linux基金会的管理,它的成立将为Ceph社区的合作和成长提供一个中立的机构。高级会员和一般会员年缴纳会员费,准会员是教育机构或政府组织,并被邀请免费加入。 理事会由所有高级成员,普通成员代表,准成员代表和Ceph领导团队(技术治理机构)代表组成。董事会负责: 建立并批准用于支持Ceph项目的年度预算 建立特设委员会以满足项目的当前需求 协调外展或营销 定期开会讨论基金会活动,Ceph项目的现状以及整体项目战略 在董事会面前对任何决定或事项进行投票 Ceph基金会董事会不对Ceph的技术治理负责,也没有任何直接控制权。开发和...阅读全文

AMD发32核Naples处理器 靠性价比杀回服务器市场

8898美元。廉价AMD产品的出现能够为客户提供更多选择和议价空间。 Insight 64首席分析师Nathan Brookwood认为,从AMD以往的定价策略来看,Naples芯片肯定也会比英特尔同类产品更有竞争力。AMD去年末发布的Ryzen桌面处理器就比英特尔同级别产品便宜很多。 AMD曾经是英特尔的头号敌人,但一系列的运作失误让其服务器业务落后于对手。5年前,AMD推出的Bulldozer芯片架构以失败告终。随后AMD开始提供ARM芯片,但因需求不济而让AMD在服务器市场逐渐式微。 Naples并非唯一的基于Zen架构的新片。Norrod称,在服务器芯片的推出之后,更多的芯片产品也会相继亮相。由于并非个人都会购买32核的芯片,因此AMD也有可能会发布更少核心的产品。迄今为止外界对Zen芯...阅读全文

三位候选人正进行 2022 Debian 项目负责人选举

2021 年月(以及之后的双月刊)系列“ Debian 热门话题”(日文)撰写在日本组织一些当地 Debian 活动,尤其是东京。Debian 议程为贡献者和用户提供更好的 Debian “体验”。向用户提供“一些尝试”并听取他们的声音,然后在贡献者之间进行讨论。更多的基础设施变化,对 Web、Wiki、BTS、存储库等 Debian 基础架构进行更多更改。知识和技术的更新和转让,与新的贡献者讨论、转移和改进旧的知识体系。此外,Hideki Yamane 还在展示页面中警告“我可能是 DPL 有史以来最差的候选人”:不擅长英语(可以使用 Eng“r”ish ;),所以无法回答一些复杂的问题。没有任何技巧来调解贡献者之间的争吵,只有:保持冷静,保持安全。​...阅读全文

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

机会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行重大更改,那么下一步将是正式的语言变更提案。 为了保证符合预期,如果个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文

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

如何在 Nginx 中配置 gRPC 的代理

:50051; nginx路由gRPC请求 如果后端有多个gRPC服务端,其中个服务端都是提供不同的gRPC服务。这种情况可以使用一个nginx接收客户端请求,然后根据不同的路径分发路由到指定的gRPC服务器。使用location区分: location /helloworld.Greeter { grpc_pass grpc://192.168.20.11:50051; } location /helloworld.Dispatcher { grpc_pass grpc://192.168.20.21:50052; } location / { root html; index index.html index.htm; } 对gRPC请求做负载均衡 在后端有多个gRPC服务器,它们都是同一个...阅读全文

博文 2018-04-20 11:03:39 debian.cn

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

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文

提问的智慧(精简版)

用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑个色码区块(table slot), 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。问题解决后,加个简短的补充说明补充说明不必很长或是很深入。简单的一句 你好,原来是网线出了问题!谢谢大家。 比什么也不说要来的好。事实上,除非结论真的很有技术含量,一句话就够了:说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。对于有深度的问题,张贴调试记录的摘要是有帮助的。但请记住,先描述问题的最终状态,说明是什么解决了问题,在此之后才指明踩坑的地方。在即时聊天软件里问问题为了避免重复答疑,你应该在群里询问常见问题。由于部分聊天软件没有话题串的功能(或着实现很差),同时群里还可能有多个同时讨论的...阅读全文

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

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

了这里面的东西,个程序员都应该可以做到这一点。嗯,但愿吧。 重视语言特性,而不是语言 很多人在乎自己或者别人是否“会”某种语言,对“发明”了某种语言的人倍加崇拜,为各种语言的孰优孰劣争得面红耳赤。这些问题对于我来说都是不存在的。虽然我写文章批评过不少语言的缺陷,在实际工作中我却很少跟人争论这些。如果有其它人在我身边争论,我甚至会戴上耳机,都懒得听他们说什么 为什么呢?我发现归根结底的原因,是因为我重视的是“语言特性”,而不是整个的“语言”。我能用任何语言写出不错的代码,就算再糟糕的语言也差不了多少。 任何一种“语言”,都是各种“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或者“IBM”,或者“Dell”,或者“苹果”。那么,你可以说苹果一定比 IBM 好...阅读全文

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

Jono Bacon: GPL 没落了吗?

开源项目的增多,以及商业社会对于 GPL 协议的担心导致的,我们细细掰扯。 GPL 协议与商业社会 我知道我要说的可能会激怒一些 GPL 粉,所以在你们开始喷之前,我想说明的是:我支持 GPL,我也是 GPL 粉丝。 我写过的所有软件都使用的是 GPL 协议,我也是一直是积极出资支持 自由软件基金会 以及 软件自由保护组织 以及他们的工作的,我支持使用 GPL 协议。我在这说的无关 GPL 的合法性或者 GPL 的巨大价值 —— 毫无疑问这是一个好协议 —— 我在这要说的是业内对于这个协议的看法。 大概四年之前,我参加了一个叫做开源智库(Open Source Think Tank)的峰会。这个峰会是一个私人小型峰会,年都会把各大开源企业的管理人员请到加利福尼亚的酒庄。这个峰会聚焦于建立关...阅读全文

博文 2017-08-04 08:03:43 debian.cn

成功运作一个开源项目的15个要点

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放弃对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

博文 2017-11-08 09:58:28 debian.cn

技术部门的 SEO 规范

robots 文件禁止搜索引擎抓取。未完成内容的网站、栏目不得上线。不存在页面必须返回 404 代码。个月使用线上工具确认不存在页面服务器头信息。服务器开启 gzip 压缩。4XX、5XX 类服务器头信息不正常增多,及时通知SEO部门进行进一步检查。新站一律使用 https。开通子域名,需与 SEO 部门提前沟通并获得同意。 网站结构和URL URL一经确定上线,不得在没有得到SEO部门同意和提供对应机制的情况下,对URL做任何改动。除了已规划禁止搜索引擎抓取和收录的内容外,网站所有URL一律静态化。站内搜索结果页面使用robots文件禁止搜索引擎抓取。网站栏目与URL目录需一一对应,一级分类对应一级目录,二级分类对应二级目录。最多分级至二级目录,如果产品/页面数需要三级以上分类,请先与SEO部门沟...阅读全文

博文 2019-03-28 13:58:51 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 表示当前缓冲区中有效数据的总量...阅读全文

Golang Context 探究

server 来解释, Go 服务次都是启动一个新的 goroutine 来处理一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

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

基于thanos搭建分布式prometheus

: path: /data/thanos-receive-data type: DirectoryOrCreate - name: thanos-receive-config configMap: name: thanos-receive-config 细节大家可以自己慢慢看,我讲一下关键: 用statefulset部署集群,因为这是一个有状态的存储集群,不能随便漂移。 因为是分布式存储集群,要通过POD亲和性避免2个POD跑到1个Node上。 核心配置是声明receive集群的地址列表,这里利用headless service可以直接拿到个POD的dns name,是有规则的。 个thanos receive实例的启动参数中指定replica标签唯一标识它。 thanos-receive集群的...阅读全文

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

运维的未来:云服务兴起,运维人员会“下岗”吗?

新定义他们的愿景。 运维的未来是要使开发者能够通过工具、自动化和流程实现自助服务,并使他们能够通过最小的运维干预来部署并运行服务。个角色都应该朝着脱离它们的工作实现自动化的方向而努力。 ops 提供服务的模式已经穷途末路,并且也过时了。Devs 提出的要求总会超出他们的能力。 正确的模式是要把ops作为力量倍增器:创建自动化,使devs提供自己的集合和基础设施。 Dev:我的集合崩了! Op:好的,我知道了,现在是我的问题了——等我来解决。 ——错误的模式! Dev:我的集合崩了! Op:好的,我知道了。作为领域专家,我来帮你,你来解决,或者是,你可以用工具重配一下。 如果你让一个老派的运维人员理解说明整个存储栈,从裸金属到客户,并圈出他们所关心的,他们会把整个存储栈都圈起来,接着就会抱怨...阅读全文

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

如何在 Debian 下配置邮件服务器

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的范围。 1.先决条件 个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

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

aptitude 与 apt

起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的一个程序。在Debian出现后,人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为 dpkg。至此着名的package首次在GNU/Linux上出现。不久之後红帽子也开始着手建立自己的包管理系统 rpm。 GNU/Linux的创造者们很快又陷入了新的窘境。他们希望通过一种快捷、实用而且高效的方式来安装软件包。这些软件包可以自动处理相互之间 的依赖关系,并且在升级过程中维护他们的配置文件 。Debian又一次充当了开路先锋的角色。它首创了APT(Advanced Packaging Tool)。这一工具后来被Conectiva 移植到红帽子系统中用于对RPM包的管理。在其他...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

Debian 9 使用kubeadm创建 k8s 集群(下)

在前一篇文章中,我们介绍了 Debian Stretch 环境下,Kubernetes 集群安装的准备工作。本文我们将继续介绍 k8s集群 的安装配置工作。 第4步 - 设置主节点 在本节中,您将设置主节点。 但是,在创建任何Playbooks之前,值得介绍一些概念,例如Pod和Pod网络插件 ,因为您的群集将同时包含这两个概念。 pod是运行一个或多个容器的原子单元。 这些容器共享资源,例如文件卷和网络接口。 Pod是Kubernetes中的基本调度单元:pod中的所有容器都保证在调度pod的同一节点上运行。 个pod都有自己的IP地址,一个节点上的pod应该能够使用pod的IP访问另一个节点上的pod。 单个节点上的容器可以通过本地接口轻松进行通信。 然而,pod之间的通信更复杂,并...阅读全文

博文 2019-05-13 22:57:41 debian.cn

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

协议介绍之深入了解 gRPC

选择。 如果大家对解析 HTTP/1.x 很感兴趣,可以研究下 http-parser,一个非常高效小巧的 C library,见过不少框架都是集成了这个库来处理 HTTP/1.x 的。 Request/Response HTTP/1.x 另一个问题就在于它的交互模式,一个连接次只能一问一答,也就是client 发送了 request 之后,必须等到 response,才能继续发送下一次请求。 这套机制是非常简单,但会造成网络连接利用率不高。如果需要同时进行大量的交互,client 需要跟 server 建立多条连接,但连接的建立也是有开销的,所以为了性能,通常这些连接都是长连接一直保活的,虽然对于 server 来说同时处理百万连接也没啥太大的挑战,但终归效率不高。 Push 用...阅读全文

博文 2017-06-22 11:08:48 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

中国开源人访谈系列之:清风博主

+ openSUSE42.1,对了,还有一个 Windows10 Insider Preview。不过,日常使用的是Gentoo+kde5,其他系统很少用,只是偶而开机体验一下。 工作电脑(Gentoo+kde5,wineQQ) 我觉得这也不算是折腾技术,只是装个系统罢了。许多技术只是了解一些皮毛,没有基础,也没有精力深入学习。 现在天必做的事就是更新系统,Gentoo几乎天emerge –sync若干次,强迫症,没办法。。。至于其他发行版,基本上都是在Gentoo下chroot进去更新。也深刻体会到更新linux比更新windows方便太多了,在不影响正常使用的情况下,就能把笔记本上的所有发行版更新了,而更新windows时,啥也干不了,干等着吧。。。 现在Linux能满足我的绝大多数需求:上网不用说...阅读全文

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

说透IO多路复用模型_京东云开发者的博客

); struct sockaddr_in client; socklen_t addr_len = sizeof(client); //接收客户端连接 int connfd = accept(listenfd,(struct sockaddr*)&client,&addr_len); //读缓冲区 char buff[1024]; //读文件操作符 fd_set read_fds; while(1) { memset(buff,0,sizeof(buff)); //注意:次调用select之前都要重新设置文件描述符connfd,因为文件描述符表会在内核中被修改 FD_ZERO(&read_fds); FD_SET(connfd,&read_fds); //注意:select会将用户态中的文件描述符表放到...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

Linux:为什么那么多人讨厌 Systemd

,你几乎不能更改init系统。然而对大多数不深入sysadmining的用户来说,使用哪个init系统并不重要。 当然,个经验丰富的Linux用户都有自己的看法。这里就不一一列举出来了,Linux社区充满了很多精通技术的开发人员,他们对Linux应该如何发展和成长有着自己的意见。这些观点大多数是不相关的,取决于具体的工作需求。即便很多人投诉systemd,但却没有更完美的替代品出现,这也是systemd迅速扩张的原因。 我发现systemd单元和服务文件很容易维护,更重要的是,它可以很容易地转让给别人。systemd的拥护者给出了支持其的原因,比如很稳定,有一个容易的可配置的方式管理服务,也有一些中立人士不强烈反对systemd,但它的扩展速度实在令人担忧。它接管了很多不需要任何修复的功能...阅读全文

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

(canary)和分阶段(phased)推出部署(rollout);本地持久卷(Local Persistent Volume)。当前以Alpha版发布,允许用户通过标准的PersistentVolumeClaims/PersistentVolume接口及StatefulSets中的StorageClasses访问本地存储卷;DaemonSets。该特性用于确保给定的Pod对个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷。 在可扩展性方面,1.7中以Beta版的形式添加了API聚合层,允许用户在他们的集群中添加Kubernetes风格的预先构建的、用户定义的或是第...阅读全文

博文 2017-07-19 12:23:15 debian.cn

使用 tmate 分享你的终端会话

ssh 命令之类的共享信息。 tmate 是怎么工作的? 运行 tmate 时,会通过 libssh 在后台创建一个连接到 tmate.io (由 tmate 开发者维护的后台服务器)的 ssh 连接。 tmate.io 服务器的 ssh 密钥通过 DH 交换进行校验。 客户端通过本地 ssh 密钥进行认证。 连接创建后,本地 tmux 服务器会生成一个 150 位(不可猜测的随机字符)会话令牌。 队友能通过用户提供的 SSH 会话 ID 连接到 tmate.io。 使用 tmate 的必备条件 由于 tmate.io 服务器需要通过本地 ssh 密钥来认证客户机,因此其中一个必备条件就是生成 SSH 密钥 key。 记住,个系统都要有自己的 SSH 密钥。 $ ssh-keygen -t...阅读全文

博文 2017-12-06 10:33:33 debian.cn

JDK 11 版本时间表公布

最近有一些关于新版本发布周期的讨论。 Thymeleaf 的创始人兼首席开发人员 Daniel Fernández 最近发推文: 2016 年:“Java 命中注定!它发展得如此之慢!一个好想法都需要很长时间才能实现!” 2018 年:“Java 命中注定!它发展得太快了!没有人能跟得上!” 对 Fernández 的推文有一些有趣的回应,包括: “Kotlin?” “2020 年将会发生什么?Java 命中注定!没有它,我就无法过好我的生活!Java 在我家里随处可见,这个小咖啡杯究竟有什么威力,为什么它可以控制我的家,包括我的身体。” “Java 命中注定,因为他们专注于完整性而不是简单性。” “我们从中得到的教训是,变化不如过渡本身那么重要……事实上,这似乎是人生和计算机科学中一再出...阅读全文

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

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

实例的合并,必须在相同的时间过期,换句话说,也就是该批实例必须是同期采购的相同期限的RI。 可转换RI(CRI) CRI在灵活匹配与合并拆分的基础上增加了更多维度可转换属性:实例类型、操作系统、租期、付款选项,当然价格可能可能上浮10个点左右。可以说CRI提供了最高的灵活可变性,几乎可满足所有的更变需求。唯一的限制: 新可转换预留实例的总价值(预付价格 + 小时价格 * 剩余小时数)必须大于等于当前总价值! 换句话说客户只能在现有基础上加价,这种也是有道理,AWS 总不能因为您换了小规格实例给你退钱吧。 AWS RI使用的一些建议 如果没有容量预留的需求不要选择可用区RI,否则将失去灵活匹配优势针对业务计算需求增加需要调整实例类型机型(非license ) ,无需调整已购买的RI,只需要考...阅读全文

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

Debian目前面临的问题:钱足够但很缺人!

眉之急。 当前很多人承担了过多的责任。 最大的问题在于参与者,而非具体的过程。Carter 认为项目本身非常具有挑战。“问题永无止境,潜藏于项目的方方面面。计算机科学领域的任何问题,都同样存在于我们的工作中”。这将吸引那些勇于面对挑战的志愿开发人员参与其中,“Debian 是一个值得投入毕生精力关注的项目”。 “在不增加现有开发人员工作强度前提下,我估算达成我们期望项目目标所需增加的志愿开发人员规模,大约是目前人员规模的三倍。当前的项目人员承担了过多的责任,因为大家感觉到个人都是不可替代的。” 一种考虑是增加人员的多样性。Carter 本人来自南非,更倾向于增加非洲籍和女性代码开发人员。他还提议增加小规模会议、用户组活动等本地 Debian 活动,进而“降低进入项目的门槛”。 Carter...阅读全文

博文 2020-10-09 10:24:04 debian.cn

Golang 应用集成 Prometheus 统计数据支持

基本概念 Prometheus 所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的、有时间戳标记的数据流。除了存储的时间序列,Prometheus 还可以根据查询请求产生临时的、衍生的时间序列作为返回结果。 样本在时间序列中的一个点称为一个样本(sample),样本由以下三部分组成: 指标(metric):指标名称和描述当前样本特征的 labelsets; 时间戳(timestamp):一个精确到毫秒的时间戳; 样本值(value): 一个 folat64 的浮点型数据表示当前样本的值。 {

博文 2022-11-24 10:33:09 CSDN博客

C++ 夺冠!成为 TIOBE 2022 年度编程语言

, OpenEdge ABL, PL/I, Pony, Processing, Programming Without Coding Technology, Q, Racket, Raku, Ring, S, Solidity, SPARK, Tcl, VBScript, VHDL, X++, Zig Top 10 编程语言 TIOBE 指数走势(2002-2023) 历史排名(1987-2023) 注:以下排名位次取决于 12 个月的平均值。 编程语言“名人榜”(2003-2022) 【说明】: TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、维基百科、CSDN、必...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

如何在 Linux 上安装 Intel 微代码固件

微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的输出可能是如下这样的: [ 0.952699] microcode: sig...阅读全文

博文 2018-03-07 19:37:47 debian.cn