InfraPub 为您找到相关结果 458

Kubernetes 1.7:安全加固、有状态应用更新等

项来向 API 服务器添加自定义业务逻辑在对象创建的时候进行更改,以及验证策略。 对于联合的集群,引入了基于策略的联合资源放置(Policy-based Federated Resource Placement),处于alpha状态,其基于自定义的要求如规则、定价或者性能。 废弃: 第三方资源(Third Party Resource,TPR)已经被自定义资源定义(Custom Resource Definition,CRD)取代,后者的API更加简洁,并且决了 TPR beta 测试时出现的问题和边缘场景。鼓励从 TPR 迁移到 CRD,因为Kubernetes 1.9中社区会去掉TRP。 上面就是 Kuberenetes 1.7 关键特性的一部分。完整的列表可以查看发布说明。 采用 感...阅读全文

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

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构化日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式记录,这样第三方日志处理系统就可以方便地从日志中析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 重启后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

深入学习golang — channel

goroutine的创建数量: func Serve(queue chan *Request) { for req := range queue { sem <- 1 go func() { process(req) // Buggy; see explanation below. <-sem }() } } 上面的代码看似简单清晰,但在go中,却有一个问题。Go语言中的循环变量每次迭代中是重用的,更直接的说就是req在所有的子goroutine中是共享的,从变量的作用域角度来说,变量req对于所有的goroutine,是全局的。 这个问题属于语言实现的范畴,在C语言中,你不应该将一个局部变量传递给另外一个线程去处理。有很多决方法,这里有一个讨论。从个人角度来说,我更倾向下面这种方式: func...阅读全文

博文 2021-01-25 12:39:17 博客园

漫画赏析:Linux 内核到底长啥样

今天,我来为大家读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天读的便是其中的一篇。 在开始,我们先来看看这幅漫画的全貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

/Native 已支持用于开发 iOS 应用,这也将是 Kotlin/Native 0.4 的特性之一。虽然对 iOS 开发的支持仍处于早期阶段,但确实已经实现了,这是在所有平台上使用 Kotlin 进行开发的重要一步。 官方还特意展示了利用 Kotlin/Native 开发的两款应用(Spinner app (GitHub)、KotlinConf app (GitHub)),它们都可以运行于 iOS 和 Android 平台。Android 和 iOS 平台共享了不少代码,其中包括大多数图形处理、声音播放和用户输入响应代码。 两款应用都已开源,你可以将它们作为模板,仅使用 Kotlin 构建自己的跨平台移动应用。点此可了其中一款应用。 IDE 对 Kotlin/Native 的支持 Kotlin...阅读全文

博文 2017-11-05 19:28:14 debian.cn

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日本丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内核提出新的要求,这对于为嵌入式系统开发决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖范围更大了,有更多的人对这个代码进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文

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

最全的 DevOps 工具集合

它身上可以找到 Screw.Unit、JSSpec、JSpec 和 RSpec 等诸多单元测试框架的影子。 Cucumber Cucumber 是一种支持行为驱动开发的软件工具。 Cucumber BDD 方法的核心是一种称为 Gherkin 的普通语言析器。它能用客户可以理的逻辑语言来指定预期的软件行为。 持续集成和部署(CI/CD) CI 工具的存在是为了快速反馈和减少缺陷、等待。目前业务比较常用的 CI 工具包括 Jenkins、CircleCI、Travis CI、Concourse、AWS CodePipeline 和 Azure Pipelines。 Jenkins Jenkins 是一个免费的开源自动化服务器。Jenkins 可用来自动化软件开发过程中非人类参与的工作,基于...阅读全文

博文 2021-05-26 14:35:21 博客园

使用 MongoDB 之前应该知道的 14 件事

“模式浏览器(Schema Explorer)”这样可以执行定期模式检查的特性也是值得拥有的。 忘记排序规则(排序顺序) 这比其他任何的配置错误都会导致更多的挫折和时间浪费。MongoDB 默认使用 二进制排序规则 。这对任何地方的文化都是不利的。在 80 年代,大小写敏感、重音敏感、二进制排序规则,和念珠、土耳其长衫和卷胡子一起,被视为奇怪的时代错误。现在,他们没法辩了。在现实生活中,motorbike 和 Motorbike 就是一样,而 Britain 和 britain 就是同一个地方。小写字母和大写字母只是书写上的等价。就不要让我再说重音字符排序规则了。当你创建一个 MongoDB 数据库时,使用一种合乎系统 用户语言和文化 的 重音敏感、大小写敏感 排序规则。这使得字符串数据的检...阅读全文

Gitlab CI 配置文件 .gitlab

no 定义此作业完成部署的环境名称 coverage no 定义给定作业的代码覆盖率设置 script script是Runner执行的yaml脚本。举个例子: job: script: "bundle exec rspec" 该参数也可以用数组包含多个命令: job: script: - uname -a - bundle exec rspec 有时候,script命令需要被单引号或者是双引号包裹起来。举个例子,当命令中包含冒号(:)时,script需要被包在双引号中,这样YAML析器才可以正确析为一个字符串而不是一个键值对(key:value)。使用这些特殊字符的时候一定要注意::,{,},[,],,,&,*,#,?,|,-,<,>,=,!。 stage stage允许一组jobs进入...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

一位五年工作经验架构师的感悟

了一个小时。但是我的水平有限,结果可想而知。我肯定也知道没过,然后我就请教面试官,需要提升的地方,学**哪方面的内容。 于是我去学习,一个月过去了。 第二次面试,也是阿里 B2B 的岗位,我不知道那个时候有没有招聘的公海,按照我的理是没有的,然后我肯定不会有这么多次机会。这次的面试和上次很像,只不过内容换成了多线程并发相关的知识。我又不知道,面试官还是很容忍我,最后没通过,我同样为了需要什么提高。 于是我去学习,一个月又过去了。 第三次面试,是淘宝,应该是广告部门。这次面试,我觉得除了不知道的内容,其他的内容都还回答的蛮正确的。但是面试官,拿着面试题就和我聊了,然后讲到一个数据库方面的知识时(内连接,外连接),我说不知道。面试官说:这么基础的问题你都不会,这是不能容忍的,其实当时很伤心。有...阅读全文

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

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

基本为技术相关的文章。请问起初做这个网站的初衷是什么呢?关于网站还有其他需要说的吗? 答:原来写过一个成绩分析的php小程序(phpcj的由来),放到网上,得到不少人的鼓励,于是就申请了个域名作为程序的网站。后来在朋友的建议下,做成了博客。说是博客,也就是一个个人笔记,记录一下遇到的问题如何决的,方便以后查询,好记性不如一个烂笔头嘛!有时遇到问题,搜索一下,也会搜索到自己的博客上,咦,以前不是遇到过这个问题么? 11.作为一名狂热的Linux爱好者,能介绍下日常你怎么折腾技术或者Linux的吗?您喜欢哪些呢,能与我们分享吗? 答:由于喜欢折腾各种发行版,笔记本上目前有若干个Linux最新的发行版,现在是 Gentoo + Ubuntu16.04 + Archlinux + Fedora23...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

欧盟一般数据保护条例(GDPR)和加州消费者隐私法案(CCPA)是欧美两大经济体所出台的两部具有代表意义的个人数据保护方面的法规,代表欧美监管机关对于个人数据保护两种不同的管控取向。 本文选取了“个人数据或信息的类型与范围界定”、“法律的管辖范围”、“数据跨境传输管控”、“儿童数据的保护”、“数据主体的反对权和被遗忘权”等关键概念,对GDPR和CCPA的部分要点进行比较分析。 1. “个人数据”或“个人信息”的范围界定 1.1 GDPR对个人数据的定义——侧重用抽象概念定义,实践中存在很大释空间 除了对少数“特殊种类个人数据”(如宗教信仰、种族、工会成员信息、健康状况等)进行了零星列举以外,《欧盟一般个人数据保护条例》(GDPR)主要用抽象概念对其所管辖的“个人数据”的范围进行界定。 根...阅读全文

Sam Altman的成功学|OneFlow

样,比如说资本、技术、品牌、网络效应和做管理。 专注于将你所定义的成功指标增加十倍是有用的,这些指标可以是赚钱、社会地位、世界级影响力或者其他东西。我乐意接受挑战,愿意在各种项目上花时间以锁下一个项目。但是我希望在每一个项目上都能取得最大成就,创造职业生涯新高度。 但是大多数人都被困于线性发展的泥潭,往往捡了芝麻丢了西瓜,我们要学会抓大放小,寻求跳跃式提升。 在我看来,无论是企业还是个人,最大的竞争优势就是要把目光放长远。我们要打开眼界,看出世界上不同体系之间交融互动的方式。复合增长最重要的就是眼光要尽可能放长远,这样的人才能抢占市场先机,获得最大回报。 要相信指数曲线,耐心坚持下去,最后一定会有惊喜。 2 要有绝对自信 自信拥有不可思议的力量,就我认识的人来说,最成功的往往都是那些自信到...阅读全文

Apollo 配置中心简单介绍

的权限、流程治理等特性。 Apollo支持4个维度管理Key-Value格式的配置: application (应用)environment (环境)cluster (集群)namespace (命名空间) 同时,Apollo基于开源模式开发,开源地址:https://github.com/ctripcorp/apollo 1.3 配置基本概念 既然Apollo定位于配置中心,那么在这里有必要先简单介绍一下什么是配置。 按照我们的理,配置有以下几个属性: 配置是独立于程序的只读变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。其次,配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。常见的配置有:DB Connection Str...阅读全文

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

Greg Kroah

Ubuntu根本就是个祸害开源社区发行版。资本家是“无利不起早”的。“新人用Ubuntu系列是最不明智的选择,因为很难利用到别人的经验。Ubuntu修改了太多东西造就了和其它发行版的不兼容。 “Ubuntu通过大量散发免费光盘圈走很大一部分初级用户,这部分用户自行决问题能力相对较差,当遇到问题而又因为系统和别人不兼容而无法获得别人帮助时,最终将屈服于Ubuntu而购买Ubuntu的服务。 “这种称作糖衣炮弹的诈骗手段古往今来屡试不爽。实际上微软也这样,只不过微软是通过放纵盗版来圈客户,并且微软的Windows好歹还有很大一部分是它自己编的;Ubuntu则明着圈初学者,并且利用的工具也基本上不是它自己的,而是GNU/Linux。”(按:在以上大字报贴出一年后,Ubuntu果然提供了比买...阅读全文

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

Ubuntu 17.04(Zesty Zapus)正式版发布

从之前的 Ubuntu 发行版升级过来,这是唯一一个不适用的地方。 此外,默认的 DNS 析器转换为了 systemd-resolved。IPP Everywhere 和苹果 AirPrint 打印机支持免驱动的开箱即用。绝大多数来自 GNOME 家族的包都升级到了 GNOME 3.24,只有 Nautilus 仍然保持在 GNOME 3.20.4 版本。 gconf 工具不再默认安装,因为它现在已经被 gsettings 所代替。而安装的应用大多数都是最新的,比如 LibreOffice 5.3 办公套件,Mozilla Firefox 52.0.1 Web 浏览器,以及 Mozilla Thunderbird 45.8.0 邮箱和新闻客户端。 Nautilus 文件管理器 从本次发行版...阅读全文

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

专访Docker大牛:Docker背后的真正引擎是Containerd

最近,我们可能经常会听到一种说法"Docker正在彻底改变IT!"这种说法是否存在炒作嫌疑呢?Docker对于现有格局的破坏性到底在哪里?Docker和虚拟机之间有什么区别?Docker真正的附加价值在哪里?本文我们将和Docker大牛Chanwit Kaewkasi来讨论这些话题。 Asst. Prof. Dr. Chanwit Kaewkasi 问:您是如何与Docker结缘的呢? Chanwit Kaewkasi:这个可以追溯到2014年,当时我们实验室正在寻找一个虚拟化层来帮助管理大数据栈,而虚拟机决方案对我们来说太重了,所以遇到Docker对我们来说是一件幸事。 问:我们经常听到"Docker正在彻底改变IT",你认同这种观点吗?Docker技术有什么破坏性? Chanwit...阅读全文

博文 2017-11-22 10:50:11 debian.cn

Linux Kernel 5.0将于2018年夏季发布

Linus Torvalds揭示了为什么在2018年夏天将会有一个Linux Kernel 5的理由。他还讨论了对新的Linux Kernel维护者的需求。 在最近结束的布拉格开源峰会上,Linux创始人Linus Torvalds与VMware副总裁进行了座谈,并讨论了Linux内核的相关问题。 Linux内核需要新的维护者 Linux内核已经有26岁,内核维护者比26岁还要老。这就产生了一个问题,因为虽然内核开发有很多年轻的贡献者,但是内核维护者(负责审核向内核提交代码的人)是40多岁的人, 甚至50多岁了。部分问题是维护内核的复杂性。 但是Torvalds认为,内核维护者的主要原因是“老”,因为他们需要从疯狂的邮件流入中了补丁。这需要良好的经验。 第二个原因是内核维护者应该足够长的...阅读全文

博文 2017-12-11 22:27:31 debian.cn

2018 GitHub 最火技术趋势

。Warner强调说,安全性必须是代码不可分割的一部分,不能简单地在生产过程中才添加至系统。Warner看到了由于对机器学习的关注,对目前的安全领域产生了巨大影响,这种趋势最终会导致构建的系统会受一个自动的保护机制所保护。 云服务基础设施方面将会有工具和服务的增长,这些工具和服务将减少开发人员对基础设施的关注,开发人员能够更自由地专注于构建他们的产品和项目。这一过程将会与Warner所谓的“工作流战争(workflow war)”相关联: 随着大型科技公司开始收购那些专注于提升开发人员体验、决基础设施问题以及构建更好的工作流工具的小型企业,企业的并购活动将会升温。 开源软件将在2018年继续发展,并将成为许多开发封闭源代码系统公司的重要竞争对手。据Warner所说,这一趋势在过去的10年中一直都很强劲...阅读全文

博文 2017-12-14 22:50:29 debian.cn

Debian 环境下安装配置 Gitlab

/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash 安装的过程中会有个蓝色的窗口提示你输入名称,这个是gitlab的访问域名,因为默认通过nginx进行析的时候,指向的是你配置的这个域名,并且通过80端口。安装完成后可以看nginx的conf文件。 sudo apt-get install gitlab-ce 3. 启动GitLab 这个会加载所有的配置,启动相应的服务。所以说,和网络上其他的安装教程来比,新版本安装起来实在是太爽了。 sudo gitlab-ctl reconfigure 配置 更换域名 如上图,域名被替换为域名了,但是之前是字符串git@debian...,因为在安装的时候,蓝色窗口弹出的时候直接按了回车使用了默认值。修改方法如下...阅读全文

博文 2017-12-22 19:42:42 debian.cn

观点:DDR内存即将谢幕 HBM 3/4内存才是未来

HBM 2内存,核心容量可达8Gb,通过TSV技术可以实现每个CPU支持64GB HBM2内存,每路插槽的带宽可达2TB/s,而到了HBM 4时代,每个CPU支持的容量可达512GB,带宽超过8TB/s。作为对比的话,目前AMD的EPYC处理器支持8通道DDR4内存,虽然最高容量能达到2TB,但是带宽不过150GB/s左右,与HBM内存相比就差远了。 按照他的观点,在一些需要高带宽的场合中,HBM技术无疑远胜DDR内存,所以他说的DDR内存将死在这方面是成立的,比如HPC高性能计算机行业就非常需要HBM。不过话说回来,DDR将死这个判断并不适合桌面市场,HBM技术虽然各种好,但是现在来看成本问题一时半会都没法决. 目前能生产HBM内存的厂商只有三星、SK Hynix,美光因为有HMC技术,对...阅读全文

MySQL 8 第一个正式版发布:更好的性能

JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。 9. 可靠性:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,元数据存储在单个事务数据字典中。 10. 高可用性(High Availability):InnoDB 集群为您的数据库提供集成的原生 HA 决方案。 11. 安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度...阅读全文

博文 2018-04-20 10:40:18 debian.cn

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

自从 Tim Berners-Lee 在 1990 年开发 CERN httpd 以来,作为第一个 Web 浏览器的项目,Web 服务器已经走过了很长一段路。 CERN httpd 的源代码于 1993 年公布。虽然一些主要的网络服务供应商为企业提供了闭源的 Web 服务器,但许多其他企业仍保留 Tim Berners-Lee 所体现的开源价值。我们一起来看看目前可用于企业的开源 Web 服务器方案。 Hiawatha Hiawatha 于 2002 年由 Hugo Leisink 开发,他在荷兰学习计算机科学,并希望学生宿舍可以支持互联网服务器。他的目标是开发一个系统,决其他服务器中存在的安全限制和混淆配置工具的漏洞。 他编写的服务器为其他领先的 Web 服务器中的所有常规措施添加了许...阅读全文

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

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

都包含了其它数据中心中不存在的写入,因此无法安全地将主要数据库故障转移到美国东海岸数据中心。 GitHub 工程师发现问题后进行了一系列抢救措施,“最终没有用户数据丢失,但是,几秒钟的数据库写入的手动协调仍在进行中。” GitHub 对所有受影响的用户表示歉意,并表示“我们已经吸取了教训,并且采取了一系列急救措施,我们希望更好地确保不再发生类似情况。” 同时 GitHub 也表示接下来将决由此导致的数据不一致问题。详细分析与事件时间线请查阅 GitHub 公告。...阅读全文

Golang 之禅: 如何写优质代码

减少耦合的操作,需要通过提供类型需要的依赖项作为该类型上的字段,而不是使用包变量。 简单性很重要 简单性不是老练的代名词。简单并不意味着粗糙,它意味着可读性和可维护性。如果可以选择,请遵循较简单的决方案。 编写测试以确认包 API 的行为 软件包的 API 是与使用者的一份合约,不管先后,不管多少,一定要进行测试。测试是确定合约的保证。要确保测试使用者可以观察和依赖的行为。 如果你认为速度缓慢,先通过基准测试进行验证 以性能之名会犯下许多危害可维护性的罪行。优化会破坏抽象、暴露内部和紧密耦合。如果要付出这样的代价,请确保有充分理由这样做。 节制是一种美德 适度使用 goroutine、通道、锁、接口与嵌套。...阅读全文

博文 2020-02-25 20:48:33 debian.cn

Linux 进程 PID 编号最大为多少

range of PIDs as on earlier kernels. On 32-bit platforms, 32768 is the maximum value for pid_max. On 64-bit systems, pid_max can be set to any value up to 2^22 (PID_MAX_LIMIT, approximately 4 million). 为了方便理,上述内容翻译成中文: /proc/sys/kernel/pid_max (从Linux 2.5.34版本开始) 这个文件明确指定了pid的取值范围(也就是说,文件中的值是允许的最大pid值+1)。比这个数字大的值将不会分配为pid。因此,此文件中的值还作为系统范围内进程和线程总数的限制。此...阅读全文

博文 2021-01-12 11:47:15 debian.cn

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

(); map.insert(1, 2); } 有命名冲突时, 引入父模块use std::fmt; use std::io; fn function1() -> fmt::Result { // --snip-- } fn function2() -> io::Result<()> { // --snip-- } 或用as决命名冲突的问题use std::fmt::Result; use std::io::Result as IoResult; fn function1() -> Result { // --snip-- } fn function2() -> IoResult<()> { // --snip-- } 引入同一个模块module或包package中的多个元素use std::{cmp...阅读全文

博文 2021-02-20 08:49:51 知乎

不可变基础设施 (immutable infrastructure) - 云原生定义解析

云原生技术的不断发展,2018年,CNCF扩展了云原生技术的定义,以下是云原生技术的新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。”其中,像容器,微服务等概念早已深入人心,而很多开发人员都对此次提及的“不可变基础设施”这个概念有不少疑惑,下文将对这个概念进行析。其实不可变基础设施这个概念由来已久,并在不同的场合被很多技术专家已不同的形式提出并讨论过, 例如:“Trash Your Servers and Burn...阅读全文

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

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

系统解析JDK源码,领略大牛设计思想,JAVA面试必备

系统析JDK源码,领略大牛设计思想,JAVA面试必备 download:https://www.51xuebc.com/thread-555-1-1.html Vue3实战商城后台管理系统开发示例 Vue是一款流行的JavaScript框架,它可以帮助我们快速构建高效、可维护、易用的Web应用程序。在本文中,我们将介绍如何使用Vue3来开发一个商城后台管理系统。 技术栈选型 在开始开发之前,我们需要选择合适的技术栈。以下是我们所采用的技术: Vue.js 3:Vue.js 3是Vue框架最新版本,它具有更好的性能、更好的TypeScript支持、更好的响应式系统等特点,可以提高开发效率和应用性能。 Element Plus:Element Plus是一套基于Vue3的UI组件库,提供了丰...阅读全文

博文 2023-05-27 12:50:27 bianchengyuan123

总结系统设计中的33个黄金法则

关。 18. 针对单点故障——实施冗余。 19. 为了容错性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 分布式系统中的故障检测——实现心跳。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免特定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

岗位需求: CTO

工作规范和工作流程,并跟踪开发过程实际合规性; 8. 指导. 审核项目总体技术方案,对各项目进行最后的质量评估; 9. 负责技术团队建设和管理,注重人才培养和营造创新的研发文化; 10. 完成各项技术工作相关数据统计分析报告,并据此对公司发展提出合理化建议。 ** 岗位要求:** 1. 本科及以上学历,计算机. 软件工程相关专业,互联网行业优先考虑; 2. 10年及以上技术研发. 软件开发相关行业工作经验,5年以上互联网行业技术研发团队管理经验, 精通基于Java. PHP等语言的开发,熟悉服务端软件架构设计与开发流程;有互联网CTO或技术总监工作经验,带过百人以上团队; 3. 熟悉互联网领域业务,深刻理产业发展方向,具备敏锐准确的洞察力和缜密的逻...阅读全文

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

固态硬盘近年来也是随着计算机的发展而得到了迅速的发展,目前已经隐隐有要取代机械硬盘的势头。但是关于固态硬盘相关的概念实在是繁琐,很多人选购固态硬盘时,看到商家宣传NVMe,PCIE 却不懂是什么意思,今天我们就来为大家详这些概念。 首先我们要把 M2 跟 SATA 放一起说,我们常说的 M2 其实是 M.2,更多是指一种尺寸或者插槽,就是上图中右边的尺寸较小的直接插主板上的这种,而 SATA 通常是指上图左边那个尺寸较大的一大块那种。 还要提的是M.2插槽也是有两种的,一种是金手指有两个缺口的Socket 2跟金手指只有一个缺口的Socket 3,这两种可以走不同的通道,我们后面会说到。 接下来要搞懂的是 SATA 跟 PCIE,这两个东西是指串行接口或者就是数据走的通道,相信有人看到这...阅读全文

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

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

,另有两个变种1.CLFS Sysroot 采用Sysroot的方法来进行编译,好处是软件包的编译次数可以减少,坏处是不能支持在编译后对软件进行测试,必须要启动到目标平台上才能测试。 2.CLFS Embedded 一般用于极小系统以及嵌入式系统。为此,它使用uclibc而不是一般LFS使用的glibc。 Automated Linux From Scratch(ALFS) 标准LFS只是一本书,用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动化的脚本。 Hardened Linux From Scratch(HLFS) 这个子项目致力于打造在安全性上无懈可击的Linux系统。 Hints 收集一些释性、增强性的文档,以协助用户 LiveCD 利用...阅读全文

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

Kubernetes调度算法浅析

给每个节点和待分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未释有兴趣的小伙伴可以上网查一下哦。 小结 kube-scheduler组件将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支持第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文

博文 2020-12-20 11:01:10 debian.cn

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功能,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。基础资源类型故障:PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域名析失败、返回错误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

在 Mac OS X 上安装 Nessus 10

在 macOS 上安装 Nessus 10 macOS安装Nessus一、下载二、 安装三、初始化登录四、 安装插件和创建配置文件五、重启服务编译插件六、验证七、如何更新插件 macOS安装Nessus 修复部分破方法在安装Nessus10重启之后重置授权问题。 一、下载 下载 macOS:https://sysin.org/blog/macOS/ 下载 Nessus:https://sysin.org/blog/nessus-10/ 或者链接:https://pan.baidu.com/s/1DrkX1nbysFgdmbO4657JIg?pwd=9jxl 提取码:9jxl 下载插件: 插件版本202301231642 链接:https://pan.baidu.com/s...阅读全文

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

如何重启 Kubernetes 中的 Pods

} -n {namespace} -o yaml | kubectl replace --force -f - 在这个命令中,由于没有 yaml 文件,且启动的是 Pod 对象,我们先 get 当前运行的 pod 的 yaml 声明定义,通过管道重定向输出到 kubectl replace 命令的标准输入,来达到上一条命令同样的效果。 总结,我们可以通过多种方式来重启对象,最通用的方式是使用 replace 命令,强制替换 Pod 的这个: kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f - 这种方式,也适用于多种其他对象。值得一提的是,重启 Pod 并不会修复运行程序的 bug,想要决程...阅读全文

博文 2020-07-13 21:23:30 debian.cn

提前尝鲜,从 Debian 10 升级到 Debian 11

本指南释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外部仓库...阅读全文

博文 2021-08-16 12:16:21 Debian升级

Django 采用新的项目治理模式

,Django 软件基金会)的付费承包商 Django Fellows 合并,或者由少数活跃用户合并。Django 的所有版本现在都由 Fellows 发布。 也就是说核心 committer 团队在项目中几乎没有直接参与 Django 相关流程,并且关于 Django 开发中的几乎所有技术决策都不是在 committer 之间讨论和决定的,而是在任何人都可以参与的公共论坛上通过共识决定的。 这样的情况影响了社区中开发者的参与,也影响了 Django 项目的长期健康发展,所以社区内一直以来都在讨论改革。 Django 社区近日通过了 Django 项目新治理模型的提案 DEP 10,目前正在实施的一些变化如下: 之前的核心 committer 团队散,相关成员的 commit 权限也将被删除。目前正在...阅读全文

博文 2020-03-26 08:51:49 debian.cn

Postgres 10 开发者新特性

。通过把来自不同列的数据关联起来,查询规划器(query planner)现在可以避免一些边缘情况,在那些边缘情况下,之前的Postgres版本会认为WHERE语句更强的选择性,并且会导致选择了错误计划从而拖慢执行时间。Postgres的这个改进在整个SQL世界中都是极具创新性的。 Postgres 10还对并行性进行了改进。开发者现在可以使用索引扫描(index scans)和仅索引扫描(index-only scans)、并行合并连接(merge joint)以及位图堆扫描。并行查询是通过不同的workers来实现的,因此在某些情况下,设置和分的成本会超过并行化的好处。默认情况下,可以在大于8MB大小的表以及大于512KB的索引上启用并行表扫描(parallel table scan...阅读全文

博文 2017-12-30 11:46:16 debian.cn

Oracle Linux 8.0 发布

KVM。KVM 访客崩溃报告中添加其它信息,这使得在使用 KVM 虚拟化时更容易诊断和修复问题。 文件系统与存储 增强 Device Mapper MultipathingSCSI Multiqueue 驱动使块层可以通过 SSD 和多核系统很好地扩展性能 Stratis,一种管理本地存储的简单决方案XFS 支持共享写时复制(COW)数据扩展区功能,因此两个或多个文件可以共享一组公共数据块。 此外还有关于网络、身份认证管理与安全等方面的内容,详情查看发布说明: https://blogs.oracle.com/linux/announcing-the-release-of-oracle-linux-8...阅读全文

博文 2019-07-20 22:39:32 debian.cn

Focalboard :一款开源、本地存储、免费的类 Notion 应用

从 Notion 到 Focalboard近两年来,Notion 作为一款在线笔记应用,以其强大的功能和优雅的颜值获得了大量用户的关注和喜爱。大量的用户通过 Notion 的 Block 、Database等功能,挖掘了适合教育、营销、市场管理、开发等多个场景的使用模版。然而,Notion 在国内使用也有不少槽点:加载速度慢、迟迟没有提供汉化版、不能离线使用、本地存储等。当然,这些槽点也有一些决方案。比如,针对网络问题,可以使用 Notion Fast等插件进行加速;针对语言问题,现在已经有了非官方的汉化方案。离线使用和本地存储的话,不知道 Notion 是否有相关规划。Notion对于一些用户而言,由于工作环境存在数据加密等需求,离线使用和本地存储成为刚需。对此,Anytype 这款开...阅读全文

博文 2021-09-16 19:50:29 少数派

DNSCrypt简明教程

subscribers configuration files below. name_servers=127.0.0.1接着重启 NetworkManager:$ sudo systemctl restart NetworkManager 如果你使用了libvirt来管理虚拟机,你会发现虚拟机会断网,重启host即可。 内网DNS咋办?使用 dnscrypt-proxy 固然爽,但是有个小问题,就是如果是在公司里,很有可能就有内网DNS,这就很蛋疼了, dnscrypt-proxy 有一个决方案,那就是使用 cloaking rules,编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml,把 cloaking_rules 这一行 注释掉,然后编辑 /etc/dnscrypt...阅读全文

博文 2021-02-06 19:55:08 知乎

五种绕过 Linux 命令别名的方法

或显示关于命令的信息。它带参数运行命令,会阻止 shell 函数查询或者别名,或者显示有关给定命令的信息。 方法 5 - 使用 unalias 命令的说明 要从当前会话的已定义别名列表中移除别名,请使用 unalias 命令: unalias mount 要从当前 bash 会话中删除所有别名定义: unalias -a 如果要永久删除定义的别名,则必须删除别名的定义语句,确保你更新你的 ~/.bashrc 或 $HOME/.bash_aliases : vi ~/.bashrc #或者执行 vi $HOME/.bash_aliases 想了更多信息,参考这里的在线手册,或者输入下面的命令查看: man bash help command help unalias help alias...阅读全文

博文 2018-03-08 13:33:02 debian.cn

DNS SRV:使用DNS服务器做服务发现

级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只能够负责提供服务地址列表,对这个列表如何读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

博文 2019-03-05 09:35:34 debian.cn

使用 nvme-cli 工具来了解你的 NVMe 驱动器

来了硬盘的整体健康状况:$ sudo nvme smart-log /dev/nvme0n1 Smart Log for NVME device:nvme0n1 namespace-id:ffffffff critical_warning : 0 temperature : 21 C available_spare : 100% available_spare_threshold : 10% percentage_used : 2% endurance group critical warning summary: 0 data_units_read : 5,749,452 data_units_written : 10,602,948 host_read_commands...阅读全文

博文 2021-09-26 15:12:24 joseph

利用 NAT VPS 进行流量中转

转机的设置,并默认已按初始化配置文章对服务器进行了配置。本文将介绍四种方法:firewalld,UFW,iptables,和 socat(推荐)来进行流量中转,根据需要选取其中一种方法操作即可。亦可根据需要,将目标机设置为只允许中转机访问。其中,firewalld,UFW,iptables 均可对 TCP 和 UDP 进行转发,而 socat 还可以对包含域名的地址进行转发。 准备购买合适的 NAT VPS,此处提供一些服务商了 NAT VPS 的基本使用方法,例如搞清楚 NAT VPS 一般需要在服务商处查看端口映射的设置基础 Linux 操作知识,并了 vim 编辑器的基本使用方法 使用 firewalld 进行中转此方法在 CentOS 下较为简便(CentOS 8 默认使用...阅读全文

博文 2021-03-11 21:16:11 Silearner