Docusaurus 入门教程
Docusaurus 是一个用于构建快速、简洁且可扩展的静态网站的开源项目,特别适合用来创建文档网站。以下是一个基础的 Docusaurus 教程,将引导你通过安装和设置一个简单的文档网站。 安装 Docusaurus 首先,你需要有 Node.js 和 npm/yarn 安装在你的计算机上。请参考
修改ubuntu git的默认编辑器为vim
在 Ubuntu 系统中,可以通过更改 Git 配置来设置默认的编辑器。若要将默认编辑器从 nano 更改为 Vim,你可以使用以下命令: 全局设置(针对系统中的所有用户): sudo git config --system core.editor "vim" 用户级设置(只针对当前用户): git
使用docker镜像搭建docusaurus markdown静态网站
使用docker镜像搭建docusaurus markdown静态网站 什么是Docusaurus 我想引用官方网站上的话。 Docusaurus使维护开源文档网站变得简单。
nginx配置反向代理,将域名映射到特定端口
要设置 Nginx 作为反向代理,以便将不同的域名转发到不同的端口,首先需要安装 Nginx。在 Ubuntu 系统上,您可以使用以下命令来安装 Nginx: sudo apt update
sudo apt install nginx 安装完成后,您需要为每个域名创建一个新的配置文件。配置文件通常
性能监控
在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况; 本节介绍的这几个工具能满足日常工作要求; 监控CPU 查看CPU使用率 $sar -u
eg:
$sar -u 1 2
[/home/weber#]sar -u 1 2
Linux 2.6.35-22-
linux进程管理工具
这一节我们介绍进程管理工具; 使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程; 任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的文件。在linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是
linux磁盘管理
日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 查看磁盘空间 查看磁盘空间利用大小: df -h
-h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位) $df -h
/opt/app/
linux 文本处理
本节将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是常用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑pyth
文件及目录管理
文件管理不外乎文件或目录的创建、删除、查询、移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询;find的参数丰富,也非常强大; 查看文件内容是个大的话题,文本的处理有太多的工具供我们使用,在本章中只是点到即止,后面会有专门的一章来介绍文本的处理工具; 有时候,需要给文件创建一个别
学会使用命令帮助man
概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们; 在只记得部分命令关键字的场合,我们可通过man -k来搜索; 需要知道某个命令的简要说明,可以使用w
BBR拥塞控制协议
BBR拥塞控制 谷歌在2016年提出了基于拥塞的BBR(Bottleneck Bandwidth and Round-trip propagation time的缩写)拥塞控制算法,随后各路大佬对该算法进行了深度的分析,本文从原理、性能测试、源码实现、应用场景4个角度,全面分析BBR拥塞控制算法。
链路聚合原理
相关名词 链路聚合,是将多个物理二层链路绑为一个逻辑二层链路的技术。 不同的厂商有不同的叫法: ZTE: Smart Group, SG Cisco: Ether Channel, EC Brocade: Brocade LAG, LAG 华为、华三: Link Aggregation Group,
TCP之Time Wait漫谈
简单来说,TIME_WAIT存在的原因有两个: 防止一个连接中延迟的数据段会被后序的连接错误的解析。 为了实现TCP全双工连接的终止可靠性。 TIME_WAIT产生的过程与原因可以查看笔记:TCP有限状态机分析 TIME_WAIT状态的效果
TCP协议状态分析
状态解析 (1) CLOSED 状态时初始状态。 (2) LISTEN:被动打开,服务器端的 状态变为LISTEN(监听)。被动打开的概念:连接的一端的应用程序通知操作系统,希望建立一个传入的连接。这时候操作系统为连接的这一端建立一个连 接。与之对应的是主动连接:应用程序通过主动打开请求来告诉操作系
TCP滑动窗口
TCP滑动窗口 滑动窗口也称通告窗口,是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的。 TCP的滑动窗口解决了端到端的流量控制问题,允许接受方对传输进行限制,直到它拥有足够的缓冲空间来容纳更多的数据。 T
简述tcp协议对http性能的影响及优化
当网站服务器并发连接达到一定程度时,你可能需要考虑服务器系统中tcp协议设置对http服务器的影响。
tcp相关延时主要包括:
1、tcp连接时建立握手;
2、tcp慢启动拥塞控制;
3、数据聚集的Nagle算法;
4、用于捎带确认的tcp延迟确认算法;
5、TIME_WAIT时延和端口耗尽。
dpdk中QSBR具体实现
概述 dpdk19.01提供了qsbr模式的rcu库,其具体实现在lib/librte_rcu目录中。 librte_rcu是无锁线程安全的,这个库提供了读者报告静默状态的能力,让写者知道读者是否进入过静默状态。 dpdk中QSBR具体实现是通过一个struct rte_rcu_qsbr_cnt变量
RCU基础
什么是RCU?是Read,Copy-Update的缩写,意指读-复制更新。是一种同步机制。其将同步开销的非对称分布发挥到逻辑极限, RCU 基本概念 读侧临界区 (read-side critical sections): RCU读者执行的区域,每一个临界区开始于rcu_read_lock(),结束
SONiC架构分析
在传统交换机的架构下,网络操作系统由各设备厂商基于芯片厂商负责提供的ASIC芯片和SDK自行设计、开发,设备厂商需要开发上层APP、适配层以在特定设备商完成应用,实现各种网络功能。传统交换机的软硬件开发均由设备厂商提供,系统完全封闭,无法适应新功能快速开发部署的需求:
1小时学会P4-16编程基础
本文主要讲述一些P4-16的基本元素,以及相关基础架构,旨在帮助初学者快速上手P4-16。 P4开源项目 P4项目源码可以在github上直接获取(https://github.com/p4lang)。 项目关系 项目关系如下: <
从P4 workshop 2021看P4的发展趋势
P4 概述 2013年, 当时还在德州仪器(TI)的 Pat Bosshart,联合斯坦福Nick、微软研究院的 George 等人在SIGCOMM上提出了一种RMT交换机实现,其实现了网络协议的自定义解析,自定义匹配、处理、转发,这个就是现在Intel Tofino 芯片的原型。但当时相关网络编程
P4可编程设备在工业界的落地情况
学术界对P4已进行大量的研究与应用,各个应用场景如下图所示,包括INT、QoS、拥塞控制、多播、负载均衡、加速计算、聚合、网络测量、安全、测试等领域。但是学术界的研究要真正落地,还需要考虑很多其他因素,如实可运维性、占用资源情况、多租户共享支持、异常场景处理、平滑演进等等。 考虑诸多因素,工业界使用
vim基础
Vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这些命令,您就能够很容易地将 Vim 当作一个通用编辑器来使用了。 完成本教程的内容大约需要25-30分钟,取决于您训练的时间。 注意:每一节的命令操作将会更改本
kvm虚拟机扩容
扩容 qcow2 关闭虚拟机,执行如下命令: qemu-img resize jae-dev.qcow2 +100G 进入虚拟机,进行分区 # fdisk /dev/sda 这里的/dev/sda是我们刚扩容的磁盘
Command (m for help): p 输入
Command (m fo
如何生成coredump文件
本文简述在linux中程序coredump时,如何配置生成coredump文件。 设置生成coredump文件大小 如果进程在运行期间发生奔溃,操作系统会为进程生成一个快照文件,这个文件就叫做 core dump。之后我们可以对 core dump 文件进行分析,弄清楚进程为什么会奔溃。 由于
shell 编程技巧
变量 变量取一部分 $ name="neighsyncd.service"
$ echo ${name%.*}
neighsyncd 内部域分隔符 IFS Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符。 从下面的例子中可以看出,如果是用冒号
redis基础
Redis 是一个高性能的 key-value 开源数据库,遵守 BSD 协议。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。主要优势如下: 性能极高: 读11万 pps,写8万 pps 丰富的数据类型:Redis支持二进制案
git 常用操作FAQs
git的一个分支 rebase master好还是merge master好? 在Git中,rebase与merge是两种将更改从一个分支整合到另一个分支的流行方法。每种方法都有其优缺点,何时使用取决于团队的工作流程、项目需求以及个人偏好。 Merge merge操作会创建一个新的"合并提交"(me
Linux性能优化流程
Linux性能优化流程 性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半; 这里介绍的性能优化主要从两个层面来介绍:系统层面和程序层面; 分析系统瓶颈 系统响应变慢,首先得定位大致的问题
linux程序调试流程
GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。
对于一名Linux下工作的c++程序员,gdb是必不可少的工具;