InfraPub 为您找到相关结果 415

Golang 面试题搜集

](https://github.com/lifei6671/interview-go/blob/master/question/q015.md) - [记一道字节跳动的算法面试题](https://github.com/lifei6671/interview-go/blob/master/question/q016.md) - [多协程查询切片问题](https://github.com/lifei6671/interview-go/blob/master/question/q017.md) - [对已经关闭的的chan读写,会怎么样?为什么?](https://github.com/lifei6671/interview-go/blob/master/question/q018.md...阅读全文

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

Linux Kernel 5.0将于2018年夏季发布

Linus Torvalds揭示了为什么在2018年夏天将会有一个Linux Kernel 5的理由。他还讨论了对新的Linux Kernel维护者的需求。 在最近结束的布拉格开源峰会上,Linux创始人Linus Torvalds与VMware副总裁了座谈,并讨论了Linux内核的相关问题。 Linux内核需要新的维护者 Linux内核已经有26岁,内核维护者比26岁还要老。这就产生了一个问题,因为虽然内核开发有很多年轻的贡献者,但是内核维护者(负责审核向内核提交代码的人)是40多岁的人, 甚至50多岁了。部分问题是维护内核的复杂性。 但是Torvalds认为,内核维护者的主要原因是“老”,因为他们需要从疯狂的邮件流入中了解补丁。这需要良好的经验。 第二个原因是内核维护者应该足够长的...阅读全文

博文 2017-12-11 22:27:31 debian.cn

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

引入的新的仲裁控制器确保元数据在整个仲裁中可以被准确复制。活动控制器将元数据存储在事件源日志主题中,仲裁中的其他控制器对活动控制器创建的事件做出响应。事件日志定期快照,确保日志不会无限增长。与基于 ZooKeeper 的控制器不同,如果出现了问题,仲裁控制器不需要从 ZooKeeper 加载状态,因为集群的内部状态已经分布在元数据主题中。这大大减少了不可用时间窗口,缩短了系统最坏情况恢复时间。下图显示了使用新的仲裁控制器比使用 ZooKeeper 更快地关闭具有 200 万个分区的 Kafka 集群。​新的 KRaft 共识算法和仲裁控制器使得 Kafka 集群可以扩展到数百万个分区,不仅提升了稳定性,让 Kafka 变得更容易监控、管理和支持,而且让整个系统可以有一个单一的安全模型,使...阅读全文

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下多线程程序为什么消耗大量虚拟内存

最近游戏已上线运营,服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(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

社交巨人Facebook使用Linux和Btrfs的姿势

们招聘从事上游内核开发的人才。开发者想要从事革命性的新技术的研发工作,他们想做上游内核的开发工作、参加相关的技术会议、成为上游技术社区的一员。我们也希望能够为上游内核的开发贡献力量,并把这些成果应用到Facebook中去。这样我们能比较容易找到并聘用上游内核的开发者,同时也是我们降低工作负载的最佳途径。 Linux.com:在服务器领域,我常听系统管理员说“一旦安装好并运行起来,就不要再碰它了”,这与我们在现代IT基础设施中看到的刚好相反——现代IT基础设施的宝典是为了安全要变动的更快。 Chris Mason:我认为,Facebook横向扩展的能力使我们测试变得更为容易。这并不是说测试工作本身变得容易了,而是我们把测试单元部署在大量机器上的过程变得更容易了。我们有能力把测试工作放在一个...阅读全文

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

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

资源,从而获取虚拟货币的一种程序,需要较高的硬件配置及用电量。 而单凭一个矿工的力量是挖不到比特币的。于是“安某”便想到可以利用自己的职务之便利用百度的服务器来开启自己的发家致富之路,只是他可能没想到的是事情会败露的这么快。 那么,他具体是怎么做的呢? 首先,他用自己的工作账户上传了一个压缩文件 miner.tar.gz ,其中包含一个名为 java_4u3 的脚本, 而这个脚本可以自动执行解压缩、创建目录、删除目录、自动连接代理网络交换,达到控制服务器的目的。 然后,编译了一个挖矿程序,并将上述程序部署非法控制了百度的 155 台服务器上,利用公司为其配备的苹果电脑上的 iterm 软件控制所有服务器的中控机,通过中控机上传挖矿脚本,并通过 iterm 软件发出批量下载指令,让 200...阅读全文

博文 2020-03-17 20:42:41 debian.cn

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所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收机制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

树莓派 9 周年:你不知道的树莓派冷知识

树莓派中的实现,可以将树莓派变成 Chromebook。Windows 10:是的,甚至有用户经过一番折腾,成功在 Raspberry Pi 4 上安装了 Windows 10,但由于硬件架构适配性不足等原因,运行速度很慢,慎用。 Lakka:该操作系统专为一些复古游戏而设计,预装了一系列模拟器,可以将树莓派变成一台老式游戏机。6.太空中运行着两台树莓派这绝对算是一个有趣的冷知识。国际空间站运行着两台“Astro Pis”设备,事实上,这是经过特别改良的 Raspberry Pi B+ 型,这两台树莓派经过“空间改造”以适应太空环境,并配备了官方的 Raspberry Pi Sense HAT。欧洲航天局会举办定期竞赛,孩子们提交的代码可以在外太空的这两台设备上远程运行,以一些有趣的空间...阅读全文

博文 2021-03-11 17:03:55 diablo4

Linux系统诊断-内存基础

swap的方式临时缓解内存不足的问题,但一般不能直接作在线减少swap的操作,很有可能导致进程的crash。具体swap配置方式见5.1swap相关配置。OOM=======1.What is OOM?Out Of Memory Killer 是 Linux 的一种系统保护机制,在系统内存紧张时,kill掉某些进程防止系统卡死。系统通过打分机制,来实施对进程的杀死操作。默认机制是通过扫描所有进程的内存占用,cpu占用等因素,然后打分  (badness),分数越高,进程被kill的优先级就越高。2.哪些行为会让系统对进程打分?进程使用fork(2)调用,创建众多子进程时,会加分(+)进程已经运行了很长时间,或者和使用了大量的CPU时间,会减分(-)进程的nice值如果比较低,会加分(+)进程如...阅读全文

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

WebAssembly:无需容器的 Docker (上)

?WasmEdge 是一个高性能的 WebAssembly 运行时:是开源的,属于 CNCF。支持所有主要的 CPU 架构(x86、ARM、RISC-V)。支持所有主要操作系统(Linux、Windows、macOS)以及其他操作系统,例如 seL4 RTOS、Android。针对云原生和边缘应用程序了优化。可扩展并支持标准和新兴技术使用 Tensorflow、OpenVINO、PyTorch 人工智能推理Tokio 的异步网络。 支持微服务、数据库客户端、消息队列等。与容器生态、Docker 和 Kubernetes 无缝集成(如本文所示!)解释型语言呢?到目前为止,我们只提到了 C 和 Rust 等编译语言可以编译为 WebAssembly。 对于 Python、Ruby 和 PHP 等解释型语...阅读全文

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

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的变化几乎是微乎其微的;HTTP 增加了几个新的报文头和请求方式,TLS 缓慢地了一点小修改,TCP 调整了拥塞控制,而 DNS 引入了像 DNSSEC 这样的特性。这些协议看起来很长时间都一成不变(除了已经引起网络运营商们的大量关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策者对这些协议采用的做法是基于其原有工作方式 —— 无论是打算调试问题,提高服务质量,或施加政策...阅读全文

阿里巴巴版 JDK 首发 GA 版 生产环境可用

?如果你是 Oracle JDK 8 的用户,原 License 尚可免费使用,但之后若希望得到持续安全更新则需要为此付费。如今,在 Oracle 主导下的 Java 大环境已经发生变化。作为最大的 Java 的用户之一,阿里巴巴几乎拥有世界最大规模的 Java 应用集群,肯定需要为此采取一些行动。 基于此,阿里巴巴决定开源 OpenJDK 长期支持版本 Alibaba Dragonwell,一是因为其自身拥有大量 Java 客户和业务需求,阿里巴巴希望他们可以继续免费享受到 JDK 的所有功能;二是考虑到不少开发者可能会做出新的选择,阿里巴巴决定开源该项目,为开发者提供一个新的参考。 在过去三个月时间内,阿里巴巴方面对该项目了持续维护和更新。据了解,本次 GA 版本的主要目的是让...阅读全文

博文 2019-07-11 10:24:52 debian.cn

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

,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器读取。 Debian的变更流程 最近几年,我目前的团队在整个代码库中了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文

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

Apache Kafka发布 3.0 正式版

昨天,Apache Kafka 3.0 版本正式发布,这是一个涉及多方面的大版本。在这个版本中,Apache Kafka 3.0 引入了各种新功能、突破性的 API 更改以及对 KRaft 的改进:Apache Kafka 的内置共识机制将取代 Apache ZooKeeper™。虽然 KRaft 尚未被推荐用于生产(已知差距列表),但我们对 KRaft 元数据和 API 了许多改进。Exactly-once 和分区重新分配支持值得强调,我们鼓励开发者查看 KRaft 的新功能并在开发环境中试用它。并且,从 Apache Kafka 3.0 开始,生产者默认启用最强的交付保证 ( acks=all, enable.idempotence=true),这意味着用户现在默认获得排序和持久性...阅读全文

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

Apollo 配置中心简单介绍

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

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

Debian 使用VSFtpd安装配置架设FTP服务器

/init.d/vsftpd stop //停止vsftpd /etc/init.d/vsftpd restart //重新启动vsftpd /etc/init.d/vsftpd reload //重新导入vsftpd Vsftpd的配置文件。 Vsftp的配置文件默认情况下就已经比较安全,一般不需要修改,下面对常用的几个配置选项说明: Listen=yes 是否以独立进程启动 anonymous_enable=YES 是否允许匿名ftp,如否则选择NO local_enable=YES 是否允许本地用户登录 anon _enable=YES 是否允许匿名ftp用户访问 anon_upload_enable=YES 是否允许匿名上传文件 anon_mkdir_write_enable=YES 是否允...阅读全文

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

Debian下编译安装Golang

GOROOT下的源码与GOROOT_BOOTSTRAP下的搞混了。如果Go与Java一样支持循环导入,那么这里就会一次错误的编译。 这个问题大致是路径配置错误导致的。未免误导,这里就不详述复现步骤了。 总之,先配置好GO的环境路径,能解决大多数错误。 环境配置 为了避免go1.4这个目录混杂在我本就已经混乱不堪的$HOME目录,我新建一个隐藏目录.golang,作为Go的相关环境配置的位置。 把以下配置加入shell的配置文件,bash是~/bashrc。 export GOROOT=$HOME/.golang/go export GOPATH=$HOME/.golang/path export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4 export PATH...阅读全文

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

2017年DevOps的5大发展预测

在即将过去的一年中,DevOps经历了大规模容器化,许多公司投入了容器化的怀抱。这并不意味着DevOps相关工具已经成熟,但是这些工具为安全改进、容器化和工具集中化奠定了基础。以下是2017年DevOps的5大发展预测。 工具整合 根据Quali公司CTO Joan Wrabetz的说法,DevOps相关工具市场整合的时机已经成熟,这主要归功于消费者需求和公司数量的大规模增长。她提到:“为了简化流程,消费者只会选择其中的几个优秀软件,并且围绕着这些工具,将它们整合到自身的流程当中去。这将会导致越来越多的工具直接提供横跨整个持续交付周期端到端功能。” 另外,由于DevOps公司数量的增长,2017年将会迎来小公司的收购潮。“我们已经看见亚马逊对Chef了投资。另外,一些DepOps公司已...阅读全文

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

bmon:一个强大的网络带宽监视和调试工具

用 proc 输入模块运行 bmon: $ bmon -i proc -p enp1s0 如何使用 bmon 输出模块 bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括: curses - 这是一个交互式的文本用户界面,它提供实时的网上估计以及每个属性的图形化表示。这是默认的输出模块。 ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 库不可用时这是默认的备选输出模块。 format - 这是完全脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值分析。 null - 停用输出。 像下面这样通过 help 选项获取更多的模块信息。 $ bmon -o...阅读全文

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

GlusterFS 和 Ceph 比比看

GlusterFS 与 Ceph 哪个更快已经了几项测试,但迄今为止没有确切的结论。GlusterFS 存储算法更快,并且由于 GlusterFS 以砖组织存储的方式实现了更多的分层,这在某些场景下(特别是使用非优化 Ceph 的话)可能导致更快的速度。另一方面,Ceph 提供了足够的定制功能来使其与 GlusterFS 一样快——结果是两者的性能都不够令人信服一个比另一个更强。 然而,现实表明,Ceph 访问存储的不同方法使其成为更流行的技术。事实证明,更多的公司正在考虑 Ceph 技术而不是GlusterFS,而且 GlusterFS 仍然与 Red Hat 密切相关。例如,SUSE 还没有 GlusterFS 的商业实现,而 Ceph 已经被开源社区广泛采用,市场上有各种不同的产品。可以说...阅读全文

博文 2017-08-09 10:35:29 debian.cn

三个简单而优秀的 Linux 网络监视器

PROGRAM DEV SENT RECEIVED 7690 carla /usr/lib/firefox wlan0 12.494 556.580 KB/sec 5648 carla .../chromium-browser wlan0 0.052 0.038 KB/sec TOTAL 12.546 556.618 KB/sec Nethogs 选项很少:在 kb/s、kb、b 和 mb 之间循环;通过接收或发送的数据包排序;并调整刷新之间的延迟。请参阅 man nethogs,或者运行 nethogs -h。 vnstat vnstat 是最容易使用的网络数据收集器。它是轻量级的,不需要 root 权限。它作为守护进程运行,并记录你网络统计信息。它默认显示所有的网络接口。使用 -i 选项选择单个...阅读全文

博文 2017-11-07 00:07:38 debian.cn

开源软件对于商业机构的6大好处

持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文

博文 2017-11-15 23:41:11 debian.cn

5G将是全球最智能互联的云计算

战5G的步伐,78%的受访者正在开展5G测试,另有28%的受访者表示将在明年部署5G。其中,运营商的关注点已不再局限于个人用户,而是开始在企业和垂直市场领域寻找机会。 5G的三大垂直市场,分别是,媒体和娱乐、汽车、以及公共交通。 与此同时,物联网将在推动5G发展方面将发挥重要作用,医疗卫生、能源和公用事业,被认为最有前景的5G部署领域。 随着5G相应技术的部署,并在平台上测试,创新、发明以及推出新产品和服务的机会,将无穷无尽。...阅读全文

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支持 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

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

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

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

Java 12 / JDK 12 正式发布

CDS Archives 默认类数据共享归档文件344Abortable Mixed Collections for G1 可中止的 G1 Mixed GC346Promptly Return Unused Committed Memory from G1 G1 及时返回未使用的已分配内存 下边分别来看看: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) Shenandoah:低暂停时间的 GC(实验性功能) 新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java 线程同时 evacuation 工作来减少 GC 暂停时间。使用 Shenandoah 的暂停时间与堆大小无关,这意味着无论堆是...阅读全文

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

Rust 1.37.0 稳定版发布

-Guided Optimization) rustc 编译器现在通过 -C profile-generate 和 -C profile-use 标志提供了对配置文件引导优化(PGO)的支持。 Profile-Guided Optimization 允许编译器根据来自实际工作负载的反馈优化代码。它的工作方式是编译程序,在两个步骤中优化: 首先,程序是用编译器插入的工具构建的。这是通过将 -C profile-generate 标志传递给 rustc 来完成的。然后,需要在示例数据上运行检测程序,并将分析数据写入文件之后,重新构建程序,这一次使用 -C profile-use 标志将收集到的分析数据反馈回 rustc。此构建将利用收集到的数据,使编译器能够对代码放置、内联和其他优化做出更好的决定 在...阅读全文

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

开源简史基础:Linux基金会

用也可以由Linux基金会提供。 Linux基金会项目 以前被称为“合作项目”的Linux基金会项目是独立资助的项目,很多大名鼎鼎的项目都是Linux基金会的项目,比如为了促进容器化发展而创建的OCI(Open Container Initiative)和CNCF(Cloud Native Computing Foundation)等。全世界超过500家的公司以及数以千计的软件开发人员投入其中,这就是开源世界的力量,截止到2015年,Linux基金会项目的源码总行数为115,013,302行,项目估值高达50亿美元,而在2017年9月,这一估值上升至156亿美元。 当然除了这些,Linux基金会还可以培训以及认证等多种活动,从而更好地推进了Linux的开源事业的发展。 参考文章...阅读全文

全民HTTPS时代:盘点免费SSL证书那些事儿

的问题在于被发现允许对证书的签发日期倒填,从而达到规避 SHA1 证书在 2016 年 1 月 1 日之后被浏览器警告的目的。最终于 2017 年 11 月 16 日,StartCom 宣布终止业务,自 2018 年 1 月 1 日起停止颁发新证书,并于 2020 年停止 OCSP 和 CRL 服务。 沃通(Wosign)也属于类似情况,被 Mozilla 认为 WoSign 最严重的问题是伪造(或者说人为设置)了证书签发日期,相继被 Mozilla 和 Chrome 不信任,最终导致出局。 最后,随着 https 的广泛被适用,我们也乐于看到越来越多的 CA 开始提供免费的 DV SSL 证书。 【本文转载自秋水逸冰】...阅读全文

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博客

Sam Altman的成功学|OneFlow

人人适用。 1 选择“复利增长” 复利具有神奇的魔力,现在处处都在强调复利,这其中的奥秘就是指数曲线,因为指数曲线是创造财富的关键。 一家中型企业的价值如果按照每年50%的速度增长,那么它的规模可以在短时间内极速扩张。世界上少有企业具有真正的网络效应和高度的可扩展性,但是随着技术进步,这种情况会逐渐改变,这值得我们不断为之努力。 对个体的人生道路来说,我们也应该走成一条指数曲线,也就是说,我们要遵循不断向右增长的人生轨迹。在职业规划时,要选择具有复合效应的职业,而大多数职业的发展轨迹都是一条线性直线。 在线性职业领域,工作二十年的效率并不会比工作两年的效率高,像这样的职业不利于个人发展,我们需要的是一份能保持不断学习的职业。随着职业发展我们需要产出越来越多的成果。达成这一目标的途径多种多...阅读全文

如何校验 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

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

拟机有着更好的灵活性,可以供您选择您的操作系统,并在您认为合适的情况下升级。相比之下,运行已配置应用程序容器在主机的操作系统升级方面是隔离的。 Linux 容器 vs 虚拟机 – 用例场景 我最喜欢使用容器的原因之一就是使用 Linux 库版本。例如,假设您需要 Python 的特定版本来开发应用程序。然后,当你在运行应用程序的盒子上更新时,突然发现 Python 版本发生了变化,导致应用程序无法正常工作。 使用容器的另一个好处是你可以把一个应用程序放到一个容器中,然后在任何支持你正在运行的容器类型的操作系统上运行它。当你想要一个运行在不同 Linux 发行版应用程序时。通过使用容器,可以在各种不同的发行版上运行类似的应用程序环境。容器提供了可移植性。 容器对于快速的跨发行版部署是更可行...阅读全文

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

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

产生影响的可能性。这种精简使网络管理员可以更简便地配置。此外,这次更新提高了协议的速度,也给用户带来更好的浏览体验。 提升速度 网页加载速度的提高对web服务的成功是至关重要的。亚马逊公司曾有一个著名的发现:网页加载时间每增加100毫秒,销售额就会下降1%。网页加载时间的一个主要组成部分就是浏览器和web服务器之间发送数据耗费的“延迟时间”。 “延迟时间”特别会显著影响到: 移动设备用户 服务器在地理上相距很远的用户 一条消息从悉尼往返纽约会花费超过200毫秒,而在移动设备上浏览还会增加这一延迟时间。通过现代4G移动网络发送一条消息通常会额外增加100毫秒的延迟。在欧洲仍普遍使用的3G网络下,这一延迟则会增加200毫秒。就连家用 WiFi 和 ISP 也会再增加几十毫秒的延迟。这些额外的...阅读全文

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

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

kubectl rolling-update python-v1 python-v2 --image=image:v2 #### 更新资源名称并更新镜像 kubectl rolling-update python --image=image:v2 #### 更新 frontend pod 中的镜像 kubectl rolling-update python-v1 python-v2 --rollback #### 退出已存在的中的滚动更新 cat pod.json | kubectl replace -f - #### 基于 stdin 输入的 JSON 替换 pod 强制替换,删除后重新创建资源。会导致服务中断。 kubectl replace --force -f ./pod.json 为...阅读全文

博文 2020-03-13 12:35:13 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

Kubernetes v1.21 新特性预览

Secret 时,大量的 watch 事件会急剧增加 kube-apiserver 的负载,并会导致错误配置过快传播到整个集群。在这种情况中,给不需要经常修改的 ConfigMap 和 Secret 设置 immutable: true 就可以避免类似的问题。注意,设置 immutable: true 之后,ConfigMap 和 Secret 内容更新时需要删除并重新创建,且使用它们的 Pod 也需要删除重建。IPv4/IPv6 双栈支持 BetaIPv4/IPv6 双栈支持在 v1.20 的时候了重构,并将于 v1.21 中进入 Beta 版本(默认开启),kubeadm 也已经支持创建 IPv4/IPv6 双栈集群。该特性开启后,Kubernetes Service 和 Pod 会同时分配...阅读全文

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

CentOS停止维护后,我们应该用什么操作系统?

、家庭路由器以及大量单板计算机(SBC)。大量的软件包Debian 拥有大量的软件包(当前的稳定版本:59000 个软件包) ,使用 deb 格式。不同的发布版本除了我们的稳定版本外,您还可以通过安装测试版或不稳定版本来获得更新版本的软件。公开的错误跟踪系统我们的 Debian 错误跟踪系统(BTS)向所有人公开,任何人都可通过浏览器访问。我们不会隐藏我们的软件错误,您可以轻松提交新的错误报告或参与讨论。Debian 政策和开发人员工具Debian 提供高质量的软件包。欲了解我们的质量标准,请阅读我们的政策,它规定了每个被发行版接受的软件包所必须满足的技术需求。我们的持续集成策略包括 Autopkgtest(对软件包测试),Piuparts(测试安装、升级和删除),以及 Lintian(检...阅读全文

最全的 DevOps 工具集合

人员都可以使用这款敏捷项目管理工具,围绕一个共享的,带有优先级的 backlog 实时协作。 Trello Trello 是基于 Web 的看板风格列表制作应用程序,是 Atlassian 的子应用。 许多团队在规划各个 sprint 时都会用它。 Azure Boards 可以跟踪软件项目,并使用敏捷工具(包括 Scrum boards、看板 boards 和仪表板等)改进规划工作。同时,还有工具可以帮助你可视化工作、共享计划、跟踪进度,并确保你正在向目标迈进。 问题跟踪 问题跟踪阶段是为了提供客户响应能力,减少知识浪费,缩短反馈链路。目前业内比较常用的问题跟踪工具包括 Atlassian Jira、JetBrains YouTrack 和 ZenDesk。 Atlassian...阅读全文

博文 2021-05-26 14:35:21 博客园

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

HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有

,
, 以及, 这样就为开发者提供了更多表达创意和内容的空间。 W3C 以及开始着手发展 HTML 5.2 草案,有望于 2017 年底发布。而我们在这里所要呈现的是在版本...阅读全文

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

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

需要的只是 Node.js。Docker 容器应该只包含一个进程以及用于运行这个进程所需的最少的文件,你不需要整个操作系统。实际上,你可以删除 Node.js 之外的所有内容。 但要怎么做?所幸的是,谷歌为我们提供了 distroless。以下是 distroless 存储库的描述: “distroless”镜像只包含应用程序及其运行时依赖项,不包含程序包管理器、shell 以及在标准 Linux 发行版中可以找到的任何其他程序。 这正是你所需要的!你可以对 Dockerfile 调整,以利用新的基础镜像,如下所示: FROM node:8 as build WORKDIR /app COPY package.json index.js ./ RUN npm install FROM...阅读全文

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

理解 Linux 的虚拟内存

理内存的 C 地址。 我们知道系统里的基本单位都是 Byte 字节,如果将每一个虚拟内存的 Byte 都对应到物理内存的地址,每个条目最少需要 8字节(32位虚拟地址->32位物理地址),在 4G 内存的情况下,就需要 32GB 的空间来存放对照表,那么这张表就大得真正的物理地址也放不下了,于是操作系统引入了 页(Page)的概念。 在系统启动时,操作系统将整个物理内存以 4K 为单位,划分为各个页。之后内存分配时,都以页为单位,那么虚拟内存页对应物理内存页的映射表就大大减小了,4G 内存,只需要 8M 的映射表即可,一些进程没有使用到的虚拟内存,也并不需要保存映射关系,而且Linux 还为大内存设计了多级页表,可以进一页减少了内存消耗。操作系统虚拟内存到物理内存的映射表,就被称为页表...阅读全文

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

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

影响到了社区的发展。 4,我听一些开源社区的朋友说您也在组织 河北LUG 的活动,可以跟我们介绍一下相关的情况吗? 答:河北LUG源起于一个QQ群,主要是石家庄的Linux爱好者交流,后来有人提议搞一个组织,然后就搞起来了。去年和今年都组织了几次线下交流,不过,毕竟石家庄没这个土壤,也就是几个核心成员线下交流的多些,平时还是线上交流多些。慢慢来吧,有些事情不是一朝一夕就能成的。我有个愿景,就是希望能有更多机会,和其他地区的LUG组织或者社区交流,吸引更多的人参与进来,能在贫瘠的土壤上开出艳丽的花朵。 C.其他 1.您还有什么其他补充的吗? 答:很荣幸能接受这个访谈,感谢LinuxStory!如果能以我的个人经历,吸引更多的人参与到开源活动中来,让更多的人推广和使用Linux,为开源...阅读全文

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

Monit:开源服务器监控工具

!= 0 then alert 控制台访问验证 访问Monit Web界面主要通过ALLOW选项控制,ALLOW选项用于指定身份验证并仅授权特定客户端连接。 如果正在使用Monit命令行界面,至少需要一个明文密码(见下文),否则Monit命令行界面将无法连接到Monit Web界面。 尝试连接到Monit,但提交错误的用户名和/或密码的客户端将使用其IP地址记录。 主机和网络允许列表 Monit维护允许连接的主机和网络的访问控制列表。您可以添加任意数量的主机,但只允许具有有效域名或其IP地址的主机。 Monit将查询名称服务器以检查任何尝试连接的主机。如果主机(客户端)正在尝试连接,但无法在访问列表中找到或无法解决,Monit将立即关闭与客户端的连接。 配置文件示例: set httpd...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

深入理解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 知乎

Debian Live 项目的剧变

Williams 却坚持认为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里面」),但是完成这件事还需要很大的努力。 我向已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在以收集反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文

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

Intel 为啥要给 ARM 代工

也随着智能终端设备的井喷而一飞冲天。虽然 ARM 只是一个只授权不生产的企业,而且无论是 CPU 的性能,还是企业规模都远远不能和 Intel 相比,但这背后却是 ARM 与 X86 的斗争。 在过去几年 Intel+微软+桌面/笔记本电脑 与 ARM+Linux 衍生系统+智能手机/平板之间已经发生了数次较量,Intel 研发了用于智能穿戴设备和物联网的“居里”和“爱迪生”,以及用于手机和平板的阿童木系列芯片,并通过高额补贴想将 X86 芯片在手机和平板电脑,以及智能穿戴产品中推广。为了能够兼容安卓系统,Intel 甚至不惜以损失部分 CPU 性能为代价翻译,而且还入股展讯,与展讯合作开发 X86 手机芯片。 同样,ARM 也在数年前就布局低功耗服务器 CPU,并以相对不高的价格将...阅读全文

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