nsenter 及 Linux命名空间 简介
{{.State.Pid}} nginx 然后,使用nsenter命令进入该容器的网络命令空间: # nsenter -t 25942 --uts --ipc --net --pid root@docker:~# ip addr 1: lo:
{{.State.Pid}} nginx 然后,使用nsenter命令进入该容器的网络命令空间: # nsenter -t 25942 --uts --ipc --net --pid root@docker:~# ip addr 1: lo:
++] = node->off; graph->tail = tail & graph->cir_mask; } 复制代码 而API 函数 __rte_node_enqueue_tail_update目的就是调整 tail 把下一个 node 放到 pending stream 里。 下图展示了报文的传递跟 node 是如何被加到 pending stream 的关系。 注意一下 node 添加到 pending stream 的顺序取决于处理报文时的顺序。例如,如果报文 1 和 3 到 node2,而 报文 2 和 4 到 node3,那么 circular buffer/pending stream 中 node1 和 node2 的顺序将被交换。 组件 libgraph 的核心组件是 graph 和...阅读全文
些多年未见的老朋友,在这场谈话中,他们谈到了一个话题—— Debian 的民主以及他们在理论和实践上的失败。 作为最古老的 Linux 发行版本之一,Debian 系几乎占据 Linux 系统家族里的半壁江山;作为老牌的开源社区,Debian 运行了近30年依旧香火不断;但是,作为一个统筹几百个开发者协作的社会组织,Debian 为什么却让这些人失望了? 01 不吃香的 DPL Bruce Perens 走后,DPL(Debian Project Leader)这个词被 Debian 章程定义了出来。DPL 由 Debian 社区选举出来,一年一届,每年春天都会有一个 Debian 开发者竞选成功,接受这个组织的“加冕”。 2019年的春天,Debian 的这一选举却“轮空”了。3月11日...阅读全文
。因为收购是域名投资市场正常的交易行为,在这里,重点要说说域名仲裁的那点事。 关天域名仲裁的事儿,最近发生的也不少,有点名气的如淘宝仲裁"HAITAO"双拼,以失败告终。那么,仲裁的根源是什么?什么样的行为又会构成仲裁呢? 域名仲裁的依据,一般认为是根据《保护工业产权巴黎公约》第六条之2和《知识产权协议》第16条第3项都规定,禁止复制、仿造或翻译他人的驰名商标用于任何商品或服务。网络作为现实的延伸,国际公约中对驰名商标的保护,同样也延伸到网络世界中,而域名作为网络上一种唯一的、排它性的标志,自然是首当其冲。但是,由于域名注册的自由,开放,先得原则,与商标的保护,又存在着一定的冲突和约束,因此,ICANN就针对域名争端制定了《域名争端统一解决政策》。 在这两种原则相冲突的情况下,仲裁机构如何对与...阅读全文
,controller.quorum.voters 配置中提供的节点ID必须与提供给服务器的节点ID匹配。比如在Controller1上,node.Id必须设置为1,以此类推。注意,控制器id不强制要求你从0或1开始。然而,分配节点ID的最简单和最不容易混淆的方法是给每个服务器一个数字ID,然后从0开始。(二)下载并解压安装包bigdata01下载kafka的安装包,并进行解压:[hadoop@bigdata01 kraft]$ cd /opt/soft/[hadoop@bigdata01 soft]$ wget http://archive.apache.org/dist/kafka/3.1.0/kafka_2.12-3.1.0.tgz[hadoop@bigdata01 soft]$ tar -zxf kafka_2.12-3.1.0...阅读全文
多开源项目的贡献者并没有遵守。这样做的开发者不仅可以为成功地推动他们自己的项目,而且也有助于开源社区。 作者简介: Matt Hicks 是 Red Hat 软件工程的副主席,也是 Red Hat 开源合作团队的奠基成员之一。他历时十五年,在软件工程中担任多种职务:开发,运行,架构,管理。 【via: http://www.infoworld.com/article/3156776/open-source-tools/the-6-unwritten-rules-of-open-source-development.html 原作者:Matt Hicks 中文译者:Taylor1024】...阅读全文
knode1 和 knode2,并将 IP 地址分别调整为 192.168.0.51 和 192.168.0.52。调整完成后,就可以开始安装 K3s 了。 通过 ssh 连接到 knode1 上,执行类似的安装命令。在工作节点上安装 K3s 和之前差不多,需要加上额外的参数,表明它是一个工作节点,需要连接到已有的集群上, curl -sfL http://get.k3s.io | K3S_URL=https://192.168.0.50:6443 \ K3S_TOKEN=保存下来的JOIN_TOKEN sh - K3S_TOKEN 的值需要替换成保存下来的连接令牌。命令执行完后,在 knode2 的树莓派上重复这个安装过程。 访问Kubernetes集群 knode2的安装完成后,集群基本进入可用状...阅读全文
。FSF 是 Debian 的赞助者,所以自然对我有所期望;但同时我在要求别人在闲时帮忙开发 Debian,所以那些人对我自然也有期望。有时候这两边的期望会出现分歧,我无法两边都满足。」 就这样,Debian 和 FSF 的正式合作关系画上了句号。不过 Murdock 始终都非常强调 Stallman 为 Debian 做出的贡献: 倘若没有他,没有他过去 15 年内从未动摇的坚定立场,我们也就不会有如今「免费软件」的理念。 不久之后,1996 年 3 月,Murdock 决定辞退 Debian 项目领导人的身份。 我最近结婚了,我想花更多的时间陪伴我的家人。我已经为 Debian 埋头苦干了三年,我想我也是时候开始新的生活了。 在我们 1999 年面谈的时候,Murdock 表示他看到...阅读全文
Raspberry Pi 基金会 推出了 Pi Zero W。作为 Pi Zero 的一个新型号,Pi Zero W 在主板上新集成了 WiFi 和蓝牙,其 10 美元的售价要比 Pi Zero 贵上一倍,但是与五年前发布的 Raspberry Pi Model B 的 35 美元售价相比依然便宜不少。具备主板联网功能的 Pi Zero W 将开启物联网项目的更好前景。 一年前主板上具有 WiFi 和蓝牙的 Pi 3 Model B 推出 之后,下一步明显就是具备无线功能的 Pi Zero。要在最初的 Pi Zero 中添加联网功能,或是需要增加一个昂贵(与主板价格相比)且布局复杂的 USB OTG 适配器以及 USB WiFi 加密锁,或是要 绕过 USB WiFi 加密锁的内部机制...阅读全文
Gogs 创建数据库和用户。 使用 postgres 用户登录并运行 psql 命令以访问 PostgreSQL 操作界面,并创建一个名为 git 的新用户,给予此用户 CREATEDB 权限。 su - postgres psql CREATE USER git CREATEDB; \password git 然后创建名为 gogs_production 的数据库,设置 git 用户作为其所有者。 CREATE DATABASE gogs_production OWNER git; Gogs 使用的 gogs_production 数据库和数据库的 git 用户已经创建完。 步骤 3 - 安装 Go 和 Git 使用下面的 apt 命令从库中安装 Git,并创建系统用户 git, sudo...阅读全文
Refer to https://www.linkedin.com/pulse/system-design-rules-navneet-kumar-p6n7f/ 系统设计很复杂,它需要设计者有深厚的计算机知识和专业知识,没有一种通用的设计可以适应所有业务场景。尽管如此,还是有一些比较通用的规则可以供你设计系统时参考,也能帮助你在面试中摆脱困境。 1. 对于数据密集型系统 — 考虑使用缓存。 2. 对于写入量大的系统 — 使用消息队列进行异步处理 3. 对于低延迟要求 — 考虑使用缓存和 CDN。 4. 需要𝐀原子性、𝐂一致性、𝐈隔离性、𝐃耐用性兼容数据库 — 选择 RDBMS/SQL 数据库。 5. 对于非结构化数据——可以选择NoSQL...阅读全文
程: 1. 搭建环境 首先,我们需要安装Node.js和NestJS CLI,并创建一个NestJS项目。然后,我们需要安装TypeScript、GraphQL、TypeORM和其他依赖库。 2. 设计数据模型和API 在设计数据模型和API时,我们需要定义GraphQL Schema和TypeORM实体类。为了提高可维护性,我们可以使用代码生成工具进行自动化生成。 3. 实现后端功能 在实现后端功能时,我们需要编写NestJS控制器和服务,并调用TypeORM进行数据库操作。同时,我们需要集成GraphQL,并编写Resolver进行数据查询和操作。 4. 实现前端功能 在实现前端功能时,我们需要编写React组件,并使用Apollo Client调用GraphQL API。同时,我们需要...阅读全文
.deb 包并双击安装。 下载 MultiBootUSB 步骤 2 推荐的文件系统是 FAT32,因此在创建多引导 U 盘之前,请确保格式化 U 盘。 步骤 3 下载要安装的 Linux 发行版的 ISO 镜像。 步骤 4 完成这些后,启动 MultiBootUSB。 MultiBootUSB 主屏幕要求你选择 U 盘和你打算放到 U 盘上的 Linux 发行版镜像文件。 MultiBootUSB 支持 Ubuntu、Fedora 和 Debian 发行版的持久化,这意味着对 Linux 发行版的现场版本所做的更改将保存到 USB 上。 你可以通过拖动 MultiBootUSB 选项卡下的滑块来选择持久化(Persistence)大小。持久化为你提供了在运行时将更改保存到 U 盘的选项。 步骤 5...阅读全文
独立性和身份。 在交易结束后将成为 GitHub CEO 的 Nat Friedman 也重申,GitHub 致力于成为一个开放平台,任何人都可以上传和贡献代码。 Wanstrath 和 Friedman 就差明确表示,开发者担心微软搞乱 GitHub 风气的问题不会存在。 3、领导班子重组 微软 CFO Amy Hood 表示,该公司将在美国和欧盟监管机构的监管和批准下,尽量在年底前完成此次交易。届时,Wanstrath 将担任微软的技术院士,并向微软的 AI、云计算和首席开发工程师 Scott Guthrie 汇报工作。 Friedman 将接任 GitHub CEO ,同样向 Guthrie 汇报工作。 4、云平台集成 Nadella 时期的微软新口号是 “ intelligent...阅读全文
个月发布周期模式; 2011 年:SciPy 迁移到 GitHub; 2011 年:支持 Python 3; 2012 年:新增稀疏图(sparse graph)模块,以及统一优化接口; 2012 年:移除 scipy.maxentropy; 2013 年:支持用 TravisCI 做持续集成; 2015 年:新增用于 BLAS/LAPACK 的 Cython 接口,以及一个基准套装; 2017 年:新增一个统一的 C API:scipy.LowLevelCallable; 移除 scipy.weave; 2017 年(10月):SciPy 1.0 发布; 1.0 版部分新亮点 首次可用于 PyPI,持续集成已在 Windows 和 OS X 平台可用了,Linux 暂不行; 一套新的...阅读全文
自动启动。可以是用以下命令,确认docker运行是否正常, $ sudo docker run --rm hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The...阅读全文
to the system, one need: 1.Ensure the existence of /sys/devices/system/cpu/microcode/reload 2.Copy intel-ucode directory to /lib/firmware, overwrite the files in /lib/firmware/intel-ucode/ 3.Write the reload interface to 1 to reload the microcode files, e.g. echo 1 >/sys/devices/system/cpu/microcode/reload * 参考来源:bleepingcomputer...阅读全文
5月31号Qt正式发布了新版本5.9,声明修复了大量的bug(2000多个?),增加了大量的新特性,并且更稳定。这是2015年5.6版本之后的一个LTS(长期维护)版本。 意味着在3年标准支持期内将分阶段不断提供对此版本的修复与维护,即使也会有其他新版本发布。 个人认为新的长期项目的开发是值得尝试从5.9开始的,但近些年的几个5.x版本中还仍有大量p2甚至少量p1级别的bug没有修复,仍有不少早期版本稳定开发的开发者迟迟无法迁移到新版本。所以享用新特性和接受潜在的未知风险还需要根据项目的要求以及侧重点进行权衡。 官方发布的新版本亮点的确不胜枚举。 比如Qt 3D,增强对 3D图像及动画的支持,更容易与Qt Quick相结合。 并支持多种3D几何格式的插件。 比如QML性能的提升,Qt...阅读全文
采用64位处理器的树莓派3B,虽然具有64位硬件,但是系统还没有跟上节奏。官方尚未正式发布64位Raspbian,近期有团队移植了Debian 9 arm64到树莓派3B,将“装死”一年多的树莓派3B的性能完全释放出来,测试跑下来发现CPU性能最高比32位系统高30倍! 本文将介绍如何进行对比跑分测试。 硬件测试环境: RaspberryPi 3 Model B 16GB Class 10 TF卡 5v2.5A电源 以太网网线及能连外网路由设备 软件测试环境: GEEEKPI-64bit-beta(内核移植版,操作系统是基于Debian 9的arm64位源码,Debian 9目前还没发布,目前属于beta版,RaspberryPi 官方也没有发布64bit操作系统的计划,但是我们迫切需要...阅读全文
问题被频繁提及,这不免令人有些惊讶。如果你不运行主流的发行版,这个问题会更严重。也许你在使用中没有更多的体会,但越来越多人在使用AppImage、Flatpak或者Snaps,这让我们意识到问题的存在,笔者很想更多地了解软件不兼容的问题,如果你最近遇到了,请在评论中告诉我们。 3.UEFI和安全引导 UEFI(UnifiedExtensibleFirmwareInterface)全称"统一的可扩展固件接口",是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。尽管随着部署更多支持的硬件,UEFI和安全引导问题仍在改善,许多用户表示,他们仍然存在与UEFI安全启动相关的问题。使用一个完全支持UEFI安全启动开箱分配是最好的解决之道。 4.32位操作系...阅读全文
、微服务实践、高并发服务优化。 • 提供详细的架构图和实际场景的技术实践,适合学习真实生产系统。📌 3. Airbnb Engineering & Data Science • 网址:https://medium.com/airbnb-engineering • 特点: • Airbnb官方工程博客,详细分析其系统架构、高性能系统设计、云基础设施。 • 内容翔实,实践导向,架构图丰富。📌 4. AWS Architecture Center • 网址:https://aws.amazon.com/architecture/ • 特点: • Amazon官方架构中心,提供各种AWS云原生架构的设计和实施最佳实践。 • 架构图清晰、细节丰富,具有极高参考价值。📌 5. Facebook...阅读全文
#14123] 逆序打印(从旧到新)调用跟踪和错误消息。当在终端(TTY)中用较长的调用跟踪信息时,你可以从最底部看到直接触发问题的行。需要注意的是,仅当在直接输出到终端时,才会逆序打印。[功能 #8661] [试验性] 性能提升 通过在字节码中移除了全部 trace 指令提升了大约 5-10% 的性能。trace 指令的引入是为了提供 TracePoint的支持。然而,在大多数情况,TracePoint 不会被用到,trace 指令增加了额外的开销。作为替代,我们实现了一个动态指令技术,详情见 [功能 #14104]。 通过懒惰 Proc 分配使 block 参数传递代码块(例如 def foo(&b); bar(&b); end)的性能相较于 Ruby 2.4 提升了约 3 倍。[功能...阅读全文
("hot spot"热点竞争问题)工作负载。 2. NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。 3. 窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。 4. 隐藏索引:在 MySQL 8.0 中,索引可以被...阅读全文
大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文
投票,也就是弹劾机制,可将任期内的当权者赶下台;它严格限定了在委员会里,只允许少于 50% 的成员是企业(5 人委员会里最多有 2 个);并且关注到核心开发者的选举/淘汰、如何更新治理提案等问题。 而且,PEP 8016 中也提出了新的 PEP 流程,目前的 PEP 流程是提案人确定 PEP 的选题方向,提案人负责收集与整合来自整个社区的反馈。然后,相关领域的专家们汇总全部讨论,并开启为期 14 天的审查,之后进行社区投票。如果一个 PEP 很有争议,任何专家成员都可发起动议来拒绝通过它,这需要超过 2/3 的票数。PEP 8016 的 PEP 流程:理事会在必要时可直接地批准/否决 PEP,但最好是设置流程来避免这样做决策,例如,将决策权委派给团队或者 BDFL 代表。 7 种治理方案一览...阅读全文
经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这里下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文
树莓派是一款旨在通过超实惠的方式,来鼓励孩子们投身编程事业的奇趣开发套件。不过这款主板只有信用卡大小的装置,已经在教育系统之外培养出了一大票粉丝,首年就卖掉了百万台。 今天,树莓派在官网上宣布了 Raspberry Pi 4 正式开售的消息。作为一款改变游戏规则的产品,其处理能力是前一代 Raspberry Pi 3+ 的三倍、多媒体性能为四倍。 树莓派的每一次迭代,都会引入一些新的卖点,比如 64 位处理器、802.11ac 双频 Wi-Fi、以及通过 HAT 的以太网供电(PoE)。 今天发布的树莓派 4,不仅在计算和多媒体性能上有所提升,还采用了运行频率为 1.5GHz 的四核 ARM Cortex-A72 处理器、千兆以太网、蓝牙 5.0、以及 USB 3.0 连接。 性能的提升...阅读全文
成合并.- AMD Energy 驱动中支持 Zen 3 EPYC .- 合并The AMD SB-TSI 传感器驱动,用于AMD新服务器平台上的边带温度传感器接口。- 为 Zen 2 或更高版本提供 AND Frequency Invariance 支持 .- The AMD SoC PMC 驱动 已经 mainlined ,帮助移动/嵌入式硬件的电源管理。- 全新的英特尔驱动 Intel IGEN6 driver 用于带内ECC与新的客户端SoC,初步支持 Elkhart Lake / Atom x6000E。- 另一个新的英特尔驱动是 RFIM code for Radio Frequency Interference Mitigation ,在选定的SoC上调整集成电压常规和DDR频...阅读全文
程序了,从而导致磁盘不可用。 但是这个方法有一个小问题,那就是当系统内核更新的时候,usb-storage 模块会再次出现在它的默认位置。 方法 3:将 USB 存储器纳入黑名单 我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。这个文件在 RHEL/CentOS 6 是现成就有的,但在 7 上可能需要自己创建。 要将 USB 存储列入黑名单,请使用 vim 打开/创建上述文件: $ sudo vim /etc/modprobe.d/blacklist.conf 并输入以下行将 USB 纳入黑名单: blacklist usb-storage 保存文件并退出。usb-storage 就在就会被系统阻止加载,但这种方法有一...阅读全文
下命令暂时绕过名为 mount 的 bash 别名:\mount 方法 2 - 使用引号: "command" 或 'command' 如下引用 mount 命令调用实际的 /bin/mount:"mount" 这里单引号和双引号都可以。 方法 3 - 使用命令的完全路径 使用完整的二进制路径,如 /bin/mount: 方法 4 - 使用内部命令 command 就是在执行的命令前加上 command 命令,样例如下: command cmd command cmd arg1 arg2 要绕过 .bash_aliases 中设置的别名,例如 mount: command mount command mount /dev/sdc /mnt/pendrive/ “command” 直接运行命令...阅读全文
= 26124 + 124212+ 413000 2. 已经分配的内存大小: Used(Mem) = Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem) 1008984kb = 471772 + 124212 +413000 3. 物理内存总大小 total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache) 1035108 = 471772 + 563336 二. buffer 与cache 的区别 A buffer is something that has yet to be "written" to disk. A cache is something that has been...阅读全文
LXD 服务器必须配置为监听单个 IPv4 或 IPv6 地址,同时内部集群流量和常规客户端流量都使用相同的地址。LXD 3.8 引入新的 cluster.https_address 选项作出改变,write-once 写入密钥保存用于集群通信的地址,并且无法在不必从集群中删除节点的情况下进行更改。有了这个单独的密钥,现在可以将集群节点上的常规 core.https_address 更改为任何地址,包括通配符模式,如 :8443。 集群镜像复制 集群中引入了自动镜像复制, 在 LXD 3.8 之前,镜像只会被复制到其它集群成员,虽然有利于性能、带宽和磁盘使用,但这有一个明显的缺点,即如果镜像仅出现在单个系统上并且系统脱机,那么在系统恢复之前将无法使用该镜像。 此版本通过在至少 3 个系统上复制所...阅读全文
server.example.com. root.example.com. ( 2019030102 3600 3600 604800 86400 ) NS server.example.com. NS ns1.ip-provider.net. NS ns2.ip-provider.net. ; _foobar._tcp SRV 0 1 1099 slow-box.example.com. SRV 0 3 1099 fast-box.example.com. ; if neither slow-box or fast-box is up, switch to ; using the sys-box and the server SRV 1 0 1099 sys-box.example.com. SRV 1 0 1099...阅读全文
索运行Nginx的端口。 Kubernetes将自动分配一个大于30000的随机端口,同时确保该端口尚未受到其他服务的约束。 要测试一切是否正常,请通过本地计算机上的浏览器访问http:// worker_1_ip : nginx_port或http://worker_2_ip : nginx_port 。 您将看到Nginx熟悉的欢迎页面。 如果要删除Nginx应用程序,请先从主节点删除nginx服务: kubectl delete service nginx 运行以下命令以确保已删除该服务: kubectl get services 您将看到以下输出: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes...阅读全文
通导航和内部链接解决方案。栏目/目录URL以斜线结尾,后面不要加index.php之类文件名。栏目名、文件名等URL中的字母一律小写。URL中不要出现除了短横线之外的其它任何特殊字符。除栏目需要,URL中不得添加其它多余目录层次。无论中英文网站,URL目录名使用相应英文单词,长度以3个英文单词为限。不使用中文或拼音。也可以考虑使用数字/字母编号。英文网站,产品/文章页面文件名使用产品名称/文章标题,去掉虚词。中文网站,产品/文章页面文件名使用数字/字母编号。同一个产品不要放置于多个分类之下,只置于一个分类。所有页面加canonical标签。如果不确认canonical标签列出的规范化URL应该是哪个,请与SEO部门咨询。所有页面加面包屑导航。 页面元素 页面Title标签...阅读全文
channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发程序中该信息会随着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文
Contents1. 准备2. 使用 firewalld 进行中转3. 使用 UFW 进行中转4. 使用 iptables 进行中转4.1. CentOS 下保存规则4.2. Debian & Ubuntu 下 保存规则:5. 使用 socat 进行中转6. 目标机的设置7. 一些大陆 NAT VPS 商8. References本文最后更新于 2020 年 6 月 3 日本文以 CentOS 8 和 Debian 10 & Ubuntu 20.04 为例,介绍如何在 NAT VPS 上设置流量中转。开始前,请先根据实际使用的操作系统,参照以下文章对服务器进行各种必要的配置:CentOS 服务器的初始配置Debian & Ubuntu 服务器的初始化配置本文以 sammy 用户为例,进行中...阅读全文
,Windows注册表监视和活动响应之外,Wazuh还使用异常和签名检测方法来检测rootkit。与OSSEC的不同之处在于它与ELK集成的能力 ,改进的规则集以及使用静态API的功能。通过专注于持久卷和绑定挂载,还可以利用Wazah来监视Docker容器中的文件。该HIDS由3个主要组件组成:代理,服务器和弹性堆栈。它的代理在Windows,Linux,Solaris,BSD和Mac操作系统上运行。要了解如何安装项目,强烈建议您遵循官方安装指南。这些步骤很容易遵循并得到充分解释。Wazuh有一些缺点。服务器安装和API可能会很麻烦。以下屏幕快照代表了Wazuh的概述仪表板:图3从3.11.2版本开始,Wazuh UI已针对Kibana进行了升级(当时为7.5.2),其中升级了其XML验证程序,并增加了...阅读全文
对于云主机与云主机之间,只有轻微差异(小包场景下,pps 会有 3~5% 损耗),而且Pod网络性能各项指标(吞吐量,包量,延迟等)不会随着节点规模增大而削减。而Flannel UDP,VXLan模式和Calico IPIP的模式存在明显的性能消耗。Pod能直通公有云和物理云。对于使用公有云和物理云的用户而言,业务上K8S少了一层障碍,多了一份便利。而Flannel的host gw模式下,容器无法访问公有云和物理云主机。 而CNI的工作流程如下所示。 创建Pod网络过程: 删除Pod网络过程: Pod IP 消失问题的排查与解决 为了测试CNI插件的稳定性,测试同学在UK8S上部署了一个CronJob,每分钟运行一个Job任务,一天要运行1440个任务。该CronJob定义如下...阅读全文
今年3月份,Dragonwell JDK正式开源,发布预览(Preview)版本。近日,阿里巴巴重磅宣布 Dragonwell JDK 8.0.0-GA 正式版发布,这意味着 Dragonwell JDK 已经完全具备在生产环境运行的能力。 在过去三个月时间内,Dragonwell 收到了很多来自社区成员的反馈。那么,本次正式发布的 GA 版本加入了哪些新特性?对开发者而言意味着什么? Dragonwell JDK 8.0.0-GA 在很大程度上,Java 由 Oracle 长期主导。自 2017 年底,Oracle 就开始陆续转变 Java 策略,逐渐将 Oracle JDK 中的商业功能开源给社区,并宣布不再提供免费商业版本更新,不提供安全更新和漏洞修复支持。 这对开发者而言意味着什么...阅读全文
出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文
一、0xcc开篇 2020年3月,得物技术团队在三个月的时间内完成了整个交易体系的重构,交付了五彩石项目,业务系统也进入了微服务时代。系统服务拆分之后,虽然每个服务都会有不同的团队各司其职,但服务之间的依赖也变得复杂,对服务治理等相关的基础建设要求也更高。 对服务进行监控是服务治理、稳定性建设中的一个重要的环节,它能帮助提早发现问题,预估系统水位,以及对故障进行分析等等。从 2019 年末到现在,得物的应用服务监控系统经历了三大演进阶段,如今,整个得物的应用微服务监控体系已经全面融入云原生可观测性技术 OpenTelemetry。 回顾过去十年间,应用服务监控行业的竞争也很激烈,相关产品如雨后春笋般涌现,如推特在 2012 年开源的 Zipkin,韩国最大的搜索引擎和门户网站 Naver...阅读全文
的新功能。 第二个安全功能是拦截tab-under(“页签下”)行为的一种新机制。Tab-under是一种比较新的概念,它说明的是网页在新页签下打开链接后将旧页签重定向至新URL。 不止是恶意广告商、普通广告商也在使用tab-under,主要原因是它们绕过Chrome的内置弹出消息拦截器,从而让广告商打开推送恶意产品、服务或站点的多个页签。 这个功能将会在Chrome65中发布,该版本定于在2018年3月初发布。谷歌通过上述两个安全功能拦截恶意(内嵌框架或tab-under)重定向,并在页面地面展示工具栏,详细说明被拦截行为的详情。 拦截重定向用户的误导性UI元素 谷歌新增的第三个安全功能是“滥用体验报告”,是以网站黑名单的形式出现的。这些网站使用误导性的UI元素,在未经用户同意的情况下重定...阅读全文
是最好的选择。 但是,对于功能测试或非 Java 应用,应考虑其他解决方案。 3. Spock Spock 是用于 Java 和 Groovy 应用的测试和规范框架,基于 JUnit 。 优点: 测试可读性强,支持简单的英文句子,便于阅读。 提供周边上下文,从而能轻松了解如何解决故障。 内置 mocking 和 stubbing 功能。 支持数据驱动测试(DDT)。 缺点: 需要具备基本的 Groovy 语言知识。 如果你的应用是基于 JVM 的,并且目标是使用 DSL 进行 BDD 自动化测试,则此框架正适合! 4. NUnit NUnit 是支持所有 .Net 语言的单元测试框架。最初也是基于 Junit 的启发,完全采用 C# 编写,目前已被完全重新设计以使用更多 .NET 语言功能...阅读全文
持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文
。 2.托管和部署: PHP 应用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在内的任何服务器上运行,这使得部署过程变得更容易,而 Node.js,则需要具有 SSH 访问权限的虚拟服务器。因此,在没有任何控制台命令和 Secure Shell(SSH)知识的情况下,用 PHP 部署小型企业和个人应用会更好。 3.外部依赖: Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(节点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功能。 4. CPU 扩展任务: Node.js 可能在高吞吐量方面表现优异...阅读全文
researcher, but 3) in the long run it plateaus and even inhibits further progress, and 4) breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning. The eventual success is tinged with bitterness, and often incompletely digested, because it is success over a favored, human-centric approach. One...阅读全文
如果你是在一个大型组织,你运行了 NFS 或者 Samba 服务给不同的用户,你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。Linux(以及其他Unix等POSIX兼容的操作系统)有一个被称为访问控制列表(ACL)的权限控制方法,它是一种权限分配之外的普遍范式。例如,默认情况下你需要维护3个权限组:owner、group和other。 使用ACL后,你可以设置权限给其他用户或组,而不单只是简单的"other"。可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。 ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btrfs等。如果你不确定你的文件系统是否支持ACL,请参考文档。 首先我们需要安装工具来管理ACL...阅读全文
计原理,Spring事务处理机制,SpringMVC,Spring源码分析Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析 2. 工程化工具 Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开发,Nexus使用,上传,配置Git分布式版本控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码冲突解决方案,Github开源社区,Git企业应用,与IDE集成Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制 3. 微服务架构...阅读全文
,实现目标。激励作用=目标意义×实现可能性从这一公式中可以明确地看出,目标意义和实现的可能性越大,激励作用也越大,反之亦然。目标的设置必须具有可行性,这不仅可以使目标发挥最大的激励作用,还有利于具体目标与长远目标的实现,以及个人目标与团队目标的有机结合。2、集体荣誉激励法集体荣誉激励法是指团队各级领导者在实际工作中,通过多表扬、奖励集体来激发下属的集体意识,使每个团队成员产生一种强烈的荣誉感、责任感和归属感,从而形成一种自觉维护集体荣誉的向心力的办法。3、情感激励法每个人都需要关怀与体贴。一句亲切的问候,一番安慰的话语,都会成为激励人们行为的动力。通常来说,团队成员工作热情的高低,同领导与员工感情的亲疏成正比。团队领导可以和员工经常沟通,内容可以是家庭、生活、婚姻、生产、娱乐、工作等,相互交流...阅读全文