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

10年来最重要创新 ARM发布AMRv9指令集:IPC性能大涨30%

,ARM会增加更多高级功能,比如VRS可变帧率渲染、RT光线追踪及其他高级渲染技术等。在ARMv9中,最重要的一项挑战其实是数据安全,这一次ARM推出了全新的CCA机密计算体系架构,基于之前的TrustZone安全技术,但引入了动态域技术,它对操作系统及管理程序来说是完全不透明的,不会被系统或者软件提权攻击,而且依然可以接受管理及调度。总之,ARM今天公布的ARMv9指令集极具创新,是未来10年3000多亿ARM芯片的基础,不过现在具体的细节还很少,只是一个初步的路线,今年夏天还会公布更多详细内容。至于ARMv9处理器的商业化,预计会在2022年早些时候进入市场。...阅读全文

树莓派64位系统Debian 9先行测评:性能最高提升30倍

df -Th 完整测试截可以在这里下载(感谢yoyojacky提供)。 总结: GEEEKPI 团队最终对比表格如下: 测试项目 Raspbian2017-03-03 Debian 9 Arm64bit 提升倍数 系统信息 Arm 32bit/ext4文件系统 Aarm64bit/f2fs文件系统 见文件系统测试 CPU单线程 367.2971 25.1195 14.62倍 四线程 1017.6742 62.6079 16.40倍 八线程 1920.0601 62.6711 30.64倍 内存随机 5.7678 2.1925 2.63倍 内存连续 6.3309 2.9392 2.15倍 网络性能 74.6Mbps 94.3Mbps 1.26倍 文件连续读写 5.7655 7.1506 见下文...阅读全文

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

Linux Systemd被爆远程漏洞 CVE-2017

"dns_packet_new" 函数中, 它是一个 dns 响应处理程序组件, 它为本地应用程序提供网络名称解析。 根据星期二发布的一个公告, 当系统试在攻击者控制的 dns 服务上查找主机名时, 经过精心构造的恶意 dns 响应,可以远程崩溃 " systemd-resolved " 程序。 最终, 大量 dns 响应会溢出目标计算机的缓冲区, 从而使攻击者改写其内存,引发远程代码执行。这意味着攻击者可以通过其恶意的 dns 服务,在目标系统或服务器上,远程执行任何恶意软件。 ubuntu 开发者Chris Coulson在开发规范中这样描述, “直到 233版本的 systemd , certain sizes passed to dns_packet_new in systemd-resolved can...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

Docker 核心原理

/ee43bb16af9947ed9e8498ad42c859318e001365043e4cda410f68b4a0d79378# cat memory.limit_in_bytes 104857600 文件驱动 Docker 中的每一个镜像都是由一系列只读的层组成的,Dockerfile 中的每一个命令都会在已有的只读层上创建一个新的层。当镜像被 docker run 命令创建时就会在镜像的最上层添加一个可写的层,也就是容器层,所有对于运行时容器的修改其实都是对这个容器读写层的修改。容器和镜像的区别就在于,所有的镜像都是只读的,而每一个容器其实等于镜像加上一个可读写的层,也就是同一个镜像可以对应多个容器。 这种分层的逻辑是什么呢? 这就是docker 里文件驱动的职责,负责镜像和容器的文件系统组织。 目前 docker 默认的文件驱动是 overlay2, 它是基于 Linux OverlayFS 的,下面这张...阅读全文

博文 2021-02-25 09:14:23 lxkaka

HAProxy用法详解 最详细中文文档

,多进程模式下为8,设定为-1可以禁止此限制;一般不建议修改; – tune.maxpollevents :设定一次系统调用可以处理的事件最大数,默认值取决于OS;其值小于200时可节约带宽,但会微增大网络延迟,而大于200时会降低延迟,但会稍稍增加网络带宽的占用量; – tune.maxrewrite :设定为首部重写或追加而预留的缓冲空间,建议使用1024左右的大小;在需要使用更大的空间时,haproxy会自动增加其值; – tune.rcvbuf.client : – tune.rcvbuf.server :设定内核套接字中服务端或客户端接收缓冲的大小,单位为字节;强烈推荐使用默认值...阅读全文

博文 2014-05-10 17:14:46 debian.cn

Memcache UDP反射放大攻击技术分析

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变化。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

博文 2018-03-02 09:20:52 debian.cn

Go1.16 新特性:一文快速上手 Go embed

:go:embed helloworld/*。 总的来讲,Go1.16 embed 特性很好的填补了 Go 语言在打包静态文件资源的一块原生空白领域。同时也说明了 Go 官方的确在不断地吸收社区的一些良好的想法和经验。 分享 Go 语言、微服务和奇怪的系统设计 ???? 长按关注煎鱼,在知识的海洋里遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶书 Mastering Go。...阅读全文

博文 2021-02-17 08:44:12 CSDN

Linux 27周年:这27件有趣的事实你可能不知道

斯曾在2000年为 Linus Torvalds 提供一份工作,条件是他停止在 Linux 上的开发。Linus 拒绝了。 13、Linux 有多成功?它的长期竞争对手微软,在90年代初曾试“熄灭”该项目,到现在却在利用 Linux 进行服务器业务,甚至在为内核开发做贡献! 14、说到贡献,谷歌、英特尔、华为、三星、红帽、Canonical 和 Facebook 是近年来 Linux 内核开发的主要贡献者。 15、Linus 出生于芬兰,一个双语国家,并认为瑞典语是他的“母语”。他说,由于发音不同,他常常觉得用英语说话“不舒服”,但却更喜欢阅读英文书籍。 16、Linux 可能是现在最大的自由软件项目(参见第一条),不过在1991年首次发布时,它仅有约 10 万行代码。 17、在重新调整其...阅读全文

如何在 Debian 中安装 DHCP 服务器

保存文件并退出。重启网络服务(或重启系统): ------------ SystemD ------------ $ sudo systemctl restart networking ------------ SysVinit ------------ $ sudo service networking restart 另外你也可以使用 GUI 来在进行设置,如截所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。 在 Fedora 中设置 DHCP 网络 此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。 就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如...阅读全文

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

JDK 11 版本时间表公布

现的问题。” “我看到有人抱怨说,Java 10 不应该在 IDE 更新后才能发布,就像鸡和鸡蛋问题一样,除非鸡已经存在并且等待鸡蛋出现。” “2016 年的抱怨者:让我们用 JavaScript 代替(YOLO)。2018 年的抱怨者:还是 2016 年的那波抱怨者,他们现在又转回 Java,因为 YOLO 太难维护了。” “因为 Oracle,Java 命中注定。” 时间会告诉我们这个新的发布周期会将如何影响 Java 社区。 其他资源 Wikipedia 中列出的 Java 版本历史记录 Donald Smith 的 JavaFX 和其他 Java 客户端路线(2018 年 3 月 7 日) Simon Ritter 的 Duke Takes His Last Tumble(2018...阅读全文

博文 2018-04-27 08:33:08 debian.cn

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

、Linux Mint 这样基于 APT 的操作系统)提供的离线状态下 APT 包管理器。使用 apt-offline,我们可以在离线状态下完整地更新、升级我们的 Debian 系统。这个程序是用 Python 开发的兼具 CLI 和形界面的跨平台工具。 准备工作 一个已经联网的操作系统(Windows 或者 Linux)。本文中为了便于理解,我们称之为在线系统。 一个离线操作系统(Debian 及其衍生版本)。我们称之为离线系统。 有足够空间容纳所有更新包的 USB 驱动器或者外接硬盘。 安装配置 apt-offline Apt-Offline 可以在 Debian 及其衍生版本的默认仓库中获得。如果你的在线系统是运行的 Debian、Ubuntu、Linux Mint,及其它基于 DEB 的操作...阅读全文

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

Chrome浏览器中新增反恶意软件广告功能

向用户。 谷歌指出,这些(误导性UI元素)包含伪装成播放键或其它网站控制的第三方站点的链接,或者是网站上的透明覆盖,抓取所有的点击和开放的新页签或窗口。 在谷歌上注册了站点的网站所有人将会在谷歌控制台的“滥用体验报告”部分收到关于这种误导性质的UI元素的警告信息。谷歌表示从明年1月份开始,没有处理这些报告的网站所有人将会通过Chrome内置弹出消息拦截器经由这些误导性元素触发重定向。...阅读全文

博文 2017-11-18 09:00:06 debian.cn

开源简史基础:Linux基金会

Linux创始人Linus Torvalds和GKH(Greg Kroah-Hartman)等人拉赞助,让大神能够安心保证Linux的发展。几乎所有人都知道Linus Torvalds,但是GKH,即使你不知道他的名字,但是实际上在Linux相关的开发或运维的技术人员会发现他的身影无所不在。是的,GKH主要负责Linux的stable分支的维护,staging/USB driver core/debugfs/kref/kobject/sysfs kernel/TTY layer/linux-hotplug/Userspace I/O/udev等子系统或者项目中都可以看到他的存在。效力于Linux基金会之前,GKH主要在Novell 的 SUSE Labs工作,下也是这位帅哥在2011年9月拍摄于纽...阅读全文

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

脚本语言的根本问题——他们的设计者不知道他们自己在干什么 采用脚本语言学编程,一个很严重的问题就是使得学习者抓不住关键。脚本语言往往把一些系统工具性质的东西(比如正则表达式,Web 概念)加入到语法里面,导致初学者为它们浪费太多时间,却没有理解编程最关键的概念:变量,函数,递归,类型…… 不推荐 Go 语言的原因类似,虽然 Go 语言不算脚本语言,然而他的设计者显然不明白自己在干什么。所以使用 Go 语言来学编程,你不能专注于最关键,最好的语言特性。 掌握关键语言特性,忽次要特性 为了达到我之前提到的融会贯通,一通百通的效果,初学者应该专注于语言里面最关键的特性,而不是被次要的特性分心。 举个夸张点的例子。我发现很多编程培训班和野鸡大学的编程入门课,往往一来就教学生如何使用 printf...阅读全文

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

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

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响设计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以收集特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员组成的委员会定期审查、分类和决定社区提交的提案。这个流程十分有效,但作为该过程的一部分,他们忽了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

开源社区的运作模式:Debian Vs. Ubuntu

定自己的策,在遵循开发者成员委员会规定的基本原则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一起工作过的现有成员那里收集证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

Debian 9.3上安装和配置 Observium 监控平台

once every 2 hours 完成后保存并关闭文件,然后重新启动cron服务以应用此更改: systemctl restart cron 结论 恭喜! 您已经在Debian 9服务器上成功安装了Observium。 您现在可以轻松获得网络的状态和健康状况。 您可以检查Observium官方文档页面以获取有关配置设备,警报和身份验证模块的更多信息。【本文转载自 Howtoing.com,有增删】...阅读全文

博文 2017-12-30 11:35:21 debian.cn

下一代时间同步服务 Chrony 详解

会出现两次。因此,请放弃使用 ntpd、ntpdate 来校时。 makestep threshold limit 此指令使 Chrony 根据需要通过加速或减慢时钟来逐渐校正任何时间偏移。例如:makestep 1.0 3,就表示当头三次校时,如果时间相差 1.0s, 则跳跃式校时。 rtcsync 启用内核时间与 RTC 时间同步 (自动写回硬件)。 logdir 该参数用于指定 Chrony 日志文件的路径。 stratum weight 该参数用于设置当 chronyd 从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下设置为 0,让 chronyd 在选择源时忽源的层级。 基本上常用的参数就只有这几个了,通常默认的配置文件就可以直接使用了,下面我们来看一个修改完...阅读全文

博文 2021-01-04 08:41:14 debian.cn

六大算法之三:动态规划【转载】

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方式就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移如下所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个性质: (1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。 (2) 无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

如何校验 Debian 软件包的 MD5

生成MD5和。 all――指令debsums忽视磁盘上和,使用deb文件中存在的和,或者如果没有的话,就用它生成一个。 keep――指令debsums把提取/生成的和写入到/var/lib/dpkg/info/package.md5sums文件。 nocheck――意味着提取/生成的和没有对照已安装软件包来进行校验。 如果你看一下目录/var/lib/dpkg/info/的内容,就会看到各个文件的md5sum,如下所示: $ cd /var/lib/dpkg/info $ ls *.md5sums 列出软件包的所有MD5和: a11y-profile-manager-indicator.md5sums account-plugin-facebook.md5sums account...阅读全文

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

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

将面临更大的挑战。大型强子对撞机有一个到 2035 年的蓝,包括一些重要的升级。“我们的加速器运转三到四年,然后会用 18 个月或两年的时间来升级基础架构。在这维护期间我们会做一些计算能力的规划。 ”Bell 说。CERN 还计划升级高亮度大型强子对撞机,会允许更高光度的光束。与目前的 CERN 的规模相比,升级意味着计算需求需增加约 60 倍。“根据摩尔定律,我们可能只能满足需求的四分之一,因此我们必须找到相应的扩展计算能力和存储基础架构的方法,并找到自动化和解决方案,例如 OpenStack,将有助于此。”Bell 说。“当我们开始使用大型强子对撞机并观察我们如何提供计算能力时,很明显我们无法将所有内容都放入 CERN 的数据中心,因此我们设计了一个分布式网格结构:位于中心的 CERN...阅读全文

博文 2021-11-29 13:20:55 腾讯云

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

改善 Debian Linux 软件包管理的七款工具

如果你运行Debian或它的衍生版本之一(比如Linux Mint或Ubuntu),迟早会遇到apt-get和dpkg,它们是主要的软件包管理命令。然而,这些只是最常见的Debian软件包工具。这些年来,Debian实际上陆续推出了几十款让安装和配置软件包更容易的脚本和工具。 许多这样的脚本和工具可以帮助你创建软件包。而且,它们常常包括你在桌面工具中根本找不到的功能特性。 下面是Debian中七款最实用的软件包管理工具。大多数工具还应该出现在Debian衍生版中: 7. Aptitude 众所周知,Aptitude是一款基于文本的软件包管理工具。桌面工具可能更符合现代用户的期望,不过Aptitude仍然很有用,所以常常默认情况下安装。 如果你试修复阻止安装或删除其他任何内容的破损软件包...阅读全文

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

Apollo 分布式配置中心详解

据库等。 配置需要治理 权限控制,由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制,不同环境、集群配置管理,同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理。 Apollo 配置中心基本使用 Apollo 基础模型 用户在配置中心对配置进行修改并发布;配置中心通知 Apollo 客户端有配置更新;Apollo 客户端从配置中心拉取最新的配置、更新本地配置并通知到应用。 界面概览 上是 Apollo 配置中心中一个项目的配置首页,在页面左上方的环境列表模块展示了所有的环境和集群,用户可以随时切换。页面中央展示了两个 namespace(application 和...阅读全文

博文 2020-04-12 12:16:26 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

2016年Linux领域的十条大新闻,你关注了吗?

应用相结合,但也有人认为微软是在以怀柔政策弱化开源社区并将借此引导Linux走向毁灭。 4. 慕尼黑市计划放弃Linux 2004年,德国慕尼黑市开始大规模利用LiMux这款定制化Linux发行版取代Windows,同时利用OpenOffice.org及后来的LibreOffice替换微软Office。然而令人惊讶的是,尽管该市曾于2013年宣布Linux与开源技术转移已经取得成功,但慕尼黑如今正试重新回归微软怀抱。不过值得庆幸的是,LiMux未来将与Windows并存且继续得到更新。 5. 俄罗斯大力推广 Linux 与慕尼黑市相反,俄罗斯正积极拥抱Linux与开源项目。俄罗斯议会国家杜马起草了一份法案,要求在政府采购活动中优先考虑开源软件。这一决定在很大程度上是为了提升安全水平。俄罗斯...阅读全文

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

打破IP协议重塑互联网 华为能做到吗

的 IP 报头允许终端用户指定要在数据包上执行的自定义功能。 文章以智能家居为例,描述了新 IP 网络下的应用场景: 运动传感器检测出房间出现异常活动时,会通知相应房间的安全摄像头通过智能家居网络采集信息,然后,安全摄像头将收集到的像信息通过互联网发送到主人的智能手机上进行判断。如果只是误报,主人可以向安全摄像头发送信息要求停止信息收集。由于房子里的所有设备都连接在同一个家庭网络上,所以运动传感器可以直接将通知发送到安全摄像头,并带有它的域内地址;并且由于新的 IP 协议向源地址中添加了一个地址段(4.3.2.1),摄像头数据能够直接传送至用户的智能手机中。 不难看出,在该场景中,新 IP与传统 IP 相比有两方面优势:一是智能家居网络采用短地址空间进行批量通信,减少了分组开销,提高了通信...阅读全文

博文 2020-03-31 06:40:15 debian.cn

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

”,那么这些信息也受CCPA的管辖。 (3) 在CCPA的列举部分,针对个人信息的大类,将一些GDPR适用过程中易产生争议的数据类型明确列举进CCPA的管辖范围。如“音频、视觉、热、嗅觉或类似信息”、“包括意或实际购买商品或服务的记录、消费历史记录或消费趋势”等等。[4] (4) 在CCPA的列举部分,针对个人信息的小类进行了更加细致的列举式说明:例如CCPA对生物信息的内涵做了如下说明:“包括个体的DNA……虹膜、视网膜、……静脉案成像、录音像……面部印记、声纹、以及包含识别信息的击键模式、节奏、步态模式或节奏”等等。 1.3 小结 针对个人数据或个人信息的界定,与GDPR以抽象概念定义模式相比,CCPA结合抽象定义与不完全列举两种方式,一方面通过抽象定义对个人信息的管辖范围划定边界,另...阅读全文

容器原理之cgroup - abin在路上

0 system_usec 2400 usage_usec:总的 cpu 时间。 user_usec:用户态进程占用 cpu 的时间。 system_usec:内核态进程占用 cpu 的时间。 V1 和 V2 主要区别 参考 facebook Chris Down 提到的例子[7]。 在 cgroup v1 中,每种资源一个层级。对于 bg 和 adhoc 两个 cgroup,bg 需要限制 blkio 和 memory 两种资源,adhoc 需要限制 memory 和 pids 两种资源。cgroup v1 场景的视如下: 对于 cgroup v2,由于所有资源都在同一个 cgroup 下管理,通过 cgroup.sub_controller 控制子 cgroup 启用的...阅读全文

博文 2025-03-17 20:45:47 博客园

2017 年会是 Serverless 爆发之年吗

站)。一般来说包含客户端、服务端程序、数据库,服务端用 Java 开发完成,客户端用 JavaScript。 采用这种架构,服务端需要实现诸多系统逻辑,例如认证、页面导航、搜索、交易等都需要在服务端完成。如果采用 Serverless 架构来对该应用进行改造,则架构如所示: Serverless 架构相比于传统面向客户端的三层应用架构,有以下几方面的差异: 删除认证逻辑,用第三方 BaaS 服务替代; 使用另外一个 BaaS,允许客户端直接访问架构与第三方(例如 AWS Dynamo)上面的数句子库。通过这种方式提供给客户更安全的访问数据库模式; 前两点中包含着很重要的第三点,也就是以前运行在服务端的逻辑转移到客户端中,例如跟踪用户访问。客户端则慢慢转化为单页面应用。 计算敏感或者需要访问...阅读全文

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

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

产品叫 UGC,腾讯有 FaaS,阿里也有 PaaS,目前都不算是渗透率很高。 原因有几个。第一、国内用户对新技术接受程度是比较低的,可能是习惯问题,国内的IT的发展水平跟国外也有差距,有 5、6 年差距;其次,对国内用户来说,把一个架构改成 Serverless 架构,其实成本是很高,而且改造的收益和规模相关;最后, FaaS 本身不是一个独立能起作用的产品,你会看到 Lambda 推出时,不是个独立的产品,它是体系的副产品,例如其他产品要开放事件源,通过事件去触发 Lambda 函数执行。只有产品体系开放足够多的事件源,FaaS 才能渗透到整个平台里面去,才能覆盖更多场景。 我们国内的厂商还没有做到这一点。AWS 刚推出 FaaS 时,它主要是 S3 上的片处理,不是每个用户都有这个场...阅读全文

博文 2019-06-14 08:28:49 debian.cn

kubelet 中垃圾回收机制的设计与实现

space with errors in image deletion: %v", bytesToFree, spaceFreed, errors.NewAggregate(deletionErrors)) } return spaceFreed, nil }总结本文主要分析了 kubelet 中垃圾回收机制的实现,kubelet 中会定期回收 node 上已经退出的容器已经当 node 磁盘资源不足时回收不再使用的镜像来释放磁盘资源,容器以及镜像回收策主要是通过 kubelet 中几个参数的阈值进行控制的。...阅读全文

博文 2021-02-05 17:48:22 知乎

如何写好技术文档 — 来自十多年的文档经验总结

注释、类注释、方法注释,要求都是能准确说明其用法。 ## 设计文档 ## 很多公司或者团队在项目开始前都要求有设计文档,设计是项目实施的第一步,所以在设计文档书写的过程中要求尽可能考虑周全,例如该项目的存储、交互、隐私…… 好的设计文档应该包含以下几个部分: 1. 设计目标 2. 实现的策 3. 各种利弊权衡和具体决策 4. 替代方案 5. 各种方案的优缺点 写设计文档的过程也你对整个项目做规划、思考可能出现问题的过程,设计的越详细、思考的越多,未来遇到问题的可能性就会越小。 ## 引导类文档 ## 引导类文档也很常见,一般都是Step by Step的形式。比如我们在使用某个框架或者工具的时候,一般都会有个引导类的文档一步一步帮助你快速上手。 大家写引导类文章大家非常容易犯的一个错误就是...阅读全文

博文 2021-07-30 16:15:13 joseph

Debian Live 项目的剧变

live-config 的支持情况来确定 vmdebootstrap 的功能。 这些抱怨听起来合情合理,但是它们可能已经在目前的项目中得到了解决。然而一些秘密的项目有很明显的取代 live-build 的意。正如 Baumann 指出的,这些计划没有被发布到 debian-live 的邮件列表中。人们首次从 Debian Live 项目中获知这些计划正是因为这一次的ITP事件,所以它看起来像是一个「秘密计划」——有些事情在像 Debian 这样的项目中得不到很好的安排。 人们可能已经猜到了,有很多帖子都支持 Baumann 重命名 live-build-ng 的请求,但是紧接着,人们就因为他要停止继续在 Debian Live 上工作的决定而变得沮丧。然而 Learmonth 和...阅读全文

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

架构师详解 Nginx 架构

立即得到结果,就去处理其他的请求(即为非阻塞);而客户端在此期间也无需等待响应,可以去处理其他事情(即为异步);当 IO 返回时,就会通知此工作进程;该进程得到通知,暂时挂起当前处理的事务去响应客户端请求。 三. Nginx 事件驱动模型 在 Nginx 的异步非阻塞机制中,工作进程在调用 IO 后,就去处理其他的请求,当 IO 调用返回后,会通知该工作进程。对于这样的系统调用,主要使用 Nginx 服务器的事件驱动模型来实现。 如上所示,Nginx 的事件驱动模型由事件收集器、事件发送器和事件处理器三部分基本单元组成。其中,事件收集器负责收集 worker 进程的各种 IO 请求,事件发送器负责将 IO 事件发送到事件处理器,而事件处理器负责各种事件的响应工作。 事件发送器将每个请求放入...阅读全文

博文 2018-05-01 23:10:47 debian.cn

Debian 10.8 发布:包括多项安全更新和错误修复

/src:cairo) | 修正像合成器中掩码的使用 [CVE-2020-35492] | | [choose-mirror](https://packages.debian.org/src:choose-mirror) | 更新镜像列表 | | [cjson](https://packages.debian.org/src:cjson) | 修正cJSON_Minify中的无限循环 | | [clevis](https://packages.debian.org/src:clevis) | 修复initramfs创建;clevis-dracut。安装时触发initramfs的创建 | | [cyrus-imapd](https://packages.debian.org/src:cyrus-imapd...阅读全文

博文 2021-02-07 10:57:22 joseph

Golang Context 探究

&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中查找该键对应的值直到在某个父上下文中返回 nil 或者查找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行分布式追踪的 trace id。不建议用来传递请求参数。 我用下面这种来展示...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

; getchar(); getchar(); pthread_create( &th, 0, thread_run, 0 ); while ( (getchar() ) ) { start = 1; } return(0); } 其运行结果如下,刚开始时,进程占用虚拟内存14M,输入0,创建子线程,进程内存达到23M,这增加的10M是线程堆栈的大小(查看和设置线程堆栈大小可用ulimit -s),第一次输入1,程序分配1k内存,整个进程增加64M虚拟内存,之后再输入2,3,各再次分配1k,内存均不再变化。 这个结果让我欣喜若狂,由于以前学习过谷歌的Tcmalloc,其中每个线程都有自己的缓冲区来解决多线程内存分配的竞争,估计新版的glibc同样学习了这个技巧,于是查看pmap $(pidof main...阅读全文

博文 2015-01-28 10:35:39 debian.cn

aptitude 与 apt

一些发行版中我们也能看到它的身影。 Apt是一个很完整和先进的软件包管理程序,使用它可以让你又简单,又准确的找到你要的的软件包, 并且安装或卸载都很简洁。 它还可以让你的所有软件都更新到最新状态,而且也可以用来对 Debian/Ubuntu 进行升级。apt是需要用命令来操作的软件,不过现在也出现了很多有形的软件,比如 Synaptic, Kynaptic 和 Adept。 命令样例 下面将要介绍的命令大部分需要sudo,使用时请将“packagename”和“string”替换成您想要安装或者查找的程序。 apt-get update —— 在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件...阅读全文

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

Linux系统诊断-内存基础

果是特权进程(privileged),会减分(-)进程如果对硬件设备进行直接访问,会减分(-)3.在哪儿可以看到进程的打分?/proc//oom_score4.手动调整分数/proc//oom_adj 该文件可以用于调整在oom发生时,哪些进程应该被kill,范围-16 -- +15 ,默认值为0,  特殊值-17:表示进程永远不会被kill。5.我怎么知道系统有没有触发过OOM?/var/log/messages 、 /var/log/syslog 系统日志或者 dmesg 系统日志诊断工具等都能够找到网如下:内存相关配置==========5.1 swap相关配置通过调节系统参数,来告诉计算机使用swap分区的权重1. 简介 swappiness范围0-100,默认60 0...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

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

tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 使用邮件用户代理(MUA)连接邮件服务器 邮件服务器现在可以使用了。可以在台式机、笔记本电脑、平板电脑或手机上用你最喜爱的电子邮件客户端软件配置邮件账户。以下是与Mozilla Thunderbird配置参数的截。 故障排除 日志文件/var/log/mail.log是你最好的朋友。任何的问题都可以在这里找到线索。 确保防火墙正确配置。 确保DNS服务器配置了适当的条目。 综上所述,本教...阅读全文

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

Hadoop 核心 - HDFS 分布式文件系统详解

就是块缓存的一个很好的候选。 用户或应用通过在缓存池中增加一个cache directive来告诉namenode需要缓存哪些文件及存多久。缓存池(cache pool)是一个拥有管理缓存权限和资源使用的管理性分组。 例如: 一个文件 130M,会被切分成2个block块,保存在两个block块里面,实际占用磁盘130M空间,而不是占用256M的磁盘空间 6.3 hdfs的文件权限验证 hdfs的文件权限机制与linux系统的文件权限机制类似 r:read w:write x:execute 权限x对于文件表示忽,对于文件夹表示是否有权限访问其内容 如果linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS当中的owner就是zhangsan HDFS文...阅读全文

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

,则理解起来就容易多了。比如我们可以这样认为: 如果将上中的方块看做是buffer的话,那么理解起来则就更加容易了,比如针对水平触发,buffer只要是一直有数据,则一直通知;而边缘触发,则buffer容量发生变化的时候,才会通知。虽然可以这样简单的理解,但是实际上,其细节处理部分,比示中展现的更加精细,这里来详细的说一下。 边缘触发 针对读操作,也就是当前fd处于EPOLLIN模式下,即可读。此时意味着有新的数据到来,接收缓冲区可读,以下buffer都指接收缓冲区: buffer由空变为非空,意即有数据进来的时候,此过程会触发通知。 buffer原本有些数据,这时候又有新数据进来的时候,数据变多,此过程会触发通知。 buffer中有数据,此时用户对操作的fd注册EPOLL_CTL_MOD...阅读全文

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

Git 介绍与使用详解

前言 Git是目前非常流行的协同开发工具,很多开源网站都使用Git作为代码管理仓库(例如 开源中国,GitHub),不管是开发还是产品、设计师,Git都很适合,而且很多IDE默认集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文

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

“Debian 章程有毒” - OSCHINA

些代表有权力在考虑技术标准和共识的情况下做出他们认为最佳的决定。 至于 Debian 社区的项目层面,DPL 更是无权过问,每个项目的开发者都对项目有百分百的决定权。比如,个别开发者几乎可以完全控制他们维护的软件包;开发人员之间的技术分歧很大的时候,将由项目技术委员会处理;发布管理者与 FTP 主人有权最终决定项目实际发布的内容,以及何时发布;项目秘书负责确保遵循必要的程序;政策团队处理项目的大部分总体设计。 其次,DPL 是可以随时进行更换的,因为有一般决议(General Resolution)这样的通道,开发者们可以重新选举另外的 DPL、撤销 DPL 或代表的决定、修改基本文件并做出其他有约束力的决定。(如下所示) 那么,DPL 到底是干什么的呢?主要分为两个方面: 在对外职能中...阅读全文

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

Sam Altman的成功学|OneFlow

OneFlow v0.9.0正式发布 李白:你的模型权重很不错,可惜被我没收了 OpenAI掌门Sam Altman:AI下一个发展阶段 比快更快,开源Stable Diffusion刷新作速度 OneEmbedding:单卡训练TB级推荐模型不是梦 GLM训练加速:性能最高提升3倍,显存节省1/3 “零”代码改动,静态编译让太乙Stable Diffusion推理速度翻倍 欢迎Star、试用OneFlow最新版本:GitHub - Oneflow-Inc/oneflow: OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.OneFlow is a deep...阅读全文