<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[frucik的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/frucik</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; frucik]]></copyright><item><title><![CDATA[威联通Docker安装为知笔记方法]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016810</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016810</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:49:23 +0800</pubDate><description><![CDATA[cd /share/Container
mkdir wizdata
docker run --name wiz --restart=always -it -d -v  /share/Container/wizdata:/wiz/storage -v  /etc/localtime:/etc/localtime -p 80:80 -p 9269:9269/udp  wiznote/wizserver


]]></description><category></category></item><item><title><![CDATA[安装docker管理部署工具Portainer]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016781</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016781</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:47:43 +0800</pubDate><description><![CDATA[docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /share/CACHEDEV2_DATA/Container/Docker/portainer_data:/data portainer/portainer

注意路径为自己NAS的Docker路径
]]></description><category></category></item><item><title><![CDATA[wireshark、tcpdump 实用过滤表达式（针对ip、协议、端口、长度和内容）]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016664</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016664</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:39:12 +0800</pubDate><description><![CDATA[首先说几个最常用的关键字，“eq” 和 “==”等同，可以使用 “and” 表示并且，“or”表示或者。“!" 和 "not” 都表示取反。


　　一、针对wireshark最常用的自然是针对IP地址的过滤。其中有几种情况：

　　（1）对源地址为192.168.0.1的包的过滤，即抓取源地址满足要求的包。

　　     表达式为：ip.src ==192.168.0.1

　　（2）对目的地址为192.168.0.1的包的过滤，即抓取目的地址满足要求的包。

　　     表达式为：...]]></description><category></category></item><item><title><![CDATA[Qt 之 信号槽机制及优缺点]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016510</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016510</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:24:34 +0800</pubDate><description><![CDATA[1. Qt 信号槽机制
概念：
信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽，实际就是观察者模式。当某个事件发生之后，比如，按钮检测到自己被点击了一下，它就会发出一个信号（signal）。这种发出是没有目的的，类似广播。如果有对象对这个信号感兴趣，它就会使用连接（connect）函数，意思是，将想要处理的信号和自己的一个函数（称为槽（slot））绑定来处理这个信号。也就是说，当信号发出时，被连接的槽函数会自动被回调。

槽的本质是类的成员函数，其参数可以是任意类型的。和普通C++成员函数几乎没有区别，]]></description><category></category></item><item><title><![CDATA[解决Ubuntu下Qt Creator不能输入中文的问题]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016332</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016332</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:07:20 +0800</pubDate><description><![CDATA[解决方法:
1.安装fcitx-frontend-qt5


sudo apt-get install fcitx-frontend-qt5

2.复制libfcitxplatforminputcontextplugin.so到qtcreator安装目录中


// 1.找到fcitx-frontend-qt5安装路径
dpkg -L fcitx-frontend-qt5  
// 我的安装路径为:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcon.]]></description><category></category></item><item><title><![CDATA[Ubuntu14.04下安装QT 5.6.3]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/122016111</link><guid>https://blog.youkuaiyun.com/frucik/article/details/122016111</guid><author>frucik</author><pubDate>Sat, 18 Dec 2021 20:01:19 +0800</pubDate><description><![CDATA[1.选择qt版本（镜像网址选择版本为5.6.3）

 http://mirror.bit.edu.cn/qtproject/official_releases/qt/

2.进入到安装包所在的目录，如果安装包无法直接运行的话则执行以下命令：


 chmod +x qt-opensource-linux-x64-android-5.6.3.run

 ./qt-opensource-linux-x64-android-5.6.3.run

3.ubuntu 14.04 下默认的cmake版本是2....]]></description><category></category></item><item><title><![CDATA[从baostock获取5分钟k线的具体用例]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120143780</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120143780</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 20:23:29 +0800</pubDate><description><![CDATA[import baostock as bsc

#开始日期，默认为1999-11-11，baostock平台只有该日期后的数据
start_date='1999-11-11'
#截止日期，默认为今日
end_date=datetime.date.today().strftime('%Y-%m-%d')
#股票代码
#stock_code='sz.600000'
#获取数据频率
frequency='5'
#复权标志
adjustflag='3'


bsc.login()

stock_trade_res.]]></description><category></category></item><item><title><![CDATA[免费获取所有股票5分钟级别及以上的交易数据]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120143527</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120143527</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 20:12:19 +0800</pubDate><description><![CDATA[平台介绍

证券宝www.baostock.com是一个免费、开源的证券数据平台（无需注册）。

提供大量准确、完整的证券历史行情数据、上市公司财务数据等。
	通过python API获取证券数据信息，满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求。
返回的数据格式：
	pandas DataFrame类型，以便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
		同时支持通过BaoStock的数据存储功能，将数据全部保存到本地后进行分析。
	
支持语言：目前版本BaoS]]></description><category></category></item><item><title><![CDATA[c++中try catch的用法]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120112047</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120112047</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 19:58:17 +0800</pubDate><description><![CDATA[在c++中，可以直接抛出异常之后自己进行捕捉处理，如：（这样就可以在任何自己得到不想要的结果的时候进行中断，比如在进行数据库事务操作的时候，如果某一个语句返回SQL_ERROR则直接抛出异常，在catch块中进行事务回滚）


#include &lt;iostream&gt;
#include &lt;exception&gt;
using namespace std;
int main () {
 try
 {
  throw 1;
  throw "error";
...]]></description><category></category></item><item><title><![CDATA[串口使用总结]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120112121</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120112121</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 19:57:37 +0800</pubDate><description><![CDATA[串口也叫串行接口，或串行通信接口，按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。

串口通信是指外设和计算机间，通过数据信号线、地线等，按位进行传输数据的一种通讯方式。尽管比按字节（byte）的并行通信慢，但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。

通信方式为单工模式、半双工模式和全双工模式三种模式。

串口通信参数：

 波特率：波特率就是每秒钟传输的数据位数。如每秒钟传...]]></description><category></category></item><item><title><![CDATA[经典的c++下面使用pthread_create问题的解决]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120112252</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120112252</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 19:57:27 +0800</pubDate><description><![CDATA[在c++下面进行多线程开发，很自然的就遇到了这个pthread_create问题。

出现问题的主要原因就是pthread_create的第3个参数——void*(void*)这个回调函数。在c++里面，对于普通成员函数的引用，会变成如下的形式：
比如有类：


class A
{
    public void* foo(void* arg);
}

要用指针引用foo的话，需要这么做：


void* (A::*fp)(void *) = &amp;A::foo;


可是，到了这里之后，这个函数指针f]]></description><category></category></item><item><title><![CDATA[Ubuntu 16.04添加全新硬盘操作方法]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120112326</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120112326</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 19:57:13 +0800</pubDate><description><![CDATA[需求背景：

    由于原有的电脑硬盘只有3T不够装代码，新增加1T硬盘用装android代码。

操作环境：

    系统：Ubuntu 16.04

    硬件：硬盘 1T（全新未使用过的WD蓝盘）

操作过程：

  1.拆开电脑机箱，安装硬盘，具体操作省略。

  2.开机查看系统硬盘分区情况：

    命令：sudo fdisk -l

    



    得到如上图：可以知道第二块硬盘:/dev/sdb

  3....]]></description><category></category></item><item><title><![CDATA[Ubuntu之Git更新]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120112452</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120112452</guid><author>frucik</author><pubDate>Mon, 06 Sep 2021 19:57:01 +0800</pubDate><description><![CDATA[安装了VS Code， 提示Git版本有些低，使用 git --version 命令查看版本， 发现只有 1.9.1， Git官方都出到2.12.2了, 希望升级一下， 但参照 Git Download for Linux and Unix 的命令: sudo apt-get install git , 升级不了. 参考 Upgrading Ubuntu to Use the Latest Git Version 的方法, 升级成功， 步骤如下:


# To get the very latest ver]]></description><category></category></item><item><title><![CDATA[C/C++中字符串的各种转换操作]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120111973</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120111973</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 11:11:02 +0800</pubDate><description><![CDATA[浮点（float）转换为 char


    float wTemp=3.3;

    char sBuf[4];

  char* temp;

  memset(sBuf,0,sizeof(sBuf));

  temp=(char*)(&amp;wTemp);

  sBuf[0] = temp[0] ;

  sBuf[1] = temp[1];

  sBuf[2] = temp[2];

  sBuf[3] = temp[3];

char转换为浮点（float...]]></description><category></category></item><item><title><![CDATA[ASCII码与16进制的互相转换(表)]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120111876</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120111876</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 11:04:50 +0800</pubDate><description><![CDATA[所谓的ASCII和16进制都只是概念上的东西，在计算机中通通是二进制

转换应该是输出的转换，同样是一个数，在计算机内存中表示是一样的，只是输出不一样
ASCII是针对字符的编码，几乎是键盘上的字符的编码。下面是一张ASCII和16进制的对应表：

ASCII与16进制转换
		ASCII
			16进制
			ASCII
			16进制
			ASCII
			16进制
			ASCII
			16进制
		NUL
			00H
			DLE
			10H
			SP
			20H
			0
			30H]]></description><category></category></item><item><title><![CDATA[C的|、||、&、&&、异或、~、！运算]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120111139</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120111139</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 10:26:30 +0800</pubDate><description><![CDATA[位运算

位运算的运算分量只能是整型或字符型数据，位运算把运算对象看作是由二进位组成的位串信息，按位完成指定的运算，得到位串信息的结果。

位运算符有：

&amp;(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。

其中，按位取反运算符是单目运算符，其余均为双目运算符。

位运算符的优先级从高到低，依次为~、&amp;、^、|，

其中~的结合方向自右至左，且优先级高于算术运算符，其余运算符的结合方向都是自左至右，且优先级低于关系运算符。

(1)...]]></description><category></category></item><item><title><![CDATA[关于int main( int argc, char* argv[] ) 中arg和argv参数的解析及调试]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120110972</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120110972</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 10:12:45 +0800</pubDate><description><![CDATA[在示例程序中经常可以看到argc和argv这两个参数 ，在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错，或者是运行起来了但命令窗口一闪而过，没有出来结果。网上关于这方面的资料也有点乱，在看浅墨大大一书发现其中有关于这一方面的讲解甚为详细，抑制不住要与大家分享的冲动，现结合网上内容并予以实验，整理如下：
    带形参的main函数，如 main( int argc, char* argv[], char **env ) ，...]]></description><category></category></item><item><title><![CDATA[c++函数重载]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120110896</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120110896</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 10:04:47 +0800</pubDate><description><![CDATA[重载构成的条件：函数的参数类型、参数个数不同，才能构成函数的重载。

分析以下两种情况，是否构成函数的重载。

第一种情况：（1）void output();

           （2）int output();

第二种情况：（1）void output(int a,int b=5);

           （2）void output(int a);

只有函数返回类型不同是不能构成函数的重载的
...]]></description><category></category></item><item><title><![CDATA[c++析构函数]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120110878</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120110878</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 10:03:04 +0800</pubDate><description><![CDATA[1、当一个对象生命周期结束时，其所占有的内存空间就要被回收，这个工作就由析构函数来完成。

2、析构函数是“反向”的构造函数，析构函数不允许有返回值，更重要的是析构函数不允许带参数，并且一个类中只能有一个析构函数。
...]]></description><category></category></item><item><title><![CDATA[c++构造函数]]></title><link>https://blog.youkuaiyun.com/frucik/article/details/120110857</link><guid>https://blog.youkuaiyun.com/frucik/article/details/120110857</guid><author>frucik</author><pubDate>Sun, 05 Sep 2021 10:01:41 +0800</pubDate><description><![CDATA[1、构造函数的作用是对对象本身做初始化工作，也就是给用户提供初始化类中成员变量的一种方式，在类对象有虚表的情况下，构造函数还对虚表进行初始化。

2、如果一个类中没有定义任何的构造函数，那么编译器只有在以下三种情况，才会提供默认的构造函数：

A、如果类有虚拟成员函数或者虚拟继承父类（即有虚拟基类）时；

B、如果类的基类有构造函数（可以是用户定义的构造函数，或编译器提供的默认构造函数）；

C、在类中的所有非静态的对象数据成员，它们对应的类中有构造函数（可以是用户定义的构造函数，或编译器提供的默...]]></description><category></category></item></channel></rss>