Debian 爱好者社区 为您找到相关结果 596

什么是线程安全,以及并发需要知道的几个概念

。比如它的线程优先太低,而高优先的线程不断抢占它所需的资源,导致低优先资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直卡在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断跳动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

博文 2018-12-31 20:44:06 debian.cn

使用 tmate 分享你的终端会话

不久前,我们写过一篇关于 teleconsole 的介绍,该工具可用于快速分享终端给任何人(任何你信任的人)。今天我们要聊一聊另一款类似的应用,名叫 tmate。 tmate 有什么用?它可以让你在需要帮助时向你的朋友们求助。 什么是 tmate? tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。 你可以分离会话,让作在后台运行,然后在想要查看状态时重新连接会话。tmate 提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。 在屏幕的地步有一个状态栏,显示了当前会话的一些诸如...阅读全文

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

Java 12 / JDK 12 正式发布

取“半年发布一次版本”的模式。 可访问 http://openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。 讨论 留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 http://openjdk.java.net/jeps/326。 该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见:http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html 可能是因为界呼声太高,最近委员会又把这个特性拿出来重新讨论了:https...阅读全文

博文 2019-03-20 12:46:27 debian.cn

TLS1.3 正式版发布 — 特性与开启方式科普

(SSL)的进化版本,SSL是由Netscape公司在1990年代研发的。国际互联网工程任务组(IETF)做为一个标准化组织,负责定义该协议,该协议已经历了多次修订。最新版本 TLS1.2 在 2008 年被确立为标准,目前被大多数浏览器和启用 HTTPS 的 web 服务所支持。 在配置正常的情况下,TLS 1.2 会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算机安全领域,8年是一段很长的时间,因此 IETF 已经在着手开发该协议的新版本 TLS 1.3。TLS1.3 是一次全面升,与此前版本相比,它有两个主要优势: 增强安全性 提升速度 增强安全性 过去几年来,大部分针对TLS的攻击都是以该协议90年代遗留下来的残余部分为目标的...阅读全文

博文 2018-08-14 14:40:05 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

为什么 Django 能持续统治 Python 开发世界

码的困境结束,从而实现更快的开发。 简而言之,Web框架可以简化Web开发。 如果您想深入了解Web框架及其优点,请点击此处。 为什么Django是Python开发者的最佳选择 Django是一个Python编写的,高的,MVC风格的开源库。 Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。 除了更快完成常见的Web开发任务,Django还可以保持设计干净且实用。 Django是Python Web开发新人的最佳选择,因为官方文档和教程是几个(同类)软件开发框架中最好的。 技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很简单...阅读全文

博文 2017-07-21 14:15:11 debian.cn

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

API收集堆栈跟踪和跟踪内存分配,因而其可以和OpenJDK、Oracle JDK和其他基于HotSpot JVM的Java应用在运行时协同工作。 Github项目链接地址:https://github.com/jvm-profiling-tools/async-profiler Async-profiler可以跟踪以下类型的事件: CPU周期; 件和软件性能计数器,如缓存未命中、分支未命中、页面错误、上下文切换等; Java堆中的分配; 满足的锁定尝试,包括Java对象监视器和可重入锁; 支持的平台Linux / x64 / x86 / ARM / AArch64macOS / x64注意:macOS分析仅限于用户空间代码。 生成的火焰图,绿色代表用户栈,黄色代表jvm,红色代表内核;横坐标...阅读全文

博文 2022-03-11 10:05:09 博客园

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

本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

基于thanos搭建分布式prometheus

sidecar和prometheus则走原生HTTP接口拿数据。 为了高可用,我们可以部署多个prometheus同时抓取。 为了打散采集/存储压力,我们可以部署多个prometheus各自抓取部分数据。 无论出于上述哪种目标或者混合目标,最终依靠Querier的正确配置都可以提供统一的Promql查询入口给Grafana,这一点是毋庸置疑的。 这里看到了图中有几个陌生的组件: Store Bucket Compactor Prometheus单机存储空间有限,SideCar和Prometheus在同POD内共享数据volume,然后sidecar可以自动将prometheus磁数据上传到Bucket里归档存储;后续Querier可以通过Store组件从Bucket拉取到历史数据,这样就实现了历史数据...阅读全文

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

如何在 Debian 上安装 TensorFlow

activate脚本将虚拟环境激活: source venv/bin/activate 激活后,虚拟环境的bin目录将添加到系统$PATH变量的开头。Shell 提示符也将会带上相应的提示信息,会显示您当前所在的虚拟环境的名称。在此示例中,即(venv)。 TensorFlow安装需要pip版本19或更高版本。运行以下命令以升pip到最新版本: pip install --upgrade pip 3、安装TensorFlow 现在我们已经成功创建了虚拟环境,下一步是安装TensorFlow软件包。 可以从 PyPI 安装多个 TensorFlow 软件包。该tensorflow软件包仅支持CPU,建议初学者使用。如果您拥有具有CUDA计算功能3.5或更高版本的专用NVIDIA GPU,并希望利用其处理能...阅读全文

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

Kaewkasi:我十分认同这种观点,过去,我们启动运行一组Web服务器是非常困难的,而有了Docker,我们几分钟之内就可以完成。 问:Docker与普通虚拟机有什么不同? Chanwit Kaewkasi: Docker基本上使用操作系统别的虚拟化,Linux命名空间和控制组。与虚拟化技术(如虚拟机使用的虚拟机管理程序)相比,Docker开销非常小。 Docker背后的真正引擎是Containerd 问:您如何在日常工作中使用Docker? Chanwit Kaewkasi: 我曾经帮助过东南亚和欧洲的公司设计和实施使用Docker应用架构,并将它们部署在Docker Swarm集群上。 问:使用Docker时您遇到过什么问题?您认为目前存在的挑战是什么? Chanwit Kaewkasi: 多集群...阅读全文

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

取代TCP:工程师宣布QUIC协议已完成RFC 9000发布

访问:天猫6·18 “开门红”超红包活动主会场 | 手机版京东6·18“京享红包”25日12点开始领取 最大面额高达18618元 (图 via Orozco 2018)据悉,工程团队中有三位核心成员,且他们对 QUIC 的承诺深信不疑。其中包括 IETF QUIC 工作组只需 Mark Nottingham,协议主要贡献者兼 quicly 创作者 Kazuho Oku,以及核心文档集编辑、杰出工程师 Jana Iyengar 。最新消息是,互联网工程任务组(IETF)已经发布了 RFC 9000,且得到了 RFC 9001 / 9002 / 8999 支持,意味着 QUIC 已从草稿阶段转向了 1.0 正式版。与此同时,基于 QUIC 的 HTTP/3 也有望紧随其后很快发表。对于...阅读全文

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都可以升到PHP 7.4版。 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)预加载提交性能属性类型限定Improved type variance(不会翻译)三元运算简写数组展开运算新增类的魔术方法:serialization数字分隔符运算优先顺序允许在__toString中抛出异常支持反射引用新增字节分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数可以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

提问的智慧(精简版)

骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。如果程序有诊断选项(如 -v --verbose --debug LOG_LEVEL=DEBUG 的详情指令),试着选择这些能在记录中增加调试信息的选项。记住,多不等于好。试着选取适当的调试别以便提供有用的信息而不是让读者淹没在垃圾中。如果你的说明很长,在开头简述问题,接下来再按时间顺序详述会有所帮助。描述目标而不是过程如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。😒 BAD | 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值?😊 GOOD| 我正试着...阅读全文

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

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包别的状态 要完成明确和...阅读全文

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

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

LFS的方法生成可以自行启动并安装了足够软件的CD,可以用来在空机器上安装LFS,或者直接在其上运行应用。 Patches 由于软件之间的依赖关系,在升软件包之后可能会导致LFS的过程出现故障。Patch项目致力于研究最新版本的软件之间的互动,并提供一些补丁修复这些故障。 这次发布的 LFS 和 BLFS 总共有29个包得到了更新,包括启动脚本和安装指南。而 BLFS 则跟上一个旧版本相比,有大概800个包得到了更新,主要更新包括: * glibc-2.24 * binutils-2.27 * gcc-6.2.0 * /lib 移到了 /lib64 * 移除/usr/lib64 目录 * 增加 /usr/bin/ld.gold 可用 LFS 手册: http...阅读全文

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

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

(对于大中型机,甚至重启都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时候,难以重新构建服务。持续过多的手工操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地化的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执行vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

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

Kubernetes 1.16.0发布 新版本四大主题

Network Proxy 在 1.16 版本中进入 AlphaCloud Controller Manager Migration 增强继续淘汰 extensions/v1beta1、apps/v1beta1 和 apps/v1beta2 API,这些扩展会在 1.16 版本中被弃用 已知的问题: etcd 和 KMS plugin 的健康检查没有在新的 livez 的 和 readyz 端点中公开。这将在 v1.16.1 中得到修正。 运行iptables 1.8.0 或更新版本的系统应以兼容模式启动它。请注意,这将影响所有版本的 Kubernetes,而不仅仅是 v1.16.0。 升前须知: 集群生命周期 amd64 的容器镜像 tar 文件现在将包含 RepoTags...阅读全文

博文 2019-09-20 13:28:32 debian.cn

Debian 10 Buster 国内常用镜像源

随着 Debian Buster 10.3 的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰度升到 Debian Buster 做前期验证了。这里我们整理一下国内较知名的镜像站点,共大家在生产环境中使用。 如何更新系统安装源 一般我们修改 /etc/apt/sources.list 文件,将 Debian 的默认源地址改成新的地址即可,比如将 http://deb.debian.org 改成 https://mirrors.163.com,可使用以下这条命令: sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list 注意...阅读全文

博文 2020-02-22 21:35:25 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

高可用性。使Prometheus高可用的一种方式是运行多个实例去scraping相同的作。这些实例在抓取指标时会因微小的时间间隔差异而在数据中产生细微差异。此外,如果其中一个实例宕机了几个小时,那么当查询转发到该实例时,将会出现数据空白。如果我们使用grafana这样的工具将指标展示为图形,我们可能会得到不同的样本值或有数据缺失的图形。可以将Cortex配置为从多个HA Prometheus实例读取数据。它从一个主实例main接受指标,并从其他实例放弃该度量。一旦这个副本掉线,Cortex会无缝切换到另一副本并将其标记为主副本main。为此,Cortex着眼于两个标签,一个共同的标签与一个集群(或一组Prometheus)相关联,另一个识别副本。全局指标视图可以将Prometheus实例配...阅读全文

博文 2021-10-09 17:00:22 知乎

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

务账户给应用,方便应用能够获取一定的权限 initContainers: #初始化镜像执行初始化操作 - name: peer-finder-plugin-install image: nacos/nacos-peer-finder-plugin:1.0 volumeMounts: - mountPath: "/home/nacos/plugins/peer-finder" name: plugindir affinity: #配置Pod反亲和性,放置Pod都起在同一节点上(如果都在一个节点,节点宕机将会使全部实例不可用) podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: #策略,pod一定不能启在同一个节...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

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

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

Go 语言的大版本更新:Go 2.0 安排上了

废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统 采用增量升的方式,而非单独发布重大更新版本 实施新的提案评估流程,以评估尚未解决且被标记为提案的 issue 将会在 Go 1.13 版本中选择 Go 2 部分的提案 背景 早在2017年的 GopherCon 大会上,Russ Cox(Go 核心开发团队的技术 leader)就已经正式开始思考 Go 的下一个大版本(相关文章)。当时官方非正式地将它称为 Go 2,但我们知道,所谓的 Go 2.0 并非一个单独的重大更新版本,而是通过“增量更新(incremental)”的方式以逐渐抵达 "Go 2.0"。所以本文对这个未来版本的称号 —— 也暂且用 Go 2 来描...阅读全文

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

Garrett 在2006年就指出了 Debian 决策效率低下的痛点,而他曾任 Debian Project Leader(简称 DPL,是 Debian 的项目负责人)。 Joey Hess 是 Debian 中的元老,颇具影响力 不过话说回来,Debian 毕竟是个志愿者组织,社区的事情会被成员放在较后的优先上,效率自然低下。况且,Debian 组织庞大,事情也不像只有十余名维护者的开源社区一样好解决。 但是,同样的问题引来了更多的人离开。2019年3月,一位名为 Michael Stapelberg 的 Debian 包维护者在其个人博客发表了一篇长文,宣布退出 Debian 的维护。他的文章引起了 Debian 社区内外的广泛关注。 Stapelberg 提到了几个星期前参加 Debian...阅读全文

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

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

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

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

AWS EKS 添加IAM用户角色 - SRE运维博客

IAM 用户或角色的 Amazon 资源名称 (ARN)。例如: { "UserId": "XXXXXXXXXXXXXXXXXXXXX", "Account": "XXXXXXXXXXXX", "Arn": "arn:aws:iam::XXXXXXXXXXXX:user/testuser" } 确认 ARN 与具有主要集群配置访问权限的集群创建者或管理员相匹配。如果 ARN 与集群创建者或管理员不匹配,请联系集群创建者 aws-auth ConfigMap。 添加对 EKS 集群具有只读访问权限的 IAM 用户 {{< notice info "注意:" >}} 要允许超用户访问权限以对任何资源执行任何操作,请添加 system:masters 而非 system:bootstrappers...阅读全文

博文 2022-12-19 21:15:27 博客园

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动部署到 production。公司里有很多员工、很多用户的好处:新代码让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问量用上新代码,最后慢慢增加到 100% 的访问量。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将代码投入生产的灵活方法。这篇文章着重讲述了他们在一年之内如何从“ cherry-picking ”升到“ push-from-master ”策略。早些时候, Facebook 也分享了他们部署过程的细节。作者 Chuck Rossi 是...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Harbor 1.9 发布:新增多项企业级功能

Policy) 目前,Harbor 会对某些镜像的运行加以限制,即那些被安全策略进行了漏洞(CVE) 扫描,且结果符合限制条件的镜像。又是为了对的某些 CVE 的情况进行例外处理,例如,忽略低严重性 CVE 或当前无解决方案的 CVE,1.9 为管理员引入了一项功能,使其可以创建一个 CVE 白名单,从而允许这些镜像在有限的时间段内运行,而不管是否具有特定 CVE 安全漏洞 。系统管理员可以创建一个对所有项目都有效的全局 CVE 白名单,而项目管理员则可以在单个项目别进一步细化此白名单。 内容复制的改进 1.8 版推出了在 Harbor 与其他 Registry(例如 Docker Hub 和 Huawei Cloud)之间进行跨 Registry 内容复制的功能,而 1.9 版对这些功能进行了扩展...阅读全文

博文 2019-10-09 12:12:04 debian.cn

Apollo 配置中心简单介绍

- 框架类组件配置,比如CAT客户端的配置。虽然这类框架类组件是由其他团队开发、维护,但是运行时是在务实际应用内的,所以本质上可以认为框架类组件也是应用的一部分。这类组件对应的配置也需要有比较完善的管理方式。 2、Why Apollo 正是基于配置的特殊性,所以Apollo从设计之初就立志于成为一个有治理能力的配置管理平台,目前提供了以下的特性: 统一管理不同环境、不同集群的配置 Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆...阅读全文

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

Web前端知识体系精简

,但Javascript在函数Function对象中建立了原型对象prototype,并以Function对象为主线,从上至下,在内部构建了一条原型链。 简单来说就是建立了变量查找机制,当访问一个对象的属性时,先查找对象本身是否存在,如果不存在就去该对象所在的原型连上去找,直到Object对象为止,如果都没有找到该属性才会返回undefined。 因此我们经常会利用函数的原型机制来实现JS继承。关于函数原型链可参考博客:JS原型对象和原型链 2、函数作用域 函数作用域就是变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。在JS中没有会块作用域,只有函数作用域,因此JS中还存在着另外一种怪异现象,那就是变量提升。关于作用域的介绍请参考博客:函数的作用域和作用域链 3、函数指针...阅读全文

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

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

运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。虽然开源软件是免费的,但它的创作却不是免费的:你需要往项目中投入时间和精力等宝贵资源。 那么,你如何投资这些资源? 1、定义成功 在考虑运作开源项目之前,你需要明确定义成功的意义。这里有很多因素要考虑。只将代码放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多...阅读全文

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

谷歌开源了代码评审规范:好坏代码应这样来判断

审 代码评审者指南本来是一个完整的文档,但作者将其分为了 6 部分,读者可根据需要阅读。 代码评审标准代码评审希望达到什么在代码评审中导航 CL代码评审的速度如何写审查的评论处理代码评审的回退 2.CL 作者指南——CL 作者批准代码的评审指南 CL 制定者指南包括一些进行代码评审的开发人员的最佳经验,这些经验能够帮助你更快、更高质量地完成评审。 写一个好的 CL 描述构建一些小的 CL如何处理代码评审者的评论 在谷歌看来,代码审核的目的是确保谷歌代码库的整体代码健康程度。谷歌将以下规则作为代码评审的标准: 一般来说,一旦 CL 能提升整体代码的健康程度,那么即使 CL 不完善,评审者同样也应该倾向于批准该列表。这是所有代码评审指南中的高原则。它也会有一些限制,例如,如果 CL 添加了一些...阅读全文

博文 2019-09-10 17:19:13 debian.cn

十条关于 WordPress 安全性的小贴士

WordPress 本质上并没大家认为的那么危险,而且开发者也在努力工作,以确保危险漏洞能被快速修复。但不幸的是,WordPress 的成功使其成为众矢之的:如果你能攻破一个 WordPress 安装,那么可能会有数以百万计的网站向你 “开放”。而且即使 WordPress 是安全的,也并不是所有的主题和插件都会有同样别的开发重视程度。 有些人攻击 WordPress 是为了挑战或造成恶意的损害,这些行为都很容易被发现。最糟糕的罪魁祸首是那种潜入内容的行为,它们会将钓鱼网站深入到文件夹结构,或使用你的服务器发送垃圾邮件。一旦你安装的 WordPress 被破解,可能需要删除所有内容并从头重新安装。 庆幸的是,有很多简单的方案来提升安全性。下面提到的安全修复方案都不会超过几分钟。 1. 切...阅读全文

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

Kubernetes v1.21 新特性预览

Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安全策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不可变 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文

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

Gitlab CI 配置文件 .gitlab

开始执行的时候,build:osx的artifacts就会开始下载并且会在build的stages下执行。同样的会发生在test:linux,从build:linux中下载artifacts。 因为stages的优先关系,deployjob将会下载之前jobs的所有artifacts: build:osx: stage: build script: make build:osx artifacts: paths: - binaries/ build:linux: stage: build script: make build:linux artifacts: paths: - binaries/ test:osx: stage: test script: make test:osx...阅读全文

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

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同任务...阅读全文

博文 2021-01-27 09:05:27 知乎

Apache Kafka发布 3.0 正式版

能够通过一次调用重新启动所有或仅失败的连接器Connector和Task实例。此功能是附加功能,restartREST API的先前行为保持不变。KIP-738:删除 Connect 的内部转换器属性在之前的主版本 ( Apache Kafka 2.0 ) 中弃用它们之后,internal.key.converter并internal.value.converter在 Connect 工作器的配置中作为配置属性和前缀被删除。展望未来,内部 Connect 主题将专门使用JsonConverter来存储没有嵌入模式的记录。任何使用不同转换器的现有 Connect 集群都必须将其内部主题移植到新格式(有关升路径的详细信息,请参阅KIP-738)。KIP-722:默认启用连接器客户端覆盖从...阅读全文

博文 2021-09-26 14:13:03 joseph

HTML 5.1 — 14 项新增特性及使用案例

4、反序链接关系 rev 属性在 HTML4 里有定义,但是它并没出现在 HTML5 里。W3C 决定在 元素里重新包含 rev 属性。rev 属性标识当前和反向的链接文档的关系。它已经被包含来支持广泛使用数据结构标记格式,RDFa。 让我们用两个文档来举个例子,每个包含一课程,在它们之间的链接可以使用如下 rel 和...阅读全文

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

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一路径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管理工作,将这些公用配置从开发者手中分离出来,变成系统管理配置。PodPreset 是 Namespace 别的对象,其作用范围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

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

户和它们各自的邮箱。创建一个用户是很容易的。 root@mail:~# adduser fourbyte 安装和配置SMTP 服务: postfix 配置文件路径 /etc/postfix/ 执行脚本 /etc/init.d/postfix 日志文件 /var/log/mail.log 端口 TCP/25 SMTP:安装postfix Postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。 root@mail:~# apt-get install postfix 在安装过程中,需要指定电子邮件服务器和域名的类型。 由于此邮件服务器就会直接向目的地发送电子邮件,我们选择Internet Site。 邮件服...阅读全文

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

SVN切换分支用法汇总

中,例如C:\Program Files\TortoiseSVN\bin。2. 创建分支在SVN中,可以使用checkout命令来创建新的分支。具体步骤如下:Step 1:在指定分支的上目录下,右键单击鼠标,选择“SVN Checkout...”Step 2:弹出“Checkout”窗口,在URL处输入分支的远程地址,例如http://localhost/branches/feature-branch/,并选择本地的工作副本路径。Step 3:单击“OK”按钮,等待下载即可。3. 切换分支切换分支操作非常简单,只需要在SVN上进行简单的操作即可。具体步骤如下:Step 1:在工作副本下,右键单击鼠标,选择“SVN Switch...”Step 2:弹出“Switch”窗口,在“To...阅读全文

博文 2023-06-09 14:22:35 infras

Kubernetes源码探疑:Pod IP泄露排查及解决方法

对于云主机与云主机之间,只有轻微差异(小包场景下,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定义如下...阅读全文

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

因为如果攻击者利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和监控。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地认为他们声称的就一定是事实,让我们来看看它的镜像是否更小。 先修改...阅读全文

博文 2018-09-06 10:50:29 debian.cn

WebAssembly:无需容器的 Docker (下)

以及 Wasm 带来的高 “沙箱隔离”。我们可以轻松看到的两种容器之间的其他差异。首先,我们将运行两个 daemon 容器,看看我们如何解释有关它们的一些统计信息。 然后我们将检查容器镜像的差异。容器数据让我们运行两个 daemon 容器 - 一个是从传统的 php 镜像,另一个是从 php-wasm 镜像。docker run --rm -d \ -p 8083:8080 -v $(pwd)/images/php/docroot:/docroot \ php:7.4.32-cli \ -S 0.0.0.0:8080 -t /docroot docker run --rm -d \ --runtime=io.containerd.wasmedge.v1 \ -p 8082:8080 -v...阅读全文

博文 2023-01-03 06:39:46 spider