健康学习到150岁 - 人体系统调优不完全指南
去年 5 月曾经写了一篇文章介绍了下 [Lex Fridman 大佬的日常生活安排](https://zhuanlan.zhihu.com/p/371254789) ,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。...阅读全文
去年 5 月曾经写了一篇文章介绍了下 [Lex Fridman 大佬的日常生活安排](https://zhuanlan.zhihu.com/p/371254789) ,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。...阅读全文
Visual Studio Code 刚刚公布了其 2018 发展路线图。开发团队表示,他们通常会先制定目标,然后将工作分解在后续的 6-12 个月时间内。在当前的规划中,主要会从以下三个角度进行改进: Happy Coding: 为新用户和现有用户提供更愉快的编码体验。 Node、JavaScript 和 TypeScript: 为各种语言和框架实现卓越的端到端体验。 A Rich Extension Ecosystem: 提供更丰富的扩展功能,构建良好的生态系统。 各项大致内容(仅供参考) Happy Coding 计划针对以下方面进行改进: Fundamentals:提高启动性能、减少资源/内存消耗、提高可访问性、支持社区贡献的翻译语言包、改善更新体验、提高可维护性等...阅读全文
=> os.ReadFileTempDir => os.MkdirTempTempFile => os.CreateTempWriteFile => os.WriteFile 与此同时大家也不需要担心存在破坏性变更,因为有 Go1 兼容性的保证,在 Go1 中 io/ioutil 还会存在,只变更内部的方法调用: func ReadAll(r io.Reader) ([]byte, error) { return io.ReadAll(r) } func ReadFile(filename string) ([]byte, error) { return os.ReadFile(filename) } 大家在后续也可以改改调用习惯。 支持静态资源嵌入 如果我们希望把静态文件编译进 Go 的二进制文件的话,在以往需要借助 go...阅读全文
RT-Thread 3.0.1 已发布。开发团队表示,后续将有望做到一个月或最多三个月出一个小版本,一年出一个大版本。 在 3.0.1 版本中,USB Stack 得到了极大的增强,在 STM32F4xx 处理器上实现了对应的 USB Device 驱动,以及包括 HID,MSC,甚至是 RNDIS,ECM,WinUSB 等一系列的 class driver。 其他几项更改: 在 Kconfig 中添加 IPv6 选项 增加 QEMU VExpress A9 驱动 为 Linux / Mac 平台添加 menuconfig :使用 scons –memuconfig 启用 为 IAR 项目添加 LIBS 功能 修复 filesystem_operation_table 问题 新增用于...阅读全文
Debian 11 “Bullseye”的版本本质冻结(build-essential freeze)现在已经生效,发布团队不再受理过渡请求。同时,Debian 12 的架构支持已经进入早期讨论阶段,后续版本可能会减少对 i386 的支持。 Debian 11.0 “Bullseye” 将于 2 月 12 日对新软件包进行软冻结(soft freeze),3 月 12 日进入硬冻结(hard freeze),而完全冻结(full freeze)会根据开发情况再决定发布日期。 Debian 发布团队已经确定 Debian 11 支持 AMD64, ARM64, ARMEL, ARMHF, i386, MIPS64EL, MIPSEL, PPC64EL 和 s390x 架构,当前开发周期内确认...阅读全文
11 月 1 日,开源数据库 MariaDB 在官网正式宣布已完成由阿里巴巴领投的 C 轮 2700 万美元的融资。融资完成后,MariaDB 将具备更强的实力参与数据库竞争。阿里巴巴集团旗下云计算部门阿里云已在今年 3 月成为 MariaDB 白金赞助商,双方后续将继续合作,为云端和新兴用例提供新的解决方案。 MariaDB 公司创始人 Michael Wideneus 表示:“ MariaDB 获得本轮融资,得益于基于我们为下一代应用而推出的一整套完备的数据基础应用功能建设。同时,在发布基于人工智能的,面向云和自动化的新一代解决方案之后,这轮融资将使得 MariaDB 未来得以高速发展。” 阿里云副总裁李津也表示:“ MariaDB 正在成为企业级开源数据库的标准。我们相信,在开源社区...阅读全文
Linux Mint 19 “Tara”系统后续会有三个维护更新,分别为 Linux Mint 19.1/19.2/19.3 ,而 Cinnamon, MATE 和 Xfce 桌面环境版本同样会有三个更新。 其他方面,LMDE 3 只搭载 Cinnamon 3.8 桌面环境上线,支持 32/64 位系统。除了一些基础功能之外,团队正在为 Linux Mint 19 “Tara”主目录进行加密,但是 LMDE 3 不支持全盘或者主目录加密。 另个有趣的地方在于, Linux Mint 19 “Tara”明确表示不会收集/发送你的隐私或者系统数据,并且确认不会搭载 Canonical 部署在 Ubuntu 18.04 LTS 中的“ubuntu-report”,该服务可允许选择发送的数据类型。...阅读全文
缩率,Zstd 的压缩率要比内核使用的 Gzip 低,但比 XZ 和 LZMA 高。不过 Zstd 是除了 LZ4 之外,解压速度最快的算法。 根据目前的情况来看,内核对 Zstd 的支持有望在下一个版本中(Linux Kernel 5.9)实现。一旦 Zstd 进入内核主线,Nick 的后续计划是放弃对 BZ2 和 LZMA(1) 的支持。这将有助于清理更多的内核代码,因为 Bzip2 和 LZMA 目前并没有在内核树之外的其他地方使用。...阅读全文
本站为了长期发展的需要,使用了部分展示类的广告,在尽量不影响读者阅读的位置展示。这部分广告虽然收益微薄,但提供了一个可以研究广告平台的小窗口,也是件有意思的事情。我们后续会根据运营情况,决定是否移除广告。 本站的广告收入会补贴维持站点运行所需要的服务器、域名、带宽、CDN等费用。同时我们也接受广告投放、内容合作等合作方式。广告形式包括网站展示类广告、微博推广和 QQ群推广等方式,广告内容的主体需与 Debian中国 站点一致,为IT相关的话题,以不引起读者反感为准。 开源项目及技术相关的公益性项目,可联系我们评估,通过后会得到 Debian中国 的免费广告投放支持。 您可以通过电子邮件 ads@debian.cn 、或者通过QQ与站点管理人员联系,或者直接通过这里联系我们。 ...阅读全文
来自以色列的安全机构CTS-Labs突然曝出猛料,声称AMD Zen架构处理器存在四组12个高位安全漏洞,涉及Ryzen、EPYC全线产品。AMD第一时间对此发表了一份官方声明。 “我们刚刚收到一家名为CTS-Labs的公司的报告,声称我们的特定处理器产品可能存在安全漏洞。我们正在积极进行调查和分析。这家公司AMD从未听闻,而且不同寻常的是,这家安全机构直接将自己的发现公布给了媒体,却没有给AMD合理的时间调查和解决问题。安全是AMD的首要职责,我们持续努力确保我们客户的安全,应对新的安全威胁。如有后续进展我们会第一时间公告。” 可以看出,由于事发突然,特别是这些漏洞发现并没有按照行业惯例提前通知并给予90天的静默期,AMD被打了个措手不及,目前还无法完全证实这些漏洞的真伪。 即便是真的存...阅读全文
,TokyoTyrant及Schooner Membrain等。RethinkDB为各种应用压力下提供高性能和高可靠性 支持,主要应用在下面一些场景: 用来处理一些其它方案无法解决的服务负载(如:要求快速的服务启动,在数据量超出内存大小后还要有高的性能,处理各种不稳定的读写压力,处理大量数据等) 提供性能与数据稳定性之间的精细调控 大大提高你的缓存层和key-value存储的性能,在你现有的硬件条件下,能支持更高的应用负载。 使用费用 RethinkDB目前提供两个版本的支持,一个免费版的,一个商用版的。商用版本的价格是每年每台机器$1500。免费版提供目前所有功能,提供后续所有安全相关的升级。但是新功能的升级只保证在付费版本中保持更新,另外商用版本还提供技术支持。...阅读全文
由于 Qt 5.11 将于下个月月底发布,因此 Qt 开发人员已经开始讨论后续的 Qt 5.12 版本,并计划将于 2018 年年底发布。主管 Qt 发布的经理 Jani Heikkinen 一直在制定 Qt 5.12 的开发日程。关于这方面,Qt 5.12 将会在 8 月 20 日左右进行特性冻结,而最终版本计划在 11 月底发布。 Qt 5.12 有一个值得关注的变化就是停止使用 alpha/beta 版本,取而代之的是只发布“快照 (snapshots)”版本,直到他们准备好发布候选版本。Jani 几天前已经在邮件列表 提出 了有关这些更改的建议。 但也有其他 Qt 开发者表达了他们对从开发周期中移除”alpha” 或 “beta” 标签建议的不满,他们担心,如果只是被简单地称为“快...阅读全文
,IETF QUIC "在TCP上明显优于TLS 1.3的HTTPS"。例如,谷歌搜索延迟降低了2%,而YouTube的重新缓冲时间减少了9%。 因此,该公司在其浏览器中启用了对IETF QUIC的支持,不少于25%的用户从今天起会自动启用。根据谷歌的说法,本次实现是基于29号草案,这不是最新的版本,但在后续的草案中没有突破性的变化。谷歌还没有添加的是对IETF QUIC 0-RTT的支持,它将在以后出现,这将带来更好的性能。 HTTP/3还没有最终确定,目前还不清楚浏览器何时能有一个完全最终确定的实现。...阅读全文
的软件原来根本就没有。该仓库正因此而设,但欠官方维护,且可能在系统正式发布之后过一段时间才有内容。此仓库处于第二优先顺序,而上述几个仓库处于第一优先顺序。安装第二优先顺序的包必须特别指明,见 apt-get(8) aptitude(8) 的 --target-release 选项。 提示:并非所有版本都设有上述全部仓库,请打开源中 dists 目录查看。 后续字段,指示包许可类型。 后续字段排名不分先后,最终结果取其并集。按包本身的许可及所直接依赖的包的许可划分。打开某仓库,可见几个子目录。 Debian 最多有三种 「main」,本身是自由软件,且所有依赖的包也都是自由软件,此类可称纯自由软件,见 https://www.debian.org/distrib/packages《Debian...阅读全文
。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全部的acl参数 -k:删除默认...阅读全文
摘要: 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的《Flink 1.14 新特性预览》。主要内容为: 简介 流批一体 Checkpoint 机制 性能与效率 Table / SQL / Python API 总结 此文章为 8 月 7 日的分享整理,1.14 版本最新进展请注意文中的注释说明。 一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作完成;5 个任务不确定是否能准时完成;另外 4 个特性由于时间或者本身设计上的原因,会放到后续版本完成。[1] 1.14 相对于历届版本来说,囊括的优化和新增功能点其实并不算多。通过观察发版的节奏可以发现,通常在 1...阅读全文
Pyinotify 是一个简单而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改。用于在Linux中实时监控文件系统的变化。 作为系统管理员,您可以使用它来监视目标感兴趣的更改,如Web目录或应用程序数据存储目录及其他目录。这取决于inotify (包含在 2.6.13及后续Linux内核中的功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。 pyinotiy的目的是绑定三个系统调用,并支持其上的实现,提供了一个共同和抽象的手段来操纵这些功能。 在本文中,我们将向您展示如何在Linux中安装和使用pyinotify来实时监控文件系统更改或修改。 依赖关系 为了使用pyinotify ,您的系统必须运行: Linux内...阅读全文
书针对网站域名及所有权进行严格书面审查,通过审核之后,证书上标示企业资料,让访问用户可以直接了解企业身份并强化信任感,为后续其他基于互联网的服务内容提供妥善保护。安全级别较高。 EV(扩展型/增强型)SSL证书:扩展验证网站所属单位身份,适合高度信任的企业级用户使用。如金融行业、银行、电子商务平台等;EVSSL的最大特点便是激活网站在浏览器的标签栏使其变绿,利用鲜明的标示告诉用户:这个网站正受到最严密的信息安全防护,同时通过证书标示增强机构信赖及网站真实合法认定。安全级别最高。...阅读全文
计、开发自己的技术和产品。1.0版本:最终正式版,公开发布。 事实上,0.5版本发布之后,厂商们已经可以开始设计测试芯片,为后续工作提前做好准备。 尽管升级速度加快,但是每一代PCIe规范的变化都相当大,尤其是带宽每次都翻一番,并兼容所有前代规范。 PCIe 6.0也不例外,向下兼容PCIe 5.0/4.0/3.0/2.0/1.0的同时,数据率或者说I/O带宽会再次加倍来到64GT/s,PCIe 6.0 x1单向实际带宽8GB/s,PCIe 6.0 x16单向带宽128GB/s、双向带宽256GB/s。 PCIe 6.0将延续PCIe 3.0时代引入的128b/130b编码方式,但加入全新的脉冲幅度调制PAM4,取代PCIe 5.0 NRZ,可以在单个通道、同样时间内封包更多数据,以及低延迟...阅读全文
”或“iOS 开发者”实际上不是指那些在上游项目开发的人,而是那些为下游平台开发的人,所以需要换一个词来表示“Debian 开发者”,目前有“DPM for Debian Project Member”等建议,后续需要进行适当的讨论,找到一组合适的单词和缩写。...阅读全文
在微软宣布以 75 亿美元的价格收购 GitHub 后,这个在全球拥有超过 2800 万开发者的代码托管平台即将在微软庞大的云计算框架下进行独立运作。 微软 CEO Satya Nadella,CFO Amy Hood ,GitHub 联合创始人兼现任 CEO Chris Wanstrath ,以及即将上任的 GitHub CEO(也是 Xamarin 创始人)Nat Friedman 昨天在短暂的媒体电话会议中分享了有关此次收购和微软对 GitHub 的后续规划的更多细节。 微软在扩展 GitHub 的覆盖面,以及将平台融入微软生态上有着宏伟的规划,但所有的计划会基于以下两点原则:GitHub 将保持自主性独立运营,GitHub 向所有开发者开放。 1、三大策略将 GitHub 融入微软...阅读全文
Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产环境中企业用户可能面临的基础设施不同的困境,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。 新版本的更新亮点有: Rancher CVE-2019-11202 修复 开发团队发现过一个问题:Rancher 首次启动时创建的默认管理员帐户将在 Rancher 的后续重新启动时重新创建,即使 Rancher 管理员明确删除了该帐户,也仍会如此。这会带来一定的安全风险,因为帐户是使用 Rancher 的默认用户名和密码重新创建的。因此,攻击者可以使用这些默认账号密码来获取对 Rancher...阅读全文
(User $user) => $user->id, $users) 需要注意几点: 短闭包可以直接访问闭包函数外面的变量,所以不需要再写 use 关键词以fn关键词开始$this 可以像普通的闭包一样使用短闭包只有一行代码,仅仅做返回声明使用,不允许使用return 关键词 还可以使用更严格类型的方式 $ids = array_map(fn(User $user): int => $user->id, $user); 预加载 PHP预加载可以极大的提高性能 优点:在PHP 7.4以前,如果你使用了框架来开发,每次请求文件就必须加载和重新编译。预加载在框架启动时在内存中加载文件,而且在后续请求中永久有效。 缺点:性能的提升会在其他方面花费很大的代价,每次预加载的文件发生改变时,框架需要重新启动。 属...阅读全文
。”Pigweed 项目团队希望名字有趣,又能反映项目本身的成长,就像快速生长的杂草 Pigweed 一样。 目前,Pigweed 已提供了不少模块,后续将会有更多模块被添加进来。需要注意的是,它仍处于早期开发阶段,目前不适合用于生产。...阅读全文
。IOChaos:模拟具体某个应用的文件 I/O 故障,例如 I/O 延迟、读写失败。TimeChaos:模拟时间跳动异常。KernelChaos:模拟内核故障,例如应用内存分配异常。平台类型故障:AWSChaos:模拟 AWS 平台故障,例如 AWS 节点重启。GCPChaos:模拟 GCP 平台故障,例如 GCP 节点重启。应用层故障:JVMChaos:模拟 JVM 应用故障,例如函数调用延迟。混沌实验场景混沌实验场景由一组混沌实验和应用状态检查组成,旨在帮助用户在平台上实现混沌工程闭环。用户运行混沌场景,可以通过一系列的混沌实验,不断地扩大爆炸半径(包括攻击范围)和增加故障类型。运行混沌实验后,用户可以方便地检查当前的应用状态,判断是否需要进行后续混沌实验。同时用户可以不断地迭代混沌实验场景,积累...阅读全文
IETF 和互联网生态系统而言,这都是一件大喜事。近年来,QUIC 一直是 IETF 最引人瞩目的活动之一。作为搜索巨头 Google 发起的一项实验,其已经历了五年时间的发展,期间举办了 26 场面对面会议、商议了 1749 次问题、以及成千上万封的邮件沟通。在 IETF 标准的开发协作与迭代流程指导下,QUIC 协议跨越了传统上孤立的传输、安全和应用程序空间,且在审议期间引发了热烈的讨论,最终顺利过渡并达成了广泛的共识。考虑到互联网传输生态系统已经僵化了几十年,而 QUIC 将能够通过加密、版本控制、后续可建立的更丰富的技术、以及高性能服务来摆脱这种尴尬的僵化局面。QUIC 已经做好了引领下一代互联网创新的准备,且开始通过不可靠数据报之类的扩展,为实时媒体和其它不需要完全可靠传输服务的应用程序...阅读全文
sidecar和prometheus则走原生HTTP接口拿数据。 为了高可用,我们可以部署多个prometheus同时抓取。 为了打散采集/存储压力,我们可以部署多个prometheus各自抓取部分数据。 无论出于上述哪种目标或者混合目标,最终依靠Querier的正确配置都可以提供统一的Promql查询入口给Grafana,这一点是毋庸置疑的。 这里看到了图中有几个陌生的组件: Store Bucket Compactor Prometheus单机存储空间有限,SideCar和Prometheus在同POD内共享数据volume,然后sidecar可以自动将prometheus磁盘数据上传到Bucket里归档存储;后续Querier可以通过Store组件从Bucket拉取到历史数据,这样就实现了历史数据...阅读全文
传输协议有 TTHeader、HTTP2。TTHeader 可以和 Thrift、Kitex Protobuf 结合使用;HTTP2 目前主要是结合 gRPC 协议使用,后续也会支持 Thrift。 多消息类型:支持 PingPong、Oneway、双向 Streaming。其中 Oneway 目前只对 Thrift 协议支持,双向 Streaming 只对 gRPC 支持,后续会考虑支持 Thrift 的双向 Streaming。 服务治理:支持服务注册/发现、负载均衡、熔断、限流、重试、监控、链路跟踪、日志、诊断等服务治理模块,大部分均已提供默认扩展,使用者可选择集成。 代码生成工具:Kitex 内置代码生成工具,可支持生成 Thrift、Protobuf 以及脚手架代码...阅读全文
types 已废除,将会在10.0中移除。用stages替代。 与stages同义 variables GitLab Runner V0.5.0. 开始引入 GItLab CI 允许在.gitlab-ci.yml文件中添加变量,并在job环境中起作用。因为这些配置是存储在git仓库中,所以最好是存储项目的非敏感配置,例如: variables: DATABASE_URL:"postgres://postgres@postgres/my_database" 这些变量可以被后续的命令和脚本使用。服务容器也可以使用YAML中定义的变量,因此我们可以很好的调控服务容器。变量也可以定义成job level。 除了用户自定义的变量外,Runner也可以定义它自己的变量...阅读全文
的异步模型。2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息...阅读全文
extract目录下dpkg -X ../openssh-xxx.deb extract/#解压出包的控制信息extract/DEBIAN/下:dp... deb解压软件 01-04 用于解压deb文件,后续可以用其它软件将解压后的文件转ipa 获取deb包并进行解压方法 狂客队长 05-26 1万+ 获取deb包: apt-get download 包名 解压deb包: 在这里保证你已经下载好了deb包,并且自己已经在deb包所在的目录了,然后解压缩deb包 ar -x pakname.deb 解压deb完毕后会发现多出几个文件,这里主要用到data.tar.gz等包,这个是放着二进制文件的包,用tar解压这个包 tar -zxf data.tar.gz Ubuntu中deb包详解及打包教程 张懿的博...阅读全文
) { // Start handlers for i := 0; i < MaxOutstanding; i++ { go handle(clientRequests) } <-quit // Wait to be told to exit. } 开始就启动固定数量的handle goroutine,每个goroutine都直接从channel中读取请求。这种写法比较简单,但是不知道有没有“惊群”问题?有待后续分析goroutine的实现。 5. 传递channel的channel channel作为go语言的一种原生类型,自然可以通过channel进行传递。通过channel传递channel,可以非常简单优美的解决一些实际中的问题。 在上一节中,我们主goroutine通过channel将请求传递给工作...阅读全文
Mythbuntu个人软件包归档进行MythTV安装,其中将继续包含MythTV后续更新。 9. KDE迎来20岁生日 KDE已经20岁了。自它于1996年10月公布以来,KDE的设计目标就非常明确——并非为Unix系统或者系统管理员创建一套GUI,而是为最终用户创建GUI,例如帮助用户浏览网页、编写邮件或者玩游戏。 10. Linux内核bug威胁14亿台Android设备 很明显,Linux内核中的问题同样会给Android造成影响。因此,今年被发现的3.6版本内核传输控制协议bug已经影响到约八成Android设备,即14亿台左右。尽管这个bug并非最为严重的Android安全bug,但仍将导致众多相关设备在接入互联网时遭遇入侵风险。尽管如此,研究人员表示任何稍微具备技术知识的用户都能够轻松解决这一漏...阅读全文
kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文
://get.k3s.io | sh - 等到命令完成后,一个单节点集群就已经运行起来了。让我们检查一下,在这个派上执行命令后,可以看到以下输出, kmaster$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION kmaster Ready master 2m13s v1.14.3-k3s.1 部署工作节点 主节点完成安装后,我们开始部署工作节点。在工作节点上安装 K3s 时,会用到 join token 连接令牌,它可以使用如下命令从主节点上获取到。获取到令牌 join token 后,先保存起来,便于后续使用, sudo cat /var/lib/rancher/k3s/server/node-token 我们把两个树莓派工作节点的主机名分别设置为...阅读全文
/log/journal/。请参见 systemd-journald.service(8) 以了解细节;请注意 Debian 中的日志除了默认的 systemd-journal 组外,还可以被 adm 用户组内的成员阅读。这项改动应该不会对任何已有的传统日志守护程序(例如 rsyslog)产生任何干扰,但是不依赖这些守护程序所提供的特别功能的用户应当考虑将传统日志程序卸载并切换到仅使用新的 systemd 日志工具。新的 Fcitx 5 输入法Fcitx 5 是用于中文、日语、韩语和其它许多语言的一个输入法。它是 buster 提供的 Fcitx 4 的后续版本。新版本增加了对 Wayland 的支持并改进了扩展支持。内核 exFAT 支持bullseye 是第一个提供支持 exFAT 文件系统的...阅读全文
context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文
,可能是先从RSS数据源中抓取文章的内 容,然后将其丢入一个叫做“文章”的topic中;后续操作可能是需要对这个内容进行清理,比如回复正常数据或者删除重复数据,最后再将内容匹配的结果返 还给用户。这就在一个独立的topic之外,产生了一系列的实时数据处理的流程。 日志聚合:使用Kafka代替日志聚合(log aggregation)。日志聚合一般来说是从服务器上收集日志文件,然后放到一个集中的位置(文件服务器或HDFS)进行处理。然而Kafka忽略掉 文件的细节,将其更清晰地抽象成一个个日志或事件的消息流。这就让Kafka处理过程延迟更低,更容易支持多数据源和分布式数据处理。比起以日志为中心的 系统比如Scribe或者Flume来说,Kafka提供同样高效的性能和因为复制导致的更高的耐用性保证...阅读全文
期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文
任何类型的向后兼容的“增量”语言特性变更,因为他们认为无论变更多么小,都要有更全面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性变更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还合并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文
众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文
近日,百度两年前的一桩诉讼案终于有了答案。中国裁判文书网显示,百度运维员工“安某”从 2018 年1 月底到 5 月底,以技术手段在公司服务器上部署“挖矿”程序,非法控制 150 余台服务器以获取比特币、门罗币等虚拟货币,共获利人民币 10 万余元。 事发后,“安某”不仅被没收了所有获利金额,罚款 11000 元,还背上了三年牢饭,有点惨。 4 个月,占用 155 台服务器,获利 10 万余元。 2017 年“安某”正式入职百度,彼时,比特币的价格飙升到了近 2 万美元,按照当时的汇率,一枚比特币人民币价格将近 13 万。虽然后续的币价有所降低,但挖到一枚,还可以挣几万块,这样的诱惑或许没有几个人会选择无视。 2018 年初,“安某”开始打起了挖矿的主意。 挖矿,是指利用服务器CPU的运算...阅读全文
,并且使用 nfs-client-provisioner 插件来动态创建 PVC。 执行部署 Nacos 应用 -n:指定部署的 Namespace $ kubectl apply -f nacos-deploy.yaml -n mydlqcloud 4、暴露 Nacos 对外访问 这里我们再创建一个 Service 资源,设置其类型为 NodePort 方式,提供 NodePort 端口为 30848,方便后续我们对 Nacos Dashboard 进行访问。 kind: Service apiVersion: v1 metadata: name: nacos namespace: devops labels: app: nacos spec: ports: - name: server...阅读全文
server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文
含所有本应该返回200响应中应当返回的所有实体头部域。 假如 ETag 或 Last-Modified 头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容组合在一起。 任何不支持 Range 以及 Content-Range 头的缓存都禁止缓存206响应返回的内容。 207 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 3xx 重定向 这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。 当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才...阅读全文
遍历,O(n)的轮询时间复杂度。 poll模型 考虑到select模型的几个限制,后来进行了改进,这也就是poll模型,既然是select模型的改进版,那么肯定有其亮眼的地方,一起来看看吧。当然,这次我们依旧是先翻阅linux man二类文档,因为这是官方的文档,对其有着最为精准的定义。 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 其实,从运行机制上说来,poll所做的功能和select是基本上一样的,都是等待并检测一组文件描述符就绪,然后在进行后续的IO处理工作。只不过不同的是,select中,采用的是bitmap结构,长度限定在1024位的文件描述符表,而poll模型则采用的是pollfd结构的数组fds,也正是由于...阅读全文
复回复(除非他觉得这个问题值得再商榷),因此他就可以用这些时间去解决其他问题。 追加的信息无须太冗厂繁复,一句简单的「你好,问题已解决,是网线坏了!谢谢大家──比尔」就比什么都没有要好。事实上,除非解决问题的过程很复杂,需要用得很高深的技术,否则就用一条简短亲切的总结来回复就好了,总结中说明用了什么方法,解决了什么问题,无需将整个解决问题的过程给写下来。 对于有深度的问题,建议给出一份完整解决该问题的方案,方案包括:问题的最终状态、用了什么方法、列出具体的步骤和和易出错的地方,这样才可以给到后来者一个完整的指引,注意不要将此方案搞成什么侦探推理小说。最后列出那些帮助过你的人的名字,那样你有可能会交到朋友。 这种后续的跟进信息不仅是礼貌的回复,而且是内容的分享,因为这些后续的解决方案会帮助其他...阅读全文
header 主要有 Call-Definition 以及 Custom-Metadata。Call-Definition 里面包括 Method(其实就是用的 HTTP/2 的 POST),Content-Type 等。而 Custom-Metadata 则是应用层自定义的任意 key-value,key 不建议使用 grpc- 开头,因为这是为 gRPC 后续自己保留的。 Length-Prefixed-Message 主要在 DATA frame 里面派发,它有一个 Compressed flag 用来表示该 message 是否压缩,如果为 1,表示该 message 采用了压缩,而压缩算啊定义在 header 里面的 Message-Encoding 里面。然后后面跟着四字节的...阅读全文
。而且,它在 BSON 中是“deprecated”,会转换成$null,这并不是一个总令人满意的解决方案。 在 MongoDB 中,要避免使用“undefined”。 使用$limit() 而未用$sort() 通常,当你在 MongoDB 中开发时,仅仅查看查询或聚合返回的结果的样例会很有用。 $limit() 就是为了满足这个要求,但是,它永远不应该出现在最终版本的代码中,除非你首先使用了$sort。这是因为,不这样的话,你就无法保证结果的顺序,你就无法可靠地“按页浏览”数据。为了确保可靠性,查询或聚合必须是“确定的”,就是说,它们每次执行都会给出相同的结果。包含$limit 而不包含$sort 的代码不是确定的,后续会导致难以跟踪的 Bug。 小结 对于 MongoDB,让你最终感到失...阅读全文
: 1 week dependencies GitLab 8.6 和 GitLab RUnner v1.1.1引入。 这个功能应该与artifacts一起使用,并允许定义在不同jobs之间传递artifacts。 注意:所有之前的stages都是默认设置通过。 如果要使用此功能,应该在上下文的job中定义dependencies,并且列出之前都已经通过的jobs和可下载的artifacts。你只能在当前执行的stages前定义jobs。你如果在当前stages或者后续的stages中定义了jobs,它将会报错。可以通过定义一个空数组是当前job跳过下载artifacts。 在接下来的例子中,我们定义两个带artifacts的jobs,build:osx和build:linux。当test:osx...阅读全文