Fiddler抓取雷电模拟器4.x
Fiddler抓取雷电模拟器4.x本文原由之前使用Fiddler抓取雷电模拟器3.x版本,是可以按照常规做法,在无线网那里改为手动设置,填入本机ip和抓取端口(一般为8888)就能抓取到了,但是毕竟3.x的雷电安卓版本太低了,最近遇到些个别APP直接闪退,所以索性换成了4.x的雷电,但是官方好像并没有优化好,按照3.x的逻辑已经没有办法抓包了,查阅了很多帖子,进行过多次尝试后终于成功了,为了避免以后少走弯路,所以将抓包配置步骤记录如下
原因分析雷电4.x使用的是安卓7,对用户自行安装的证书不再信任,所以造成无法抓包
因此解决方式就是将证书制作成为系统证书
解决办法1、打开Fiddler,依次打开工具类中的工具,选择选项,然后找到https标签页,点击右侧的操作按钮,选择导出根证书到桌面
2、使用win+R打开运行窗口,输入cmd打开提示符窗口,输入如下命令进入桌面
1cd Desktop
3、找到桌面导出的证书FiddlerRoot.cer,使用如下命令将证书转换为.pem文件
1openssl x509 -inform DER -in FiddlerRoot.cer -out f ...
MySQL通过binlog恢复误删数据
docker安装mysql并开启binlog1、在linux中对应的挂载目录,我这里使用的是/mydata/mysql/my.cnf,创建mysql配置文件my.cnf,内容如下:
123456!includedir /etc/mysql/conf.d/!includedir /etc/mysql/mysql.conf.d/[mysqld]log-bin=mysql-binserver-id=1
2、执行docker命令直接进行安装,看到如下提示说明安装成功了
1docker run -di -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/my.cnf:/etc/mysql/my.cnf --privileged=true --restart=always -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7 --lower_case ...
Git快速入门
Git快速入门01、Git下载以及安装
下载地址:https://git-scm.com/download/win
这里我选择的是64位的免安装版
下载完成后是一个是一个自解压程序,我们可以使用7-zip将它解压到我们喜欢的地方,因为我们使用的是免安装版本,所以需要我们手动在系统环境变量的PATH变量中增加如下设置即可
1234# 例如这里我是将Git解压到E:\Software 请自行替换自己解压的位置E:\Software\Git\binE:\Software\Git\usr\binE:\Software\Git\mingw64\bin
到这里我们可以使用cmd来进行确认是否安装成功
1git --version
如果看到对应的git版本号信息的话,就说明我们的环境已经准备完成了~
02、Git的本地结构一共分为三个部分:工作区、暂存区、本地库
工作区:我们写的代码以及相关文件都会被存在这里
通过git add可以提交到暂存区
暂存区:我们想要提交但是还没有提交的文件在这里
可以通过git commit继续提交到本地库
可以通过git reset撤回到本地工作区
...
旧版eclipse问题总结
旧版eclipse问题总结
随着Eclipse越来越大,IDEA越来越好用,所以我的Eclipse一直使用的Neon.3 Release (4.6.3)这个版本,因为喜欢这个启动图标以及名字,也因为他可能是第一个支持JDK8的版本,足够我用来开发一些老项目使用也足够我应付一些新项目了,但是毕竟有点老,所以很多时候会遇到一些问题,下面就用来记录一些常见的问题以及解决方案
1、创建SpringBoot2.3.x或更高版本项目后,在pom.xml中第一行提示Unknown error
解决办法:
第一种是将SpringBoot版本调回2.2.x或更低版本即可,但是如果项目必须要用新版的,难道就没办法解决了吗?所以不推荐使用这种办法
第二种可以直接修改maven-jar-plugin.version的版本,我在maven的settings.xml中将原来的3.x修改为指定2.6版本的依赖,可能是旧版eclipse不支持高版本也可能是高版本的依赖在阿里仓库中无法下载造成的
12345678910111213141516171819202122232425<mirrors> ...
MongoDB学习笔记
MongoDB简介
MongoDB是为快速开发互联网Web应用而设计的数据库系统
MongoDB的设计目标是极简、灵活,作为Web应用栈的一部分
MongoDB的数据模型是面向文档的,所谓文档是一种类似于JSON的结构
简单理解MongoDB这个数据库中存的是各种各样的BSON(二进制JSON)
三个概念
数据库(database):数据库是一个仓库,在仓库中可以存放集合
集合(collection):集合类似于数组,在集合中可以存放文档
文档(document):文档数据库中的最小单位,我们可以存储和操作的内容都是文档
下载与安装
下载地址:https://www.mongodb.com/try/download/community
1、打开首页,我们可以在右侧下载当前最新版本的MongoDB,选择自己需要的操作系统以及安装包的类型,个人有软件洁癖,所以这里选择了免安装版使用
2、下载完zip版本解压后,放到自定义目录下,红框内无用文件可删除,如图所示:
3、新建data目录用于存放数据,新建配置文件mongodb.conf,如图示:
123456789101112131 ...
Java NIO学习笔记
NIO简介
Java NIO(New IO Non Blocking IO)可以理解为新IO或非阻塞IO,是从Java1.4开始引入的一个新的IO API,与原来的IO有同样的作用和目的,但是使用方式完全不同
NIO支持面向缓冲区、基于通道的IO操作。简单说,NIO将以更高效的方式进行文件的读写
传统IO与NIO的区别?
传统IO是面向流的,且是单向操作的。分别需要输入流跟输出流,流直接面对其中的数据,来进行数据的传输(即把文件通过byte[]数组进行传输),可以简单的将传统的IO理解为日常生活中的水流
NIO中建立连接的是通道,可以将通道简单的理解为日常生活中的铁路,但是铁路本身并不具备传输功能,我们需要通过缓冲区来进行传输数据,缓冲区可以对等的理解为火车。所以我们可以得知,NIO是面向缓冲区的,且是双向操作的
传统IO:面向流,直接传输数据,单向操作,阻塞IO(水流在水管中单向流动)
NIO:面向缓冲区,通道只做连接,传输依靠缓冲区,双向操作,非阻塞IO(火车在铁路上来回运输)
通道与缓冲区
NIO系统的核心在于:通道(Channel)和缓冲区(Buffer)
通道:表 ...
谷粒商城20-27 Nacos&Gateway网关
为什么使用SpringCloudAlibaba?SpringCloud部分组件停止维护和更新,给开发带来不便
SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制
SpringCloud配置复杂,难以上手,部分配置差别难以区分和合理应用
SpringCloudAlibaba的优势?阿里使用过的组件经历了考验,性能强悍,设计合理,给开发带来了极大的便利
搭建简单,学习成本低,可视化界面好
结合SpringCloudAlibaba的最终技术搭配方案SpringCloudAlibaba-Nacos:注册中心(服务发现/注册)
SpringCloudAlibaba-Nacos:配置中心(动态配置管理)
SpringCloud-Ribbon:负载均衡
SpringCloud-Feign:声明式HTTP客户端(调用远程服务)
SpringCloudAlibaba-Sentinel:服务容错(限流、降级、熔断)
SpringCloud-Gateway:API网关(webflux编程模式)
SpringCloud-Sleuth:调用链监控
SpringCloudA ...
谷粒商城28-35 ES6前端
ES6简介
ES6是2015年发布的一套JavaScript标准,基本上每年都有一个新版本
1、let&const
在VSCode中,新建一个.html文件,输入!回车即可快速创建出一个html模板
1、let声明的变量有严格的局部作用域
12345678910<script> // var 声明的变量往往会越域 // let 声明的变量有严格局部作用域 { var a = 1; let b = 2; } console.log(a);// 1 console.log(b);// b is not defined</script>
因为b是在代码块中使用let定义的,所以在括号外打印会提示not defined
2、let声明的变量只能被赋值一次
12345678<script> var a = 1; var a = 2; let b = 10; let b = 20; console.log(a); consol ...
谷粒商城36-44 vue前端
Vue
Vue是一套用于构建用户界面的渐进式框架,使用的是MVVM思想
官网:https://cn.vuejs.org/
1、什么是MVVM?
M:即Model模型,包含数据和一些基本操作
V:即View视图,页面渲染结果
VM:即View-Model,模型与视图间的双向操作(无需开发人员干涉)
在MVVM之前,开发人员从后端获取数据模型,然后要通过DOM操作Model进行渲染到View中,而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中
而NVVM中的VM要做的事情就是把DOM操作完全封装起来,开发人员不用在关心Model和View之间是如何互相影响的
2、安装使用Vue我们首先新建一个vue的文件夹,使用如下命令初始化项目
1npm init -y
初始化后我们就能看到目录中多了一个package.json文件
然后我们使用npm安装vue
12# 最新稳定版 npm install vue
到此我们就给当前项目成功安装了vue,只需要在项目中引入即可使用啦
1<script src="./node_modules/vue ...
Jenkins避坑配置
1、环境准备
Linux镜像,这里我选择的是CentOS7官方精简版,特点是占用空间小
链接:https://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
虚拟机软件,这里我选择的是VMWare15
SSH连接工具,这里我选择的是XShell6
2、环境配置此处省略VMWare与CentOS的安装步骤,直接从Linux中开始配置环境
1、配置网卡信息为静态IP地址,且开机自启动
123456789101112131415161718192021# 编辑ifcfg-ens33 按i进入编辑模式vi /etc/sysconfig/network-scripts/ifcfg-ens33# 将内容全部替换为如下信息 注意修改IP和网关为自己的TYPE=EthernetBOOTPROTO=staticDEVICE=ens33ONBOOT=yesIPADDR=IP地址NETMASK=255.255.255.0GATEWAY=网关地址DNS1=8.8.8.8# 按esc退出编辑模式 ...