<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhoujie1994的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ffcjjhv</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ffcjjhv]]></copyright><item><title><![CDATA[多线程爬虫python迷你定向网页抓取器mini_spider]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/111702024</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/111702024</guid><author>ffcjjhv</author><pubDate>Fri, 25 Dec 2020 20:19:48 +0800</pubDate><description><![CDATA[目录一、整体架构1.1 流程图1.2 代码结构1.3 代码主逻辑二、知识学习总结2.1 多线程 Threading2.1.1 抓取线程2.1.2 保存线程2.2 线程间的同步 Queue2.2.1 UrlQueue2.2.2 ResQueue2.3 核心控制器部分 controller2.4 页面内容处理 bs42.4.1 页面下载2.4.2 页面解析
背景：
【迷你定向网页抓取器】
在调研过程中，经常需要对一些网站进行定向抓取。由于python包含各种强大的库，使用python做定向抓取比较简单。请使用p]]></description><category></category></item><item><title><![CDATA[jinja2学习总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/107412136</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/107412136</guid><author>ffcjjhv</author><pubDate>Fri, 17 Jul 2020 16:43:26 +0800</pubDate><description><![CDATA[文章目录jinja2引入jinja2进行渲染使用语法变量 {{}}显示在模板中添加变量，可以使用（set）语句。局部变量if结构for循环迭代列表迭代字典在循环中加入else特殊运算符过滤器宏
jinja2
jinja2是Flask作者开发的一个模板系统，起初是仿django模板的一个模板引擎，为Flask提供模板支持，由于其灵活，快速和安全等优点被广泛使用。
引入jinja2进行渲染
jinja2模块中有一个名为Enviroment的类，这个类的实例用于存储配置和全局对象，然后从文件系统或其他位置中加载模]]></description><category></category></item><item><title><![CDATA[Numpy&Pandas学习总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/107266267</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/107266267</guid><author>ffcjjhv</author><pubDate>Fri, 10 Jul 2020 20:27:44 +0800</pubDate><description><![CDATA[文章目录Numpy基础numpy的array创建numpy属性numpy的基础运算numpy的索引numpy的array合并numpy的array分割numpy的拷贝与深拷贝
Numpy基础
numpy的array创建
import numpy as np 
a = np.array([1,2,3])   # [1, 2, 3]
a = np.array([[1,  2],  [3,  4]])  
a = np.array([1,  2,  3], dtype = float)  

numpy属性
a ]]></description><category></category></item><item><title><![CDATA[git使用方法总结Sourcetree+Github]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/107221680</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/107221680</guid><author>ffcjjhv</author><pubDate>Thu, 09 Jul 2020 15:12:28 +0800</pubDate><description><![CDATA[文章目录一、git基础前言1.git安装2.新建本地数据库3.提交文件到本地数据库二、git远程数据库1.在GitHub建立远程数据库2.push到远程数据库3.clone远程数据库4.对克隆的远程数据库进行push5.从远程数据库pull三、冲突解决1.冲突原因2.解决冲突
一、git基础
前言
#为什么使用git
自己提交的多个版本进行管理
多人合作避免覆盖
#远程数据库和本地数据库
远程数据库: 配有专用的服务器，为了多人共享而建立的数据库。
本地数据库: 为了方便用户个人使用，在自己的机器上配置的数]]></description><category></category></item><item><title><![CDATA[刷题汇总（六）leetcode 多线程 / Shell]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/103503745</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/103503745</guid><author>ffcjjhv</author><pubDate>Tue, 17 Dec 2019 21:55:52 +0800</pubDate><description><![CDATA[这篇文章使用 POSIX 编写多线程 C++ 程序。POSIX Threads 或 Pthreads 提供的 API 可在多种类 Unix POSIX 系统上可用，比如 FreeBSD、NetBSD、GNU/Linux、Mac OS X 和 Solaris。

知识点1：创建线程/终止线程
#include &lt;pthread.h&gt;
pthread_create (thread, att...]]></description><category></category></item><item><title><![CDATA[刷题汇总（五）leetcode 热题 HOT 100 C++ 答案总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/103381516</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/103381516</guid><author>ffcjjhv</author><pubDate>Thu, 05 Dec 2019 12:14:26 +0800</pubDate><description><![CDATA[1、两数之和
给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
clas...]]></description><category></category></item><item><title><![CDATA[技术类编程题汇总 C++ 刷题记录]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/103195691</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/103195691</guid><author>ffcjjhv</author><pubDate>Mon, 02 Dec 2019 11:57:52 +0800</pubDate><description><![CDATA[文章目录腾讯2018春招技术类编程题汇总1、翻转数列2、纸牌游戏3、贪吃的小Q4、小Q的歌单
腾讯2018春招技术类编程题汇总
1、翻转数列
小Q定义了一种数列称为翻转数列:
给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。
例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6,...]]></description><category></category></item><item><title><![CDATA[3D微信小游戏 轮盘控制模块 three.js]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/103008495</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/103008495</guid><author>ffcjjhv</author><pubDate>Mon, 11 Nov 2019 16:05:00 +0800</pubDate><description><![CDATA[文章目录一、场景构造three.js基础微信小游戏中使用three静止的场景动画渲染二、轮盘控制创建UI部分轮盘控制
效果：

一、场景构造
three.js基础
如果是刚接触3D引擎，关于three.js的基础知识可以参考之前的博客Three.js+tween.js 基础(一) 中的基本概念篇部分。（场景 、相机 、渲染器 、添加对象）
微信小游戏中使用three
使用微信开发者工具创建新的小游...]]></description><category></category></item><item><title><![CDATA[C++后台开发知识总结（四）操作系统/Linux 内核]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/101546677</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/101546677</guid><author>ffcjjhv</author><pubDate>Fri, 08 Nov 2019 16:23:39 +0800</pubDate><description><![CDATA[中断
为什么需要中断：提高CPU运行效率
中断是指CPU对系统发生的某个事件做出的一种反应，CPU暂停正在执行的程序，保存现场后自动去执行相应的处理程序，处理完该事件后再返回中断处继续执行原来的程序。
中断一般三类：
1.由CPU外部引起的，如I/O中断、时钟中断
2.来自CPU内部事件或程序执行中引起的中断，例如程序非法操作，地址越界、浮点溢出
3.在程序中使用了系统调用引起的。
中断处理程序：...]]></description><category></category></item><item><title><![CDATA[C++后台开发知识总结（三）计算机网络]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/101486572</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/101486572</guid><author>ffcjjhv</author><pubDate>Fri, 27 Sep 2019 01:01:31 +0800</pubDate><description><![CDATA[OSI与TCP/IP各层的结构与功能，都有哪些协议


OSI七层模型及其包含的协议如下:
物理层：
在物理媒体上传输原始的数据比特流,传输单位为bit，主要包括的协议为：IEE802.3 CLOCK RJ45
数据链路层：
将数据分成一个个数据帧，以数据帧为单位传输。有应有答，遇错重发。传输单位为帧,主要包括的协议为MAC VLAN PPP
网络层：
负责数据包从源到宿的传递和网际互连，传输单位...]]></description><category></category></item><item><title><![CDATA[C++后台开发知识总结（二）数据库]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/101481241</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/101481241</guid><author>ffcjjhv</author><pubDate>Thu, 26 Sep 2019 23:34:02 +0800</pubDate><description><![CDATA[数据库索引
索引是存储引擎快速找到记录的一种数据结构。
添加索引原则：
在查询中很少使用或者参考的列不应该创建索引。
只有很少数据值的列也不应该增加索引。
定义为text、image和bit数据类型的列不应该增加索引。
当修改性能远远大于检索性能时，不应该创建索引。这是因为，修改性能和检索性能是互相矛盾的。
目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构
B-Tr...]]></description><category></category></item><item><title><![CDATA[C++后台开发知识总结（一）C++基础]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/101433113</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/101433113</guid><author>ffcjjhv</author><pubDate>Thu, 26 Sep 2019 19:13:52 +0800</pubDate><description><![CDATA[extern "C"的作用
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后，会指示编译器这部分代码按C语言（而不是C++）的方式进行编译。
原因是：C++支持函数重载，因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中，而不仅仅是函数名；
而C语言并不支持函数重载，因此编译C语言代码的函数时不会带上函数的参数类型，一般只包括...]]></description><category></category></item><item><title><![CDATA[刷题汇总（三）leetcode 精选50题 C++答案总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/100104411</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/100104411</guid><author>ffcjjhv</author><pubDate>Thu, 26 Sep 2019 01:49:22 +0800</pubDate><description><![CDATA[题目来源
腾讯精选练习（50 题）
信息更新时间：2019-3-11，因为要准备面前端，就用js做了遍来熟悉JavaScript这门语言，50道题均已提交通过。
补充：C++版答案（2019-8-27）
GitHub地址：https://github.com/zj19941113/LeetCode-50-JavaScript-Answers
1、两数相加
给出两个 非空 的链表用来表示两个非负的整...]]></description><category></category></item><item><title><![CDATA[常见算法的c++实现总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/98733627</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/98733627</guid><author>ffcjjhv</author><pubDate>Wed, 07 Aug 2019 11:11:48 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

void insert_sort(vector&lt;int&gt; &amp;nums); //直接插入排序
void shell_sort(vector&lt;int&gt; &amp;nums); //希尔排序
void select_sort(ve...]]></description><category></category></item><item><title><![CDATA[刷题汇总（二）剑指Offer 66题 C++答案总结]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/96879804</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/96879804</guid><author>ffcjjhv</author><pubDate>Thu, 01 Aug 2019 11:32:27 +0800</pubDate><description><![CDATA[1、二维数组中的查找
在一个二维数组中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
/* 
 3 4 5
 4 5 6
 6 7 8
 从左下角开始查找，当target比左下角数字大时，右移；小时，上移
*/
class Solution {
public:
    ...]]></description><category></category></item><item><title><![CDATA[基于RGBD相机的人脸实时三维重建过程解析（ElasticFusion实现）]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/92590453</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/92590453</guid><author>ffcjjhv</author><pubDate>Mon, 17 Jun 2019 11:36:20 +0800</pubDate><description><![CDATA[主要是在ElasticFusion基础上做了部分修改，进行人脸实时重建。
PPT及相关论文地址：https://pan.baidu.com/s/1Zr1uCFj7YqgEWWof2gp-Lw  ，提取码：7fnw
相关算法实现链接：
BundleFusion在win10+vs2013+cuda8.0上的实现
DynamicFusion在ubuntu16.04+显卡GT74...]]></description><category></category></item><item><title><![CDATA[Vue+iview+Echarts+electron 桌面应用]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/89670870</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/89670870</guid><author>ffcjjhv</author><pubDate>Mon, 29 Apr 2019 20:01:15 +0800</pubDate><description><![CDATA[目录一、Vue项目创建1、安装node.js2、Vue开发环境3、搭建Vue项目（1）项目初始化（2）修改启动项（3）项目预览二、引入Echarts1、Echarts安装2、引入Echarts3、Echarts组件4、生成项目三、electron打包1、 package.json 和 main.js2、electron-packager打包（1）全局安装`electron-packager`（2）...]]></description><category></category></item><item><title><![CDATA[一步步配置腾讯云服务器Ubuntu 通过域名访问自己的网页tomcat（详细基础）]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/85140212</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/85140212</guid><author>ffcjjhv</author><pubDate>Fri, 26 Apr 2019 16:32:46 +0800</pubDate><description><![CDATA[效果

STEP1:购买云服务器+域名
购买学生优惠套餐 10元/月：https://cloud.tencent.com/act/campus?fromSource=gwzcw.1088196.1088196.1088196
系统选ubuntu，购买3个月加购域名共38元（3个月以下没法添加域名解析），买了域名以后可以直接通过域名访问

收到服务器信息，最好把这些复制到一个txt里，以后会经常用。...]]></description><category></category></item><item><title><![CDATA[Kinect v1实时dlib(GPU版)人脸识别与活体检测]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/89458211</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/89458211</guid><author>ffcjjhv</author><pubDate>Mon, 22 Apr 2019 19:39:33 +0800</pubDate><description><![CDATA[目录一、配置1、opencv2、dlib（GPU版）二、Kinect v1接入1、安装OpenNI22、安装libFreenect二、代码分析1、CMakeList.txt修改2、模型下载3、代码分析
一、配置
1、opencv
#安装OpenCV 2.4.13
注：opencv的下载过程非常慢
git clone https://github.com/opencv/opencv
cd openc...]]></description><category></category></item><item><title><![CDATA[ElasticFusion在ubuntu16.04+cuda8.0上的实现]]></title><link>https://blog.youkuaiyun.com/ffcjjhv/article/details/89258224</link><guid>https://blog.youkuaiyun.com/ffcjjhv/article/details/89258224</guid><author>ffcjjhv</author><pubDate>Fri, 12 Apr 2019 21:06:41 +0800</pubDate><description><![CDATA[驱动与cuda安装
参考这篇：https://blog.youkuaiyun.com/ffcjjhv/article/details/89151382
依赖包
sudo apt-get install cmake cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev 
sudo apt-get install freeglut3-dev l...]]></description><category></category></item></channel></rss>