InfraPub 为您找到相关结果 567

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

拖再拖。我一个典型的例子:rsync,其维护者完全出于个人的喜好拒绝我的补丁包使用debhelper。 赋予个人维护者如此大的自由,导致我们无法开展提高构建Debian软件包抽象级别的项目,这反过来又让工具更加困难。 更好的方式是什么? 作为一个项目,我们应该努力实现更多的统一。统一性并不能完全去除实验,它只是改变了两者的平衡,从简单的实验和难度较高的自动化变成了难度较高的实验和简单的自动化。我们的文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识,项目中的任何人都可以很容易贡献(经过审查的)变更,而不必凡事都要通过个人维护者。 支离破碎的工作流程和基础设施 Debian似乎更倾向于采用分散式的方法,而不是集中式的方法。例如,每个包都保存在单独的代码库中(而不是在一个统一的代码库...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

王垠:如何掌握所有的程序语言

ML 等语言的 currying 自己动手实现语言特性 在基本学会了各种语言特性,能用它们来写代码之后,下一步的进阶就是去实现它们。只有实现了各种语言特性,你才能完全拥有它们,成为它们的主人。否则你就只是它们的使用者,你会被语言的设计者牵着鼻子走。 有个大师说得好,完全理解一种语言最好的方法就是自己动手实现它,也就是自己写一个解释器来实现它的语义。但我觉得这句话应该稍微修改一下:完全理解一种“语言特性”最好的方法就是自己亲自实现它。 注意我在这里把“语言”改为了“语言特性”。你并不需要实现整个语言来达到这个目的,因为我们最终使用的是语言特性。只要你自己实现了一种语言特性,你就能理解这个特性在任何语言里的实现方式和用法。 个例子,学习 SICP 的时候,大家都会亲自用 Scheme 实现一个...阅读全文

博文 2017-07-10 10:13:17 debian.cn

域名与商标: 如何防止域名被仲裁

,域名权与商标权、商号权、名称权不可避免会产生冲突。这类情况相对比较复杂和不确定性,理论上,任何一个域名都有产生权利冲突的可能性。 在权利冲突上,仲裁机构还是会充分尊重域名作为独立知识产权的权利和它的先得原则。也就是说,如果域名的注册时间先于商标、商号或名称的启用时间,或者域名的使用区别于现有商标、商号或名称的经营范围的,域名所有权将不受影响。个例子,alichat域名,阿里巴巴为何不通过仲裁而是出钱收购,就是因为alichat域名在阿里的Chat业务启动前就已经存在,阿里即使仲裁,也不会被支持。 对于权利冲突类域名,经咨询相关法律专业人士,认为一般有以下争议解决法: 1、注册在先,即域名的先得原则2、否认声明,在域名对应的网站上,声明自已域名的使用范围和商品类别,或者声明自已的域名与他...阅读全文

博文 2019-01-18 14:59:59 debian.cn

Windows Lite 对微软来说意味着什么?

微软发烧友 Brad Sams 近日在 Petri 上写道,微软正在开发一个名为 Windows Lite 的新版操作系统。顾名思义,Windows Lite 将是轻量级并快速的,因为它抛开了 Windows 长达数十年的臃肿积累。此似乎暗示着微软转向云计算并重新进入移动领域的野心。但微软想取得成功,它必须从过去的错误中吸取教训。 Windows 的转型是有必要的。尽管微软已经在其 Surface 系列产品上取得了成功,但即便是最新的 Windows 10 系统,仍然包含着几十年前的代码,部分原因是微软的许多企业客户仍然需要与旧软件兼容。因此,Windows 10 不仅臃肿,而且还不适合移动世界。比方说,微软试图将 Surface Go 作为 iPad 的竞争对手,但受操作系统的限制,它...阅读全文

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有缓冲和无缓冲两种类型,无缓冲的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么待channel阻塞时则表明条件未满足,则需要等待其他数据结果返回。 本文列几类常见的 channel 使用场景。 读写 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println("写:",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

ThinkPHP v5.1.0 发布 — 新年献礼

手册 官方 完全开发手册 已经更新至最新 2018-1-1 ThinkPHP 官方团队 5.1 的扩展也同步更新支持了(都支持 composer 安装),包括: topthink/think-testing topthink/think-mongo topthink/think-migration topthink/think-queue topthink/think-captcha topthink/think-image topthink/think-walkman topthink/think-swoole 以及大量的第三方类库包(不一一列) 另外,官方已经把 5.1 版本的很多组件独立成 composer 包了(不再依赖 ThinkPHP 核心框架运行),包括但不限于...阅读全文

博文 2018-01-03 08:03:24 debian.cn

华为正式发布 openEuler 系商业发行版操作系统

3月27日,华为开发者大会2020以线上形式行,华为云与计算BG总裁侯金龙在主题演讲中发布openEuler系商业发行版操作系统,首批参与的操作系统包括银河麒麟服务器操作系统V7.6,普华服务器操作系统V5.1(鲲鹏版)、深度欧拉V1.0以及傲徕服务器操作系统1.0。 IT之家此前报道过,今年1月份,openEuler开源社区(以下简称openEuler社区)正式开放源代码、镜像及开发测试环境,标志着openEuler社区开放运作迈出了坚实一步。作为主要筹备方,华为会逐步开放在ICT基础软件领域的技术积累,将操作系统、编译器/JDK等领域的基础平台能力开源至openEuler社区。 在openEuler社区,社区参与者可下载操作系统安装镜像或源代码,快速了解并掌握openEuler操作系...阅读全文

博文 2020-03-27 11:10:15 debian.cn

三星谈论下一代DRAM解决方案:GDDR7、DDR5、LPDDR5X和V-NAND

访问购买页面: SAMSUNG - 三星旗舰店 今年的活动有800多名客户和合作伙伴参加,三星的内存和系统LSI业务领导人--包括内存业务总裁兼负责人Jung-bae Lee、系统LSI业务总裁兼负责人Yong-In Park和执行副总裁兼设备解决方案(DS)美洲事处负责人Jaeheon Jeong,一同就公司的最新进展和未来愿景发表了演讲。系统LSI业务亮点在今年技术日的上午会议上,系统LSI业务强调了其目标,即通过最大限度发挥其独特和广泛的产品系列之间的协同作用,成为一个"整体解决方案无工厂"。作为三星电子的无晶圆厂IC设计公司,系统LSI业务目前提供约900种产品,其中包括SoC(片上系统)、图像传感器、调制解调器、显示驱动IC(DDI)、电源管理IC(PMIC)和安全解决方案...阅读全文

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

管理仍然是不容易,我们必须创建自己的工具来管理,如果可以在Docker Swarm中本完成,这将是非常好的一次改进。 多主机联网目前使用情况还不错,但我仍然发现了一些小问题。不过,最近很多SDN供应商正在将自己的网络堆栈作为Docker插件实施,这对于使用者来说是件好事。 问:关于Docker生态系统的演变,您如何评价Docker决定 向CNCF 捐赠 containerd runtime ? Chanwit Kaewkasi:我认为这是个非常棒的动,Docker背后真正的引擎基本上是Containerd,标准化的 container runtime 将会使所有的人都受益。 多集群管理依然不容易。 问:您希望在下一个Docker发行版中看到什么功能? Chanwit Kaewkasi...阅读全文

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

Debian软件包常用管理命令整理

在Debian及其衍生的系统中,我们需要经常使用的软件包管理命令,对系统进行管理,以便系统达到预期的状态。Debian系统中,常用的软件包命令有 apt、apt-get、dpkg、apt-cache等,这里我们着重列常见的一些用法。 软件包查询(不需要sudo权限) $ apt-cache search pkg_keyword #列出匹配关键字的软件包 $ apt search pkg_keyword #列出匹配关键字的软件包,包括了版本信息 $ apt list pkgname #查找该软件包,会显示版本信息 $ apt-cache show pkgname #查询软件包详细信息 $ apt show pkgname #查询软件包详细信息 $ apt-cache depends...阅读全文

Python 社区有了新治理模式

投票,也就是弹劾机制,可将任期内的当权者赶下台;它严格限定了在委员会里,只允许少于 50% 的成员是企业(5 人委员会里最多有 2 个);并且关注到核心开发者的选/淘汰、如何更新治理提案等问题。 而且,PEP 8016 中也提出了新的 PEP 流程,目前的 PEP 流程是提案人确定 PEP 的选题方向,提案人负责收集与整合来自整个社区的反馈。然后,相关领域的专家们汇总全部讨论,并开启为期 14 天的审查,之后进行社区投票。如果一个 PEP 很有争议,任何专家成员都可发起动议来拒绝通过它,这需要超过 2/3 的票数。PEP 8016 的 PEP 流程:理事会在必要时可直接批准/否决 PEP,但最好是设置流程来避免这样做决策,例如,将决策权委派给团队或者 BDFL 代表。 7 种治理方案一览...阅读全文

Debian 10使用 Wine 安装配置微信、QQ与TIM

simsun.ttc放在这个目录 cp simsun.ttc /home/your_username/.wine/drive_c/windows/Fonts/ 有其他文章建议把simfang.ttf simkai.ttf timesbd.ttf timesi.ttf simhei.ttf simsun.ttc timesbi.ttf times.ttf这几个字体都放进这目录,或者更多字体。 这样wine安装程序时应该能够看清楚中文了,但wine安装的程序还会出现中文方块。因此还要修改注册表。先写注册表字体修改文件font.reg如下(引用了文章wine中文乱码的解决方法一个比较直接的法): REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT...阅读全文

如何离线更新基于 Debian 的系统

本文我们将介绍如何对离线的系统进行升级或者更新,本方法对基于 Debian 的系统均有效。这一次我们会更新、升级整个操作系统。这个方法在你的主机没有网络连接,或者网络速度很慢时,十分有用。 离线更新基于 Debian 的操作系统 我们假设你在单位或者主机服务商处,有一台正在运行,并配置有高速互联网链接的系统,Windows 或者 Linux均可,而在家有一个没有网络连接或网络很慢的 Debian 操作系统。现在你想要快速更新家里的Debian系统,怎么?是否需要购买一个更加高速的网络?当然不需要!你可以通过本文介绍的离线更新方法来升级你的操作系统。这正是 apt-offline工具可以做的。 正如其名,apt-offline 是一个为 Debian 及其衍生发行版(诸如 Ubuntu...阅读全文

博文 2018-02-07 10:06:03 debian.cn

如何对一个deb包解压、修改、重新打包 全过程

deb解包封包工具 08-21 此软件用于解包封包deb包 win下解压deb文件的插件 03-03 How to install DEB plugin: 1. Unzip the deb.wcx to the Total Commander directory 2. In Total Command ubuntu下deb的解压方法 feigeswjtu的专栏 12-25 1万+ 承接上一篇文章中的第二步,解压ubuntu下的deb文件,还是网上搜索吧,http://blog.csdn.net/monkey_d_meng/article/details/6034268这篇文章将的很详细,但是对菜鸟来说还是有点高深,只是说解压deb的方法,没法了,自己man dpkg查看吧,结果找到了,没...阅读全文

博文 2021-02-16 11:44:48 CSDN

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

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

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

21款必不可少的Ubuntu桌面应用程序

阻止器 这款应用程序对我来说不可或缺。我的密码很长,每当我离开Ubuntu电脑一段时间,Ubuntu锁屏就会锁住屏幕。 但有时正当我起劲在BuzzFeed上读一篇长文或者观看YouTube视频时,它也会锁住屏幕。这种情况下,我不想锁屏来干扰我,此时可以使用caffeine。 Caffeine提供了一种快速抑制(阻止)屏幕保护程序或锁屏的方法。只要你在需要它时启用它,不需要它时禁用它! 7. KdenLive视频编辑器 你需要在上传到YouTube之前修饰一个视频片段?想为长长的视频播客增添漂亮的转场和炫酷的效果?那么,你应该使用Kdenlive。 Kdenlive是一款非线性视频编辑器,它很出色:用起来不仅很容易,还很可靠(其他Linux视频编辑器容易崩溃)。 替代方案:Flowblade...阅读全文

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

SVN切换分支用法汇总

path:"中输入目标分支的远程址,例如http://localhost/branches/develop/。Step 3:单击“OK”按钮,等待操作完成即可。四、SVN切换分支常见问题处理在使用SVN进行分支切换的过程中,可能会遇到一些常见的问题。为了方便大家解决这些问题,下面列了一些经常遇到的问题及其解决方法:1. SVN switch的URL址错误在使用SVN switch命令进行分支切换时,如果URL址有误,可能会导致切换分支失败。此时,可以按照以下步骤进行处理:Step 1:检查URL是否正确;Step 2:确认URL址是否可以访问。2. 更新操作失败在进行分支切换的过程中,可能会遇到更新操作失败的问题。这时,我们可以使用以下方法来解决这个问题:Step 1:检查网络连接是否正...阅读全文

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

分布式运行时 Dapr 知多少

,但不完全是。比如nodeapp暴露了一个API:http://10.0.0.2:8000/neworder,按照传统的方式,直接HTTP POST这个API访问就得了,但在Dapr中,其提供了服务间方法调用的接口规范,需要按照POST/GET/PUT/DELETE http://localhost:/v1.0/invoke//method/的格式进行访问。那假设pythonapp需要访问nodeapp的方法,就需要POST一个请求到http://localhost:3500/v1.0/invoke/nodeapp/method/neworder。你可能会想为何多此一呢?此的意义何在呢?目的很简单,就是为了实现对服务间网络通信的控...阅读全文

OpenStack 基金会发布新容器项目 Kata

和运行时的标准规范。Hyper 的 runV 被视为“容器管理程序”,支持 Xen 和 KVM。以上两个项目都被包含在 Kata 中,runV 用来启动容器。 在几天前行的 Kubecon/CloudNativeCon 大会上有一场 演讲 提到了所谓的“虚拟容器”的底层技术,可以运行直接由超级管理程序管理的容器。在多租户环境里运行由 Kubernetes 管理的容器时,租户之间的隔离问题是重中之重。使用不同的虚拟机来运行不同的容器可以达到一定程度的隔离。但对于 Hyper 来说,这样做不是必需的,因为每个容器由单独的管理程序进行管理,而不是运行在单独的虚拟机上。 现有的 OpenStack 容器项目 Magnum 和 Zun 使用了其他容器技术和编配器。用户可以通过 Magnum 为容器创...阅读全文

博文 2017-12-14 22:45:39 debian.cn

Django 3.0 发布第一个版本 开始支持异步功能

MariaDB 10.1 及更高版本;新的 ExclusionConstraint 类可以在 PostgreSQL 上添加排除约束;输出 BooleanField 的表达式现在可以直接在 QuerySet 过滤器中使用,而无需先注解然后对注解进行过滤;自定义枚类型 TextChoices、IntegerChoices 和 Choices 现在可用作定义 Field.choices 的方法。 此外还有一些小改动,详情查看更新说明: https://docs.djangoproject.com/en/dev/releases/3.0 需要注意的是,Django 3.0 支持 Python 3.6、3.7 与 3.8,Django 2.2.x 系列是最后一个支持 Python 3.5 的系列。官方同时也建议...阅读全文

博文 2019-09-13 07:21:28 debian.cn

PCIe 6.0完成0.5版本:明年正式版 总带宽256GB/s

前向纠错(FEC)和相关机制,以改进带宽效率。 今年的PCI-SIG开发者大会将于6月初行,届时会有超过25家组织成员对PCIe 6.0规范进行面对面讨论,更多细节也会对外公布。 大家可能会感到疑惑:PCIe规范更新换代如此迅速,我该买哪个版本的产品最好?是不是现在入手PCIe 4.0的很快就会过时呢? 其实大可不必有此担忧,因为任何科技都是在不断发展演进的,永远都会有更好的出现,自己有需要的时候就上。...阅读全文

博文 2020-02-22 22:20:38 debian.cn

Debian 包维护者不满 Debian 开发流程 宣布退出

机系统。 但与此同时,Stapelberg 也逐渐发现并认识到了 Debian 在许多方面的不足,他发现 Debian 整个开发评估流程都非常迟钝。例来说,补丁的评估没有截止日期,有时候他会收到通知说几年前递交的补丁现在合并了。Debian 的一些维护者出于个人喜好拒绝合作,维护者给予的个人自由度太高对 Debian 构成了严重影响。Debian bug 跟踪器 debbugs 源自 1994 年,只有 Debian 和 GNU 项目使用。 Stapelberg 抱怨了 Debian 糟糕的开发流程,对此感到十分不满,还表示对 Debian 开发流程的沮丧程度最终超过了其忍受的阈值。为此,他撰写了这篇文章,并希望自己的文章能激励 Debian 做出改变,继而改进开发者参与维护的体验。...阅读全文

博文 2019-03-14 11:01:04 debian.cn

Prometheus 常用 PromQL 语句样例

PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户实时查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或者作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在时间序列上执行计算类型时,SQL 语言相对缺乏表达能力。而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文

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

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

他首次披露他在Twitter的9.2%股份时,他就创建一个"编辑"按钮向Twitter用户进行了调查,而实际上Twitter已经在开发这个按钮。他后来还建议取消Twitter Blue的广告并降低其订阅价格,并增加狗狗币作为支付选项。 马斯克一直直言不讳批评Twitter的内容管制,称自己是一个"言论自由的绝对主义者",并对该平台在他的控制下如何节制表示担忧。"马斯克在TED 2022期间接受克里斯-安德森的采访时说:"人们有一个现实和认知,即他们能够在法律的范围内自由发言,这一点非常重要。我认为从广义上讲,我们越是能增加对Twitter这个公共平台的信任,文明受损的风险就越小。" 马斯克最初在4月13日提出以每股54.20美元的价格收购Twitter。该提议是在马斯克披露收购...阅读全文

开发者体验被重点关注:开发人员是关键资产 - OSCHINA

外媒 betanews 近日与一些企业高管进行了一些交流并得出结论称,开发者体验正经历一个优先级转变。即,云供应商和技术公司在开发者体验方面聚焦了更多的目光;这些公司正在投资和构建工具,以帮助开发人员更好、更快、更高效工作。 开源数据库公司 Percona 的产品高级副总裁 Donnie Berkholz 指出,发生这种焦点变化的原因在于,企业希望他们的开发人员更有生产力,对他们的工作方式更加满意,但他们也希望围绕技术管理和控制自己的命运。他们希望提供同样水平的速度和效率,但要跨越他们的 IT stacks 来设置东西。对于运行私有云的公司来说,这就是要与那些完全致力于公共云的竞争对手平起平坐。 并补充称,开发者体验投资将是为了使这种自助式的构建应用程序的方法能够发挥作用,并迅速发挥作用...阅读全文

博文 2021-12-28 14:45:52 中文开源技术交流社区

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

,会获取到此套接字的文件描述符。 然后,bind到指定的址进行监听listen。这样,服务端就在特定的端口启动起来并进行监听了。 之后,利用开启accept方法来监听客户端的连接请求。一旦有客户端连接,则将获取到当前客户端连接的connection文件描述符。 双方建立连接之后,就可以进行数据互传了。需要注意的是,在循环开始的时候,务必每次都要重新设置当前connection的文件描述符,是因为文件描描述符表在内核中被修改过,如果不重置,将会导致异常的情况。 重新设置文件描述符后,就可以利用select函数从文件描述符表中,来轮询哪些文件描述符就绪了。此时系统会将用户态的文件描述符表发送到内核态进行调整,即将准备就绪的文件描述符进行置位,然后再发送给用户态的应用中来。 用户通过...阅读全文

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

Kubernetes常用命令大全(持续更新)

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 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Debian 11 "bullseye" 发布,带来内核 exFAT 支持

:更新了 42821 个软件包(占 buster 软件包总数的 72%)。而且,由于各种原因,有相当数量的软件包(9519 个,占 buster 软件包总数的 16%)从这次发行中被删除了。您将不会看到这些包有任何更新,而且在包管理软件中它们会被标记为“过时的”;桌面程序和软件包如往常一样,Debian 也提供了多个桌面程序和环境。提供的桌面环境包括 GNOME 3.38,KDE Plasma 5.20,LXDE 11,LXQt 0.16,MATE 1.24,以及 Xfce 4.16。生产力应用也得到了升级,包括公套件:LibreOffice 已升级到 7.0 版;Calligra 已升级到 3.2 版;GNUcash 已升级到 4.4 版;这次发行包含了许多软件的更新,其中包括:​无驱动扫...阅读全文

你应该选择Cinnamon作为Linux桌面环境的十个理由

混乱的使用感受。 6. Cinnamon面板。Cinnamon面板作为一款工具栏非常易用,其中提供用于启动程序的菜单、基本系统托盘与应用选择器。右键点击程序图标,选择“Add to panel”即可将应用添加至程序启动栏中。大家还可以将启动图标添加到桌面中以及Cinnamon的“Favorites”启动栏内。另外,进入“Edit”模式即可对各图标进行重新排序。 7. 灵活性。有时候,我们很难找到已经被最小化或者隐藏运行的应用。而Cinnamon提供了我最喜爱的功能之一,即直接拖动运行中的应用按钮,并在选择栏中进行重新排列。这意味着我能更轻松找到对应窗口。 Cinnamon桌面还提供一套非常漂亮的弹出菜单,右击即可呼出。其中包含的常用任务包括桌面设置、添加桌面部件选项以及其他多种桌面操作任务...阅读全文

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

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

需要观测时没有数据。eBPF 执行引擎可通过动态加载执行 eBPF 脚本来采集可观测性数据,个具体例子,假设原本的 K8S 系统并没有做进程相关的监测,有一天发现了某个恶意进程(如挖矿程序)在疯狂占用 CPU,这时候我们会发现这类恶意的进程创建应该被监测起来,这时候我们可以通过集成开源的进程事件检测库来是实现,但这往往需要打包、测试、发布这一整套流程,全部走完可能一个月就过去了。相比之下,eBPF 的方式显得更为高效快捷,由于 eBPF 支持动态加载到内核监听进程创建的事件,所以我们可以将 eBPF 脚本抽象成一个子模块,采集客户端每次只需要加载这个子模块里的脚本完成数据采集,再通过统一的数据通道将数据推送到后端。这样我们就省去了改代码、打包、测试、发布的繁琐流程,通过无侵入的方式动态...阅读全文

博文 2022-03-21 09:11:51 joseph

Qt5.9发布:如何评价QT

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...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

Docker更名Moby,也是无奈之举

、containerd、InfraKit以及最新刚刚发布的LinuxKit)当中拆分出来,仍然导致人们很难对容器技术及命令行中的奥秘进行深入探索,更遑论弄清各活动部件间的彼此关联。 对于Moby的误解,部分源自该公司决定直接将访问者重新定向至Docker客户端的GitHub库(用于保留Docker客户端的开源代码),但却未对此作出任何解释。 GitHub连接问题的出现进一步扩大了对Docker项目凭空“消失”的误会。Docker公司技术人员PatrickChanezon表示,GitHub更换代理商造成了一系列技术性问题,可能需要GitHub方面的支持人员介入并加以解决。 Docker公司联合创始人兼CTO SolomonHykes在他的pull请求中对目前的状况给出了非常简单的答案:“Docker公司正在将所...阅读全文

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

Git 介绍与使用详解

没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。个例子,要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再显示出来——它只需直接从本数据库中读取。 你能立即看到项目历史。 如果你想查看当前版本与一个月前的版本之间引入的修改,Git 会查找到一个月前的文件做一次本的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本处理。 2.安装、配置Git 2.1GUI可视化界面推荐 1.GitForWindows https://gitforwindows.org/ 自带GIT BASH和GIT GUI 2.TortoiseGit https://tortoisegit.org/download/ 3...阅读全文

博文 2017-02-25 09:00:27 程序员

十个增加 Linux Shell 脚本趣味的小工具

-dialog-info:通知图标,你可以指定图标 -i /path/to/your-icon.png 2. tput 命令 这个命令是用来设置终端特性的: 移动光标 获得终端信息 设置前景和背景色 设置粗体模式 设置反模式等等 例: #!/bin/bash # clear the screen tput clear # Move cursor to screen location X,Y (top left is 0,0) tput cup 3 15 # Set a foreground colour using ANSI escape tput setaf 3 echo "XYX Corp LTD." tput sgr0 tput cup 5 17 # Set reverse video mode...阅读全文

博文 2018-04-09 09:38:50 debian.cn

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

NodePort,你可以根据需要修改其类型,比如你的 Kubernetes 集群是云厂商托管的,则可以考虑将其修改为 LoadBalancer 类型,以获取一个外部可达的 IP。 这里我们通过端口转发的方式将服务映射到本。 kubectl port-forward -n ingress-apisix svc/apisix-gateway 8443:443 然后开始配置访问。 curl https://httpbin.org:8443/json --resolve 'httpbin.org:8443:127.0.0.1' -sk { "slideshow": { "author": "Yours Truly", "date": "date of publication", "slides...阅读全文

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

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

谷歌元老施密特隐退:传奇落幕 新篇开启

程技术平台。而到了 Novell 之后用了不到三年就使这家公司扭亏为盈,最后的亏损其实很大程度上需要归结为微软的打压和互联网泡沫的破裂,那次失败真不是施密特能控制的。所以 Novell 公司在他担任谷歌 CEO 之后依然为他保留了董事会主席席位,以示尊重。 施密特的位堪比二位创始人 谷歌由佩奇和布林创立于1998年,但是直到2001年施密特担任 CEO,谷歌依然只是一个技术还不错,但是完全没法赚钱的小公司,施密特本人就曾直言:“他们在各个方面的看法,都与我不尽相同。让人搞不清他们的思路究竟是令人耳目一新的远见,还是单纯天真。” 而施密特的加入,正好为两位创始人天马行空的设想打下了良好的基础——钱。施密特发现了搜索业务和广告之间的高度关联性,并由此创造了搜索广告这一革命性的盈利模式,直到现...阅读全文

博文 2017-12-24 09:18:44 debian.cn

Debian Live 项目的剧变

尽管围绕 Debian Live 项目发生了很多戏剧性事件,关于 Debian Live 项目结束的公告的影响力甚至小于该项目首次出现时的公告。主要开发者的离开是最显而易见的损失,而社区对他本人及其项目的态度是很令人困惑的,但是这个项目也许还是会以其它的形式继续下去。 所以 Debian 仍然会有更多的工具去创造启动光盘和其他介质。尽管是用这样一种有遗憾的方式,项目创始人 Dabiel Baumann 和 Debian CD 团队以及安装检测团队之间出现的长期争论已经被「解决」了。 在 11 月 9 日, Baumann 发表了题为「 Debian Live 项目的突然结束」的一篇公告。在那篇短文中,他一一列出了自从这个和他有关的项目被发起以来近 10 年间发生的不同的事件,这些事件可以...阅读全文

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

aptitude 与 apt

alias acs='apt-cache search' alias agu='sudo apt-get update' alias agg='sudo apt-get upgrade' alias agd='sudo apt-get dist-upgrade' alias agi='sudo apt-get install' alias agr='sudo apt-get remove' 或者使用前面介绍的aptitude命令,如, alias agi='sudo aptitude install' aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。例来说...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

Intel 为啥要给 ARM 代工

日前,Intel 公开表示将为 ARM 阵营 IC 设计厂商代工生产芯片。且还公开叫板“友商”,称 Intel 的 10nm 工艺比三星、台积电的 10nm 工艺更具优势。ARM 方面表示很期待与英特尔合作。此外,不知道是否因为台积电和三星制造工艺注水的问题,Intel 的专家 Mark Bohr 还发布了一个更合理的衡量半导体工艺水平的公式。那么,Intel 缘何开始为 ARM 阵营 IC 设计公司代工芯片,Intel 提出的新计算公式能得到台积电、三星、格罗方德等代工大厂的认同么? Intel 罕有为第三方提供代工业务 一直以来,虽然台积电在芯片代工领域的市场份额独占鳌头,但在芯片制造工艺上,Intel 始终掌握着最先进的技术。例来说,虽然同样是 14nm 制造工艺,三星的 14nm...阅读全文

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

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

RBAC 授权器例,当请求进入时,授权器会将用户的初始状态缓存下来,然后用它来检索与 etcd 中的用户关联的所有 角色(Role)和 角色绑定(RoleBinding)。那么问题来了,Controller 是如何访问和修改这些资源对象的呢?事实上 Kubernetes 是通过 Informer 机制来解决这个问题的。 Infomer 是一种模式,它允许 Controller 查找缓存在本内存中的数据(这份数据由 Informer 自己维护)并列出它们感兴趣的资源。 虽然 Informer 的设计很抽象,但它在内部实现了大量的对细节的处理逻辑(例如缓存),缓存很重要,因为它不但可以减少对 Kubenetes API 的直接调用,同时也能减少 Server 和 Controller 的大量重复性...阅读全文

博文 2022-04-18 16:18:04 CSDN

开源硬件是趋势,Arm 却走了一条与众不同的路

Android 从来都不存在一样,Arm 也希望 RISC-V 不存在。” Riordan 如此说道。 2019 年可能是 Arm 的转折点。这家英国公司对客户(主要是半导体公司)的微处理器 IP 许可进行了一系列重大更改,目的是提供更好的访问以及更灵活的芯片设计选项。今年早些时候,Arm 推出了 Arm 灵活访问权限(Arm Flexible Access)—— 通过它客户可以以较低的费用访问公司的广泛技术组合,而没有购买完整许可证的义务。 在本周于圣何塞行的 Arm TechCon 年度技术会议上,Arm 首席执行官 Simon Segars 宣布将自定义指令(Custom Instructions)添加到以 IoT 为重点的 Cortex-M 处理器系列中,并从 2020 年上半年的 Arm...阅读全文

博文 2019-10-17 22:39:43 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的并行处理算法,例如异步训练和 allreduce 式训练,需要一个分布式集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深度学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花费大量时间。由于更多用户访问模型的端点,为了有效处理客户端请求,需要更多服务实例...阅读全文

Golang 操作 Kafka 样例

是实际存储message的⽅,⽽ .index 和 .timeindex ⽂件为索引⽂件,⽤于检索消息。 2.1.7. 消费数据 多个消费者实例可以组成⼀个消费者组,并⽤⼀个标签来标识这个消费者组。⼀个消费者组中的不同消 费者实例可以运⾏在不同的进程甚⾄不同的服务器上。 如果所有的消费者实例都在同⼀个消费者组中,那么消息记录会被很好的均衡的发送到每个消费者实 例。 如果所有的消费者实例都在不同的消费者组,那么每⼀条消息记录会被⼴播到每⼀个消费者实例。 个例⼦,如上图所示⼀个两个节点的Kafka集群上拥有⼀个四个partition(P0-P3)的topic。有两个 消费者组都在消费这个topic中的数据,消费者组A有两个消费者实例,消费者组B有四个消费者实例。 从图中我们可以看到,在同⼀个...阅读全文

博文 2023-01-10 13:46:09 掘金

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

和图像的互相转换,而是所有模态之间都可以方便互相转化。 第三个方向是,模型可以持续学习。目前的模型如GPT都停滞在当初训练好的状态,并不会随着使用次数的增加而自我优化。我相信未来可以改变这一点。 如果上述三点都能实现的话,我们就可以解锁无数全新的应用场景,实现真正的科技革新,帮助人类实现科技的飞跃式前进。而且我相信,我们也有法利用AI推动科研进步和新知识的产生。 我认为,现在普遍存在的一种错误观点是:“虽然语言模型的功能已经比较完善,还可以应用到图像和视频领域,将应用智能的边际成本降得非常低,但归根结底,它只是模仿人类做过的东西,不能为人类产生新知识,不能治疗癌症,也不能拓展人类已知的科学领域。”我相信,AI的发展会让持这种观点的人大吃一惊。 Reid Hoffman:AI将如何影响未来...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

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

的Kubernetes API, 以UCloud 公有云资源为基础, 通过自研的插件整合打通了ULB、UDisk、EIP等公有云网络和存储产品,为用户提供一站式云上Kubernetes服务。 其中VPC既保障网络隔离,又提供灵活的IP址定义等,是用户对网络的必备需求之一。UK8S研发团队经过考察后认为,UCloud基础网络平台具有原生、强大的底层网络控制能力,令我们能抛开Overlay方案,把VPC的能力上移到容器这一层,通过VPC的能力去实现控制和转发。 UK8S每创建一个Pod都为其申请一个VPC IP并通过VethPair配置到Pod上,再配置策略路由。 原理如下图所示。 此方案具有以下优势: 无Overlay,网络性能高。50台Node下的测试数据表明,容器与容器之间的网络性能,相...阅读全文

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

,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没法,没有定位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解决了一些慢SQL,但此次并没有定位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文

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

Golang Context 探究

{ c.mu.Unlock() return // 已经被其他协程取消 } c.err = err // 关闭 channel,通知其他协程 if c.done == nil { c.done = closedchan } else { close(c.done) } // 遍历它的所有子节点 for child := range c.children { // 递归取消所有子节点 child.cancel(false, err) } // 将子节点置空 c.children = nil c.mu.Unlock() if removeFromParent { // 从父节点中移除自己 removeChild(c.Context, c) } } context.timerCtx timerCtx 基于...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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

="petrolimage.jpeg" alt="Petrol price drops">

A man fueling up his car at petrol station

This is the forth hike in petrol prices in two month and the third in case of diesel in one fortnight.

12. 拼写检查 spellcheck 是一个取值可以为空字符串、true 和 false 的枚属性。如果指定其状态为 true,就表示元素将会接受对其的拼写和语法检查。 element.forceSpellCheck() 将强制用户代理在文...阅读全文

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

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

展已经有一段时间了,但业内一直各自为政,由于没有统一的接口标准,"胶水"芯片生态难建,大公司止步不前,小公司也不敢迈出第一步。长期以来,摩尔定律的持续演进被视为芯片性能提升的主要途径。经历四十多年的发展,构成芯片的晶体管几乎要缩小到原子级别,不仅面临难以突破的物理极限问题,制程升级的投入产出比也大幅下降,业界开始寻找新的法提升产品性能,例如,通过改变封装的方式提升晶体管密度。提出摩尔定律的戈登本人也意识到了封装的重要性,他在论文中写道:"事实证明用较小的功能模块构建大型系统可能会更经济,这些功能模块将分别进行封装和互连。"简单来讲,也就是将原先生产好的芯片集成到一个封装中,达到减少产品开发时间和成本的目的,这些芯片模块可以是不同工艺节点,最终通过裸片对裸片的方式连接在一起,这一类似于用胶水...阅读全文

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