- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 拜占庭将军问题
拜占庭的一群将军正在进攻敌方目标,他们分散驻扎在不同方向,将军之间通过信差进行通信。他们需要就下一步的行动达成统一意见,每个将军会根据观察到的敌情给出一个进攻或者撤退的指令,如果这些将军都是忠诚的,那他们很容易达成一致并正确的意见。但事情并非这般理想,将军中可能存在叛徒,他可能通过不发消息或者散播不同消息扰乱忠诚的将军达成一致的意见或者达成错误的意见。这就是拜占庭将军问题。...
2022-02-13 22:06:39
514
原创 protoc-gen-grpc-go生成的grpc Server接口中带mustEmbedUnimplemented***方法解决办法
1. 在serverImpl结构体中嵌入Unimplemented***Server结构体2. 在使用protoc生成server代码时命令行加上关闭选项,protoc --go-grpc_out=require_unimplemented_servers=false目前这个问题似乎时跟protoc-gen-go最新版本有关,这个特性社区还在讨论当中,后续可能会变动。我使用的版本如下;libprotoc 3.19.3protoc-gen-go v1.27.1...
2022-01-28 21:39:51
6591
3
原创 Windows 上修改docker-desktop镜像存储位置
Windows安装docker-desktop,默认下载镜像都会放在C盘导致,C盘占用快速增长,为此需要修改默认存放路径,修改办法是通过wsl来迁移原本的两个发行版docker-desktop和docker-desktop-data,最好在首次安装好docker-desktop就执行。具体操作如下,操作前先停止docker:查看发行版情况,此时两个都在runningwsl -l -v --allwsl --shutdownwsl --export docker-desktop-data D:\
2021-10-21 16:01:58
2003
原创 windows 10下安装docker踩过的坑
一般第一次通过官网Docker desktop installer安装完后,会提示重启电脑,不做任何操作,Docker Desktop启动会弹出一个Microsoft .Net Framework error的错误弹框,里面的内容大概是“未将对象引用设置到对象的实例”,google了下找到解释是需要删除"C:\Users\用户名\AppData\Roaming\Docker\"目录下的文件,然后重装Docker Desktop,重装过后,又报一个WSL的安装Linux内核更新的提示,根据提示安装后,Do..
2021-10-14 22:50:17
1156
原创 数据库事务隔离级别
数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。事务的ACID特性 原子性(Atomicity):一个事务是一个单元工作,当中可能包括数个步骤,这些步骤必须全部执行成功,若有一个失败,则整个事务声明失败,事务中其他步骤必须撤销曾经执行过的动作,回到事务前的状态。 一致性(Consistency):事务作用的数据集合在事务前后必须一致,若事务成功,整个数..
2021-07-08 16:38:19
174
原创 mysql中的日期转换
unix timestamp(即1970年1月1日0时0分0秒起至现在的总秒数)转timestampselect FROM_UNIXTIME(1611286768);timestamp转日期dateselect date_format(FROM_UNIXTIME(1611286768),'%Y%m%d');select date(FROM_UNIXTIME(1611286768));
2021-01-22 12:00:59
180
原创 log4j2配置
log4j2依赖于<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifac
2021-01-21 12:02:01
2169
2
原创 mysql计算表中最后两行之差
最近做一个需求,需要统计表中最后两行某列数值之差,隐隐约约感觉可以用sql语句来实现,然奈何我也是个sql菜鸡,基本的CRUD带点子查询还行,这种需求在我脑子里没什么概念。。所以抱着不撞南山不回头的信念开始在网上搜索解决方案,经过一番搜索发现网上有两处我需求类似的资源,一个是统计所有行之差的,一个是统计通过where指定某两行序号的,第二个资源与我的需求比较接近,可以改造,最终改造出了符合我需求的sql语句。看到满足要求的结果,心中喜,惊奇于sql语法的强大,只要熟练,可以做很多事呀。好了废话不多说,给出我
2020-12-24 10:11:40
544
原创 Linux下判断当前系统发行版本的方法总结
测试过的Ubuntu版本为Ubuntu Server 14.04, CentOS版本为CentOS 7.3。1、根据/etc/os-release文件,这个文件ubuntu和centOS下都有,以如下方式取出其中NAME字段的值即可判断系统版本awk -F= '/^NAME/{print $2}' /etc/os-releaseUbuntu系统输出如下:"Ubuntu"CentOS系统输出如下:"...
2018-04-29 12:17:57
5271
转载 一个简单的使用EVP框架的加密过程
转自 http://blog.youkuaiyun.com/njzhujinhua/article/details/6532896 const EVP_CIPHER *cipher; unsigned char key[24],iv[8],in[100],out[108],de[100]; int i,len,inl,out
2017-03-21 15:51:28
1805
原创 KMP子串搜索算法C语言实现
KMP算法是在已知模式串的next函数值的基础上执行的,此函数值仅取决 于模式串本身而和相匹配的主串无关,相当于离线计算好模式串的next函数值,KMP搜索子串过程中产生“失配”时,保持主串指针不变,通过查表确定next[j],移动模式串的指针到该位置再进行比较。主要是next函数值的确定。
2014-09-16 19:22:07
1669
转载 size_t size_type及wchar_t等类型
size_t在C语言中就有了。它是一种“整型”类型,里面保存的是一个整数,就像int, long那样。这种整数用来记录一个大小(size)。size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。通常我们用sizeof(XXX)操作,这个操作所得到的结果就是size_t类型。因为size_t类型的数据其实是保存了一个整数,所以它也可以做加减乘除,也可以转化为i
2014-08-16 20:09:24
965
原创 数据结构学习笔记之栈
栈(stack) 是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈项(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。
2014-08-03 15:56:02
1742
转载 Dependency Walker使用说明
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出
2014-07-30 12:30:13
918
原创 C++和python利用struct结构传输二进制数据实现
网络编程中经常会涉及到二进制数据传输的问题,在C++中常用的传输方式有文本字符串和结构体封包。如果能将要发送的数据事先放进连续的内存区,然后让send函数获取这片连续内存区的首地址就可以完成数据的发送了,文本字符串如char型数组,以字节为单位,在内存中是顺序存储的,所以可以直接用send函数发送。但是如果要同时发送多个不同类型的数据时,它们在内存中存储的地址是随机的,不是顺序存储的,而且它们之间
2014-07-28 09:57:29
5886
转载 windows网络编程实现简单WSASocket的C/S结构
运行时,请先启动服务器端 /** 服务器端*/#include Winsock2.h> #include stdio.h> #include iostream.h> #pragma comment(lib,"Ws2_32.lib") SOCKET sockSvc;//服务器端socketSOCKET s
2014-07-17 22:31:11
2037
原创 building web applications with erlang第4章程序问题
最近对网站后端比较感兴趣,传统的网站架构刚好学完erlang
2014-07-03 10:57:04
1243
原创 使用java.security.MessageDigest类来实现MD5、SHA加密
使用java.security.MessageDigest类来实现MD5、SHA加密,代码如下:
2014-05-28 11:26:40
2231
转载 memcached(Windows系统)安装与配置
1. 下载windows版本的Memcached:http://code.jellycan.com/memcached/2.解压之后放在硬盘的目录下,如:D:\memcached . 然后在运行中输入cmd进入命令行,进入到Memcached.exe 所在的目录,例如:D:\memcached,然后输入:Cmd代码 收藏代码到memcached根目录1、安装memcach
2014-05-16 17:53:21
1037
转载 Ubuntu系统添加PPA源
什么是PPAPPA,表示Personal Package Archives,也就是个人软件包集很多软件包由于各种原因吧,不能进入官方的Ubuntu软件仓库。为了方便Ubuntu用户使用,launchpad.net提供了ppa,允许用户建立自己的软件仓库,自由的上传软件。PPA也被用来对一些打算进入Ubuntu官方仓库的软件,或者某些软件的新版本进行测试。Launchpad是Ubuntu
2014-04-25 15:47:55
1553
原创 OpenStack Swift组件安装
今天终于有时间把最近安装Swift的过程整理一下,安装参考了一些资料,这篇博客主要是结合自己的实际把整个过程再回顾一遍,一是坚持写技术文档,二是希望对新手有点帮助。如需转载还望注明出处:http://blog.youkuaiyun.com/mirale/article/details/220492191.swift概述swift是openstack项目的重要组成部分,即分布式文件系统,
2014-03-30 23:52:49
3938
1
转载 DOS环境下含包并引用第三方jar的java程序的编译及运行
DOS环境下含包并引用第三方jar的java程序的编译及运行,在Linux系统的命令行下也适用。 1、程序目录机构 bin:class文件生成目录lib:第三方jar包目录src:源程序文件目录 2、程序代码: 3、程序编译 javac –classpath .;..\lib\commons-lang-2
2014-03-26 16:10:06
1233
原创 Ubuntu系统开机进入grub rescue模式解决办法
Ubuntu系统开机后进入"grub rescue>"模式?肯定是grub开机管理程序出问题了,出现这种问题也不用急着重装系统,还有解救办法。下面我就描述下自己的经历吧。我们有10台普通PC机用作服务器(OS为Ubuntu 12.04 LTS),之前安装系统的时候没有规划好硬盘分区,采用根目录/(498GB)+swap(2GB)的简单分区方式。后来服务器要用来做云计算虚拟化技术的研究,采用Op
2014-03-21 21:48:56
11046
4
转载 Linux Shell 编程(一)
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的She
2014-03-05 16:40:07
862
转载 C语言运算符优先级(超详细)
每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标
2014-02-11 18:32:23
1274
原创 xxx is not in the sudoers file解决方法
用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权限使用sudo,我们只要修改一下/etc/group文件就行了。下面是修改方法:1)进入超级用户模式。2)修改/etc/group文件,可以使用"vigr"命令,等同于用vim打开group文件
2014-01-20 11:01:06
2760
TCP-IP协议详解卷一(英文原版)
2014-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人