10 2023 档案
摘要:Sonic 如果对性能要求非常高,可以使用Sonic。但是Sonic有一些要求,高性能必然带来特例化,官方也介绍了,对CPU架构和系统等都有要求。其底层使用了一些汇编和c的代码实现,所以如果不是对性能要求特别高,可以不用。 fastjson fastjson介绍就是非常快,不过功能相对较少。好久已经
阅读全文
摘要:AC_CONFIG_FILES 所有的Makefile.ac文件必须在AC_CONFIG_FILES中指定 AC_CONFIG_FILES([ lib/Makefile lib/aaa/Makefile lib/bbb/Makefile lib/ccc/Makefile web/Makefile t
阅读全文
摘要:本文主要介绍如何用autotool工具构建一个自己的工程,每个工具具体是做什么用的,正常开发中应该在哪里增加相关配置文件等。 编写一个示例 main.c #include "plib.h" void main() { myprint(); } plib/plib.h void myprint();
阅读全文
摘要:一 不存在插入,存在不做任何处理。 db.companies.updateOne( {"company": "test"}, { $setOnInsert: { "name": "nameVal2", ... } }, { upsert: true } ) {"company": "test"}是匹
阅读全文
摘要:由于kvm比vmware更高的性能,所以准备把虚拟机换到kvm上。 导出虚拟机 虚拟机使用久了,大部分都是多块vmdk虚拟硬盘,所以先要合并到一起。实际上不需要在vmware安装目录查找命令自己合并,直接把虚拟机导出即可,vmware会自动合并数据。 转换虚拟磁盘格式 qemu-img conver
阅读全文
摘要:安装工具 sudo apt install virt-manager sudo apt install qemu-system-x86 qemu-kvm换成qemu-system了,安装的时候注意,安装qemu-kvm会报错。 使用virt-manager,就不用使用qemu各种命令了,图形化界面,
阅读全文
摘要:vmware安装windows11 vmware安装windows11的时候会报错,无法启动。应该在Options->Access Control增加密码,并且Hardware下有TPM设备。 如果还不行,打开设置Options->Advanced->Firmware type 选择UEFI,还不行
阅读全文
摘要:结构体数组与接口数组转换 如果想把[]struct转为[]interface,我们发现直接赋值会报错。 理论上interface可以转换任何数据,为什么结构体数组不可以呢?这是因为interface的设计导致的,如果能理解interface的底层实现,就能很清楚知道如何转换了。 如图所示,与C++的
阅读全文
摘要:python链接mongodb需要指定数据库 import pymongo monclient = pymongo.MongoClient("mongodb://用户名:密码@192.168.10.200:27017/数据库名") mondb = monclient["数据库名"] moncol =
阅读全文
摘要:下载bin文件 https://dev.mysql.com/downloads/mysql/ 选择Linux Generic,下载对应的tar包 解压tar包 解压完成后,目录结构如下: ls bin docs include lib LICENSE man README share support
阅读全文
摘要:dpdk支持多进程运行,不过要指定参数打开,如果没有设定,但开启第二个dpdk程序是会报错,告诉你相关系统资源被占用。 EAL: Cannot create lock on '/var/run/dpdk/rte/config'. Is another primary process running?
阅读全文
摘要:开发中遇到一个问题,比如有一个类库A,被类库B引用,类库B和类库A都被程序C引用。类库A中有一个全局变量G,要求同一个进程中使用的是同一个全局变量G。 虽然看起来很简单,但是实际探究下来还有不少坑。 如果不是类库 如果A B都不是类库,而是直接引入源码编译,理论上比较方便解决。 示例一 pre.h
阅读全文
摘要:因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ip a/ifconfig)无法看到,同样数据也不再经过系统内核。 如果想把数据再发送到系统,就要用到virtio user。这种把数据从dpdk再发送到内核的步骤,就叫做exception path
阅读全文