自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql、sqlserver、oracle 表名作为变量创建游标(二)

接上一张,表名tablename是传入存储过程的变量,如何建立游标呢Mysql DECLARE cur CURSOR FOR SELECT id FROM v_proc; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; SET @select = concat('create VIEW v_proc as SELECT ...

2019-08-21 17:31:19 721

原创 mysql、sqlserver、oracle 存储过程中表名作变量的查询语句(一)

最近需要做cs模式软件的一个报表的优化,由于软件跨平台,有三个数据库版本mysql、sqlserver、oracle,所以我要写三份功能相同的存储过程,其中表名作为变量调用proc假设有变量 tablename 作为表名变量 ,表结构如下接下来以求平均值为例,表名变量为tablenamemysqlSET @sqlStmt = CONCAT('SELECT avg(val) I...

2019-08-21 16:35:10 1806

原创 如何编写一个不能被继承的类

无意中看到一个题目:题目大致意思是如何编写一个不能被继承但是却能正常使用的类?当时首先想到的就是构造函数是私有的,这样的话就能不被继承,现实中我们使用的比较多的就是单例模式,将构造函数私有化,但是单例模式不能正常的创建多个实例对象,是一种特殊的设计模式。再仔细考虑下c++中friend关键字,他可以声明友元类和友元函数,如果我们把子类声明为父类的友元类,子类再继承父类,那么子类不久可以完美...

2019-06-27 14:03:43 216

原创 linux多线程实现文件复制

之前写过一个多进程copy文件,是直接通过操作文件描述符来做的,链接如下https://blog.csdn.net/woshichaoren1/article/details/84800807此次多线程copy文件是用mmap内存映射操作,读写速度要快一些。废话不多说直接上代码#include <stdio.h>#include <pthread.h>#inc...

2018-12-23 23:04:10 1899 2

原创 Ubuntu 18.04.1 LTS下搭建git服务器

sudo apt-get install git安装好gitsudo adduser git系统会提示设置密码,此时请设置好你的密码,还会要你设置email之类的此时可以按Enter回车默认为空sudo vim /home/git/.ssh/authorized_keys此时把你电脑里面的rsa_pub(公钥)复制到authorized_keys中保存退出sudo mkdir ...

2018-12-09 22:46:55 701

原创 进程间通信之管道通信(PIPE匿名管道)

#include<stdio.h>#include<errno.h>#include<fcntl.h>#include<unistd.h>#include<stdlib.h>#include<string.h>int main(){ char cwrite[1024]; char cread[1...

2018-12-06 23:52:26 260

原创 Linux 实现多进程拷贝文件

//copy.c#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include<stdlib.h>#include<sys/stat.h>#include<errno.h>#include <sys/wait.h>int main(

2018-12-04 23:30:40 1663

原创 Linux下递归遍历文件和文件夹

#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/stat.h>#include<string.h>#include<fcntl.h>#include<dirent.h>//利用深度优先遍历实现文件检索void df

2018-11-29 23:34:34 8473 1

原创 windows下使用Apache配置WebDav

我们下载RaiDriver,下载地址https://app.raidrive.com/d86ea6fa40f74010914976063f94774b/release/stable/RaiDrive_2023.9.35_x64.msi。在apache所在文件夹下进入Bin目录,在浏览器上方输入cmd,使用htdigest设置weddav访问用户名密码。取消掉httpd-dav的设置 此设置也在httpd.conf文件中。此文件在conf文件夹下,将httpd.conf中。修改配置文件httpd.conf。

2024-01-05 16:15:44 589 1

原创 python练习册(002)

第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到MySQL关系型数据库中。import MySQLdbimport randomimport stringif __name__ == '__main__': db = MySQLdb.connect("118.xx.xx.xx", "xxx", "xxx", "xxx", charset="...

2019-12-21 22:00:16 178

原创 python练习册(001)

第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到MySQL关系型数据库中。import randomimport stringif __name__ == '__main__': baseword = list(string.ascii_letters + string.digits) random.shuffle(baseword)...

2019-12-21 15:23:20 219

原创 python练习册(000)

第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。from PIL import Image,ImageFont,ImageColor,ImageDrawif __name__ == '__main__': drawnumber = '8' img_base = Image.open("./00_2.p...

2019-12-21 14:52:54 185

转载 cmake 学习笔记

转自https://blog.csdn.net/dbzhang800/article/details/6314073 原 cmake 学习笔记(一) 2011年04月10日 21:07:00...

2019-06-17 20:38:27 209

原创 命令模式(C++)

命令模式将发送者与接收者解耦,如开关1 --- 电灯,开关2---电脑,开关3---其他电器,它将一个请求封装成一个对象,可以让你用不同的请求对客户进行参数化。命令模式包含四种角色:1.Command(抽象命令类)2.ConcreteCommand(具体命令类)3.Invoker(调用者)4.Receiver(接收者)C++代码如下#include <...

2019-03-02 23:48:02 157

原创 智能指针的简单实现

智能指针就是利用系统调用函数执行完后自动释放栈实现的,从而规避程序员忘记释放内存的风险。。。。简单的智能指针实现如下// smart_ptr.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;template<class T>class smar...

2019-02-18 21:33:34 185

原创 mysql不能输入中文

alter table 表名 CONVERT TO CHARACTER SET utf8; 

2019-01-23 23:10:34 239

原创 Python实现七大经典排序算法

排序算法用C++写过很多次了, 于是就想着用python再复习一遍,废话不多说直接上代码# 冒泡def bubbleSort(nums): for i in range(len(nums) - 1): for j in range(len(nums) - i - 1): if nums[j] > nums[j + 1]: ...

2019-01-17 11:09:47 1053

转载 select、poll、epoll之间的区别总结

引自https://www.cnblogs.com/Anker/p/3265058.html  select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说...

2019-01-12 15:09:30 84

原创 多路IO复用之epoll模型

#include<netinet/in.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#include <sys/epoll.h>#define PO

2019-01-12 15:03:32 262

原创 pom org.ethereum无法下载

<dependency> <groupId>org.ethereum</groupId> <artifactId>ethereumj-core</artifactId> <version>1.5.0-RELEASE</version>

2019-01-12 11:18:09 724

原创 java 拷贝别人的jar包到本地电脑还是提示无法找到jar包

mvn install:install-file "-Dfile=./keccakj-1.1.0.jar" "-DgroupId=com.github.aelstad" "-DartifactId=keccakj" "-Dversion=1.1.0" "-Dpackaging=jar"再jar包所在目录执行此命令(相关jar包改成你自己的)然后重新导入pom即可 ...

2019-01-11 11:40:57 438

原创 linux下修改文件描述符最大打开个数

    sudo vi /etc/security/limits.conf在end of file前面加上这两句* soft nofile 65536* hard nofile 65536保存退出即可      

2019-01-10 23:28:59 886

转载 SQLAlchemy 几种查询方式总结

几种常见sqlalchemy查询:#简单查询 print(session.query(User).all()) print(session.query(User.name, User.fullname).all()) print(session.query(User, User.name).all()) #带条件查询 print(session.qu...

2019-01-09 17:21:01 757

原创 Ubuntu安装mysql并生成账户

1.sudo apt-get install mysql-server2.sudo mysql -uroot -p 然后按两次回车 3.CREATE USER 'liang'@'%' IDENTIFIED BY '123456';4.GRANT ALL PRIVILEGES ON *.* TO 'liang'@'%' IDENTIFIED BY '123456' WITH GRANT OP...

2019-01-05 23:38:58 96

原创 多路IO转接 poll模型

poll模型与select模型大同小异,也是一种轮询模型,不同之处是poll模型更加方便,不像select模型一样,每次都去设置fd_set的值,select模型最多能打开的文件描述符为1024个,即使使用ulimit -n xxx也无法改变,但是poll模型可以突破1024的限制,只需更改系统的ulimit -n配置即可。#include <stdio.h>#include ...

2019-01-01 15:24:27 137

原创 多路IO转接 select模型

select函数就一socket文件描述符监测函数,可以监测读和写。没有read和write时候将阻塞在那儿,相比于多进程和多线程处理,它更加节省资源。废话不多说 上demo#include <stdio.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>...

2019-01-01 13:09:02 108

原创 Linux socket通信(多线程Linux socket通信(TCP))

#include <stdio.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <unistd.h>#include <netinet/in.h>#include <pthread.h>#inclu

2018-12-31 14:10:55 659 1

原创 macos python3 安装mysqlclient失败

安装brew执行brew install mysql --client-only --universal再pip install mysqlclient//ubuntu版的先执行sudo apt-get install libmysqld-dev再pip install mysqlclient 

2018-12-31 08:42:55 430

原创 Linux socket通信(多进程Linux socket通信(TCP))

#include<stdio.h>#include <sys/socket.h>#include<string.h>#include <arpa/inet.h>#include <unistd.h>#include <netinet/in.h>#define TCP_PORT 9999int main(){...

2018-12-30 21:48:59 709

原创 Linux socket通信(UDP)

udp服务端#include<stdio.h>#include <sys/socket.h>#include<string.h>#include <arpa/inet.h>#include <unistd.h>#include <netinet/in.h>#define UDP_PORT 8888int m...

2018-12-30 18:26:15 1078

原创 Linux socket通信(TCP)

服务端#include<stdio.h>#include <sys/socket.h>#include<string.h>#include <arpa/inet.h>#include <unistd.h>#include <netinet/in.h>#define TCP_PORT 9999int mai...

2018-12-30 14:54:08 174

原创 线程通信之条件变量pthread_cond_t

#include<stdio.h>#include<errno.h>#include<pthread.h>#include<unistd.h>#include<stdlib.h>pthread_cond_t cond_p;pthread_cond_t cond_c;pthread_mutex_t mutex;int s...

2018-12-27 19:18:31 400 1

原创 读写锁pthread_rwlock_t

#include <iostream>#include <pthread.h>#include <unistd.h>int Money = 0;pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;void* readThread(void* argv){ pthread_rwlock...

2018-12-24 22:13:20 1068

原创 CLion下如何引入libpthread.so

在vi/vim下编译一个.c的多线程文件我们可以通过gcc xxx.c -lpthread 编译xxx.c文件,在Clion下我们通过一下两种方式来运行我们的多线程程序方法1.点击左下角的Terminal,在下面输入你要编译的.c文件 比如我的如下方法2.在CMakeList.txt中添加set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")...

2018-12-20 22:08:23 1958

原创 为进程设置新会话setsid

#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(){ int pid; pid = fork(); if(pid<0) { exit(1); } if(pid == 0) { prin...

2018-12-16 22:24:52 288

原创 利用sigaction和sigprcmask实现自己的sleep函数

#include <stdio.h>#include <signal.h>#include <unistd.h>#include <stdlib.h>#include <time.h>void alarmSig(int num){ //此处不需要做任何事,只是确保信号被捕获}int mysleep(int n...

2018-12-15 22:23:08 168

原创 利用SIGUSR1和SIGUSR2实现父子进程同步输出

#include<stdio.h>#include<signal.h>#include <unistd.h>void pdosig(int num ,struct __siginfo * _siginfo, void * ptr){ static int count = 0; printf("I am parent ,pid is %d...

2018-12-14 23:02:19 1590

原创 Linux进程设置信号屏蔽字

#include<stdio.h>#include<unistd.h>#include<signal.h>int main(){ sigset_t set; sigemptyset(&set); sigaddset(&set,SIGINT); sigprocmask(SIG_BLOCK,&set...

2018-12-13 00:12:20 263

原创 LINUX中的64种信号及用途

信号在linux操作系统中是很重要的,信号的产生方式可以是来自键盘、由软件条件产生、调用硬件异常产生。来自系统函数调用产生、在linux中一共有64种信号 ,linux用户可以通过kill -l查看,如下1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) S...

2018-12-12 23:04:02 2053

原创 从0开始写一个通用的Makefile文件

     什么是Makefile文件       一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 Makefile三要素     目标 条件 命令   ...

2018-12-09 18:05:24 163

GNU make中文手册

GNU make中文手册的中文手册,如何构建Makefile以及对一些Makefile函数的详细说明

2018-12-09

空空如也

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

TA关注的人

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