Raspberry 3B+ 做旁路网关
1. Raspberry固件准备 1.1 固件下载 选择了OpenWrt的子分支ImmortalWrt,理由是国内操作比较方便,内置了一些常用的插件。 下载地址:https://firmware-selector.immortalwrt.org/ 页面中的设备,我选择了3B+的32Bits版本,目...
1. Raspberry固件准备 1.1 固件下载 选择了OpenWrt的子分支ImmortalWrt,理由是国内操作比较方便,内置了一些常用的插件。 下载地址:https://firmware-selector.immortalwrt.org/ 页面中的设备,我选择了3B+的32Bits版本,目...
Qt中的i18n 翻译流程 在源代码中标记待翻译的字符串 使用lupdate生成.ts文件 使用linguist工具读写.ts文件进行翻译 使用lrelease工具将.ts文件转换成.qm文件 在Qt程序中加载.qm文件。 标记字符串 常用的有QObject::tr(),QCoreApplica...
git clone --bare old/repo.git cd repo.git # if 有lfs的话 git lfs fetch --all git lfs push --all new/repo.git # endif git push --mirror new/repo.git 上边这种方式比较简单和快捷,首先使用--bare的方式直接克隆旧服务器上的仓库到本地,这种方式的克隆没有本地工作区的参与。然后使用--mirror的方式推送到新的服务器上就行,推送前,服务器上要先建立出空的仓库。 还有一种就...
Anaconda在2020年的一次公告中宣布,对于团队用户,他们将开始收费。 团队人数少于200人,可以继续免费使用。 收费的范围是Anaconda团队提供的default通道中的软件包。 如果我继续使用Anaconda发行版软件,但是不用Anaconda的下载通道,要不要付费呢? 没有...
简述 Luigi基于Python,可以快速搭建数据处理的任务管线。 在一定程度上支持分布式处理。 开始一个任务 使用luigi启动一个任务,有两种方法: 通过luigi命令行执行 类似 luigi --module main MyTaskAll --id 1 --local-scheduler,这里main是我的.py文件名(为了可以找到整个main.p...
1. 实际是静态语言vs动态语言 之前,一直使用C/C++做开发,最近开始尝试使用Python做一些小的工具,顺便学习一下。 包括在学生阶段,我也喜欢C/C++,有更强的控制感,程序的每一步,我都要尽可能的掌握,清楚它到底在做什么。也偶尔用过几次Java做些事情。总而言之,这都属于“静态...
最近在开发中,需要恢复git中已经删除的分支。 情况是这样,有两个开发分支,dev_1和dev_2,之所以维护两个,是因为需求存在分叉。 最近在dev_1上出现了bug,所以,我开了一个fix分支出来进行修复,修复完毕后,merge回dev_1上了,接着就把这个fix分支删除了。但是...
Google indexing api是谷歌提供的针对搜索引擎索引功能的接口,相比于在Google search console上提交sitemap,API收录速度要快得多。刚开始的时候,我在GSC上提交了sitemap,后来一段时间,就不抓取了,也不收录,不清楚什么原因。后来使用api直接提交,第二天就可以索引到了。 操...
H264码流 H264协议中将编码器分成两个逻辑层,就是经常见到的VCL(视频数据编码层)和NAL(网络抽象层)。VCL负责具体图像数据的编码,NAL负责组织这些编码后的数据。 既然称之为码流,那么,这些数据肯定像流一样,一位接着一位的排成一队。组织这些编码数据的方式,常见的是Ann...
0. C++ 中的锁 两种最常用的:互斥锁、条件锁,此外还有自旋锁 1. C++ 中的条件变量 2. 生产者消费者模型 引出虚假唤醒的问题 3. 虚假唤醒 有多个线程在wait同一个条件变量时,当条件变量发出notify_one的时候,各个线程去竞争锁,此时,只能有一个线程得到锁,但是,其他线程在收到notify_on...
0. QT中线程启动的方式 0.1 继承QThread 继承QThread时,子类必须重写run方法,保证线程在手动结束之前持续运行。 当子类使用start方法启动后,run方法会在生命周期内循环执行。 .h文件 #ifndef CLASS1_H #define CLASS1_H #include <QObject> #include <QThread> // 继承QTQThread class Class1 : public QThread { Q_OBJECT public: explicit Class1(QThread *parent = 0); ~Class1(); void run() override; public slots: void testFunc(); }; #endif...
0. ERS算法 xxx 1. 问题 原本ERS算法的作者提供了python接口,但是是基于Python2的,在python3.6中调用的话,会出现缺失DLL的错误,如下图: 2. 解决方案 作者提供了ERS算法的C语言源代码,所以基于Python3.6重新编译一下即可。 2.1 安装vs 我安装的是VS2017社...
0. 表达式树 在一颗树中,叶子节点都是操作数,所有的非叶子节点都是运算符,这样的树叫做表达式树。 如图: 1. 后缀表达式计算 后缀表达式:也叫逆波兰表达式,是表达式树的后序遍历。 在计算时,不用还原出整棵树,可用一个栈来辅助计算。 leetcode 150. 逆波兰表达式求值 class Solution { public: int evalRPN(vector<string>& tokens) { int st[10005]; int tt = 0; for( auto &x : tokens){ if(x == "+"...
0. 数据集概述 Cityscapes 数据集专注于对城市街景的语义理解。 1. 特点 多边形的标签 实例分割车辆和人 30个类别 5000张精细标注的图 20000张粗略标注的图 leftImg8bit_trainvaltest.zip (11GB) left 8-bit images - train, val, and test sets (5000 images) https://www.cityscapes-dataset.com/file-handling/?packageID=3 rightImg8bit_trainvaltest.zip (11GB) right 8-bit images - train, val, and test sets (5000 images) https://www.cityscapes-dataset.com/file-handling/?packageID=5 disparity_trainvaltest.zip (3.5GB) precomputed depth maps using SGM for train, val, and test sets (5000 images) https://www.cityscapes-dataset.com/file-handling/?packageID=7 camera_trainvaltest.zip (2MB) [md5] intrinsic and extrinsic camera parameters for train, val, and test sets https://www.cityscapes-dataset.com/file-handling/?packageID=8 脚本安装 1. 使用githu...
1. 编译器默认添加的函数 自写类的时候,如果没有显式的写出来构造函数、析构函数、拷贝构造函数、拷贝赋值函数。如果程序中这些函数被需要(被调用),编译器就会默认的创建这些函数。 默认的构造函数和析构函数都是空实现的。 默认的拷贝构造函数和拷贝赋值函数都是浅拷贝。 如果有自己写的一个或者多个构...