Coding
未读一、简介CodeSpaces(代码空间)是一个托管在云中的开发环境。 用户可以通过将对应的配置文件提交到代码仓库中来自定义 Codespaces 的项目,这将为项目的所有用户创建可重复使用的代码空间。
Codespaces 运行在 Github 托管的各种基于 VM 的计算资源上,目前个人用户可以免费申请 4c 8g 的环境,同时该功能目前为 Beta 测试阶段,需要进行申请才能使用。
https://github.com/features/codespaces/signup
Codespaces 目前是针对 Github 仓库来生成的,具体工作原理如下图所示,生成后用户可以通过桌面端的 VS Code 或浏览器版本的 VS Code 连接到其中。

二、上手使用1. 配置环境默认配置首先需要打开一个目标的 Github 仓库,使用 ** Code **下拉菜单,然后在 Codespaces(代码空间)选项卡中,单击 Create codespace on main(在主分支上创 ...
一、Vim 配置优化123456789101112131415161718192021222324252627282930313233343536373839404142434445"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set nocompatible"显示行号set number"检测文件的类型filetype on"记录历史的行数set history=1000"背景使用黑色set background=dark"语法高亮度显示syntax on"下面两行在进行编写代码时,在格式对起上很有用;"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编"写上很有用set autoindentset smartindent"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格set tabstop=4set shiftwidth=4"设置匹配模式,类似当输 ...
Coding
未读必装1dnf install wget yum git cmake3 gcc
语言包12345678dnf install -y glibc-locale-sourcelocaledef --no-archive -i en_US -f UTF-8 en_US.UTF-8vim /etc/environmentLANG=en_US.utf-8LC_ALL=en_US.utf-8
YUM123cd /etc/yum.repos.d/sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
SSHhttps://developer.aliyun.com/article/553468
Networking
未读一、安装12345678910111213# Downloadwget https://github.com/Mellanox/libvma/archive/refs/tags/9.4.0.zipunzip 9.4.0.zipcd libvma-9.4.0# Build./autogen.sh./configure --with-ofed=/usr --prefix=/usr --libdir=/usr/lib64 \ --includedir=/usr/include --docdir=/usr/share/doc/libvma --sysconfdir=/etcmake# Installmake install
二、测试通过环境变量LD_PRELOAD即可实现对内核协议栈的替换。
1. Ping-pong12345# server sideVMA_SPEC=latency LD_PRELOAD=libvma.so numactl --cpunodebind=1 taskset -c 19,13 sockperf server -i 10.1.1.1 -p 5555 --ms ...
安装教程:
https://docs.nvidia.com/networking/display/MLNXOFEDv494170/Installing+Mellanox+OFED
一、简介RDMA 目前使用较多方案是 VPI + RDMA_CM 的方案,其中 VPI (Virtual Protocol Interconnect) 是用于程序和网卡交互的接口,而 RDMA_CM 主要是用于建立连接来帮助数据传输的方案。
本文只介绍一些较为实用的接口,同时只会对一些重要的参数和用法进行记录,完整内容建议查看 Mellanox 官方手册。
二、VPI 接口 (基础 ib_verbs)1. 设备操作1.1. ibv_get_device_list12struct ibv_device **ibv_get_device_list(int *num_devices)void ibv_free_device_list(struct ibv_device **list)
获取当前机器上的 IB 设备列表。
1.2. ibv_get_device_nameconst char *ibv_get_dev ...
一、Linux 协议栈1. IP 地址转换
将IP地址从点数格式转换成无符号长整型
12struct sockaddr_in ina;ina.sin_addr.s_addr = inet_addr("132.241.5.10");
将无符号长整型转换为点数格式
1234567a1 = inet_ntoa(ina1.sin_addr); /* 这是198.92.129.1 */a2 = inet_ntoa(ina2.sin_addr); /* 这是132.241.5.10 */printf("address 1: %s ",a1);printf("address 2: %s ",a2);// 输出如下:// address 1: 132.241.5.10// address 2: 132.241.5.10
2. 字节顺序
将主机顺序转换为网络字节顺序
12htons()htonl()
将网络字节顺序转换为主机顺序
12ntohs()ntohl()
# 二、DPDK
## 1. 程序初始化
12345/* Che ...
一、大数据介绍1. Big Data
Data whose scale, diversity, and complexity require new architecture, techniques, algorithms, and analytics to manage it and extract value and hidden knowledge from it
Large T (dimension of each vector) and large N (number of training samples)
特点 3V:
Scale (Volume): 数据量大
Complexity (Variety): 种类复杂
Speed (Velocity): 产生速度很快
二、关系型1. Table/Relation结构
列:一个属性,有明确的数据类型,并且是原子类型(无嵌套结构)
行:一个记录
通常是瘦长的
Schema:类型
Instance:具体值
Key:特殊的列,唯一的,主键、外键
SQLtext1234567891011121314create tab ...
一、CMake 常用变量1. CMAKE_BINARY_DIR和PROJECT_BINARY_DIR <projectname>_BINARY_DIR一样,这三个变量指代的内容是一致的,如果是 in-source 编译,指的就是工程顶层目录,如果是 out-of-source 编译,则指的是工程编译发生的目录。PROJECT_BINARY_DIR 跟其他指令稍有区别,现在,你可以理解为他们是一致的。
2. CMAKE_SOURCE_DIR和 PROJECT_SOURCE_DIR <projectname>_SOURCE_DIR 三个变量指代的内容是一致的,不论采用何种编译方式,都是工程顶层目录。也就是在 in source 编译时,他跟 CMAKE_BINARY_DIR 等变量一致。PROJECT_SOURCE_DIR 跟其他指令稍有区别,现在,你可以理解为他们是一致的。
3. CMAKE_CURRENT_SOURCE_DIR指的是当前处理的 CMakeLists.txt 所在的路径,比如上面我们提到的 src 子目录。
4. CMAKE_CURRRENT_BI ...



%20%E6%A8%A1%E5%9D%97.jpeg)




