InfraPub 为您找到相关结果 570

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是序运行依赖的执行环境。以.NET 序运行时CLR为例,它为.NET应用序提供了一个托管的代码执行环境负责应用序在整个执行期间的内存管理、线管理、安全管理、管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

7大维度看国外企业为啥选择gRPC打造高性能微服务

动收集指标和跟踪信息可以快速回答常见问题,例如“我的服务对请求响应缓慢吗?”以及“请求失败的频率如何?”。 熔断 - 这种模式可以通过自动检测问题和快速失败来防止级联服务故障。也可以由长时间缓慢的请求来触发,以提供响应降级的服务而不是不断地超时。 缓存和批处理 - 通过使用缓存或批处理请求来加速请求。 大多数框架不会提供所有功能,但至少它们应该是可扩展的,以便在需要时添加。 什么是gRPC和协议缓冲区? 没有一个框架是万能的。我们探索的一些选项包括Facebook的Thrift,Apache Hadoop的Avro,Twitter的Finagle,甚至使用JSON模式。 我们的需求更接近于序调用(RPC),给予所需要的细粒度控制。使用RPC的另一个吸引力是使用接口描述语言或IDL...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

System。后来他在说道 Debian 发行版的时候还曾提到, 「我开发这个版本时的灵感很大度上来源于 SLS,因为我自己使用 SLS 时我曾对很多地方非常不满。我想着要去改善 SLS,但后来我意识到最好的方法就是从头开始。」 Murdock 在 1999 年那次访谈中曾告诉我: 「开发 SLS 的那个人败就败在他想一个人搞定所有事情。Linux 让我意识到的就是这样做出来的模型永都不会是最佳的产品。我们真正要做的是找出 Linux 最超前的产品,然后围绕这个型号再打造新的系统。」 简单说,Murdock 的观点就是:Linux 的内核完全可以应用到整个操作系统乃至应用上。 如果你想打造一个完整的操作系统,你该如何给员工分工,给他们每一个人都布置相应的任务,最后再拼凑成一个完整的系统呢...阅读全文

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

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

婆/女朋友的电脑!!! 7.您对自己的孩子在开源或者计算机领域有什么期许?或者他有没有因为你对Linux的热爱影响他去关注、喜欢Linux? 答:对于孩子来说,顺其自然吧,不会刻意去引导他。 8.作为一名老师更是一名家长,您觉得“Linux要从孩子抓起”有必要吗,特别是在中国? 答:这些年喊的口号不少了,有用么?现在的教育制度问题,作为教育工作者更加无奈,其他教育方面的问题更多,计算机教育、Linux教育。。。不乐观! 9.您觉得中国有必要在教育行业推广Linux吗? 答:答案是肯定的,只是限于体制、师资、观念等方面原因,很有可能沦为形象工或某些人赢利的工具而已。但,该做的还要去做,不去做,永不会有改观。 10.小编知道您有一个自己的网站(http://phpcj.org/),上面更新的...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

的 -XX:MetaspaceSize 参数配置。 JVM_MMS 320m JVM 的 -XX:MaxMetaspaceSize 参数配置。 NACOS_DEBUG 支持y/n,默认为n 是否启用调试。 NACOS_AUTH_ENABLE false 是否启用系统鉴权。 NACOS_AUTH_SYSTEM_TYPE nacos 指定 Nacos 系统鉴权认证类型。 NACOS_AUTH_TOKEN SecretKey012345678901234567890123456789012345678901234567890123456789 指定 Nacos 安全认证 Token。 NACOS_AUTH_CACHE_ENABLE false 指定 Nacos 是否开启身份验证信息的缓存...阅读全文

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

处理器架构消亡史

是英特尔客户的Compaq决定淘汰Alpha,转而采用即将推出的Itanium架构,并于2001年将所有Alpha知识产权出售给了英特尔。除此之外,惠普公司所推出的精简指令集架构PA-RISC也没逃得出被淘汰的命运。它也是20世纪80年代中的一员,它首次出现于1986年2月26日,被应用于HP 3000 930系列以及HP 9000 840模式处理器之中。后来,这种架构被惠普公司与英特尔联合开发的Itanium架构所取代。这样看起来,英特尔的Itanium或成为最大的赢家,但事实证明,在市场的发展过中,没有哪一种处理器架构能够永合适市场的需求——这款于1999年被命名的64位架构,自从2017年之后就再也没有更新了,2019年英特尔发布通知称安腾9700处理器开始退役,2021年7月最后...阅读全文

提问的智慧 – 全文

的技术问题。 如果你是因为需要帮助正在阅读本文,还想着直接从作者那取得帮助(答案),然后挥一挥衣袖转身离开,那么你就不幸成了我们所说的白痴之一。别向我们提问,我们不会理你的。我们只是在这教你「如何从那些真正懂得问题答案的人那里取得帮助」的方法。不过,在99.9%的时间里我们不会是那些百事通。除非你非常地确定本文的作者是你的问题专家,否则请不要打扰,这样大家都更开心一点。 引言 在黑客[3]的世界里,你所提技术问题的解答很大度上取决于你提问的方式与此问题的难度,本文将教你如何提问才更有可能得到满意的答复。 开源序的应用已经很广,你通常可以从其他更有经验的用户而不是黑客那里得到解答。这是好事,因为他们更能够容忍一般的新手错误。但我们还建议你使用我们推荐的方法,像对待黑客那样对待这些有经验的用...阅读全文

博文 2009-10-01 13:18:00 debian.cn

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

Docker 来说,它会将这些信息反序列化并填充到自己的配置信息中,然后再发送给 Dockerd 守护进。在这个过中,它会将一些元数据标签(例如容器类型,日志路径,dandbox ID 等待)添加到容器中。接下来会使用 CPU 管理器来约束容器,这是 Kubelet 1.8 中新添加的 alpha 特性,它使用 UpdateContainerResources CRI 方法将容器分配给本节点上的 CPU 资源池。最后容器开始真正启动。如果 Pod 中配置了容器生命周期钩子(Hook),容器启动之后就会运行这些 Hook。Hook 的类型包括两种:Exec(执行一段命令) 和 HTTP(发送HTTP请求)。如果 PostStart Hook 启动的时间过长、挂起或者失败,容器将永不会变成...阅读全文

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

Web前端知识体系精简

Web前端技术由html、css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍。目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉。 JAVASCRIPT 篇 0、基础语法 Javascript基础语法包括:变量定义、数据类型、循环、选择、内置对象等。 数据类型有string,number,boolean,null,undefined,object等。其中,string,number和boolean是基础类型,null...阅读全文

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

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文

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

Debian 8 使用 Apache 部署 Ruby on Rails

Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用序。 本文使用 Phusion Passenger 或mod_rails 方法部署 Rails 应用序。 Passenger 允许您直接在Apachen应用序中嵌入 Rails 应用序,而无需使用FastCGI或复杂的Web服务器代理。 安装Passenger和依赖关系 1.安装使用Ruby,构建Ruby模块和运行Rails应用序所需的系统包 sudo apt-get install build-essential libapache2-mod-passenger apache2 ruby ruby-dev libruby zlib1g-dev libsqlite3...阅读全文

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

nsenter 及 Linux命名空间 简介

nsenter 是一个可以在指定进的命令空间下,运行序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名字空间,进行网络相关的排障。大多数容器,为了保持轻量,没有包含较为基础的命令,比如说 ip,ping,telnet,ss,tcpdump等,这就给容器内的网络调试带来困扰。这时就可以使用 nsenter 命令仅进入到容器的网络命名空间,使用宿主机的相关命令调试容器网络。 此外,nsenter也可以进入 mnt, uts, ipc, pid, user 命令空间,以及指定根目录和工作目录。 nsenter 使用 首先看下nsenter命令的语法: nsenter [options] [program [arguments...阅读全文

博文 2020-12-15 11:22:44 debian.cn

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

%。瑞银分析师表示,AWS软件市场的运营利润率应该高于AWS大约30%的水平。在报告中,瑞银对亚马逊股票给出了买入评级。不过和老牌的EC2和S3相比,市场平台业务规模还很小。分析师预测,软件市场业务未来的营收可能达到每年10亿美元到20亿美元之间,这相当于亚马逊云计算2020年总收入的3%。访问:京东商城...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Debian GNU/Linux 删除旧驱动程序,激怒老式硬件用户

Phoronix表示,该网站近期收到了许多用户的来信,称对 Debian GNU/Linux 放弃许多旧的硬件驱动序的举措感到愤慨。本月初,Debian“X Strike Force”团队决定从 Debian 中删除一些过时的输入和视频驱动序。其指出,作出该决定的依据是“它们在上游没有维护,或没有任何价值。” 受影响的驱动序包括有 Mach 64、ATI Rage R128、Savage、Silicon Motion、SiS、Trident 和 NeoMagic 图形硬件。其中,像 ATI Rage 128 之类已有 20 多年的应用历史,并且这些驱动序还支持许多其他种类硬件。 最初,Geode display driver 也被设置为删除,不过最终被保留了下来。此外,Elo...阅读全文

博文 2020-04-23 09:29:31 debian.cn

Node.js Vs. PHP:你应该选择哪一个

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 编写后端代码。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。 PHP 和 Node.js 的基本区别在于...阅读全文

博文 2017-12-23 23:15:39 debian.cn

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

内核中进行修改,内核修改完毕后再返回给用户态,开销较大 ret = select(connfd+1,&read_fds,NULL,NULL,NULL); if(ret < 0) { printf("Fail to select!\n"); return -1; } //检测文件描述符表中相关请求是否可读 if(FD_ISSET(connfd, &read_fds)) { ret = recv(connfd,buff,sizeof(buff)-1,0); printf("receive %d bytes from client: %s \n",ret,buff); } } 上面的代码我加了比较详细的注释了,大家应该很容易看明白,说白了大概流其实如下: 首先,创建socket套接字,创建完毕后...阅读全文

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

C++ 20 准备发布 C++ 23 提上议程

根据 Reddit C++ 版块上的信息,C++ 20 已经正式通过委员会草案,这意味着 C++ 20 可以准备发布。“在近期 ISO C++ 委员会会议上,我们完成了 C++ 20 委员会草案,并投票决定将国际标准草案(DIS,Draft International Standard)发送出去,以进行最终批准和发布”。 帖子介绍:“在序上,DIS 可能会被拒绝,但是由于我们的序和过,这种情况极不可能发生。这意味着 C++ 20 已经完成,并将在几个月后发布该标准。” C++ 20 是近十年来影响最大的一个版本,新的特性众多,包括: 模组(Modules)协(Coroutines)标准库 Concepts 的概念范围(range)constexpr支持:new/ delete...阅读全文

博文 2020-02-16 10:46:16 debian.cn

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文

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

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持续修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

博文 2018-11-25 11:03:49 debian.cn

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

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

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

JavaFX 11 发布,与 JDK 拆分后的首个正式大版

JavaFX 11 发布了,JavaFX 是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端序,并且和 Java 一样跨平台。由于 JavaFX 库被写成了 Java API,因此 JavaFX 应用序代码可以调用各种 Java 库中的 API,例如 JavaFX 应用序可以使用 Java API 库来访问本地系统功能并且连接到基于服务器中间件的应用序。JavaFX 可以自定义序外观,CSS 将外观和样式与业务逻辑实现进行了分离,因此开发人员可以专注于编码工作。值得注意的是,从 JDK 11 开始,JavaFX 模块与 JDK 分开提供 。 JavaFX 11 需要 JDK 10(必须是 OpenJDK 版本)或 JDK 11,建议使用...阅读全文

博文 2018-09-20 13:09:25 debian.cn

Q4OS 3.8 LTS 发布,基于 Debian Buster

Q4OS 3.8 稳定版发布了(发布公告),代号为“Centaurus”。这是一个长期支持(LTS)版本,支持至少五年的安全补丁和软件更新。 Q4OS 是基于 Debian 的桌面 Linux 发行版,它被设计为提供传统样式的用户界面(Trinity)及简单的附件,并提供稳定的应用序编接口以支持复杂的第三方应用软件,例如谷歌 Chrome、VirtualBox 与开发工具。 新版本 Q4OS Centaurus 基于 Debian Buster 10 和 Plasma 5.14,也可选 Trinity 14.0.6 作为桌面环境,它适用于 64 位和 32 位/i686pae 计算机,以及不带 PAE 扩展的旧 i386 系统。 Q4OS 的具体目标之一是能够将 Plasma 和...阅读全文

Raspberry Pi 即将迎来 Vulkan 的支持

Raspberry Pi 基金会表示,他们正在致力于为 Raspberry Pi 提供开源 Vulkan 驱动序的支持。 Vulkan 是“新一代图形和计算 API,可提供对现代 GPU 的高效、跨平台访问”。它是 OpenGL 的下一代版本,和 DirectX 12 一样都是基于 AMD 私有的 Mantle API,不同的是 Vulkan 是开源的图形 API,它承诺通过给予开发者访问硬件底层的能力而大幅提升 3D 应用的性能。 对 Vulkan 的支持现在在 Android 智能手机中很常见。三星就长期支持 Vulkan,以改善 Galaxy 设备上的图形和游戏性能。Vulkan 也有得到 SteamOS 上类似 Valve 等的重量级游戏支持。 不过,Vulkan 才刚刚进入...阅读全文

Debian 11 Bullseye 冻结计划发布

Debian 开发团队发布了下一个主要版本 Debian 11 Bullseye 的暂定软件包冻结日期计划。 根据介绍,此次在软冻结(Soft Freeze)和完全冻结(Full Freeze)之间引入了一个新的里碑:硬冻结(Hard Freeze)。硬冻结期间,关键软件包和没有自动化测试的软件包是禁止自动迁移的,这些软件包将需要手动从发布团队中取消限制以进行迁移,与完全冻结一样。 从时间表里看得出来,Debian 11 Bullseye 的第一个里碑“过渡和构建基础冻结”将会发生在 2021 年 1 月 12 日;第二个里碑“软冻结”于 2 月 12 日,新增的第三个里碑“硬冻结”在 3 月 12 日,而第四个里碑“完全冻结”日期还未定。 完全冻结的开始日期将依据开始计划发布...阅读全文

博文 2020-03-13 13:08:15 debian.cn

一位资深Java架构师的晋级心得

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 架构师在软件开发的整个过中起着很重要的作用。 架构师的主要任务不是从事具体的软件序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

WebAssembly:无需容器的 Docker (上)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container,已获得授权这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文字版。作者:Asen Alexandrov,Wasm Labs 工师文中的我们均指作者或 Wasm Labs。由于文章内容翔实、篇幅较长我们将分成上下两篇分享,上篇将注重在概念阐释,如 Wasm 是什么,Wasm 与 Docker 的关系是什么。下篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。最近,Docker 宣...阅读全文

博文 2023-01-03 06:35:56 spider

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保持与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用序都能像以前一样继续编译和运行。 语言特性方面的改变 语言特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过编译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文

博文 2017-11-18 13:59:12 debian.cn

Debian告知用户其系统在没有商业固件的情况下可能无法工作

Debian 11 “Bullseye “将于8月中旬发布,今天上午发布的是Debian Bullseye安装序的第三个候选版本。本次安装序的更新为用户提供了更多的文件,部分技术以外的内容受到格外的关注,因为开发团队希望让用户知道将这套系统运行在现代显卡和类似产品的风险,除非加载不被认为是自由软件的固件,否则这些产品往往无法使用。​对于许多现代图形处理器,包括AMD的图形处理器,甚至是NVIDIA最近几代GPU的Nouveau驱动序经常会出现这样的情况:不仅3D硬件加速不工作,甚至显示模式设置也可能失败,导致空白屏幕或以次优的分辨率驱动未加速的显示器。特别是对于较新的GPU和现代显示器来说,如果没有固件文件,这些开源驱动序等于说是没有用的,而可公开重新发行的固件文件只有二进制文件因...阅读全文

Qt 5.9.4 正式发布:包含近 200 项 Bug 修复

Qt 5.9.4 已正式发布,这是继 5.9正式版 之后的第四个维护版本,未添加任何新功能,但提供了大量的 Bug 修复和性能改进。 与 Qt 5.9.3 相比,新的 Qt 5.9.4 包含近 200 项 Bug 修复 以及超过 500 项更改。有关重要更改的详细信息,请查阅发行说明。 开发团队表示,Qt 5.9 LTS 将很快进入“Strict” 阶段(在发布 Qt 5.11 分支之后)。届时,它仍将得到重要的 bug 修复和显着的性能改进。下一个 Qt 5.9.5 补丁版本计划于 2018 年 3 月底发布。 Qt 是一个跨平台的 C++ 图形用户界面应用序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发 GUI 序,也可用于开发非 GUI 序。Qt 是完全面向对象的...阅读全文

博文 2018-01-25 10:38:53 debian.cn

Linux 容器 vs 虚拟机 — 谁更胜一筹

自从 Linux 上的 容器 变得流行以来,了解 Linux 容器和虚拟机 之间的区别变得更加棘手。本文将向您提供详细信息,以了解 Linux 容器和虚拟机之间的差异。 Linux 容器 vs 虚拟机 – 应用序与操作系统 首先要了解的有关容器和虚拟机的一个事情是,一个运用于应用序,另一个是为操作系统设计的。这就是为什么您经常会看到一些企业应用序运行在容器上而不是自己的虚拟机上。在虚拟机上使用容器有一些优点。 容器最大的优点之一是可以预留比虚拟机少的资源。请记住,容器本质上是单个应用序,而虚拟机需要更多资源来运行整个操作系统。 如果您需要运行 MySQL,NGINX 或其他服务,使用容器是非常有必要。但是,如果您需要在自己的服务器上运行完整的 LAMP 堆栈 ,则运行虚拟机更好。虚...阅读全文

博文 2017-11-25 10:23:56 debian.cn

Apollo 分布式配置中心详解

Apollo(阿波罗)是携框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流治理等特性,适用于微服务配置管理场景。 本文简单从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本地快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况下序随着功能的复杂,序的配置也会增多:包括各种功能开关、参数配置、服务地址信息配置等,同时开发人员对序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核机制等。 在这样的大环境下,传统的通过配置文件、数据库...阅读全文

博文 2020-04-12 12:16:26 debian.cn

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 序的文本量。此外,还能更加方便地编写错误处理序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn

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

Debian 10 Buster 将确保自动安装安全升级

Debian Project的Cyril Brulebois本周早些时候很高兴地宣布,即将释出的Debian GNU/Linux 10 “Buster”操作系统的安装序的第二个alpha版本发布。 Debian的 安装序 Alpha 2版本有一些重要的变化,比如默认通过pkgsel组件添加无人值守升级包,以确保安全升级的自动安装,以及为mips64el架构添加安装映像。 Debian GNU/Linux 10 “Buster” 安装序的第二个alpha版本的另一个重要变化是现在支持新的Linux 4.13内核系列安装,尽管你应该知道它上个月已经结束支持,所以我们相信第三个Debian Installer的alpha版本将支持Linux kernel 4.14 LTS。 此外,还支持针...阅读全文

博文 2017-12-10 07:04:21 debian.cn

Linux 5.2.1 发布 最新的稳定版内核

在 Linux 5.2 发布一周后,第一个修订版本 5.2.1 也已经发布了,用来处理各种错误/回归。需要注意的是5.2并非长期支持(LTS)分支,推荐注重稳定的用户还是使用当前的LTS内核。 5.2.1版只是修改一些小小的问题,主要有以下方面: 修复 Perf减少 RTL 8712 驱动序的堆栈使用fscrapt 将不再为 dead 目录设置策略还有一个新的文档部分,详细说明了 Spectre 的 CPU 漏洞 完整列表查看发布说明。 Linux Kernel 5.2的亮点包括Sound Open Firmware,这是一个支持DSP音频设备的开源固件。此外还新增了用于挂载文件系统的新挂载API,面向ARM Mail设备的全新开源GPU驱动,在EXT4文件系统中支持不区分大小写,以及对...阅读全文

博文 2019-07-15 10:24:57 debian.cn

Linux基金会宣布开放物联网ACRN管理程序

Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理序。该项目得益于英特尔代码和工的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解决方案提供的,但嵌入式开发人员社区被邀请提供代码以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理序选项。 ACRN针对资源受限设备进行了优化,并将重点放在隔离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文

博文 2018-03-20 08:33:38 debian.cn

AMD 2020处理器产品线曝光: Zen2 APU与Zen 3锐龙4000

Ryzen嵌入式G系列芯片,代号River Hawk,Zen 2架构,最高4核8线。 第三季度的产品最富竞争力,毕竟Zen 3架构将新鲜登场,首秀是代号Milan的第三代EPYC,最高64核128线。8月份将是锐龙4000桌面处理器和锐龙APU产品,前者当然升级到Zen 3,代号Vermeer(维米尔),最高16核,延续AM4接口;后者则升级为Zen 2架构,采用Ryzen 4000G/GE的命名,Zen 2架构+Navi。 同年第四季度是线撕裂者4000产品,最高64核128线。这一路线图也呼应了本周一则消息,AMD最快10月份推出第三代线撕裂者,最高48核?...阅读全文

博文 2019-07-21 19:05:34 debian.cn

Robolinux 10.1 发布,基于 Debian 的发行版

Robolinux 10.1 发布了,Robolinux 是基于 Debian GNU/Linux 最新稳定发行的用户友好的、直观的操作系统。该项目非常有趣的特性之一是预配置好的 VirtualBox 虚拟机支持套件,可运行 Windows XP 或 Windows 7,从而允许用户在 Robolinux 中无缝安装和运行 Windows 操作系统。 Robolinux 发布了三款全新的 Raptor Series 10 操作系统:Cinnamon,MATE 3D 和 Xfce v10.1 LTS 2023 版本。 Robolinux 10 系列版本基于 Ubuntu 18.04 构建,带来了 4.15 Linux 内核以及大量增强和改进,例如: 最新硬件的驱动序支持...阅读全文

博文 2018-10-01 23:32:39 debian.cn

Ubuntu 19.10 计划于 10 月 17 日正式发布,代号 Eoan Ermine

Canonical 官方 宣布 Ubuntu 19.10 版本的发布日期定在 2019 年 10 月 17 日,它将是 Ubuntu 20.04 LTS 发布之前的最后一个短期版本。 根据 Ubuntu 按照字母顺序进行版本命名的规则,该版本名称基于字母 “E”,代号为 “Eoan Ermine”。“Ermine” 学名白鼬,俗称短尾黄鼠狼。 定于 9 月份发布的 GNOME 3.34 桌面版 将构成下一个 Ubuntu 版本的基础。此更新包括 Nautilus、Evince 和 Calendar 等核心应用序的新版本,还可能包含改进的录音机工具。 此外,在 Ubuntu 19.04 版本中首次亮相的实验性 Xorg 分数缩放 设置将会在 19.10 版本中更容易获得。 新版本其他的计划...阅读全文

博文 2019-05-14 13:26:43 debian.cn

深入理解Golang之context

context是Go并发编中常用到一种编模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编中常用到一种编模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文

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

Linux Mint 19.2 “Tina”稳定版发布

| 64-bit Linux Mint 更新内容: 新版本除了对附带的软件进行升级,还带来了许多改进和新特性,让你的桌面使用起来更加舒适。除此之外,还提供了 UI 方面的改进,例如现在支持对滚动条的配置进行设置,并且在应用序菜单中对具有相同名称的序显示添加的描述,以便用户可以在 GNOME 序的 X-Apps 和 Deb 软件包的 Flatpaks 中进行区分。 Linux Mint 19 针对 Xfce, MATE 和 Cinnamon 这三个桌面环境版本都提供了一些独有的新特性,但大多数新特性对于所有的版本都是通用的,下面来看看有哪些变化。 改进了升级管理器中的内核管理软件管理器可以获取“丢失”的 GPG 密钥软件管理器可以扫描/删除重复的源优化了 Muffin 窗口管理器,使用起来感觉...阅读全文

Golang后端面试题目

技术一面 基础面试 一面是通过电话直接沟通。 go的调度go struct能不能比较go defer(for defer)select可以用于什么context包的用途client如何实现长连接主协如何等其余协完再操作slice,len,cap,共享,扩容map如何顺序读取实现set实现消息队列(多生产者,多消费者)大文件排序基本排序,哪些是稳定的http get跟headhttp 401,403http keep-alivehttp能不能一次连接多次请求,不等后端返回tcp与udp区别,udp优点,适用场景time-wait的作用数据库如何建索引孤儿进,僵尸进死锁条件,如何避免linux命令,查看端口占用,cpu负载,内存占用,如何发送信号给一个进git文件版本,使用顺序...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

正在直播2022开放原子全球开源峰会!>>>>> 谷歌内部使用了许多不同的操作系统平台,其中包括 Linux。15 多年前,谷歌选择基于 Ubuntu LTS 构建内部 Linux 发行版 Goobuntu,主要是看中了 Ubuntu 具备用户友好、易于使用的特性,以及提供了许多优秀功能。此外,LTS 会获得 Canonical 提供 2 年以上的安全更新。 根据官方介绍,Goobuntu 是谷歌长期以来一直使用的 Linux 发行版。不过 Ubuntu LTS 的两年更新周期意味着谷歌必须在操作系统 EOL 之前,对超过 10 万台设备中的每台机器进行升级。这是一项非常困难且耗时的工作,毕竟每两年让所有工师从头开始配置他们的工作空间,这对生产力是严重的打击,并且从经济角度来看也是一个不...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

经过 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 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

系统分析工具 Sysdig 详解

Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统状态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下面我们以 Linux系统为例,举例说明 Sysdig 的用法,你也可以参考官方原文。 网络 查看占用网络带宽最多的进:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文

博文 2020-08-09 14:09:05 debian.cn

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

深入学习golang — channel

Consumer( queue <-chan int){ for i :=0; i < 10; i++{ v := <- queue fmt.Println("receive:", v) } } func main(){ queue := make(chan int, 1) go Producer(queue) go Consumer(queue) time.Sleep(1e9) //让Producer与Consumer完成 } 上面的示例在Producer中生成数据,在Consumer中处理数据。 4. Server编模型 在server编,一种常用的模型:主线接收请求,然后将请求分发给工作线,工作线完成请求处理。用go来实现,如下: func handle(r *Request...阅读全文

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

Rust 1.37.0 稳定版发布

1.37.0 中,还可以使用 Self : Variable 引用枚举变量: impl Coin { fn value_in_cents(&self) -> u8 { match self { Self::Penny => 1, Self::Nickel => 5, Self::Dime => 10, Self::Quarter => 25, } } } 更确切地说,Rust 现在允许通过“type-relative resolution”来引用枚举变量,>::Variant。 内置 cargo 支持独立依赖关系 cargo vendor 命令集成到 Cargo,该命令获取项目的所有依赖项,将它们解压缩到 vendor/ 目录中,并展示了在构建过中使用分布式代码所需的配置片段...阅读全文

博文 2019-08-17 21:17:23 debian.cn