自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艺术人生的专栏

程序员的那点儿事

  • 博客(121)
  • 资源 (41)
  • 收藏
  • 关注

原创 数据库_Redis_Linux_C++_03

源码安装参考Redis官网https://redis.io/download我的Linux环境是一个云服务器,配置如下:Linux VM-0-16-ubuntu 4.4.0-157-generic #185-Ubuntu SMP Tue Jul 23 09:17:01 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux下载wget https://download.redis.io/releases/redis-6.2.6.tar.gz出现如下信息表示下载成功-

2022-03-16 00:49:48 333

原创 数据库_Redis_Python_02

Redis安装安装可用于Python编程语言操作的Redis库。命令行安装方式如下:pip install redis连接RedisPython Redis提供了两种连接方式:普通连接方式和连接池连接方式。需要注意的是: Redis中字符串返回值类型是bytes类型普通连接方式redis_conn = redis.Redis(host='127.0.0.1', port=6379)连接池连接方式redis_pool = redis.ConnectionPool(host='127.0

2022-03-13 17:26:40 2906

原创 数据库_Redis_详解_00

背景Redis是一个基于键值对(Key-Value)的数据结构,可以用来作为数据库、缓存和消息队列。常用数据结构string 字符串list 列表hash 哈希set 集合zset 有序集合bitmap 位图

2022-03-13 14:08:01 1717

原创 数据库_Redis_Windows_C++_01

开发环境系统:Windows 10 教育版安装RedisRedis官网没有提供Windows版本,不过微软团队维护了一个Windows版本[https://github.com/MicrosoftArchive/redis/releases],如下图所示(https://github.com/MicrosoftArchive/redis/releases)。...

2022-03-12 16:36:55 2203

原创 数据库

下面是常用数据库

2022-03-12 11:09:51 2052

原创 C++实现线程死锁

先上代码#include <mutex>#include <thread>//#define SLEEPusing namespace std;class LeftRightDeadLock{public: void LeftRight(int index) { mtx_left.lock(); printf("%d LeftRigh...

2019-10-12 00:13:26 442

原创 C++第三课--之一(对象)

类和对象广义上的类和对象比如说世界上有一个人类,它有一个共同的特征,比如鼻子、眼睛,我们称为属性; 人类还有一些特定的能力,比如吃喝拉撒,我们称之为方法。 但是人类是一个虚的,他是很多的人抽象出来的,最后成为一个特征,拥有这些特征的称之为人类。 与类相对应的是一个对象,对象是一个实体,这个实体是活生生的存在的。编程中的类和对象在C++中使用class来代表一个类,我们用变量来代表一个属性,用函

2019-09-06 00:15:03 344

原创 Windows编程_Lesson008_内存_内存修改器

内存修改器修改指定进程名字中的内存单线程版本#include <Windows.h>#include <stdio.h>#include <vector>// 第一次查找void FirstFind(HANDLE hProcess, BYTE *pBuffer, DWORD dwPageSize, DWORD dwVal, std::vector<DWORD> &vecAddr){

2019-09-06 00:14:34 203

原创 情感分析项目

1. 模型理论与应用以下几个问题都是比较经典的问题,会对模型的深入理解会有很大的帮助。 特别是对于逻辑回归的二次导数的求解过程可以用来证明一个函数是否凸函数。1.1 逻辑回归相关假设我们有训练数据D={(x1,y1),...,(xn,yn)}D=\{(\mathbf{x}_1,y_1),...,(\mathbf{x}_n,y_n)\}D={(x1​,y1​),...,(xn​,yn​)}, ...

2019-06-08 21:39:15 882 3

原创 简单的问答系统

1. 读取文件,并把内容分别写到两个list里(一个list对应问题集,另一个list对应答案集)import jsonimport time# 分数(5)def read_corpus(file_path): """ 读取给定的语料库,并把问题列表和答案列表分别写入到 qlist, alist 里面。 在此过程中,不用对字符换做任何的处理(这部分需要在 Part 2.3...

2019-06-08 20:55:56 371

原创 中文分词工具

说明此项目需要的数据:综合类中文词库.xlsx: 包含了中文词,当做词典来用以变量的方式提供了部分unigram概率 word_prob举个例子: 给定词典=[我们 学习 人工 智能 人工智能 未来 是], 另外我们给定unigram概率:p(我们)=0.25, p(学习)=0.15, p(人工)=0.05, p(智能)=0.1, p(人工智能)=0.2, p(未来)=0.1, p(是...

2019-06-08 20:08:55 1249

原创 C++ RPC(远程过程调用)

目的最近由于摩尔定律已经不太适用,随着大数据、计算量不断增加,导致单机处理能力不能满足需求,所以需要分布式计算,这就需要RPC(远程过程调用),下面简单介绍一下这个demo,来自于GitHub上的一个项目client代码#include &amp;lt;string&amp;gt;#include &amp;lt;iostream&amp;gt;#include &amp;lt;ctime&amp;gt;#include &quot;but

2018-11-05 14:21:16 18541 10

原创 开源C++ Windows Service程序

目的由于Windows C++ 没有现成的Windows server程序的开发框架,而C#则有,所以为了方便大家以及我以后使用C++更方便的开发Windows server程序,特意写此文。Github源码地址主要代码如下CppWindowsService.cpp文件#pragma region Includes#include &amp;lt;stdio.h&amp;gt;#include &amp;l...

2018-11-03 20:44:47 4174 2

原创 通用的单例模式实例

为什么使用单例模式使用Head First这本书当中的一段有趣的对话来说明为什么使用单例模式。 开发人员:这有什么用处?大师:有一些对象其实我们只需要一个,比方说:线程池(threadpool)、缓存(catch)、对话框、处理偏好设置和注册表(registry)的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。事实上,这类对象只能有一个实例,如果制造出多个实例,就会导致许多问题...

2018-06-30 23:16:07 696

原创 PoEdu_反汇编教程_Lesson001_什么是反汇编

什么是反汇编?反汇编(Disassembly)来源于百度百科:就是把目标代码转换为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用语软件破解、外挂技术、病毒解析、逆向工程、软件汉化等领域。需要的工具及知识要有Visual Studio编译器,我们使用的是vs2015版本;反汇编软件,x64dbg;熟悉C++编程语言。x64dbg与vs反...

2018-05-12 23:43:09 386

原创 Windows核心编程_动态链接库_DLL基础_DLL的总体运行情况

为了全面地了解DLL如何运行,以及开发者和系统如何正确地使用DLL,我们首先来研究一下DLL的基本运行机理。下图概括了DLL的各构件是如何链接在一起的。 现在,我们关注的焦点是可执行模块和DLL模块之间是如何进行隐式链接的。隐式链接是目前最为常用的链接类型。Windows同时支持显示链接(显示链接将在第20章加以讨论)。 在下图中可以看到,当一个模块(例如一个可执行文件)使用DLL中的函数和变...

2018-05-01 22:46:31 257

原创 Windows核心编程_动态链接库_DLL基础_DLL与进程的地址空间

通常创建一个DLL要比建立一个应用程序容易,因为DLL包含一组可以被任何应用所使用的自治(autonomous)函数。在DLL中通常没有支持处理消息循环或创建窗口的代码。一个DLL只是一组源代码模块的集合。其中每个模块包含应用程序(可执行文件)或另一个DLL将要调用的一组函数。当所有的源代码文件编译后,就像应用程的可执行文件那样被链接程序所链接。然而,对于一个DLL,必须要为链接程序设定DLL开关...

2018-04-03 23:57:30 614

原创 Windows核心编程_动态链接库_DLL基础_简介

从微软的第一个版本操作系统开始,动态链接库(dynamic-Link libraries,DLL)就一直是Windows的基石。Windows API的所有函数都包含在DLL中,其中3个最重要的DLL分别是:Kernel32.dll:它包含管理内存、进程和线程的函数;User32.dll:它包含处理用户界面任务的一些函数,例如窗口的创建以及消息的发送等;GDI32.dll:它包含绘制图形和显示

2018-04-03 23:45:45 342

原创 C++高级特性--类模板

暂无内容

2018-04-02 22:48:02 309

原创 C++高级特性--函数模板

面向对象编程面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况。不同之处在于:OOP能处理类型在程序运行之前都未知的情况;而在泛型编程中,在编译时候就能知道类型了。 比如,标准库为每一个容器提供了单一的,泛型的定义,如vector。我们可以使用这个泛型定义来定义很多类型的vector,它们的差异在于包含的元素类型不同。 模板是C++中泛型编程的基础。一个模板就是一个创建类...

2018-04-01 00:28:17 566

原创 左值问题

i++与++i的赋值问题以前在编程时。没有注意这样一件事情,一个整型变量,做前加加和后加加后,能否再给它赋值???今天就让我们验证一下吧!!! 我们写下面一段程序int main(){ int iIndex = 0; ++iIndex = 20; iIndex++ = 10; return 0;}一些功能强大的编译器在不不编译的情况下就已经能够提示iIndex++

2018-03-13 20:17:08 279

原创 C++中的虚函数

为什么要把基类中的虚函数设置为虚函数我们先看一个例子,这个例子是基类中的析构函数没有virtual修饰,也就是普通的析构函数,代码如下所示:#include &lt;iostream&gt;class Base{public: Base() { std::cout &lt;&lt; "Base()" &lt;&lt; std::endl; }...

2018-02-08 01:01:03 143

原创 STL_Lesson005_002

容器中的与算法中的重名函数array: fill Fill array with value (public member function ) fill Fill range with value (function template ) swap Swap content (public member function ) swap Exch

2017-12-19 00:39:10 182

原创 STL_Lesson005_001

#include <iostream>#include "my_vector.h"#include "my_list.h"#include "my_deque.h"#include "my_stack.h"#include "my_queue.h"int main(){ int len = 0; std::cout << "test myvector begin.....

2017-12-19 00:36:39 162

原创 STL-Lesson004_002

#ifndef _MYALGORITHM_H_#define _MYALGORITHM_H_#include <iterator>#include <random>#include <type_traits>#include <tuple>namespace PoEdu{ // all_of // Test condition on all elements in ra

2017-12-19 00:32:26 222

原创 STL-Lesson004_001

#ifndef _MYALGORITHM_H_#define _MYALGORITHM_H_#include <iterator>#include <tuple>namespace PoEdu{ // all_of // Test condition on all elements in range (function template ) template<type

2017-12-19 00:30:33 260

原创 STL-Lesson003_学生管理系统

学生管理系统#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <fstream>#include <list>#include <functional>#include <array>#include <ctime>#include <Windows.h>#define MAX_STU 500000 // 学生

2017-12-19 00:27:25 538

原创 STL-Lesson002-MyList

MyList/*MyList.h*/#ifndef _MYLIST_H_#define _MYLIST_H_namespace PoEdu{ //template<typename T> template<typename T> class MyList { public: struct node {

2017-12-19 00:18:40 195

原创 STL-Lesson001_2_实现MyStack类

MyArray/*MyArray.h*/#ifndef _MYARRAY_H_#define _MYARRAY_H_#include <limits>namespace PoEdu{ template<typename T> class MyArray { public: // Member functions MyArray()

2017-12-19 00:07:37 431

原创 STL-lesson001_1_模板实现Array类

/*MyString.h*/#ifndef _MYSTRING_H_#define _MYSTRING_H_#define _CRT_SECURE_NO_WARNINGS#include <cstring>#include <limits>#include <string>namespace PoEdu{ class CMyString { public:

2017-12-19 00:01:00 193

原创 Windows Practice_作业 Easy QQ的实现

QQ原理对于qq这样的聊天软件来说,简单的来讲,它有一个服务端、多个客户端,因为服务端只有一个,所以也就没什么区别,而所有的客户端也是一模一样。 每个客户端只能通过向服务端发送消息,服务端通过解析,从而决定下一步怎样做。 比如一个客户端1想给客户端2发送一条“Hello”的消息,服务器收到后,就会将这条消息发送给客户端2(这里所说的都是在线的,不在线的情况暂不考虑)。WSAAsyncSelect

2017-10-03 14:20:12 445

原创 Windows Practice_Socket 错误封装

UDP简单通讯例子需要注意的是: inet_addr函数如果使用的是VS2014以上的库编译时,会报错,所以我们需要选择兼容XP的编译方式,具体设置在项目属性中设置。如图所示: 服务端// SocketUDPServer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <WinSock2.h>#include <Windows.h>#i

2017-10-03 12:45:08 325

原创 Windows Practice_Socket

TCP/IP在世界各地,各种各样的电脑运行着各自不同的操作系统,从而为大家服务,这些电脑在表达同一种信息的时候使用的方法千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不能发挥太大的作用。也只有把它们联合在一起,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线或者光纤将电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不通

2017-10-03 11:37:57 359

原创 Windows Practice_Dll&Hook_DetourHook库

DetoursDetours是经过微软认证的一个开源软件,下载地址,虽然是开源软件,但是它又分成了两个版本,分别是:Detours Professional 3.0 is available for commercial use.Detours Express 3.0 is available for immediate download under a no-fee license for r

2017-10-03 01:13:41 701

原创 Windows Practice_Dll&Hook_封装IAT Hook

进程保护器的实现本程序实现了一个简单的暴力的进程保护器,其原理也很简单,就是修改导入表,挂钩TerminateProcess函数,因为这个函数可以远程无条件的结束其它进程,所以我们要挂钩这个函数。 因为每一个程序都有可能结束要保护的程序,所以我们必须以Dll的形式注入到每一个进程中,这就涉及到注入的问题了,而Windows给我们提供了一个简单的全局挂钩的函数,即SetWindowsHook函数。

2017-09-24 12:32:19 396

原创 Windows Practice_Dll&Hook_IAT Hook

PE结构PE结构时Windows中一个比较大的结构体,它的整个结构体图如下所示: 给MessageBoxW函数挂钩我们自己的函数就是我们挂钩之后,调用MessageBoxW函数后,会进入到我们自己的函数中执行我们自己的代码。挂钩还原之后,还可以正常的调用MessageBoxW函数,这就是这个测试程序的功能。// IATHookDemo.cpp : 定义控制台应用程序的入口点。//#includ

2017-09-24 11:30:55 299

原创 Windows Practice_Dll&Hook_Hook是什么?

Hook是什么?Hook能够改变软件的功能,比如添加新功能和修改原功能的执行流程。使用Hook是针对于没有源码的情况下才使用的,如果有源码,就没必要Hook了。Hook是如何改变程序的流程的程序块程序块结构(program block struction)是一种程序结构形式。这种结构将整个程序分为若干个信息快或子程序块,使程序变得清晰,便于阅读和修改。 所以程序中的每一块,都是Hook的一个点。作

2017-09-24 11:06:48 341

原创 Windows Practice_Dll&Hook_消息钩子

DllDll就是我们通常所说的动态链接库(Dynamic Link Library),它和应用程序在本质是没有任何区别的,它也是一个可执行文件,它们都有相同的PE结构。 但是两者在应用上面还是有一些区别的,Dll一般作用exe应用程序的补充体,它是一个模块,用来被exe文件加载。 在Windows中有一部分exe文件也是能够被加载的,比如.oxc后缀的控件格式。为什么大部分应用程序喜欢使Dll?

2017-09-24 10:20:39 370

原创 Windows Practice_文件_文件分割器(三)

两种开发方式瀑布式开发 有需求 -> 分析 -> 建模 -> 编码 -> 维护 所有的类全部是自己设计编码的敏捷开发 需求 -> 编码 -> 重构(建模) -> 编码 需求总是变化的 -> 代码也需要变化 所谓的敏捷开发就是拿着开源项目修改为自己的项目,随着时间的推移,改变的越来越多的内容,最后可能将原来开源项目中的所有内容都改为自己的内容。当前类的性质, 类方法及类成员设计的时候

2017-09-17 23:33:20 308

原创 Windows Practice_文件_文件分割器(二)

文件分割器实现时注意的几点分割文件的头信息结构体的设计,如果里面需要存储字符串的信息,我们必须使用字符串数组来存储,而不能使用类似于CString、string等字符串对象来存储,因为使用这些对象在存储的时候还好,可以知道它的长度进行文件的写入,但是在读取的时候就会出现问题了,因为不知道读取多少。 解决方法有两个: 1. 在头文件信息结构体中加上构造函数和一些其它的辅助函数(这样就相当于类的功能

2017-09-17 11:02:33 361

win32diskimager-1.0.0-install.exe.zip

win32diskimager-1.0.0-install.exe在sourceforge上面有时候很难下载下来,所以为了方便大家使用,将此共享到csdn上。

2019-07-10

Windbg调试工具32位和64位两个版本下载

Windbg调试工具32位和64位两个版本下载,为了方便大家学习,特此为大家提供下载。

2019-04-16

buttonrpc_cpp14-master.zip

buttonrpc_cpp14-master.zip 使用vs2015编译,不想要大家的分数,最少也得选1分,无奈。

2019-01-21

软件工程中文版

软件工程中文版软件工程中文版软件工程中文版软件工程中文版

2018-01-02

Java编程思想第四版完整中文高清版.pdf

Java编程思想第四版完整中文高清版.pdfJava编程思想第四版完整中文高清版.pdf

2017-12-31

jdk-9.0.1_doc-all.rar

jdk-9.0.1_doc-all.rarjdk-9.0.1_doc-all.rarjdk-9.0.1_doc-all.rar

2017-12-28

jdk-8u152-docs-all.rar

jdk-8u152-docs-all.rarjdk-8u152-docs-all.rarjdk-8u152-docs-all.rar

2017-12-28

jdk-8u152-docs-all

jdk-8u152-docs-alljdk-8u152-docs-alljdk-8u152-docs-all

2017-12-28

阿里巴巴Java开发手册v1.2.0

阿里巴巴Java开发手册v1.2.0阿里巴巴Java开发手册v1.2.0

2017-12-28

Ubuntu 17.04安装CUDA9.0 Cudnn7 Opencv3.3 Caffe安装

CUDA9.0 Cudnn7 Opencv3.3CUDA9.0 Cudnn7 Opencv3.3CUDA9.0 Cudnn7 Opencv3.3

2017-11-12

json-lib-2.4-jdk15

json-lib-2.4-jdk15 json-lib-2.4-jdk15json-lib-2.4-jdk15

2017-11-06

opencv-3.2.0.zip

opencv-3.2.0.zip.zipopencv-3.2.0.zip.zipopencv-3.2.0.zip.zip

2017-11-01

vgg_generated_64.i.rar

vgg_generated_64.i.rarvgg_generated_64.i.rarvgg_generated_64.i.rar

2017-11-01

vgg_generated_80

vgg_generated_48.rarvgg_generated_48.rarvgg_generated_48.rar

2017-11-01

vgg_generated_48.i

vgg_generated_120.i

2017-11-01

高质量C.C++编程指南

高质量C.C++编程指南是一本非常好的编程规范书,供大家下载使用。

2017-10-25

opencv_contrib-3.2.0

opencv_contrib-3.2.0 opencv_contrib-3.2.0 opencv_contrib-3.2.0

2017-10-23

opencv_contrib-3.2.0.tar.gz

opencv_contrib-3.2.0.tar.gz...............................................................................

2017-10-23

cudnn-8.0-windows10-x64-v5.1

cudnn-8.0-windows10-x64-v5.1软件包供大家免费下载使用。。。。

2017-10-22

protobuf-cpp-3.1.0.tar.gz

protobuf-cpp-3.1.0.tar.gz 免费供大家下载和使用。。。

2017-10-18

ippicv_linux_20151201.tgz

ippicv_linux_20151201.tgz免费供大家下载和使用。。。。。

2017-10-18

cudnn-7.0-linux-x64-v3.0-prod

cudnn-7.0-linux-x64-v3.0-prod供大家下载安装使用,方便大家。

2017-10-17

JavaScript DOM编程艺术(中文第2版)part2

JavaScript DOM编程艺术(中文第2版)part2欢迎大家下载使用。

2017-10-11

JavaScript DOM编程艺术(中文第2版)part1

JavaScript DOM编程艺术(中文第2版)part1,欢迎大家下载使用。

2017-10-11

commons-logging-1.2-bin

commons-logging-1.2-bin的上传,为广大的java程序员提供方便。

2017-10-09

Java编程思想第四版完整中文高清版

Java编程思想第四版完整中文高清版的上传,方便广大的java程序员使用和阅读,为大家提供方便。

2017-10-09

apache-log4j-2.9.0-bin

apache-log4j-2.9.0-bin是目前比较新的一个版本,以后后能会经常用得到,所以上传上来供广大程序员使用,以节省大家的时间!

2017-09-07

jaxr-api.jar

jaxr-api.jar在网上很少找得到,考虑到程序员时间的宝贵性,就上传了一份,希望能节省大家的时间,来提高程序员的编程效率!

2017-09-07

多线程内存修改器

使用多线程计数,快速的扫描进程中的内存的指定值,然后修改它。要使用管理员身份才能修改成功。

2017-07-25

内存修改器

根据进程的名字找到该进程,扫描进程里面要修改的地址,找到之后,就可以修改这个值。需要注意的是,必须要以管理员身份运行,否则修改不成功!

2017-07-25

OpenCv实现两个图片的相似度

利用OpenCv提供的函数接口实现了两个图像的相似度的计算

2017-06-23

串口通信端口号大于等于10

完美实现了调试串口端号不能大于两位数的问题(即端口号不能大于等于10),源码奉上!

2015-09-10

串口调试源码

基于vc++6.0编写的串口调试程序源码,下载后可以直接运行!

2015-09-10

串口调试工具源码

基于vc++6.0编写的串口调试程序源码,功能也比较强大,下载后可以直接运行!

2015-09-10

展示opencv的图像绘制功能

本程序展示了opencv强大的画图功能,下载解压后直接运行,即可看到超炫的图画界面。

2015-09-10

椭圆拟合源代码

本程序是基于opencv的椭圆拟合源码,使用的是vc++6.0的IDE编译环境,部分函数有注释说明,非常适合初学者!

2015-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除