- 博客(69)
- 资源 (10)
- 收藏
- 关注
原创 win11安装appium
下载后命名为bundletool.jar并将路径添加到PATH环境变量中 以及JAR添加到PATHEXT环境变量中。并将gstream的bin目录添加到PATH环境变量中。apkanalyzer.bat可以使用IDE。安装后对node安装包路径进行配置。bundletool.jar安装。下载安装,需要先按照java。Studio来进行安装。
2023-07-27 20:15:51 1123
原创 vscode中远程环境Go插件不生效的问题
最近使用vscode远程到机器上出现GO插件无法使用的问题,查看定义跳转不生效。GO插件不生效需要在vscode中设置远程机器上的GOROOT以及GOPATH。如下是vscode中的json配置。关于GO插件下载的问题。远程机器上go env。
2022-12-02 10:19:02 899 1
原创 C#中特性使用
在游戏开发过程中,经常需要给一个玩家实现一些功能,比如一些登录,好友等,那么怎样可以方便的将这些功能组件挂接到玩家实体上呢? 直接编写在实体中添加功能组件这种写法是直接在代码中添加,比较直观,但是添加新的功能组件会对原代码改动比较大使用特性给实体挂载对应的组件通过特性给实体挂载相应的组件,然后在实体构造时,通过反射检测挂载的组件,并将组件进行实例化,后续给玩家实体挂载组件可以直接修改挂载特性就可以,非常方便的进行扩展。...
2022-07-10 11:53:04 654
原创 Cefsharp抓取拼多多每日关键词
最近业余时间都在学习Cefsharp实现本地客户端,发现Cefsharp可以很方便的爬取一些网站的信息,于是就一些爬取过程做一下记录。拼多多商品搜索的链接是:拼多多,我们在CefSharp发起请求时加上log打印相关的请求信息,经过分析log,发现这条有关键字的信息是在一次MimeType为json的HTTP资源请求。代码段和日志如下使用我上传的资源下载器也可以加载到对应的json文件.使用CefSharp结合vue3实现简单URL资源下载器-C#文档类资源-CSDN下载 获取关键
2022-07-09 13:54:17 666
原创 CefSharp结合VUE3搭建网页资源下载器
一个朋友在开网店,经常需要去网站上下载一些商品图片,使用人工手动点击下载非常的繁琐,于是咨询能不能有个程序输入网站链接就能下载相应的资源文件,刚好自己最近研究Cef,只要能浏览到的内容其实都可以下载到本地的,于是就实现了这个下载器。 Cef在向一个url请求资源时,会有一些列的Hook函数回调到应用程序,我们只需要在这些回调中根据自己的需求去保存请求的资源即可。 一次url请求可能会有多个资源请求,会创建多个自定义的资源处理类(继承自ResourceRequestHandler)
2022-07-05 17:32:48 949
原创 C#使用web搭建界面-Vue3本地导航
自己在使用C#搭建的界面是单页应用,所以需要使用vue中的vue-route做局部刷新,于是尝试element-plus结合route-view完成导航栏的搭建。在使用vue-route过程中自己一直没弄明白route-view是怎么将局部页面映射到对应的视图中,只是在menu中加router-view以及routes路由中有children时也需要加一层view就会正确的展示,后续弄懂原理再回来做补充。 主要是添加自定义的菜单ICON,去掉App.vue中的首页导航修改App.vue
2022-06-07 13:05:19 1183 2
原创 直击面试之KMP字符串查找
面试时碰到一个算法题,判断一个字符串是不是一段字符的子串,当时不加思索的就写出两段for循环,伪代码如下#src为源串 pat为子串i=0while(i<len(src) && len(src) >== i + len(pat)){ j=0 while(j<len(pat) && i+j<len(src) &am...
2020-01-23 09:56:58 160
原创 GO实现文件压缩算法
实现原理 读取文件,统计字符出现次数为权值,构建哈夫曼树,获取每个字符的哈夫曼编码,写入文件。压缩文件头定义type compressHead struct { srclen, dstlen, keymapLen uint32 //源文件字符个数 压缩文件字符个数 哈夫曼编码字符映射个数 patchBit uint8 //...
2020-01-16 12:28:58 1510 1
原创 哈夫曼树构建
哈夫曼树是带权值的树节点结构,且目标节点都存储在叶子节点上。下面使用Go实现哈夫曼树哈弗曼树构建过程将带权值的节点进行排序,形成有序的链表。 取出链表头两个节点,权值相加形成新节点,并加入上述链表中重新排序,两节点分别为构建为左右子树,新创建的节点为父节点。 重复步骤2直到链表节点为1退出构造哈夫曼节点定义type huffmannode struct { value in...
2020-01-14 21:20:26 659
原创 直击面试之链表
面试过程中经常会遇到链表相关面试,链表相较于数组区别是节点存储空间不连续,可持续扩展。下面是使用Go进行链表实现。链表结构定义//define the data structtype LinkList struct { pPrev *LinkList //Previous node pointer pNext *LinkList //Next node pointer Value...
2020-01-14 15:56:59 215
原创 直击面试之二叉树
面试过程中经常会问到二叉树相关的问题,下面使用Go整理下二叉树相关问题的代码实现树的定义//define the data structtype BinaryTree struct { pLeft *BinaryTree //The Left Branch pRight *BinaryTree //The Right Branch value interface{} //Sto...
2020-01-13 14:16:49 216
原创 隐藏桌面图标通过命令行启动
1.创建快捷键存放的目录,我创建的目录是D:/cmdtool,并将需要启动的程序快捷键发送到该目录下2.将上面创建的目录添加到系统环境变量的PATH中3.启动cmd,输入qq回击...
2019-03-08 11:00:55 3574
原创 libuv封装rwlock
#ifndef __CUVRWLOCK__H_#define __CUVRWLOCK__H_#include "uv.h"class CUvRwLock{public: CUvRwLock(); ~CUvRwLock();public: void RdLock(); void RdUnLock(); int RdTryLock(); ...
2018-12-19 17:54:07 316
原创 libuv封装barrier
#ifndef __CUVBARRIER__H_#define __CUVBARRIER__H_#include "uv.h"class CUvBarrier{public: CUvBarrier(); ~CUvBarrier();public: int Init(int iCount); int Wait();private: uv_ba...
2018-12-19 17:21:50 221
原创 libuv封装cond
#ifndef __CUVCOND__H_#define __CUVCOND__H_#include "UvMutex.h"class CUvCond{public: CUvCond(); ~CUvCond();public: void Signal(); void BroadCast(); void Wait(); int Time...
2018-12-19 17:19:57 532
原创 win下生成core文件
#ifndef __CCOREMGR__H_#define __CCOREMGR__H_#include "singleton.h"#include "CLogmanager.h"#if defined(WIN32) || defined(_WIN32)#include<Windows.h> #include<DbgHelp.h> #pragma co...
2018-12-12 19:45:35 970
原创 事件监听器
#ifndef __CEVENTMGR__H_#define __CEVENTMGR__H_#include "singleton.h"#include "CMutex.h"#include "CLogmanager.h"#include <string>#include <map>#include <set>class CEventList..
2018-12-03 10:21:42 1215
原创 c/c++创建动态导出库模版
#ifndef __EXPORT__H_#define __EXPORT__H_#if defined WIN32 || defined _WIN32#if defined DLL_EXPORT#define EXPORTAPI __declspec( dllexport )#else#define EXPORTAPI#endif#endifextern "C" { ...
2018-11-28 18:08:39 398
原创 Linux下设置coredump脚本
linux下调试程序崩溃一般都有coredump生成,可以设置coredump生成路径#!/bin/shsed -i '/# End of file/i\* soft core unlimited' /etc/security/limits.confsed -i '/# End of file/i\* ...
2018-11-24 16:08:27 670
原创 libuv封装pipe通信封装
#ifndef __CUVPIPEBASE__H_#define __CUVPIPEBASE__H_#include "UvBase.h"#include <string>class CUvPipeBase : public CUvBase{public: CUvPipeBase(); virtual ~CUvPipeBase();public...
2018-11-24 15:39:54 1751
原创 libuv封装共享信号量
#ifndef __CUVSEM__H_#define __CUVSEM__H_#include "uv.h"class CUvSem{public: CUvSem(); ~CUvSem();public: void Post(); void Wait(); int TryWait();private: uv_sem_t mstUv...
2018-11-21 16:12:35 475
原创 libuv封装线程
#ifndef __CUVTHREAD__H_#define __CUVTHREAD__H_#include "uv.h"#include "UvSem.h"#include "CLogmanager.h"class CUvThread{public: CUvThread(); virtual ~CUvThread();public: int Start(...
2018-11-21 16:10:45 288
原创 libuv锁的封装
libuv进行锁封装#ifndef __CUVMUTEX__H_#define __CUVMUTEX__H_#include "uv.h"class CUvMutex{public: CUvMutex(); ~CUvMutex();public: void Lock(); int TryLock(); void UnLock(); ...
2018-11-21 16:09:17 456
原创 libuv封装uvloop自动创建新的loop循环
#ifndef __CUVLOOP__H_#define __CUVLOOP__H_#include "UvThread.h"#include "UvBase.h"#include "UvMutex.h"#include <queue>class CUvLoop : public CUvThread, public CUvBase{public: CUvLoo...
2018-11-21 16:07:37 1163
原创 Libuv文件操作封装
#ifndef __CUVFILE__H_#define __CUVFILE__H_#include "UvBase.h"class CUvFile : public CUvBase{public: CUvFile(); virtual ~CUvFile();public: static void FsOperCb(uv_fs_t* pFileReq);...
2018-11-21 16:03:26 423
原创 libuv TCP开发封装
如下是创建TCP服务器#ifndef __CUVTCPSVR__H_#define __CUVTCPSVR__H_#include "UvNetBase.h"class CUvTcpSvr : public CUvNetBase{public: CUvTcpSvr(); virtual ~CUvTcpSvr();public: static void Co...
2018-11-21 15:43:00 1403
原创 libuv UDP开发封装
#ifndef __CUVUDP__H_#define __CUVUDP__H_#include "UvNetBase.h"struct tagUvUdpPkg { struct sockaddr_in stAddr; uv_buf_t stBuf;};class CUvUdp : public CUvNetBase{public: CUvUdp(); ...
2018-11-21 15:40:32 2709
原创 libuv网络公共库的封装
如下是提取libuv开发过程中UDP以及TCP的公共基类#ifndef __CUVNETBASE__H_#define __CUVNETBASE__H_#include "UvBase.h"#include "UvMutex.h"#include <string>class CUvNetBase : public CUvBase{public: CUvNe...
2018-11-21 15:38:37 721
原创 libuv库的封装
在后端开发中用到一些libuv库,如下是对libuv库的一些封装,便于以后扩展使用。uvdefine.h#ifndef __UVDEFINE__H_#define __UVDEFINE__H_#include "uv.h"#define UV_DEFAULT_BUF_SIZE 10240 //default 10KB buffer sizestruct tagUvBuf {...
2018-11-21 15:30:30 1342
原创 libevent封装
EvDefine.h#ifndef __CEVUDEFINE__H_#define __CEVUDEFINE__H_#if defined(WIN32) || defined(_WIN32)#include <winsock2.h> #elif __linux__#endif#if defined(WIN32) || defined(_WIN32)typede...
2018-10-19 14:29:09 774
原创 GO修改配置文件版本号
Name: ipcsimulatorVersion: 0.1.6Release: 1Summary: ipcsimulatorGroup: Application/SystemLicense: GPL# URL: # Source0: # BuildRoot: %(mktemp -ud %{_tmppath}/%{n...
2018-10-18 15:32:53 1095
原创 GO搭建简单HTPP文件下载服务器
package mainimport ( "flag" "io/ioutil" "log" "net/http" "os" "strconv")const DEFAULTPORT = 7788func handerGetFile(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析参数,默认
2018-09-14 11:44:41 6256 1
原创 Makefile编译
1.多目录编译SUBDIRS=HdvonBase HdFramework HdThread RECURSIVE_MAKE=@for subdir in $(SUBDIRS);do \ echo "making in $$subdir"; \ (cd $$subdir && $(MAKE)) || exit 1; \ done RECURSIVE_CLEA...
2018-07-31 11:42:46 541
转载 Linux下找出CPU过高的线程
确定是CPU过高使用top观察是否存在CPU使用率过高现象找出线程对CPU使用率过高的进程的所有线程进行排序ps H -e -o pid,tid,pcpu,cmd --sort=pcpu |grep xxx得到如下结果,其中线程2909使用了7.8%的CPU. 2907 2913 0.0 ./xxx 2907 2909 7.8 ./xxx也可以通过查看/proc中的信息来确定高CP...
2018-07-24 16:06:26 504
原创 小工具
#ifndef __UTIL__H_#define __UTIL__H_#include <algorithm>#include "common.h"//mem#define DOFREE(X) do{if(nullptr != X) {free(X); X = nullptr;}}while(0)#define DODELETE(X) do{if(nullptr !=...
2018-04-11 15:19:01 176
原创 日志类简单封装
在程序开发过程中,我们需要动态了解程序运行状况,以及排查问题时程序的调用流程,尤其是在多线程程序中,调用关系用日志记录下来比较重要,方便以后排查问题。以下是自己开发过程中封装的日志功能类。common.h#ifndef __COMMON__H_#define __COMMON__H_#include <stdio.h>#include <stdlib.h>...
2018-04-11 15:17:40 1294
原创 休眠简单封装
1.在多线程后端程序中,我们经常需要等待休眠,如下是自己封装等待休眠的API.#ifndef __CIDLE__H_#define __CIDLE__H_#include "common.h"class CIdle{public: CIdle(); ~CIdle();public: void Sleep(unsigned long iTime = 500); void ...
2018-04-11 15:16:20 176
原创 线程简单封装
在后端开发中,我们经常需要使用多线程,频繁的调用系统API创建线程比较繁琐,而且代码有冗余,所以对Linux以及win下的API进行封装。如下是代码实现#ifndef __CTHREAD__H_#define __CTHREAD__H_#include "common.h"#include "CMutex.h"#include "Idle.h"enum THREADSTATE{...
2018-04-11 15:15:16 303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人