<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kacylining的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kacylining</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kacylining]]></copyright><item><title><![CDATA[Pytest 使用nodeid运行测试用例]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/109533635</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/109533635</guid><author>kacylining</author><pubDate>Fri, 06 Nov 2020 16:51:08 +0800</pubDate><description><![CDATA[Pytest 使用nodeid运行测试用例
背景
近期在做API接口自动化平台，平台的主要功能是创建自动化任务、查看报告、查看运行失败用例及一些针对不同类型任务的搜索功能。
最近想增加一个失败用例重跑的功能。虽然pytest有针对失败重跑的插件(pytest-rerunfailures)，但是插件是集成在pytest的每次任务运行过程中进行的。比如一共跑10个case，第1个case失败后，如果设置了“–reruns”参数，则紧接着就会重新跑这个失败的case。
而我设想的功能是在整个pytest任务执行结]]></description><category></category></item><item><title><![CDATA[Pytest使用allure提示unrecognized arguments]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/105864357</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/105864357</guid><author>kacylining</author><pubDate>Thu, 30 Apr 2020 16:22:18 +0800</pubDate><description><![CDATA[问题描述
unrecognized arguments: --alluredir=reports
在pycharm的虚拟环境汇总安装好pytest，allure-pytest后，
命令行执行pytest “test.py” --alluredir=report
报错如下:

查找问题原因
直接通过错误信息看，是因为allure-pytest插件未安装，但是在pycharm的python虚拟环境中已...]]></description><category></category></item><item><title><![CDATA[在Flask中实现websocket]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/104245137</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/104245137</guid><author>kacylining</author><pubDate>Tue, 11 Feb 2020 11:18:18 +0800</pubDate><description><![CDATA[前言
前段时间在做自有性能测试平台时，需要加入一个前端实时获取后端数据的功能。整个的项目前后端是分开的，后端项目用python的Flask框架实现，前端项目用Vue框架实现。因为我做后端，所以最开始想到的对我来说最简单的方法就是提供一个读取数据的接口，前端通过Ajax轮询的方式实时获取数据。但是轮询对前端来讲似乎工作量和复杂度高，而且考虑到网络资源的消耗，轮询显然不是一个最优的解决办法，于是想到通...]]></description><category></category></item><item><title><![CDATA[Mysql启动遇到的问题]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/82870820</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/82870820</guid><author>kacylining</author><pubDate>Mon, 10 Feb 2020 10:43:11 +0800</pubDate><description><![CDATA[执行 service mysqld start后出现如下提示信息：
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/vm13168.bx.sce.sina.com.pid).
直接用这个错误信息去搜索，给出的解决方案大多是让修改配置文件中basedir和datadir的...]]></description><category></category></item><item><title><![CDATA[Python Web接口开发学习笔记（基于Django框架）（一）]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/78716732</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/78716732</guid><author>kacylining</author><pubDate>Tue, 05 Dec 2017 17:06:17 +0800</pubDate><description><![CDATA[通过学习虫师的《Python web接口开发与测试》一书记录并总结一些主要知识点和心得。

2017.12.04

1. 创建一个Django项目

前提：安装好python和Django，以及需要一个IDE，之前的python程序都在Eclipse IDE中编辑，现在使用Atom来编辑，界面更简洁清晰。

项目背景：开发一个会议签到系统，在这个系统(或者叫项目)中会有很多应用（App）。今天先学...]]></description><category></category></item><item><title><![CDATA[微博视频、信息流总结]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/78684506</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/78684506</guid><author>kacylining</author><pubDate>Fri, 01 Dec 2017 11:36:37 +0800</pubDate><description><![CDATA[微博是一家具有媒体属性的平台型公司，它的核心价值就是链接价值创造者和用户，在这个过程中实现其用户价值、商业价值和社会价值。目前，微博在短视频产品线上已布局很久，这既不是突发奇想也不是跟风YouTube，而是当前社交行业和媒体行业的共同发展方向。因为视频技术的成熟和用户习惯的养成，把短视频作为一个重点产品进行跟进也是顺其自然的事情。微博在短视频领域的主要发力点，一个是优]]></description><category></category></item><item><title><![CDATA[postman工具使用总结]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/78617190</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/78617190</guid><author>kacylining</author><pubDate>Thu, 23 Nov 2017 18:00:00 +0800</pubDate><description><![CDATA[今天从同事那里接触到了用于接口测试的一个Google插件--postman。
可以直接在chrome://extensions/ 中安装postman插件，但是插件商店打不开。网上下载了一个，解压缩后直接打开用的。
postman的基本介绍和操作下面这个博客里详细写了。
http://blog.youkuaiyun.com/flowerspring/article/details/52774399
]]></description><category></category></item><item><title><![CDATA[Eclipse中使用SVN检出项目遇到的问题]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/61922055</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/61922055</guid><author>kacylining</author><pubDate>Mon, 13 Mar 2017 17:28:43 +0800</pubDate><description><![CDATA[操作系统：mac osx EI 10.11

一开始想使用mac自带的svn先把项目checkout下来，再导入到Eclipse中。结果不知道为啥，mac自带的1.7版本的svn总是报错。

然后就尝试直接在Eclipse中装个SVN的插件来checkout项目。

按照网上提供的方法，安装好了SVN插件。（网址：http://blog.youkuaiyun.com/jieshaowang1229/artic...]]></description><category></category></item><item><title><![CDATA[Mac OS下搭建python+selenium环境]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/60587484</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/60587484</guid><author>kacylining</author><pubDate>Mon, 06 Mar 2017 18:46:24 +0800</pubDate><description><![CDATA[哈哈，对于我这个菜鸟，搭建环境的第一步是问度娘，顺利的找到了一篇很给力的文章，基本写的很清楚。链接如下（https://www.zhihu.com/question/30496889）

按照这篇文章给的提示，下载了pip9.0.1的压缩包，解压缩并cd到pip9.0.1文件夹目录下。

接着执行了如下几条命令：

sudo python setup.py install

sudo easy_i...]]></description><category></category></item><item><title><![CDATA[Git-版本管理]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50749980</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50749980</guid><author>kacylining</author><pubDate>Fri, 26 Feb 2016 17:02:04 +0800</pubDate><description><![CDATA[隔了一个月没有看毕设代码，现在再去看代码，发现好多都理不清了，所以想着怎么把自己的代码管理一下。

之前做实验室项目时，用的时SVN进行版本控制，现在的毕设在Linux平台下做，所以想试着学学怎么使用Git管理代码。

目前，还在学习中，学了简单的创建Git库，在库中添加文件和提交文件，以及查看Git状态和日志。

整理如下：

1. 创建版本库

使用Git init将某个新建的空目录变为Git...]]></description><category></category></item><item><title><![CDATA[关于Windows和Linux下.txt文件换行符的处理]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50505108</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50505108</guid><author>kacylining</author><pubDate>Tue, 12 Jan 2016 16:29:56 +0800</pubDate><description><![CDATA[stpeace君的这篇博客讲的很清楚了，收藏！

http://blog.youkuaiyun.com/stpeace/article/details/45767245]]></description><category></category></item><item><title><![CDATA[Linux下使用gcc和gdb调试程序]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50504042</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50504042</guid><author>kacylining</author><pubDate>Tue, 12 Jan 2016 14:35:41 +0800</pubDate><description><![CDATA[1. gcc

1&amp;gt; 编译动态链接库

gcc -shared hello.c -o libhello.so

2&amp;gt;编译主程序文件

gcc -g -rdynamic -o main main.c -ldl

-ldl：显式加载动态库的动态函数库。

动态库的动态库函数包括：dlopen()、dlclose()、dlerror()、dlsym()。

当主程序在调用动态库时使用的是动态...]]></description><category></category></item><item><title><![CDATA[学习EZXML（XML解析器）源码过程中总结的知识（2）]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50337501</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50337501</guid><author>kacylining</author><pubDate>Thu, 17 Dec 2015 09:37:24 +0800</pubDate><description><![CDATA[1. strstr()
包含文件：string.h
函数名: strstr
函数原型：extern char *strstr(char *str1, const char *str2);
语法：* strstr(str1,str2)
str1: 被查找目标　string expression to search.
str2: 要查找对象　The string expression to]]></description><category></category></item><item><title><![CDATA[学习EZXML（XML解析器）源码过程中总结的知识（1）]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50324029</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50324029</guid><author>kacylining</author><pubDate>Wed, 16 Dec 2015 10:05:31 +0800</pubDate><description><![CDATA[毕业设计要做一个类似于XML解析器的东东，先拿了别人的XML解析器源码学习下，把学习过程中的知识总结了一下。
1. 关于系统
文件系统分为流方式和IO方式，我学习的代码里给出了两种读取文件的方式。IO的比较好理解，流方式的自己之前接触的很少。
2. 文件操作
open()函数：
#include
int open(constchar*pathname,intflags);
int o]]></description><category></category></item><item><title><![CDATA[一些有用的网站]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/50160837</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/50160837</guid><author>kacylining</author><pubDate>Thu, 03 Dec 2015 14:56:37 +0800</pubDate><description><![CDATA[这两天在安装VMware+Ubuntu，使用到一些有用的网站，收藏到这里。
1. Ubuntu下安装Eclipse
http://www.aspku.com/fuwuqi/40063.html
2. Ubuntu下编译C语言
http://www.cnblogs.com/Bonker/archive/2013/11/25/3442487.html
3. 虚拟机中安装VMware-tool]]></description><category></category></item><item><title><![CDATA[局域网数据包通过外网发送到另一局域网的过程]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/49704597</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/49704597</guid><author>kacylining</author><pubDate>Sat, 07 Nov 2015 19:41:36 +0800</pubDate><description><![CDATA[局域网A中主机A产生的数据包是如何发送至局域网B中的主机B的。下图展示了数据包从主机A中应用程序生成到转发到主机B的过程。


主机A的应用程序先生成应用层数据，应用层数据达到传输层后，传输层根据应用层协议类型，对应用层数据进行TCP或UDP封装，封装好的报文送至网络层进行网络层封装，网络层对数据进行封装时，要添加IP头，IP头中的源IP地址填写主机A的IP地址，目的IP填写主机B所在局域网]]></description><category></category></item><item><title><![CDATA[struct、union、字节对其、大端小端存储总结]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/49665807</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/49665807</guid><author>kacylining</author><pubDate>Thu, 05 Nov 2015 17:37:28 +0800</pubDate><description><![CDATA[一、struct&union
待补充
二、字节对其规则：（摘自http://blog.youkuaiyun.com/hairetz/article/details/4084088）

１:数据成员对齐规则：结构(struct)(或联合(union))的数据成员，第一个数据成员放在offset为0的地方，以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小（只要该成员有子成员，比如说是数组，]]></description><category></category></item><item><title><![CDATA[反转字符串]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/49664793</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/49664793</guid><author>kacylining</author><pubDate>Thu, 05 Nov 2015 16:43:13 +0800</pubDate><description><![CDATA[#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;string.h&amp;gt;
#include&amp;lt;malloc.h&amp;gt;
char *ReverseString(char *s,int length){
int i=0;
int j=length-1;
char tmp;
if(s==NULL||length==0) 
return NULL;
while(i&amp;lt;j)...]]></description><category></category></item><item><title><![CDATA[程序内存情况及变量存储区域（转载）]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/49664217</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/49664217</guid><author>kacylining</author><pubDate>Thu, 05 Nov 2015 16:09:37 +0800</pubDate><description><![CDATA[一个程序在内存中的静态存放和动态运行过程中，数据存储的位置。

下面是转载的别人的一篇blog，感觉写的挺清楚的就转载了过来（http://www.cnblogs.com/yin-jingyu/archive/2012/02/10/2346098.html）。

1、首先，讲下 “堆 heap” 和 “栈 stack” 的区别：

　　　　一个由 c/c++编译过的程序占用的内存分为一]]></description><category></category></item><item><title><![CDATA[scanf（）、gets（）、getchar（）函数的学习笔记]]></title><link>https://blog.youkuaiyun.com/kacylining/article/details/49659383</link><guid>https://blog.youkuaiyun.com/kacylining/article/details/49659383</guid><author>kacylining</author><pubDate>Thu, 05 Nov 2015 10:34:44 +0800</pubDate><description><![CDATA[一、 scanf（）
1. scanf（）函数可以读入单个字符，如果想连续读入两个单个字符则易出错。
char c1,c2;
scanf("%c",&c1);
scanf("%c",&c2);
printf("%c",c1);
printf("%c",c2);
当从终端输入a、回车时，程序就已经执行完了。
原因：scanf（）是从输入流缓冲区中取数据，在scanf（）取数据前，输入]]></description><category></category></item></channel></rss>