InfraPub 为您找到相关结果 327

Debian 环境下有趣的命令

运行 cmatrix: $ sudo apt-get install cmatrix $ cmatrix figlet 、toilet命令 艺字生成器,由ASCII字符组成,把文本显示成标题栏。此外还有banner这个命令 安装 $ sudo apt-get install -y figlet toilet ,运行: $ figlet fuck you ! $ toilet i love you toilet还可以添加颜色,里面的选项请自己man一下 $ toilet -f mono12 -F gay a girl oneko 命令 桌面上出现一只喵星人,跟着你的鼠标跑,你不动了它就睡觉。哈哈,这个挺不错 安装 $ sudo apt-get install oneko,运行命令 oneko...阅读全文

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

Tmux 快速教程:快捷键和配置

作逻辑 复制粘贴缓冲区 安装的话也很简单,在 mac 下直接 brew install tmux(前提需要安装 homebrew),Debian 下则直接 sudo apt-get install tmux 在终端中输入 tmux 就可以打开一个新的 tmux session,tmux 的所有操作必须先使用一个前缀键(默认是 ctrl + b)进入命令模式,或者说进入控制台,就像 vim 中的 esc。 基本操作 信息查 tmux list-keys 列出所有可以的快捷键和其运行的 tmux 命令 tmux list-commands 列出所有的 tmux 命令及其参数 tmux info 流出所有的 session, window, pane, 运行的进程号,等。 窗口控制 先来看看在...阅读全文

博文 2017-11-07 15:17:49 debian.cn

HTTP状态码详解

端在收到错误信息后继续向服务器发送数据,服务器的TCP栈将向客户端发送一个重置数据包,以清除该客户端所有还未识别的输入缓冲,以免这些数据被服务器上的应用程序读取并干扰后者。 400 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。 2、请求参数有误。 401 当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书。如果401响应包含了与前一个响应相同的身份验证问,且浏览器已经至少尝试了一次验证,那么浏览器应当...阅读全文

博文 2021-01-28 17:50:11 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 来描...阅读全文

处理器CPU散装和盒装有什么区别

指Intel处理器的散片CPU,这类处理器在售价上因为远低于官方售价而被DIY玩家所认可。 盒装CPU也就是我们日常所见到的官方正品,配备有处理器散热风扇以及一颗CPU。具备质保等正常商品具备的一切售后服务。 相对于盒装处理器,这类散片基本上是走私或者从某些品牌商那里流出,但不管是盒装CPU还是散片CPU,只要型号正确,几乎没有造假之说,毕竟他是即高科与一身的产物,哪怕中国作为全球的加工大厂,也只能做到生产,而无法做到造假,通常如果打算购入性能更强的CPU散热装置(水冷或品牌风冷)的玩家才会选择CPU散片来降低装机成本。如果型号没有问题,计算机识别型号无误,那么即为一颗正品CPU。...阅读全文

博文 2018-09-02 19:32:35 debian.cn

微软宣布年底关闭开源软件托管平台 CodePlex

真正核心,但这种情况过去几年有所改变。该公司于 2015 年推出了开源项目 .NET 和 Visual Studio Code 开源文字编辑器,2016 年 8 月份推出 PowerShell。 哈里写道,人们可能无法在 CodePlex 上继续创造新的项目。该网站将在 10 月份变为只读,并在 12 月份关闭。届时,人们依然可以浏览上面的代码。 来源: 网易科报道 作者:小小...阅读全文

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

Linux kernel 4.0全新发布!引入热升级

音频同步输出,HSA AMDKFD异构计算内核驱动开始支持Carrizo APU,Intel Skylake核显驱动基本成型,NVIDIA显卡驱动也有改进。 更多新硬件也得到了支持,比如Intel Quark SoC处理器、更多ARM设备、IBM z13大型主机、东芝笔记本、罗输入设备。 存储方面也值得一提,pNFS 、Btrfs RAID 5/6的加入和OverlayFS的新功能等。 Linus Torvalds对这个版本倒是很淡定:“就功能方面而言,4.0并没有太过特殊的,新内核补丁架构方面我们已经做了太多。现实地讲,这并不是改变版本号的理由,其他版本我们有过更大的变化。” 事实上他还透露说,Linux 4.1的变化其实会更大(bigger release),会有更吸引人的特性,但具体...阅读全文

Facebook 正式发布 JavaScript 包管理器 Yarn 1.0

Workspaces) 越来越多的科公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。 因此,Yarn 增加了一个新特性 ——工作区。工作区可以自动从多个 package.json 中收集所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作区之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。 自动合并 yarn.lock 文件 (Auto-merging of lockfiles) 多个开发者在开发同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现冲突。如果只有一两个...阅读全文

博文 2017-09-19 14:43:15 debian.cn

谷歌是如何培养经理人的

Google Partners Podcast主持人Alex Langshur主持了一个播客节目,主题是关于谷歌HR如何寻找和培养优秀经理人。嘉宾是来自谷歌人力发展部门的Sarah Calderon,她在节目中介绍了谷歌是如何选择、培训和培养他们的经理人的。 Langshur引用了他的前上司的话,“一个优秀的经理人让一份艰难的工作变得具有挑战性和价值…而一个糟糕的经理人在一个好的岗位上表现平平,把一份艰难的工作搞得支离破碎”,以此强调选择正确经理人是多么重要。在访谈过程中,Sarah介绍了拥有7万名员工和数千名经理人的谷歌公司是如何选择、管理和培养经理人的。 Sarah概括了谷歌在培养经理人方面的五个要点: 表现优秀的员工不一定就是好的经理人,管理岗位所需要的能是不一样的。只是在某个领域...阅读全文

博文 2017-12-24 07:31:00 debian.cn

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文

Linux 基金会与 RISC

、紫光展锐等公司也加入了RISC-V联盟,其中华米科今年9月份还宣布了基于RISC-V指令集的首款智能穿戴芯片黄山1号。 不过RISC-V前景虽好,但是现在还在起步阶段,包括RISC-V基金会本身的运作也需要向Linux基金会这样的成熟社区学习,所以这次合作对RISC-V阵营意义重大,Linux软件生态在RISC-V处理器的开发、优化、支持等方面都会推动RISC-V建立更强大的生态系统。...阅读全文

博文 2018-12-01 09:45:27 V 基金会合作推广开源芯片

分布式任务调度平台 XXL

期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

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

装了UFW,使用以下命令启用UFW: ufw enable 接下来,使用以下命令通过UFW防火墙允许端口80: ufw allow 80 一旦配置了防火墙,打开您的网络浏览器并键入你的访问地址,您应该看到以下页面: 在这里,输入您的管理员用户名和密码,然后点击登录按钮,您应该看到Observium默认仪表板。接下来,您将需要创建一个cron作业来轮和发现来自网络的设备。 你可以通过在/etc/cron.d目录下创建一个cron文件来完成这个工作: nano /etc/cron.d/observium 添加以下行: # Run a complete discovery of all devices once every 2 hours 25 */2 * * * root /var/www...阅读全文

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

运维的未来:云服务兴起,运维人员会“下岗”吗?

我合作的或者是我了解的众多 dev 组织似乎不用 QA 也做得挺好。 同样的状况很快也会发生在运维人员身上。我之前在 Workiva 的基础设施和可靠性小组里工作时,我们将运行和基础建设工程团队并入一个单独的团队,该团队是由网站可靠工程师组成的,负责构建和维护基础设施服务,配置管理,日志管理,集合管理,监控等。 我非常支持通过愿景实现对团队的领导。发展愿景令人信服,可以使团队之间达成共识,减少功能孤岛和组织孤岛的影响,并能够从内部激励员工。它能使团队高度一致又能松散耦合,能够更好地做出决定。我对运维未来作为组织能力的想法本质上是将合成工程看作是合理结论。跟 QA 一样,运维能力也应该被嵌入发展团队中。事实是,没有运维能,你不可能在现代组织中成为一名合格的软件工程师。现如今的运维团队,应该重...阅读全文

博文 2021-01-28 17:50:31 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博客

理解 Linux 的虚拟内存

通过使用虚拟内存使用共享内存也很简单,系统只需要将各个进程的虚拟内存地址指向系统分配的共享内存地址即可。 SWAP 虚拟内存可以让帮进程”扩充”内存。 我们前文提到了虚拟内存通过缺页中断为进程分配物理内存,内存总是有限的,如果所有的物理内存都被占用了怎么办呢? Linux 提出 SWAP 的概念,Linux 中可以使用 SWAP 分区,在分配物理内存,但可用内存不足时,将暂时不用的内存数据先放到磁盘上,让有需要的进程先使用,等进程再需要使用这些数据时,再将这些数据加载到内存中,通过这种”交换”,Linux 可以让进程使用更多的内存。 常见问题 在了解虚拟内存时,我也有过很多的问题。 32位和64位 最常见的就是 32位和64位的问题了。 CPU 通过物理总线访问内存,那么访问地址的范围就...阅读全文

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

Docker 核心原理

用,容器之间相互隔离,并且能按需分配资源。大大提高了运维效率和资源利用率 架构 Docker使用了 C/S 体系架构,Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建,运行和分发 Docker 容器。Docker 客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。 我们日常在命令行的操作 docker build, docker push, docker pull, docke build 等等操作都是客户端通过 rest api 请求与 Docker 守护进程交互。 实现原理 下面我们就介绍一下 Docker 在实现隔离,资源控制,文件系统等关键部分所采用的的 Namespace Linux manaul...阅读全文

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

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

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一切就像变魔一样,但你并不知道这一切的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

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

译:Kubernetes 最佳实践

。Azure Monitor 等日志聚合工具可用于将日志从 AKS 发送到日志分析工作区,以便将来使用 Kusto 查进行审讯。在 AWS Cloudwatch 上可以使用。第三方工具还提供更深入的监控功能,例如 Dynatrace 和 Datadog。最后,应该为日志设置一个保留期,通常为 30-45 天左右。使用版本控制系统K8s 配置文件应该在版本控制系统 (VCS) 中进行管理。这带来了很多好处,包括提高安全性、启用更改的审计跟踪,并将提高集群的稳定性。应为所做的任何更改设置审批,以便团队可以在将更改提交到主分支之前对其进行评审。使用基于Git的工作流程(GitOps)K8s 的成功部署需要考虑团队使用的工作流程。使用基于 git 的工作流可以通过使用 CI/CD(持续集成 / 持续交付)管...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Golang 操作 Kafka 样例

partition,又没有设置key,则会采用轮⽅式,即每次取一小段时间的数据写入某 个partition,下一小段的时间写入下一个partition 复制代码 2.1.4. ACK应答机制 producer在向kafka写入消息的时候,可以设置参数来确定是否确认kafka接收到数据,这个参数可设置 的值为 0,1,all 0代表producer往集群发送数据不需要等到集群的返回,不确保消息发送成功。安全性最低但是效 率最高。 1代表producer往集群发送数据只要leader应答就可以发送下一条,只确保leader发送成功。 all代表producer往集群发送数据需要所有的follower都完成从leader的同步才会发送下一条,确保 leader发送成功和所有的副本都完成备份。安全性最⾼高,但是效...阅读全文

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

成功运作一个开源项目的15个要点

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放弃对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

博文 2017-11-08 09:58:28 debian.cn

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

> 6.1 抽象为block块的好处 1) 一个文件有可能大于集群中任意一个磁盘 10T*3/128 = xxx块 2T,2T,2T 文件方式存—–>多个block块,这些block块属于一个文件 2) 使用块抽象而不是文件可以简化存储子系统 3) 块非常适合用于数据备份进而提供数据容错能力和可用性 6.2 块缓存 通常 DataNode 从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在 DataNode 的内存中,以堆外块缓存的形式存在。默认情况下,一个块仅缓存在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块的DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。 例如: 连接(join)操作中使用的一个小的查表...阅读全文

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

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

处理部分流量同时又不修改服务器的地址成为可能。 性能 HAProxy借助于OS上几种常见的来实现性能的最大化。 1,单进程、事件驱动模型显著降低了上下文切换的开销及内存占用。 2,O(1)事件检查器(event checker)允许其在高并发连接中对任何连接的任何事件实现即时探测。 3,在任何可用的情况下,单缓冲(single buffering)机制能以不复制任何数据的方式完成读写操作,这会节约大量的CPU时钟周期及内存带宽; 4,借助于Linux 2.6 (>= 2.6.27.19)上的splice()系统调用,HAProxy可以实现零复制转发(Zero-copy forwarding),在Linux 3.5及以上的OS中还可以实现零复制启动(zero-starting); 5,内存...阅读全文

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

协议介绍之深入了解 gRPC

发显得捉紧见拙,我们急需另一套更好的协议来构建我们的服务,于是就有了 HTTP/2。 HTTP/2 是一个二进制协议,这也就意味着它的可读性几乎为 0,但幸运的是,我们还是有很多工具,譬如 Wireshark, 能够将其解析出来。 在了解 HTTP/2 之前,需要知道一些通用语: Stream: 一个双向流,一条连接可以有多个 streams。 Message: 也就是逻辑上面的 request,response。 Frame::数据传输的最小单位。每个 Frame 都属于一个特定的 stream 或者整个连接。一个 message 可能有多个 frame 组成。 Frame Format Frame 是 HTTP/2 里面最小的数据传输单位,一个 Frame 定义如下(直接从官网...阅读全文

博文 2017-06-22 11:08:48 debian.cn

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

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

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

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

集并返回/存储至另一个Set中,时间复杂度O(N),N为参与计算的所有集合的总member数 上述几个命令涉及的计算量大,应谨慎使用,特别是在参与计算的Set尺寸不可知的情况下,应严格避免使用。可以考虑通过SSCAN命令遍历获取相关Set的全部member(具体请见 https://redis.io/commands/scan ),如果需要做并集/交集/差集计算,可以在客户端进行,或在不服务实时查请求的Slave上进行。 Sorted Set Redis Sorted Set是有序的、不可重复的String集合。Sorted Set中的每个元素都需要指派一个分数(score),Sorted Set会根据score对元素进行升序排序。如果多个member拥有相同的score,则以字典序进行升...阅读全文

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