InfraPub 为您找到相关结果 635

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

新加坡华侨银行(OCBC) 零门槛开户 使用APP在家即可申请

状态。这一步遇到困难,可以参考这个 Youtube 视频。​6 APP读取的时候会跳出测,这时候不要动,等待读取完毕。同样需要一些耐心,多试试,不难。​7 给身份证拍个照。点击【下一个】开始给身份证正面拍照。点击【下一个】开始人脸识别,这一步开始人脸验证。注意,不要裸露上身。​8 这些信息填完之后,点击【提供我的详细信息】,开始填写自身国家、职业、公司等详细信息。在这之前,首先是你之前填写的姓名和邮箱等信息。​9 选择工作类型,选择【受雇】或者【自雇】。填写税务信息。纳税人识别号为自己身份证号。​10 这里选择 【不,我未曾/没有担任重要的公职,也不是一名已/被委托担任公共职务的公共职者 的家庭成员或关系亲近的人】然后,勾选电子邮件和短信,☑️ 勾选 【本人确认懂英文,并同意以英文形式...阅读全文

技术部门的 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

Proxmox VE 6.2发布 开源虚拟机平台

Proxmox VE 6.2 现已发布,该版本基于新发布的 Debian 10.4,同时引入了 Linux 5.4 LTS 内核、QEMU 5.0、LXC 4.0 和其他更新的软件组件,包括 OpenZFS 0.8.3。Proxmox VE(Proxmox Virtual Environment)是一个非常棒的集成 OPENVZ 支持 KVM 应用的环境。 Proxmox VE 6.2 的一些亮点内容如下 基于 Web 的管理界面的高级选项: 除了已经存在的基于 HTTP 的验证模式之外,Proxmox VE 还通过基于 DNS 的询机制为 Let’s Encrypt TLS 证书实现了域的内置验证。完全支持多达八个 corosync 网络链接。使用的链接越多,集群可用性就越高。在存储内...阅读全文

博文 2020-05-18 19:18:30 debian.cn

处理器CPU散装和盒装有什么区别

指Intel处理器的散片CPU,这类处理器在售价上因为远低于官方售价而被DIY玩家所认可。 盒装CPU也就是我们日常所见到的官方正品,配备有处理器散热风扇以及一颗CPU。具备保等正常商品具备的一切售后服务。 相对于盒装处理器,这类散片基本上是走私或者从某些品牌商那里流出,但不管是盒装CPU还是散片CPU,只要型号正确,几乎没有造假之说,毕竟他是即高科技与一身的产物,哪怕中国作为全球的加工大厂,也只能做到生产,而无法做到造假,通常如果打算购入性能更强的CPU散热装置(水冷或品牌风冷)的玩家才会选择CPU散片来降低装机成本。如果型号没有问题,计算机识别型号无误,那么即为一颗正品CPU。...阅读全文

博文 2018-09-02 19:32:35 debian.cn

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

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

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

如何在 Debian 上添加和删除用户

省编辑器,并在每个用户的基础上明确指定的特权。 编辑/etc/sudoers/文件提供了更多的灵活性,但只能当你需要这种灵活性,因为它管理用户帐户时,需要更多的维护使用。 使用visudo是做出改变的唯一推荐的方式/etc/sudoers ,因为它锁定对多个同时编辑该文件,并覆盖文件之前执行其内容的完整性。 这有助于防止在那里你错误地配置的情况sudo和,因为你已经失去了解决问题的防止sudo权限。 如果您当前登录的用户名为root用户键入: visudo 如果您在使用一个非root用户签署sudo权限,请键入: sudo visudo 传统上, visudo打开/etc/sudoers中的vi编辑器,这对于没有经验的用户混淆。 默认情况下,新的Debian安装,就应该改用nano ,它...阅读全文

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

改善 Debian Linux 软件包管理的七款工具

了十个速度最快的镜像,然后把它们写入到你的软件包源列表。apt-spy执行类似的功能。 3. apt-transport-tor 你可能也知道了,Tor是一款匿名浏览工具。然而,即便你注重安全,下载软件包有可能让别人跟踪你的活动,进而一路跟踪你的系统。 apt-transport-tor让你可以堵住这个安全漏洞,它通过Tor来传输软件包管理指令。 2. cron-apt 如果你注重安全,或者只想要最新软件包,cron-apt可以帮助你确保版本最新。顾名思义,cron-apt可以为你的系统调度定期下载,并通知可用更新版。用户往往每天更新一次。 然而要注意:cron-apt下载但不安装更新的软件包。这个限制是有意设置的,因为在无人照看的情况下安装一切会导致系统问题。什么更新版可用后,你可以手...阅读全文

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

Python Web 框架 Flask 1.0 正式发布

多线程处理开发过程中的并发请求。 之前不推荐使用的 flask.ext 已被完全删除。 在调试模式下访问 request.form 的缺失密钥时会显示更有用的错误提醒,以避免开发者混淆常见的错误来源。 app.logger 的行为已大大简化,更容易定制。 test_client 新增用于发布 JSON 数据的 json 参数,Response 对象新增 get_json 方法来在测试中将数据解码为 JSON 。 新增 test_cli_runner ,用于测试应用程序的 CLI 命令。 大文档已被重写,更清晰明了。这是一项长期持续的工作。 教程和相应的示例已被重写。新的示例使用结构化布局并详细介绍每个方面,以帮助新用户更好地规避常见问题并适应 Flask 。 细节请阅发行说明...阅读全文

博文 2018-04-27 23:21:17 debian.cn

Qt 5.9.4 正式发布:包含近 200 项 Bug 修复

Qt 5.9.4 已正式发布,这是继 5.9正式版 之后的第四个维护版本,未添加任何新功能,但提供了大的 Bug 修复和性能改进。 与 Qt 5.9.3 相比,新的 Qt 5.9.4 包含近 200 项 Bug 修复 以及超过 500 项更改。有关重要更改的详细信息,请阅发行说明。 开发团队表示,Qt 5.9 LTS 将很快进入“Strict” 阶段(在发布 Qt 5.11 分支之后)。届时,它仍将得到重要的 bug 修复和显着的性能改进。下一个 Qt 5.9.5 补丁版本计划于 2018 年 3 月底发布。 Qt 是一个跨平台的 C++ 图形用户界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发 GUI 程序,也可用于开发非 GUI 程序。Qt 是完全面向对象的...阅读全文

博文 2018-01-25 10:38:53 debian.cn

理解 Linux 的虚拟内存

。 在 Linux 中,内存设置被映射为 /dev/mem,root 用户通过对这个文件读写,可以直接操作内存。 JVM 进程占用虚拟内存过多 使用 TOP 看系统性能时,我们会发现在 VIRT 这一列,Java 进程会占用大的虚拟内存。 导致这种问题的原因是 Java 使用 Glibc 的 Arena 内存池分配了大的虚拟内存并没有使用。此外,Java 读取的文件也会被映射为虚拟内存,在虚拟机默认配置下 Java 每个线程栈会占用 1M 的虚拟内存。具体可以看 为什么linux下多线程程序如此消耗虚拟内存。 而真实占用的物理内存要看 RES (resident) 列,这一列的值才是真正被映射到物理内存的大小。 常用管理命令 我们也可以自己来管理 Linux 的虚拟内存。 看系统内存状...阅读全文

博文 2018-11-25 11:03:49 debian.cn

分布式任务调度平台 XXL

将会主动触发一次子任务的执行, 多个子任务用逗号分隔; 22、一致性:“ 调度中心” 通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行; 23、自定义任务参数:支持在线配置调度任务入参,即时生效; 24、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞; 25、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性; 26、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件; 27、推送 maven 中央仓库: 将会把最新稳定版推送到 maven 中央仓库, 方便用户接入和使用; 28、运行报表:支持实时看运行数据,如任务数、调度次数、执行器数等;以及调度报表,如调度日期分布图,调度成功分布图...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

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

启动容器和镜像垃圾回收两个任务,其主要逻辑为:1、启动 containerGC goroutine,ContainerGC 间隔时间默认为 1 分钟;2、 --image-gc-high-threshold 参数的值,若为 100 则禁用 imageGC;3、启动 imageGC goroutine,imageGC 间隔时间默认为 5 分钟;k8s.io/kubernetes/pkg/kubelet/kubelet.go:1270func (kl *Kubelet) StartGarbageCollection() { loggedContainerGCFailure := false // 1、启动容器垃圾回收服务 go wait.Until(func() { if err...阅读全文

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

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

Linux内存buffer和cache的区别

在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。 一. 内存使用说明 Free 命令相对于top 提供了更简洁的看系统内存使用情况: [root@debian ~]$ free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物...阅读全文

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

有这条性,动态规划算法同其他算法相比就不具备优势) 动规解题的一般思路 动态规划所处理的问题是一个多阶段决策问题,一般由初始状态开始,通过对中间阶段决策的选择,达到结束状态。这些决策形成了一个决策序列,同时确定了完成整个过程的一条活动路线(通常是求最优的活动路线)。如图所示。动态规划的设计都有着一定的模式,一般要经历以下几个步骤。 初始状态→│决策1│→│决策2│→…→│决策n│→结束状态 图1 动态规划决策过程示意图 (1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的或者是可排序的,否则问题就无法求解。 (2)确定状态和状态变:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。 (3...阅读全文

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

APISIX Ingress 如何使用 Cert Manager 管理证书

Apache APISIX Ingress Controller 是一款以 Apache APISIX 作为数据面的 Kubernetes Ingress Controller 开源工具,目前已经更新到 v1.3 版本,实现了如证书管理、负载均衡、金丝雀发布等功能。 长久以来,证书管理都不是一件简单的事情,虽然 Apache APISIX Ingress Controller 支持从 Kubernetes Secrets 资源中提取证书和私钥,并转换为 Apache APISIX 可识别的 SSL 对象,但这只是整个证书管理链中的一部分,证书的颁发、轮转、吊销逻辑依然需要管理员执行,尤其当证书数比较多时,工作往往并不小,因而会占用管理员不少的时间。 Cert Manager 是一款致力...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

Alpine Linux 3.6.1 发布,轻量级 Linux 发行版

Alpine Linux 3.6.1 已发布。Alpine Linux 是由社区开发的操作系统,它面向 x86 路由器、防火墙、虚拟专用网、IP 电话盒及服务器而设计。它在设计时就贯彻了安全的理念,包含了一些主动安全特性如 PaX 和 SSP ,它们能防止软件中的漏洞被敌手加以利用。该系统采用的 C 语言库是 musl ,基础工具则都在 BusyBox 中。它们在嵌入式系统中很常见,它们比 GNU/Linux 系统中的工具要小。 此次更新进行了大 Bug 修复,相关内容: Bug #6668: Can’t boot on Raspberry Pi 2 Bug #7047: v4l2-ctl segfaults when setting control values Bug #7093...阅读全文

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

Ubuntu 17.10 将用 GDM 取代 LightDM 登录管理器

在最近的一份报告中,Canonical的Will Cooke透露,Ubuntu Desktop团队正在考虑在即将推出的Ubuntu 17.10版本中以GDM(GNOME显示管理器)取代LightDM登录管理器。本周早些时候已经有传闻表示Ubuntu 17.10将采用GNOME GDM显示管理器。 特别是现在,在默认情况下,日常构建的ISO映像默认都采用了GNOME桌面环境而不是Unity。现在,Canonical官方证实说,他们没有时间让LightDM与GNOME一起工作。 Canonical官方表示:“我们决定转而使用GNOME显示管理器(GDM)而不是LightDM,我们计划尝试使用LightDM,根据我们的调显示,我们需要投入大时间进行更改让所有的东西都能正常工作,但是我们没用那...阅读全文

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

Linux Kernel 4.15 正式发布,修补Intel漏掉

Linus Torvalds 于28日宣布发布 Linux 4.15 内核系列,第一个完全针对 Meltdown 和 Spectre 安全漏洞进行修补的版本。 Linux Kernel 4.15 进行了为期八周的开发,内核开发者花费大时间重新设计了内核,并针对本月早些时候公开披露的两个安全漏洞熔断(Meltdown)和幽灵(Spectre)进行了修补。 Linux kernel 4.15 是第一个针对 Meltdown 和 Spectre 安全漏洞进行完全修补的内核系列,但是仅适用于 x86 和 PowerPC(PPC)体系结构。 如果您使用的是带有英特尔或 AMD 处理器的 GNU / Linux 发行版,那么仍有可能会遇到Meltdown 和 Spectre 恶意攻击。 该版本提供对...阅读全文

博文 2018-01-29 11:34:21 debian.cn

如何为 k8s 节点增加污点,或者移除污点?

设置taint ``` kubectl taint node [node] key=value[effect] 其中[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ] NoSchedule: 一定不能被调度 PreferNoSchedule: 尽不要调度 NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod ``` 示例: ``` kubectl taint node node1 key1=value1:NoSchedule kubectl taint node node1 key1=value1:NoExecute...阅读全文

MX Linux 17 Beta 1 发布,基于 Debian 的发行版

MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为缺省桌面,是一份中级操作系统,并被设计为优雅而高效的桌面与如下特性的结合:配置简单、高度稳定、性能可靠、占用空间不大也不小。 MX-17 Beta 1 镜像现在可供下载和测试。 Beta 1 具有以下功能: antiX 项目的最新实时系统更改和修复; Debian(Stretch)的最新更新; 4.9.0-4 内核(alphas 特性 4.9.0-3); 32 位 ISO 有 PAE 内核,而非 PAE; 更新软件包,包括 LibreOffice 5.4.1 的更新和 mx-apps; mx-tweak 替换了 mx...阅读全文

博文 2017-11-07 10:19:49 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

开源社区是个独特的存在。它虽然结构松散但却又切实有效,为社会提供便利好用的产品却不以利益为目的,将志趣相同的人们聚集在一起但又完整地保存了每一个个体的独特性...... 这些开源社区就像是一场场风格迥异的社会实验。 其中,Debian 社区是一个典型代表。作为 Linux 最早的发行版本之一,诞生于1993年的 Debian 可以算是开源社区中的“活化石”。这也令 Debian 在机制、行事和文化等方面都体现出了一定的“古典”特。 最近,Debian 社区正在酝酿一件大事 —— 改革自己的决策机制。一直以来,Debian 的决策机制都饱受诟病,不少优秀的开发者因此离开,这样的变革或许不可避免。 01 离开 “长久以来,Debian 都难以作出改变。” 2014年的时候,Joey Hess...阅读全文

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

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

Kubernetes的kubelet组件内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。 Kubelet的Cadvisor指标获取 在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中询到。 - job_name: 'kubernetes-cadvisor' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount...阅读全文

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

三个简单而优秀的 Linux 网络监视器

你可以通过 iftop、Nethogs 和 vnstat 这三个 Linux 网络命令,了解有关你网络连接的大信息。iftop 通过进程号跟踪网络连接,Nethogs 可以快速显示哪个在占用你的带宽,而 vnstat 作为一个很好的轻级守护进程运行,可以随时随地记录你的使用情况。 iftop iftop 监听你指定的网络接口,并以 top 的形式展示连接。 这是一个很好的小工具,用于快速识别占用、测速度,并保持网络流的总体运行。看到我们使用了多少带宽是非常令人惊讶的,特别是对于我们这些还记得使用电话线、调制解调器、让人尖叫的 Kbit 速度和真实的实时波特率的老年人来说。我们很久以前就放弃了波特率,转而使用比特率。波特率测信号变化,有时与比特率相同,但大多数情况下不是。 如果你只...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Apollo 配置中心简单介绍

Boot的ConfigurationProperties,方便应用使用(需要Spring 3.1.1+)同时提供了Http接口,非Java和.Net应用也可以方便的使用提供开放平台API Apollo自身提供了比较完善的统一配置管理界面,支持多环境、多数据中心配置管理、权限、流程治理等特性。不过Apollo出于通用性考虑,对配置的修改不会做过多限制,只要符合基本的格式就能够保存。在我们的调研中发现,对于有些使用方,它们的配置可能会有比较复杂的格式,而且对输入的值也需要进行校验后方可保存,如数据库、用户名和密码是否匹配。对于这类应用,Apollo支持应用方通过开放接口在Apollo进行配置的修改和发布,并且具备完善的授权和权限控制部署简单 配置中心作为基础服务,可用性要求非常高,这就要求...阅读全文

博文 2021-04-09 17:53:51 CSDN

Prometheus 常用 PromQL 语句样例

[4h], 3600)时间获取 Unix 时间,以秒为单位: time()获取最后一次成功运行的批处理作业的年龄: time() - my_batch_job_last_success_timestamp_seconds找一小时内没有成功的批处理作业: time() - my_batch_job_last_success_timestamp_seconds > 3600缺失数据处理当输入向为空时,创建一个一个输出序列: absent(my_metric_name)当输入的范围向5分钟内都是空的时候,创建一个空的输出序列: absent_over_time(my_metric_name[5m])标签操作用 - 分隔符连接两个标签的值: label_join(my_metric_name...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

Redis 6.0.0 GA已正式发布

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

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

Java Annotations详解

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

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

bmon:一个强大的网络带宽监视和调试工具

选项: $ bmon -bp enp1s0 我们也可以像下面这样按秒指定刷新间隔时间: $ bmon -r 5 -p enp1s0 如何使用 bmon 的输入模块 bmon 有很多能提供网卡统计数据的输入模块,其中包括: netlink - 使用 Netlink 协议从内核中收集网卡和流控制统计信息。这是默认的输入模块。 proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。 dummy - 这是用于调试和测试的可编程输入模块。 null - 停用数据收集。 要看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它: $ bmon -i netlink:help 下面的命令将启...阅读全文

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

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

服务化项目服务不可用几十分钟,造成订单数减少几十万笔,损失百万资金。 原因分析 当时是没有定位到具体的原因的,但是下面的原因也是一部分可能引起宕机的情况。 某服务化项目的业务增速非常快,在高峰期,数据库QPS突破35000,系统处于高负荷状态。 在高峰期如果同时执行几个全表扫描的SQL,会造成数据库压力急剧上升,应用超时增多,前端应用超时,用户重试,流飙升,形成了雪崩效应。 主要原因在与一些老项目的SQL询性能较差,并且使用的主库,对数据库影响较大。数据库QPS太高,但是缓存方案因为人手原因一直没有落地,慢SQL的问题处理优先级应该提升。 改进方案 针对每个应用建一个数据库账号,严格按照规范使用 缓存优化方案即时落地,慢SQL问题优先处理,集中处理目前已经发现的慢SQL(询时间超过1S...阅读全文

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

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

更早之前,AMD在其EYPC系列CPU中,也用到了"黏合"这一步骤,让芯片设计成本减少一半。自家芯片的“黏合”似乎已经不成问题,那么能否从全球市场上挑选出性能最优的芯片黏合在一起,创造出更强大的芯片?几周前,能够实现芯片互连的"万能胶"出现了,英特尔、AMD、台积电等芯片公司联合成立小芯片互连产业联盟,定制UCIe 1.0(Universal Chiplet Interconnect Express)标准。如果将同一家芯片公司的互连方式(例如英伟达的NVlink)视为只能黏合一种材且功能单一的胶水,那么UCIe标准的提出则意味着能够实现各种芯片互连的芯片万能胶的雏形初现。芯片万能胶,是否已经有足够的能力替代不断微缩的晶体管,成为摩尔定律的"续命丹"?“胶水”芯片时代的真起点"胶水"芯片发...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

Gitlab CI 配置文件 .gitlab

update --init --recursive 注意:如果想要此功能正常工作,子模块必须配置(在.gitmodules)下面中任意一个: 可访问的公共仓库http(s)地址, 在同一个GitLab服务器上有一个可访问到另外的仓库的真实地址。更多看Git 子模块文档。 Job stages attempts GitLab引入,要求GItLab Runner v1.9+。 正在执行的job将会按照你设置尝试次数依次执行下面的stages: 变 描述 GET_SOURCES_ATTEMPTS 获取job源的尝试次数 ARTIFACT_DOWNLOAD_ATTEMPTS 下载artifacts的尝试次数 RESTORE_CACHE_ATTEMPTS 重建缓存的尝试次数 默认是一次尝试。 例如...阅读全文

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

Vultr日本节点VPS主机使用小结

Vultr是一家性价比非常高的VPS提供商,多达15个数据库中心可以选择,并且全部使用SSD硬盘、KVM架构。网上有很多与DigitalOcean、Linode对比的文章,这篇文章主要是分享一下Vultr日本节点的使用感受。 之前看到很多文章对洛杉矶和日本节点进行了测试,不过最近从个人测试来看,电信到Vultr洛杉矶节点目前已经绕路一大圈,丢包也是惨不忍睹,估计是电信又在调整的原因,不知后期是否能恢复正常。 Vultr日本节点以前是限制200G流,不过现在流已经增加至400G/月,如果只是安心放网站是完全足够的,最便宜的配置只需要5$/月,1CPU、768MB内存、15GB存储、1000M共享带宽,性价比是非常不错的。 性价比虽不错,那对国内环境来说网络情况又如何,下面是不同运营商的...阅读全文

博文 2015-11-11 22:48:03 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 Jessie、Stretch 下安装配置 PHP7.2

: systemctl restart php7.2-fpm 更多日常的操作: systemctl restart php7.2-fpm #重启 systemctl start php7.2-fpm #启动 systemctl stop php7.2-fpm #关闭 systemctl status php7.2-fpm #状态 安装更多组件 上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见: root@debian.cn-service:~# apt-cache search php7.2 php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP...阅读全文

博文 2017-12-16 14:16:25 debian.cn

BlackArch Linux 2020.01.01版发布:新增120多款工具

BlackArch Linux开发者于今天宣布了新的ISO和OVA镜像,带来了诸多改进并引入了多款新工具,以帮助安全专家进行渗透测试和有道德的破解操作系统工作。BlackArch Linux 2020.01.01版本基于Linux Kernel 5.4.6内核,装备了120多种新的渗透和破解工具,并引入了诸多改进和错误修复,提供更好的硬件测和支持。 BlackArch Linux 2020.01.01同时还为LXDM显示管理器添加了Terminus字体支持,更新urxvt终端模拟器的配置文件来以增加动态更改大小的能力,并用Vundle.vim替代pathogen,添加了名为clang_complete的全新Vim插件。 除了上述更新的组件和更改之外,BlackArch Linux...阅读全文

博文 2019-12-30 09:49:58 debian.cn

树莓派4B修复USB

Macbook 12" 2015,Anker PowerPort Speed,Apple USB-C charger cable,LG 32ul950 屏幕都可以给新版正常供电了。 新版4B版本的测方法如下:在终端输入 cat /proc/cpuinfo 将会显示硬件版本,倒数第二行里有Revision。如果是如下的字符串,说明你买到的是已经修复的新版本,Revision: c03112。 值得注意的是,目前只有4G版本才有1.2版出货。 另外 Raspbian 的内核其实已经有64位的了,但是官方目前并没有公布,仅仅是在论坛里面的技术人员提到了这件事情。首先执行命令,更新系统:sudo rpi-update然后在config.txt中加一行:arm_64bit=1然后再更新并重启就可以生效了。虽然...阅读全文

博文 2020-01-28 11:17:21 C供电问题的新版已出货

Google 关于 Go 2 的讨论

语化的标识符或添加二进制整型字面”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文

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

Golang 中的 channel 通道详解

制将在编译期测。func f1(out chan<- int) {} func f2(out chan<- int, in <-chan int){} 在调用f1或f2的时候,传入的chan类型参数会自动隐式转换为chan<- int 和<-chan int类型,这种转换只是单向的,没有单向channel类型转换为chan类型。因为关闭操作只用于断言不再向channel发送新的数据,所以只有在发送者所在的goroutine才会调用close函数,因此对一个只接收的channel调用close将是一个编译错误。带缓存的channel带缓存的Channel内部持有一个元素队列。队列的最大容是在调用make函数创建channel时通过第二个参数指定的。通过内置函数cap() 可以获得...阅读全文

如何更改 Linux 的 I/O 调度器

Linux 的 I/O 调度器是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度器。Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐。 目前 Linux 上有如下几种 I/O 调度算法: noop - 通常用于内存存储的设备。 cfq - 完全公平调度器。进程平均使用IO带宽。 Deadline - 针对延迟的调度器,每一个 I/O,都有一个最晚执行时间。 Anticipatory - 启发式调度,类似 Deadline 算法,但是引入预测机制提高性能。 看设备当前的 I/O 调度器: # cat /sys/block//queue/scheduler 假设磁...阅读全文

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

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

Debian 如何修改默认网卡为 eth0

Debian 系统安装以后,可能会遇到网卡设备名不是常见的 eth0 的情况。我们有没有办法统一网卡设备名称呢? 在服务器环境中,统一网卡设备名是很有必要的。标准化的配置会节省我们大的时间,这些时间可能会花在排障、监控的配置、状态收集脚本的调整等。 这里我们介绍如何把 Debian 系统中的网卡从非 eth0,调整为 eth0,这个设备名是各 Linux 系统中比较通用的网卡设备名。下面我们以设备名 ens3 为例,介绍在Debian 系统中,如何修改网卡设备名为 eth0 的具体步骤。 首选,我们需要编辑 grub 的配置文件,修改启动参数。使用编辑器打开 /etc/default/grub, 找: GRUB_CMDLINE_LINUX="" 找到这行,并修改为...阅读全文

博文 2019-07-12 13:59:08 debian.cn

RabbitMQ 3.8.8 发布:引入维护模式

RabbitMQ 3.8.8 已经发布。RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 编写而成,因此它也继承了这些优点。 此版本最大亮点是引入了一种新的节点操作模式,称为维护模式。 当将节点放下进行维护并处于维护模式时,该节点将无法用于服务客户端流,并且将尝试尽可能实际地转移其职责使其安全。当前,这涉及以下步骤: 挂起所有客户端连接侦听器(不接受新的客户端连接)关闭所有现有的客户端连接:应用程序应重新连接到其它节点并恢复所有经典镜像队列的主副本托管在传输目标节点上所有仲裁队列的主要副本托管在传输目标节点上,并阻止它们参与随后触发的 Raft 选举将节点标记为关闭以进行维...阅读全文

博文 2020-09-04 09:46:57 debian.cn

C++20 标准草案全票批准通过

拟constexpr 向和字符串计时:日历、时区支持std::formatstd::spanstd::jthread 详细变化看 cppreference.com, open-std.org 和 Wikipedia。 像 Concepts/Ranges/Modules/Coroutines 这些新特性将会对开发者及 C++ 生态产生不小的影响,也为这门“高龄”编程语言增添不少魅力。 工具方面,GCC 10 编译器对 C++20 标准已基本支持,在更早的 GCC 8/9 中,目前尚待完成的是对 modules 的支持。GCC Wiki 页面概述了目前正在进行的工作。此外,Clang C++ 状态报告页面显示已完成了对大部分特性的支持,待完成的包括 concepts, immediate...阅读全文

博文 2020-09-08 10:51:13 debian.cn

Debian 安装 fail2ban 方式SSH爆破攻击

使用 Debian 这么久,影响最深的小软件莫过于 fail2ban 了。对多数服务器而已,对外开放的服务中,风险相对较高的莫过于 SSH 服务了, fail2ban 是一个轻、有效、便捷的保护服务器免受暴力攻击的工具。 Fail2ban 使用 iptables 来阻止攻击者。 Fail2ban 的安装非常简单。Debian 及衍生版,可以直接从软件源安装: apt-get install fail2ban 安装结束后便进入可用状态,默认的设置就足够使用了。这就是 Debian 的风格,不需要不必要的人工干预,在不知不觉中就提升了你的效率。我们还是来看一下 fail2ban 的配置文件 /etc/fail2ban/jail.conf ,默认区段如下: [DEFAULT]ignoreip...阅读全文

博文 2019-03-27 16:45:58 debian.cn

互联网协议正在发生变化

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

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

是我们如何保护基础设施、网络和数据的哲学的巨大范式转变。”当然,零信任并不意味着抛弃防火墙——纵深防御是任何安全策略的重要组成部分。这也不意味着我们可以忽略所有其他重要的安全组件,例如事件记录和供应链管理。零信任只要求我们将信任从“一次在边界”转移到“每次,无处不在”。然而,为了正确地做到这一点,我们需要重新考虑一些关于“信任”意味着什么以及我们如何捕捉它的基本假设。身份零信任最直接的影响之一是它改变了我们思考和分配身份的方式,尤其是系统身份。在边界模型中,位置实际上就是身份。如果在防火墙内,那么是可信的;如果你在它之外,就不是。因此,基于边界的系统可以允许基于客户端 IP 地址等信息访问敏感系统。在零信任世界中,这已经不够了。IP 地址仅用于指示位置,因此不再足以确定是否可以访问特定资...阅读全文

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

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