InfraPub 为您找到相关结果 634

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

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作巨大,而且还需要手动执行机械的更改。 特别是,在Debian的更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

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

处理器架构消亡史

RISC研究的负责人之一提出“协作RISC计划”,即将此前的项目就被合并为一个项目,并且更名为PRISM。在此期间,为了进一步顺利的将新架构打入市场,DEC在参与MIPS R3000的处理器项目开发过程中,主动发起创建了高级计算协会(Advanced Computing Environment consortium)来提升新架构的影响力。到了1988年DEC公司的管理高层决定采用MIPS处理器,DEC管理层怀疑是否需要生产新的计算机体系结构来替代其现有的VAX产品线,并最终于1988年结束了PRISM项目。此时,处理器架构开始向64位发展。向64位发展,也被当时很多厂商视为是可以改写市场格局的一个拐点。因此,DEC开始考虑使用类似于RISC的设计概念来设计新一代VAX CPU,以提高速度,同时...阅读全文

项目总结报告应该怎么写

每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug数堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、数据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。​结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最主要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原因并提出解决方案;✤提高项目质,让项目“健康”前行;✤通过数据衡当前版本的质,对项目整体情况进行评估...阅读全文

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

架来兼容这种。 开发工具 - 在实现框架时,提供尽可能小的摩擦将会使开发人员更快捷。哪些工具可以帮助编码,本地测试端点,以及单元和集成测试的stubbing/mocking?当事情出错时,我们需要能够看到包括内容在内的请求信息。消息格式等因素也可以使调试更容易依赖于工具,例如JSON消息是人可读的,但是二进制消息将需要额外的努力来解码。 成熟度和采用 - 对于初创公司来说,资源是有限的,需要花费在公司的核心业务上,而不是修复,测试和增强第三方框架。诸如框架的普及,大规模使用的例子,社区的活跃程度以及框架本身的成熟度等因素都是稳定性的良好指标。需要强调的是,选择一个解决具体问题的框架,而并非选择最新最热的。 多平台支持 - 在真正的微服务思维中,使用最适合其目的的语言编写企业的服务,目前包...阅读全文

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

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的总结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

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

Bootstrap 4首个维护版发布 新增多项功能

.flex-fill,.flex-grow- * 和 .flex-shrink- * 实用程序 为表格添加了新的 .table-borderless 体 增加了新的 .text-monospace 工具 添加了新的 .text-body(默认主体颜色),.text-black-50(50%不透明度黑色)和.text-white-50(50%不透明度白色)实用程序 添加了新的 .shadow- * 工具,用于快速添加阴影框 增加了在下拉菜单中禁用 Popper 定位的功能 更新我们的 Theming 文档以确认您不能在媒体查询中使用 CSS 修复了为卡片错误地渲染 CSS 列的问题 已弃用 .text-hide,在编译期间您会看到一条警告 修复了 Firefox 和 IE 浏览器中的...阅读全文

博文 2018-04-10 13:04:36 debian.cn

WordPress 5.0“Bebo” 正式版发布

WordPress 5.0 最大的亮点就是正式引入新的基于块(block-based)的编辑器 —— Gutenberg,给用户提供更简化的编辑体验。无论是首次构建网站、修改博客还是编写代码,用户都可以更灵活地显示内容。新的 Gutenberg 编辑器不会改访问者对你的内容的观感,它的作用是让你快速插入任何类型的多媒体并重新排列你想要核心展示的内容。每块内容都在自己的块中,有单独的封装,便于操作。 WordPress 默认提供大的块,而且社区也在不断添加新的块。 这种全新的编辑体验为设计和内容提供了更加一致的处理。如果你正在构建 client 站点,则可以创建可重用的块,这有益于你的客户随时添加新内容,同时仍保持一致的外观。 此外,WordPress 5.0 还引入了新的默认主题...阅读全文

博文 2018-12-07 12:11:52 debian.cn

Debian 社区陷入尴尬 或群龙无首

需要花费大时间与精力,但它是没有薪水回报的。公开信表示,如果之后确认这正是问题所在,那么社区可能会考虑做出一些改,创造一个有偿的职位来承担领导人的工作。 目前没有一位开发者提名,根据 Debian 的章程,提名期延长了一周,也就是 3 月 17 日截止。如果在这个时间之前还没有人提名,那么提名期还会再延长一周。该流程将无限持续下去,“直到有人屈服并提交他们的名字”。 而除了无人提名的尴尬,更严重的问题是,根据章程,只要任期结束,当前的 Debian 领导人 Chris Lamb 就可以不再履行职责,如果在那个时候还没有选出新的领导人(毕竟提名期是可以无限延长的),那么社区就会处在群龙无首的状态,Debian 将会陷入困,项目运作的各方面都会停滞不前。 然而,好消息是,Debian 章程...阅读全文

博文 2019-03-14 11:05:23 debian.cn

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

访问:2021阿里云上云采购季:采购补贴、充值返券、爆款抢先购云通信分会场:爆款产品低至7.2折,短信低至0.034元/条 相比之下,ARMv9的升级看点就多了,过去10年计算架构有了太多化,ARM处理器也不止是移动/嵌入式专用了,已经扩展到了PC、HPC高性能计算、深度学习等等新市场。ARMv9在兼容ARMv8的基础上,提升了安全性、增强了矢计算、机器学习及数字信号处理,同时继续提升处理器性能。首先来说说性能上的化,以智能手机等移动平台使用的Cortex-X/A系列为例,X1/A78这一代的性能相比16nm A72提升2.5倍,下一代的Matterhorn架构及Makalu架构会保持30%以上的IPC性能提升。IPC提升与频率无关,如果再考虑到未来工艺带来的频率增加,那么CPU性能...阅读全文

译:零信任对 Kubernetes 意味着什么

这篇是 Buoyant 的创始人 William Morgan 文章《What Does Zero Trust Mean for Kubernetes?》 的翻译,文章很好的解释了什么是零信任、为什么要实施零信任,以及服务网格如何以最小的代码实现零信任。零信任是营销炒作,还是新的机会,各位看官你怎么看?要点零信任是一种被大炒作的安全模型,但尽管存在营销噪音,但它对于具有安全意识的组织具有一些具体而直接的价值。零信任的核心是,将授权从“在边界验证一次”转为“随时随地验证”。为此,零信任要求我们重新思考身份的概念,并摆脱基于位置的身份,例如 IP 地址。Kubernetes 采用者在网络层实现零信任时具有明显的优势,这要归功于基于 Sidecar 的服务网格,它提供无需更改应用程序就可实现...阅读全文

Debian及衍生版自动安装系统更新

"; // "libc6-i686"; }; Unattended-Upgrade::MailOnlyOnError "true"; Unattended-Upgrade::Automatic-Reboot "false"; 注意在最后一行,如果希望服务器在必要时重新启动,你可以将自动重新引导设置为 true。 接下来,我们可以安装 “apticron” 来管理 APT 更新的自动执行。 # apt -y install apticron 用编辑器打开 /etc/apticron/apticron.conf ,将电子邮件设置为你自己的邮件地址,这样您就可以收到更改列表。 EMAIL="**me@debian.cn**" DIFF_ONLY="1" LISTCHANGES_PROFILE="apticron...阅读全文

博文 2019-06-04 12:23:56 debian.cn

Debian 向社区发出邀请 请求测试 Debian 10 Buster 安装镜像

Debian项目团队已经向社区用户发出邀请,请求帮助测试即将推出的Debian GNU/Linux 10 “Buster”。该发行版本计划于2019年7月6日周六正式发布,整个开发阶段已经持续数年时间,相比Debian 9引入了诸多改进和新功能,努力将其打造成为非常优秀的新版本。 不过在本周晚些时候正式上线之前,Debian 项目寻求社区的力,以反馈发现Debian GNU / Linux 10 Buster 在下载、安装和使用节所遇到的问题,从而确保最终正式版没有错误。 Andy Simpkins在邮件列表中写道:“如果能够占用你的一些时间来帮助我们测试这些镜像,我们将非常感激你的帮助。请在开始测试之前检查 irc *以减少重复测试。” Debian GNU / Linux 10...阅读全文

博文 2019-07-03 16:39:51 debian.cn

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

。即使用户空间的占用率提高一倍,其CPU占用率也仅为10%,这也解释了为何7层处理对性能影响有限这一现象。由此,在高端系统上HAProxy的7层性能可轻易超过硬件负载均衡设备。 在生产中,在7层处理上使用HAProxy作为昂贵的高端硬件负载均衡设备故障故障时的紧急解决方案也时长可见。硬件负载均衡设备在“报文”级别处理请求,这在支持跨报文请求(request across multiple packets)有着较高的难度,并且它们不缓冲任何数据,因此有着较长的响应时间。对应地,软件负载均衡设备使用TCP缓冲,可建立极长的请求,且有着较大的响应时间。 二,安装配置HAProxy 以下实验均为 Debian i686平台。 1,安装haproxy [root@LB ~]# apt-get...阅读全文

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

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

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

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

架构师详解 Nginx 架构

线程启动和执行的流程如下:主程序 Master process 启动后,通过一个 for 循来接收和处理外部信号;主进程通过 fork() 函数产生子进程,每个子进程执行一个 for 循来实现 Nginx 服务器对事件的接收和处理。 一般推荐 worker 进程数与 cpu 内核数一致,这样一来不存在大的子进程生成和管理任务,避免了进程之间竞争 CPU 资源和进程切换的开销。而且 Nginx 为了更好的利用多核特性,提供了 cpu 亲缘性的绑定选项,我们可以将某一个进程绑定在某一个核上,这样就不会因为进程的切换带来 cache 的失效。 对于每个请求,有且只有一个工作进程对其处理。首先,每个 worker 进程都是从 master 进程 fork 过来,在 master 进程里面,先建...阅读全文

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

Elastic search 6.0.0 正式发布 大量新特性

在 Elasticsearch 5.0.0 发布之后,Elasticsearch 在 333 个 commite、2236 个合并请求下,发布了基于 Lucene 7.0.1 的 Elasticsearch 6.0.0 正式版。 Elasticsearch 6.0.0 下载地址 Elasticsearch 6.0 重大改 Elasticsearch 6.0.0 发行说明 Elasticsearch X-Pack 6.0 重大改 Elasticsearch X-Pack 6.0.0 发行说明 Elasticsearch 6.0.0 部分亮点如下: 无宕机升级: 使之能够从 5 的最后一个版本滚动升级到 6 的最后一个版本,不需要集群的完整重启。无宕机在线升级,无缝滚动升级。 跨多个...阅读全文

博文 2017-11-15 18:11:10 debian.cn

LXD 3.8 发布,下一代容器管理器

LXD 服务器必须配置为监听单个 IPv4 或 IPv6 地址,同时内部集群流和常规客户端流都使用相同的地址。LXD 3.8 引入新的 cluster.https_address 选项作出改,write-once 写入密钥保存用于集群通信的地址,并且无法在不必从集群中删除节点的情况下进行更改。有了这个单独的密钥,现在可以将集群节点上的常规 core.https_address 更改为任何地址,包括通配符模式,如 :8443。 集群镜像复制 集群中引入了自动镜像复制, 在 LXD 3.8 之前,镜像只会被复制到其它集群成员,虽然有利于性能、带宽和磁盘使用,但这有一个明显的缺点,即如果镜像仅出现在单个系统上并且系统脱机,那么在系统恢复之前将无法使用该镜像。 此版本通过在至少 3 个系统上复制所...阅读全文

博文 2018-12-14 10:29:14 debian.cn

AMD抢先发布7nm芯片"米兰":只为抢更多服务器市场份额

AMD表示,公司最新发布的“米兰”服务器芯片比目前最好的数据中心芯片处理速度更快。据悉,AMD完成该芯片的设计,并委托台积电采用7nm芯片制造工艺来实现产。很快,Intel也要反击,其将在未来几周推出最新的“冰湖”(Ice Lake)服务器芯片,这将是首款采用Intel 10nm制造工艺产的服务器芯片(据说性能相当于7nm制造工艺的“米兰”芯片)。无论这两款芯片的速度如何,但AMD仍有望拥有一些优势,比如每个芯片上的计算内核数更多,这使得芯片可以同时处理更多的软件应用程序。AMD服务器业务部门高级副总裁兼总经理丹·麦克纳马拉(Dan McNamara)表示,如果公司继续将客户反馈整合到新一代芯片中,就能保住领先地位。第三代EPYC 7003系列采用和锐龙5000系列同款的Zen3架构...阅读全文

博文 2021-03-16 10:06:31 cnBeta.COM

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

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

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

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

签名的证书。 我习惯把视图调整为目录视图。 左上角有个下拉框,Folder View. 这里系统是安装完了,但是还需要一些配置. 设置网络Datacenter - Nodes - node System - Network 现在服务器是通过具体的硬件网卡来获取 IP 地址接入互联网。 如图: 但是我们需要新建一个桥接网卡,VM 会通过这个桥接网卡来配置 IP 地址,类比桌面下用 VMWare 开虚拟机,通过桥接上网之类的。 这里需要先删掉 Network Device 上面的 IP 地址,因为 IP 地址不能同时分配到两张网卡上,所以记下你的 IP 地址和网关,当然,你的服务器后台也应该有这些。 那么,问题来了,删掉后,IP 地址没有配置到网卡上,我们是不是无法访问到这台服务器了呢?会立...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

PHP 7.4 有哪些新特性

(User $user) => $user->id, $users) 需要注意几点: 短闭包可以直接访问闭包函数外面的,所以不需要再写 use 关键词以fn关键词开始$this 可以像普通的闭包一样使用短闭包只有一行代码,仅仅做返回声明使用,不允许使用return 关键词 还可以使用更严格类型的方式 $ids = array_map(fn(User $user): int => $user->id, $user); 预加载 PHP预加载可以极大的提高性能 优点:在PHP 7.4以前,如果你使用了框架来开发,每次请求文件就必须加载和重新编译。预加载在框架启动时在内存中加载文件,而且在后续请求中永久有效。 缺点:性能的提升会在其他方面花费很大的代价,每次预加载的文件发生改时,框架需要重新启动。 属...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

-2 个大版本后都会发布一个化稍微少一点的版本,主要目的是把一些特性稳定下来。 1.14 版本就是这样一个定位,我们称之为质改进和维护的版本。这个版本预计 8 月 16 日停止新特性开发,可能在 9 月份能够和大家正式见面,有兴趣可以关注以下链接去跟踪功能发布进度。 Wiki:https://cwiki.apache.org/confluence/display/FLINK/1.14+Release Jira:https://issues.apache.org/jira/projects/FLINK/versions/12349614 [1] 截至到 8 月 31 日,确定进入新版本的是 33 个,已全部完成。 二、流批一体 流批一体其实从 Flink 1.9 版本开始就受到持续的关注,它...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

Debian升级内核开启TCP_BBR 实现网络单边加速

改系统: echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
 echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf 保存并执行 sysctl -p 生效。执行, sysctl net.ipv4.tcp_available_congestion_control 如果结果是这样 root@debian:~# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno 就开启了。 然后执行下面的命令,看到有...阅读全文

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

Flatpak 1.0正式版发布:Linux 应用沙盒开发里程碑

Flatpak,Linux应用程序沙箱和分发框架(以前称为XDG-App),用于在Linux桌面上构建和分发托管应用程序,今天已经达到1.0里程碑。 经过三年多的开发,广泛使用的Flatpak Linux应用程序沙盒和分发框架终于达到了1.0版本,这意味着它已经足够成熟,可以在生产中部署和使用,用于分发和运行Linux应用程序。 “Flatpak 1.0是新稳定版系列中的第一个版本。这个新的1.x系列是0.10.x系列的继承者,它于2017年10月首次推出.1.0是新标准的Flatpak版本,推荐使用发行版尽快更新,“开发商Alexander Larsson说。 与Flatpak 0.10.0系列相比,Flatpak 1.0版本的亮点包括一个新的Flatpak门户,允许Linux应用程...阅读全文

博文 2018-08-22 20:26:05 debian.cn

通过 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

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

Debian Linux下LNMP环境配置

昨天刚给公司服务器装了LNMP服务器,在这里简单记录一下过程备忘。这里我在安装的时候是用的Dotdeb源,仅供参考。 1. 导入Dotdeb源,据说Dotdeb源里的软件版本比较新。 在向源中导入Dotdeb前,我们需要先获取GnuPG key并导入: wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - 提示OK,表明导入成功。然后我们开始导入Dotdeb 源,源列表的位置在“/etc/apt/sources.list”,我们通过vi工具或nano工具打开sources.list,添加如下两行: deb http://packages.dotdeb.org wheezy all deb-src...阅读全文

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

轻量级发行版 Alpine Linux 介绍

Alpine Linux 操作系统是由社区开发的,面向安全的轻型 Linux 发行版,它和其他常见的 Linux 发行版不同。Alpine 采用了 musl libc 和 busybox 以减小系统体积和运行时的资源消耗,功能上要比 busybox 完善的多,因此得到开源社区越来越多的青睐。 在保持瘦身的同时,Alpine 提供了自己的包管理工具 apk,可以在官方网站上查询包信息,也可以通过类似 apt 和 yum 的方式,在命令行查询或安装软件。 Alpine 支持广泛的场景,它特别为资深/重度Linux用户而优化,关注安全,性能和资源利用率,是一个优秀的可适用于生产的基础系统。 Alpine Docker 镜像继承了 Alpine Linux 发行版的这些优势。相比于其他...阅读全文

博文 2018-06-16 13:48:00 debian.cn

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

来实现,直接在代码里写前缀的做法要严格避免,这样可维护性实在太差了。 如:系统名:业务名:业务数据:其他 但是注意,key的名称不要过长,尽清晰明了,容易理解,需要自己衡 10.线上禁止使用monitor命令 禁止生产使用monitor命令,monitor命令在高并发条件下,会存在内存暴增和影响Redis性能的隐患 11.禁止大 string 核心集群禁用1mb的string大key(虽然redis支持512MB大小的string),如果1mb的key每秒重复写入10次,就会导致写入网络IO达10MB; 12.redis容 单实例的内存大小不建议过大,建议在10~20GB以内。 redis实例包含的键个数建议控制在1kw内,单实例键个数过大,可能导致过期键的回收不及时。 13 可靠...阅读全文

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

深入理解Golang之context

?其实可以想象一颗树,树的每个节点可能携带一组键值对,如果当前节点上无法找到key所对应的值,就会向上去父节点里找,直到根节点,具体后面会说到。再来看看context包中的其他关键内容。emptyCtxemptyCtx是一个int类型的,但实现了context的接口。emptyCtx没有超时时间,不能取消,也不能存储任何额外信息,所以emptyCtx用来作为context树的根节点。// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type...阅读全文

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

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收机制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

MX Linux 17 Beta 1 发布,基于 Debian 的发行版

MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为缺省桌面,是一份中级操作系统,并被设计为优雅而高效的桌面与如下特性的结合:配置简单、高度稳定、性能可靠、占用空间不大也不小。 MX-17 Beta 1 镜像现在可供下载和测试。 Beta 1 具有以下功能: antiX 项目的最新实时系统更改和修复; Debian(Stretch)的最新更新; 4.9.0-4 内核(alphas 特性 4.9.0-3); 32 位 ISO 有 PAE 内核,而非 PAE; 更新软件包,包括 LibreOffice 5.4.1 的更新和 mx-apps; mx-tweak 替换了 mx...阅读全文

博文 2017-11-07 10:19:49 debian.cn

Linux Kernel 5.10改进EXT4文件系统:随机覆盖性能提升10倍

在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文

博文 2020-10-25 10:58:54 debian.cn

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

、dynamic_cast、try/ catch、虚拟constexpr 向和字符串计时:日历、时区支持std::formatstd::spanstd::jthread 预计这些新特性将会对开发者及 C++ 生态产生不小影响,特别是像协程这种巨大的化。 同时,在此次会议期间,委员会还通过了 C++ 23 计划,其中包括优先考虑模块化标准库、对协程、执行程序和网络的库支持。...阅读全文

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

树莓派4B降价 2GB内存版售35美元

树莓派(Raspberry Pi)微型计算机是备受全球开发者和极客们欢迎的产品,树莓派基金会于去年6月发布了Raspberry Pi 4 Model B,换用了速度更快的CPU,并提供了4GB大内存版本,还引入了USB 3.0,支持双屏4K输出与H.265解码。 今年,树莓派即将迎来8岁生日,为了庆祝,树莓派基金会宣布,2GB内存版的树莓派4B降价,由原价45美元下调至35美元,同时原售价35美元的1GB版本停止发售。而4GB内存版价格保持不,仍然是55美元。 根据去年底的统计数据,树莓派累计销已超3000万件。树莓派4B算是一次较为重大的升级,核心处理器为博通BCM2711,采用四核Cortex A72架构,28nm工艺,主频1.5GHz。最高可选4GB LPDDR4内存,并提供千兆...阅读全文

博文 2020-02-28 10:34:01 debian.cn

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

这一年来有关国内公司进军内存产业的消息甚嚣尘上,紫光公司凭借原有的英飞凌、奇梦达基础在DDR3内存上已经作出了突破,小批生产了DDR3内存,下半年还会推出更主流的DDR4内存芯片,正在努力追赶国际主流水平。但是放眼整个内存市场,DDR5内存很快就要来了,更可怕的是未来即便是DDR5内存也很可能被更新的技术淘汰。 业界已经有人提出了DDR内存将死的看法,未来需要高带宽的产品将转向HBM内存,2020年会有HBM 3内存,2024年则会有HBM 4内存,届时带宽可达8TB/s,单插槽容可达512GB。 对于HBM内存,DIY玩家可以说也是相当熟悉了,AMD在2015年的Fury系列显卡上首次商用第一代HBM技术,超高的带宽、超低的面积占用彻底改了当时的显卡设计,随后NVIDIA在...阅读全文

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

++规范,国内的阿里Java开发规范等…… 但对于文档 似乎相关的资料却很少。但实际上,不应该把文档和代码割裂开来,你可以简单粗暴地认为文档其实就是用一种特殊语言书写的代码,这种语言就是人类的语言。这么想的话,实际上我们很多在代码和工程中总结出来的经验,也可以直接用在文档中,比如: - 有统一的规范 - 有版本控制 - 有明确的责任人维护 - 有更Review机制 - 有问题的反馈和更新机制 - 定期更新 - 有衡的指标(比如准确性,时效性) ## 明确你的读者是谁 ## 写文档有一个很常见的错误,那就是很多人文档都是写给自己看的,这种情况下就会导致你的文档只有自己或者和你有相似知识背景的人才能看懂,团队较小时这种问题还好,你们都做着类似的工作,所以也都能看懂文档。但当团队逐渐壮大后,问题就...阅读全文

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

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

人类的生活? Sam Altman:AI终将渗入人类生活的方方面面。未来十年里,智能和能源的边际成本会迅速下降,趋近于零,而智能和能源又是其他各行各业的主要成本来源(当然,奢侈品除外)。[注:Sam Altman 是否提前知道了美国能源部在12月份宣布的可控核聚的进展?] 整个社会的成本结构都会下降,正如之前多次科技革命的结果一样。在这种浪潮之下,很少有什么会一成不。但有一点很重要,智能和能源成本只是趋近于零,而不是直接降为零。所以将来如果有人仍愿意花费巨额投资来购买智能和能源,他们得到的算力和能源的数将突破想象。 设想一下,将来的能源使用成本下降10~100倍,智能使用成本下降1亿倍,而对能源和智能的资金投入则比现在多1000倍,那会是什么样的局面? Audience Member...阅读全文

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

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

Shuttleworth,请你不要让 Mir 死亡。(我理解在桌面端这可能是非常困难或许无法实现的,但是如果你未来想要进一步布局物联网,你就会发现它是非常实用的。) 随后 Shuttleworth 的回复并不令人感到愉快: Martin Kozub,我们拥有大使用 Mir 作为合成器的物联网项目,因此代码将会接受更新。我也非常赞同,它是非常高效、简洁和强悍的图形合成引擎,聪明的人都非常的喜欢。 然而我由衷的讨厌 Mir 的存在,因为这是一款非常容易产生分歧的软件。就像是气候化或者枪支管理一样,它会成不合理的策略话题。无论你站在哪一方都释放出种族拥护的信号。在社区中部分软件的对立已经成了非常严重的问题,有些人会选择站在对立面怀着抱怨和讨厌的态度,而另一些人则站在了同一阵营,甘愿投入时间和精力并不断让软件得...阅读全文

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

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻级项目所用就得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标和向包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向包处理的框架。与传统的标包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向数据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

Redis 命令、特性介绍与性能调优

KEYS命令,严格禁止在生产中使用) Redis的数据结构和相关常用命令 本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。本节只对Redis命令进行扼要的介绍,且只列出了较常用的命令。如果想要了解完整的Redis命令集,或了解某个命令的详细使用方法,请参考官方文档:https://redis.io/commands Key Redis采用Key-Value型的基本数据结构,任何二进制序列都可以作为Redis的Key使用(例如普通的字符串或一张JPEG图片) 关于Key的一些注意事项: 不要使用过长的Key。例如使用一个1024字节的key就不是一个好主意,不仅会消耗更多的内存,还会导致查找的效率降低 Key短到缺失了可读性也是不好的,例如”u1000flw”比起...阅读全文

博文 2018-10-27 10:37:55 debian.cn

JDK 11 版本时间表公布

在 JDK 10 发布两天之后,Oracle Java 平台组首席架构师 Mark Reinhold 提出了 JDK 11 GA 发布的时间表: 6 月 28 日:第一阶段开发(从主分支 fork) 7 月 19 日:运行所有测试 7 月 26 日:第二阶段开发 8 月 16 日:初始候选版本 8 月 30 日:最终候选版本 9 月 25 日:正式版 到目前为止,包含在 JDK 11 中的 JEP 有: JEP-309:动态类文件常 JEP-318:Epsilon:一款低开销的垃圾收集器 JEP-320:移除 Java EE 和 CORBA 模块 JEP-323:Lambda 参数的局部语法 JDK 11 的 早期体验版本 在 JDK 10 发布前的一个月就有了。Reinhold 之...阅读全文

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

Golang 之禅: 如何写优质代码

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

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

分布式 NewSQL 数据库 TiDB

TiDB 3.1.0 GA 版本现已发布,该版本的更新集中在 Bug 修复。具体的更新有如下内容: 兼容性化 TiDB支持 TiDB 在启动服务时,在开启 report-status 配置项情况下,如果发现 HTTP 监听端口不可用,则直接退出启动 #16291ToolsBackup & Restore (BR)BR 不支持在 3.1 GA 版本之前的 TiKV 集群上进行恢复 #233 新功能 TiDB支持在 explain format = "dot" 中展示 coprocessor 任务的信息 #16125通过 disable-error-stack 配置项减少日志的冗余 stack 信息 #16182Placement Driver (PD)优化热点 Region 调度...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

HTTP状态码详解

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

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

2017年DevOps的5大发展预测

经筹集了大资金,它们将面临获得这些投资回报的压力。”Wrabetz提到。她认为这种整合在DevOps工具市场上是非常需要的。 进一步容器化 2016年,我们见证了大规模容器化,但是Morpheus数据公司技术运营总监兼系统架构师Greg Willis认为,由于工具得更加稳定,且容器生态在编排工具的作用下更加巩固,我们将会见到进一步容器化。他说,“正如虚拟化技术让企业适应从物理机向虚拟机的转,我们将会看见企业更多的将工作负载运行在诸如AWS ECS、Kubernetes、DCOS、Docker数据中心等平台上。” 统一开发、安全和运维 如果说2016年是运维安全的崛起,尤其是Docker对安全的更新,那么2017年我们将见到开发、安全和运维的统一。CA Technologies公司...阅读全文

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

Prometheus 常用 PromQL 语句样例

: sum(my_metric_name)根据方法和路径标签维度进行求和: sum by(method, path) (my_metric_name)without 用于从计算结果中移除列举的标签,而保留其它标签,by 则正好相反,结果向中只保留列出的标签,其余标签则移除: sum without(method, path) (my_metric_name)其他常用的聚合运算符:sum(), min(), max(), avg(), stddev(), stdvar(), count(), count_values(),bottomk(), topk(), quantile()。序列间的数学计算将两个相同标签的序列相加: left_metric + right_metric只将匹配...阅读全文

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

influxdb内存消耗分析及性能优化【探索篇】

开始写入数据之后,在4h+10m之后,会对上个分片进行全压缩策略 #应用: 本文设置为80小时。目的是不进行full压缩策略,来避免io过多消耗,后面会介绍由于设置的retention policy为72小时,所以此处大于72即可。 compact-full-write-cold-duration = "80h" #描述: 最大并行压缩数,默认会使用golang的逻辑处理器的一半 #场景: 当进行level1,level2,level3及full策略压缩文件时使用的处理器数, #当前服务器为16core32物理线程,则会在压缩时默认使用16个处理器 #应用: 本文设置为8。用于减轻压缩策略时,cpu与磁盘io的压力,但相应的会导致压缩周期长。 max-concurrent...阅读全文

博文 2021-10-27 16:06:30 知乎

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

谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如下: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于更列...阅读全文

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