- 博客(119)
- 收藏
- 关注
原创 mongdb迁移方案及比对方案
将结果导入到excel中,将md5值两列选中,设置高亮重复项,选中md5列进行筛选,进行颜色筛选,若列中只有一种颜色表示,整列没有差差异,若还有其他颜色表示比对有差异;并进行首行和尾行进行校对,查看首行和尾行结果是否一致
2023-10-19 10:19:20
200
原创 设计模式之观察者模式
以上就是自己实现的观察者模式,但是,当然了java中已经帮我们实现了观察者模式,借助于java.util.Observable和java.util.Observer。当对象间存在一对多关系时,则使用观察者模式(ObserverPattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。观察者1号,这里观察者,不只观察3d,还观察了双色球类,实现了多观察。观察者二号,也观察了CreateSubject。被观察者2号,双色球类。...
2022-07-30 16:02:58
299
1
原创 IDEA远程调试
IDEA远程调试配置需要reacher 配置同步修改在idea添加远程name命名,host 远程ip修改,端口配置。复制jvm 栏配置到reacher , module 选择对应的模块。rachher 配置添加对应的端口配置,重启reacher 即可...
2022-04-15 09:54:35
365
转载 SkyWalking 链路追踪
目录 一、前言 二、SkyWalking是什么 三、链路追踪框架对比 四、主要功能特性 五、服务端搭建 六、SkyWalking接入微服务 七、SkyWalking跨多个微服务跟踪 八、持久化 基于mysql持久化 九、自定义链路追踪 十、性能剖析 十一、SkyWalking集成日志框架 SkyWalking通过grpc上报日志(需要v.8.4.0+) 十二、告警 告警规则...
2022-04-14 15:10:57
2002
1
原创 【Java Optional使用】
Java Optional使用java 8 optional 怎么做是一个主要解决空指针(NullPointerException)的包装类。该Optional 类既可以含有对象也可以为空,解决繁杂的代码,实现函数式编程。例子:下面代码任何对象和属性都有可能导致报错空指针String isocode = user.getAddress().getCountry().getIsocode().toUpperCase();要想确保不抛异常,就得访问每一个值之前明确检查if (user != n
2022-02-15 19:55:07
172
转载 Linux重启 Redis自动启动
今天又要维护新的服务器了,翻了一下网上Redis自动启动,结果配置一大堆,其实很多没什么用,也不好理解,所以干脆把我自己的记录给写这里给大家参考。 第一步:创建Redis启动服务 在系统开机启动项目录 /lib/systemd/system 目录添加 redis.service 文件 [root@iZ23evimvf8Z ~]# `vi /lib/systemd/system/redis.service` 第二步:写入启动命令 [Unit]Descript...
2020-12-28 23:02:03
500
转载 多个数组间元素排列组合问题求解(Java实现)
求多个数组之间元素的排列组合问题,方法有两个:递归法、循环法。 首先应该认识到的是: 所有可以用递归实现的操作都可以转化为用while、for等循环实现。 递归法 优缺点: 数组数量不太多时用递归法确实使程序比较简洁,数组数量太多时递归函数栈过大,有可能导致运行时栈溢出。而且相对常用的算法如普通循环等,运行效率较低。 实现代码一 /** * 写法一,递归计算所有组合 ...
2020-11-03 10:14:31
2094
原创 mysql 多行合并 和多列合并函数 json_object 的使用 uuid() 和 uuid_short() uuid()
最近在做新老系统的切换,老系统有很多数据不能丢弃,实在太懒,不想写程序来迁移数据,脚本也会的不多,只能写写sql, 现在写的差不多了,感觉自己收获还是不小。常去触及自己盲区,总能有所收获,做做总结:1、uuid() 和 uuid_short() uuid() 查询时多列的值是一个不会变化,而uuid_short() 不会重复每次会加1 非常适合当主键来使用。2、case when a=1 then 1 end b 查询时的判断条件用处特别多。3、多行合并 和多列合并函数 conca
2020-09-30 15:01:06
819
转载 Linux 下的hiredis的简单安装、测试
首先进入hiredis官网进行包的下载:进入到下载页面,点击最新版本的tar.gz包进行下载,接下来的过程和安装Redis完全一样1、解压:tar -zxvf hiredis-0.13.3.tar.gz2、编译:make3、安装:make install4、新建一个文件夹RedisTest:mkdir RedisTest5、新建一个RedisTe...
2019-05-29 09:51:27
1030
原创 rm -rf /回收站
rm -rf / 回收站你是不是有误删过,然后很痛苦的去找,可能还找不回来,浪费大量时间精力。防止误删将rm 操作改为mv 操作 然后写个脚本定时删除就好。轻松解决。第一步vim ~/.bashrc alias rm="/root/rmeditmv.sh"#重载生效source ~/.bashrc第二步#创建回收站mkdir ~/trash编写shell 脚本#!/b...
2019-04-12 10:31:08
900
1
原创 定时任务执行shell脚本中 grep -v grep 中的坑
需求有一个后台进程会异常挂掉,没有时间去看错误记录,需要暴力重启该进程,每次都手动的执行觉得很麻烦,于是写了个简单的shell脚本来定时执行。脚本第一次写的脚本解释:一开始上如上图这样,./test.sh 跑一下,是可以的。但是用定时器来跑失败。分析:ps 命令将某个进程显示出来 。-e 显示所有进程。-f 全格式。grep 查找字符grep -v grep 是过滤掉自己执行...
2019-03-29 13:52:18
6293
3
原创 Redis Linux安装配置
一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。和M...
2019-03-27 11:26:01
157
原创 使用SSH反向隧道进行内网穿透
需求说明:有服务器a(公司内网)、b(公网)、c(家庭电脑)。想利用本机穿透公网连接上内网。操作内网的mysql等。一、Linux之间配置SSH互信(SSH免密码登录)修改/etc/ssh/sshd_config 文件RSAAuthentication yes #启用rsa认证 PubkeyAuthentication yes #启用公钥私钥配对认证方式 AuthorizedKey...
2019-03-22 15:51:00
471
转载 Golang通过go get github.com/astaxie/beego框架报错 error: while accessing https://github.com/astaxie/beego
在Centos6.4尝试搭建beego框架,使用git命令clone时报错# cd .; git clone https://github.com/astaxie/beego /www/project/src/github.com/astaxie/beegoInitialized empty Git repository in /www/project/src/github.com/asta...
2019-03-21 13:50:13
6131
转载 beego配置详解
beego 目前支持 INI、XML、JSON、YAML 格式的配置文件解析,但是默认采用了 INI 格式解析,用户可以通过简单的配置就可以获得很大的灵活性。默认配置解析通过这个文件你可以初始化很多 beego 的默认参数:appname = beepkghttpaddr = "127.0.0.1"httpport = 9090runmode ="dev"aut...
2019-03-05 16:09:27
3667
转载 mysql句柄数过多"too many open files"问题解决
问题说明:1) 在Linux中查看日志时,发现有Can’t open so many files信息。应该是虚拟机打开文件数或者sockets数太多了。在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。对于一般的应用来说(象Ap...
2019-02-22 16:15:14
5402
原创 php接口安全设计及实现
php接口安全设计浅谈接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:(1)Token授权机制:(Token是客户端访问服务端的凭证)–用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果...
2019-01-08 11:26:49
1854
原创 微信报错config:fail.Error:invalid signature
微信报错config:fail.Error:invalid signature之前做微信分享出现config:fail.Error:invalid signature错误可能有很多,现在大概总结下。1、检查你的ip白名单设置,是否有你使用ip.2、 通过 appid + appsecert 获取公众号的 access_token,检查获取token是否正确或过期。3、根据 access_t...
2018-10-19 11:03:04
16715
原创 Liunx修改主机名 redis修改名字
Liunx修改主机名:hostnamectl set-hostname lzbredis修改名字:client setname lzb获取名字: client getname
2018-10-18 13:42:01
1403
转载 CGI、FastCGI和PHP-FPM关系
CGI、FastCGI和PHP-FPM关系图解 转:https://www.awaimai.com/371.html 目录基础Module方式CGIFastCGI介绍FastCGI简单介绍FastCGI的工作原理PHP-FPM介绍总结参考资料在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解...
2018-09-28 10:02:22
313
转载 yum 安装mongodb和扩展
yum 安装mongodb和扩展 转自:http://xgs888.top/post/view?id=64 centos7 yum安装mongodb;1:创建仓库vi /etc/yum.repos.d/mongodb-org-3.4.repo2:把下面的内容复制到文件中 保存退出[mongodb-org-3.4]name=MongoDB&nb...
2018-09-25 10:03:17
3003
1
转载 搭建一个redis高可用系统
原网址:http://www.jianshu.com/p/c2ab606b00b7一、单个实例当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行。单个实例二、备份由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份(一般工业界认为比较安全的备份数应该是...
2018-09-21 15:34:30
214
转载 Yii2 – Mongodb的安装和配置 mongo
Yii2 – Mongodb的安装和配置 mongo mongodb官方安装文档:https://www.mongodb.com/download-center下面是centos环境安装mongodb3.2的步骤1.sudo rpm --import https://www.mongodb.org/static/pgp/server-3.2.ascsudo rpm -...
2018-09-18 10:44:50
2133
转载 Linux 搭建git服务器
1,linux下建立git仓库1.1、安装Git$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel$ yum install git接下来我们 创建一个git用户组和用户,用来运行git服务:$ groupadd git$ useradd git -g git1.2...
2018-09-05 17:00:29
127
原创 nginx index.php 隐藏设置
nginx index.php 隐藏设置server { listen 80; server_name www.fyxt701.com; index index.html index.htm index.php; root /home/wwwroot/default/shop/public/; error...
2018-09-05 10:17:10
1107
转载 Mysql主从同步备份策略分享
环境:主从服务器上的MySQL数据库版本同为5.1.34主机IP:192.168.0.1从机IP:192.168.0.2一. MySQL主服务器配置1.编辑配置文件/etc/my.cnf# 确保有如下行server-id = 1log-bin=mysql-binbinlog-do-db=mysql  #需要备份的...
2018-08-30 15:27:07
1006
原创 主从复制错误Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MyS
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the –replicate-same-server-id optio...
2018-08-30 15:15:19
8021
原创 ThinkPHP5.0 空模块、空控制器、空操作的跳转
ThinkPHP5.0 空模块、空控制器、空操作的跳转空模块首先找到think\App.php,备份,然后修改: 找到【throw new HttpException(404, ‘module not exists:’ . $module);】,在它前面添加【 header(‘Location:/404.html’);die;//在此进行跳转】空控制器、空操作<?php...
2018-08-27 12:05:48
2163
原创 Apache 压力测试工具ab
Apache 压力测试工具abab是针对apache的性能测试工具,可以只安装ab工具。ubuntu安装abapt-get install apache2-utils1centos安装abyum install httpd-tools1ab的参数详细解释格式: ./ab [options] [http://]hostname[:port]/path参数:-n在...
2018-08-27 12:02:15
300
原创 解决thinkPHP5 paginate()分页不带参数问题
thinkPHP5 paginate() Query.php use think\Request; paginate()方法加这个段代码 $config['query'] = isset($config['query']) ? $config['query'] : Request::instance()->param();
2018-07-27 13:35:22
3253
原创 Linux学习03tcp_wrappers
Linux学习03tcp_wrappers Linux本身有两层安全防火墙,通过ip过滤机制的iptables实现第一层防护,iptables防火墙通过直观地简史系统的运行状况,阻挡了一些恶意攻击,保护整个系统正常的运行,免受攻击和破坏,如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过tcp_wrappers可以实现对系统中提供某些服务的开放和关闭,允许和禁止。从而更有效...
2018-06-24 22:46:24
217
原创 Linux学习02
rpm -q yum 检查yum 是否安装 安装yum rpm -ivh yum-*.noarch.rpm 按照依赖依次安装。 yum 命令 安装 yum install 包名 卸载 yum remove 包名 yum check-update 检查可以更新的包。 yum update 包名 更新指定包。 yum info 列出所有安装prm包的信息。 yum info 包名...
2018-06-24 22:09:25
119
原创 Liunx学习01
linux学习常用命令: useradd 用户添加 passwd 密码设置 userdel 用户删除 groupadd 用户组添加 groupdel 用户组删除 禁止test用户登录 usermod -s /sbin/nologin/ test 关闭系统不需要的服务 chkconfig –lev...
2018-06-24 17:54:55
123
原创 sphinx搜索优化
php+中文分词scws+sphinx+mysql打造千万级数据全文搜索 转:https://blog.csdn.net/nuli888/article/details/51892776
2018-05-30 10:08:39
702
原创 nginx配置pathinfo模式,解决访问404
nginx配置pathinfo模式,解决访问404什么是pathinfo,pathinfo是PHP的一个函数pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。返回的数组元素如下:[dirname]:返回文件路径中的目录部分[basename]:返回文件路径中文件名的部分[extension]:返回文件路径中文件的类型的部分pathinfo模式就是www.t...
2018-03-24 14:19:27
1528
转载 微信jssdk分享功能开发
先理解下分享: 在app端 ,经常能看见 分享按钮的功能,(分享给朋友,分享到朋友圈,分享到QQ空间等等);https://open.weixin.qq.com/(微信开发平台),这需要到开放平台注册账号,绑定自己的应用,才能实现其权限; 在微信公众号开发过程中,目前,现在只能,实现,自定义分享内容,而不能自己开发分享按钮; 我们通过一些分享的方法,只是获取“*******” 按钮点击
2017-12-20 17:16:57
460
原创 MySQL远程连接不上
MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服务器上又遇到这个问题,记录一下解决过程。1.排除网络或防火墙问题先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。配置防火墙,开启3306端口vi /etc/sysc
2017-10-27 09:38:27
5419
转载 Nginx提示502和504错误的终极解决方案
一、错误提示说明:Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。二、错误提示原因分析:解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Ba
2017-10-26 13:47:01
4886
转载 git从windows上推到linux里去
1.安装好linux,安装好git(192.168.1.239)2.创建一个用户zph(让此用户提供git on server),密码设置为12345678[python] view plain copy # useradd zph [python] view plain copy # passwd zph 3.切换到zph用户[python] view plain cop
2017-10-24 16:58:16
1299
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人