- 博客(95)
- 资源 (6)
- 收藏
- 关注

原创 MacOs Catalina “无法打开***,因为无法验证开发者...”
今天用Android Studio编译一个项目,偶遇这个问题,说我的AS是从哪哪下载的,无法保证安全性之类的,不过忘了截图。编译另一个项目是好好的,猜想可能是这个项目要调用CMake ,而Catalina比以前的版本在安全方面做了增强,具体原理先不研究了,下面是解决办法。在终端执行如下指令,不出意外的话就可以了sudo spctl --master-disable执行完上面指令后,在 安全性与隐私 设置的 允许从以下位置下载的App 中会新增一个任何来源,如下面的对比图,然后应用在运行中就不会再被
2020-07-03 09:27:24
25495
4

原创 Spring Boot:@PostConstruct虽好,也要慎用
做过SpringBootk开发的话,肯定对@PostConstruct比较熟悉。在一个Bean组件中,标记了@PostConstruct的方法会在Bean构造完成后自动执行方法的逻辑。但是,这里有一个小坑。。。先说下SpringBoot中Bean的加载过程,简单点说就是SpringBoot会把标记了Bean相关注解()的类或接口自动初始化全局的单一实例,如果标记了顺序会按照用户标记的顺序,否则按照默认顺序初始化。在初始化的过程中,执行完一个Bean的构造方法后会执行该Bean的@PostConstruc
2020-06-16 16:57:50
28283

原创 Spring Boot:集成Mqtt实现消息的发送和接收
使用<<Docker案例:Mac系统中构建MQTT容器及使用>>文章中创建的Mqtt Docker容器结合SpringBoot模拟实现消息的发送和接收。在实际应用场景中,Mqtt模块可集成在任何硬件设备,如手持终端、车载模块以及一些定制的电路板中,即有通信功能的“物”中。下面主要记录SpringBoot项目中集成Mqtt的步骤。Springboot版本:2.2.6.RELEASE。。。。。。
2020-06-10 22:13:05
15720
19

原创 Spring Boot:基于JWT和Spring Security的登录验证
Spring Security是Spring全家桶中基于Web Filter实现的提供安全认证服务的框架。JWT(JSON Web Token)是一个跨域身份验证解决方案,可脱离Session进行身份认证,也可以同时为多系统间提供统一身份认证。下面主要介绍如何在SpringBoot后端项目中集成JWT和Spring Security实现用户登录
2020-04-18 17:30:11
1660
1
转载 分布式系统中的“无状态”和“有状态”详解
「数据一致性」和「高可用」其实本质是一个通过提升复杂度让整体更完善的方式。本文主要讲一些让系统更简单,更容易维护的东西——「易伸缩」,首当其冲的主题就是「stateless」,也叫「无状态」。服务的“状态”无状态的服务客户端的每次请求必须具备自描述信息,通过这些信息识别客户端身份。服务端不保存任何客户端请求者信息。无状态的好处?客户端请求不依赖服务端的信息,任何多次请求不需要必须访问到同一台服务服务端的集群和状态对客户端透明 =-服务端可以任意的迁移和伸缩 =-减小服务端存储压力什么.
2020-12-17 16:20:36
4901
转载 无状态服务(stateless service)
感觉文章不错,拿来的信息。涉及到图的地方已经没有了,凑合看吧,因为原文里的图片链接都失效了,防止原文链接再失效,直接贴到这里存档简介: 一、定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息 有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的 二、优劣 有状态服务常常用于实现事务(并不是唯一办法.
2020-12-17 16:17:19
8465
原创 Vue2 API重点摘选
Vue3已经Beta版本了,对Vue2进行一下回顾。下面列举了Vue2官网中一些不熟悉或者认为重要的点,一来用作温故知新承上启下,二来用作终点备查以免每次都看官网巨篇幅的文档。Vue选项mount注意 mounted 不会保证所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以在 mounted 内部使用 vm.$nextTick:activated/deactivated被 keep-alive缓存的组件激活/停用时调用beforeDestroy实例销毁之前调用。在这一步,.
2020-12-16 17:26:53
1489
3
原创 Jenkins任务重置build numbers
重置Jenkins构建任务的Build号码1 打开web界面如下图“Manage Jenkins > Scripts Console”2 根据Job名称编辑脚本脚本内容如下,执行脚本后,重新构建项目即可将构建号码重置为1.// job名称def job = Jenkins.instance.getItem("JOB_NAME")// 删除以前的构建历史记录job.getBuilds().each { it.delete() }// 将下一个构建号码重置为1job.nextB.
2020-12-11 15:02:38
2532
1
原创 Android 应用黑屏退出 !!! FAILED BINDER TRANSACTION !!!
1 问题现象Android应用使用百度的人脸识别库实现身份认证,认证过程中由登录界面调起百度的人脸识别界面,然后识别人脸图像后将图像转为Base64字符串通过 Intent 返回到登录界面。部分实现如下:Intent intent = new Intent();intent.putExtra("faceInfo", faceBase64String);setResult(Activity.RESULT_OK, intent);在人脸距离摄像头偏近的时候出现应用黑屏并退出的现象,logcat报错部
2020-12-10 16:04:37
819
原创 Linux scp复制文件错误“Host key verification failed“
1 问题现象在使用jenkins编译项目的时候,需要把编译输出的jar包复制到远程服务器,而jenkins服务器只提供了web操作界面。在使用scp命令复制输出结果时报错Host key verification failed。2 问题解决在 这篇文章 中提到,是 ssh/known_hosts 里面记录的目标主机 key 值不正确,需要删除对应的主机记录。但是目前并没有操作jenkins服务器的权限,所以在jenkins的Execute Shell中,将scp指令设置为不检查服务器的Key即可。指令
2020-12-09 16:33:17
3612
原创 Gradle编译错误处理 “Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain”
1 问题现象java项目本地可编译成功,但是提交到git之后,在其他环境下pull下代码再使用项目目录下自带的gradlew工具编译就报错,如下:2 问题解决网上搜了一堆大概都是在build.gradle添加wrapper,如下:task wrapper(type: Wrapper) { gradleVersion = '2.0'}但是并不能解决问题。最后发现,在项目中的.gitignore文件中排除了所有的jar包,所以导致项目目录下的gradle文件夹中不包含gradle-wr
2020-12-09 15:59:16
8250
原创 Mac磁盘分析工具ncdu使用
ncdu是一个磁盘空间分析工具,支持mac系统,可按目录展示磁盘占用空间并方便的清理目录或文件。1 安装mac下使用brew工具安装brew install ncdu2 用法安装完成后,在终端可输入ncdu -h命令查看使用方法。2.1 查看指定目录的磁盘使用情况# ncdu <目录>ncdu ~/Library输入上面命令回车,ncdu工具开始执行扫描~/Library目录下文件及文件夹的磁盘占用情况,扫描过程中可按q键取消扫描,如下图2.2 扫描结果如下图,扫描
2020-11-22 22:20:28
1464
原创 Element 输入框input响应回车事件
为对应的input输入框添加@keyup.enter.native事件<el-input placeholder="请输入内容" v-model="searchInput" @keyup.enter.native="search"></el-input>...method:{ search(){ console.log(`searchInput 输入框点击了回车键,当前输入内容:${this.searchInput}`); }}...
2020-11-22 21:55:20
12061
2
原创 SSH远程端口转发(打洞)
1 简介SSH(全称为Secure Shell)端口转发也被称作SSH隧道(SSH Tunnel)或者“打洞”,因为它们是通过SSH登录之后,在SSH客户端与服务端之间建立一个隧道进行通信。SSH是通过加密传输数据的,所以非常安全。远程端口转发(Remote Port Forwarding),如上图。应用场景:通过访问远程网络中的某端口从而访问本地网络的指定端口。比如本地主机L1中在端口18702运行了一个服务,这时我们可以通过SSH从本地登录远程主机中建立SSH隧道,这时就可以通过访问远程主机的指定.
2020-10-24 12:28:48
3921
原创 nginx转发规则location中的/
Nginx转发用于将原始请求转发到新的地址对应的请求,一般可用于二级域名转发或子路径转发以及静态资源转发等等。在转发的location节点下proxy_pass配置中,目标地址末尾是否有 / 有很大影响。以下通过模糊匹配的方式分几类情况进行对比:1 原始访问地址假设原始访问地址为:http://abc.com/log/test。在nginx中,针对子路径/log/配置转发,实现该子路径下的所有请求都转到另一个应用中进行处理。2 请求转发注:转发相关配置中只取了proxy_pass部分,其他部分根据
2020-10-16 17:21:24
5672
2
原创 SSH本地端口转发(打洞)
1 简介SSH(全称为Secure Shell)端口转发也被称作SSH隧道(SSH Tunnel)或者“打洞”,因为它们是通过SSH登录之后,在SSH客户端与服务端之间建立一个隧道进行通信。SSH是通过加密传输数据的,所以非常安全。本地端口转发(Local Port Forwarding),如上图。应用场景:通过访问本地网络中的某端口从而访问远程网络的指定端口。比如远程网络主机S1中在端口18702运行了一个服务,但是远程主机并没有对外开放此18702端口,这时如果本地需要访问远程主机中的服务可通过本.
2020-09-29 17:23:32
2804
原创 使用Jenkins持续集成SpringBoot项目
记录通过shell命令的方式使用Jenkins持续集成SpringBoot项目,关于Jenkins的部署可参考 《Centos8中Jenkins的安装及配置》。1 项目创建假设现在有一个git托管的可正常运行SpringBoot项目,项目构建工具使用gradle,地址为git@xxx.com:path/springboot-jenkins.git。2 Jenkins任务相关配置2.1 创建任务登录Jenkins,创建任务,如下图:输入任务名称后,这里选择构建一个自由风格的软件项目,然后点击确定
2020-09-22 18:05:38
1878
原创 Centos8中Jenkins的安装及配置
记录在阿里云Centos安装及配置Jenkins的过程。操作系统:CentOS 8.0 64位1 配置本地Yum安装源sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo2 导入秘钥sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key3 安装yum install j
2020-09-21 14:07:09
4038
1
原创 Centos中简易git服务器搭建
对于微小型的开发团队,可直接使用git工具进行代码仓库的管理。以下操作在Centos系统下进行。操作系统:CentOS 8.0 64位1 Git 安装首先安装git工具,可参考 阿里云ECS(Centos)中Git工具安装及配置。命令如下(建议在root用户下进行):# 安装gityum install -y git# 查看git版本git --version2 Git账户为便于管理,创建专用于git仓库的系统账户,存储仓库的源代码。2.1 创建git账户详细的用户相关操作可参考
2020-09-18 15:17:29
883
原创 关于JSON.parse转化不规范json字符串的问题
JSON.parse可以将一个json字符串转化为一个json对象。但是该方法对json字符串的格式要求比较严格,如果json字符串不太规范,转化就会报错。常见错误有两种:1 json字符串中的key值没有带引号key值不带引号的json字符串无法使用该方法转化,如下:{ a:1}转化报错如下:2 json字符串中的key值带的单引号如果json字符串中的key值带的是单引号,也无法转化,报错相同,如下:{ 'a':1}3 规范的json字符串格式json字符串中所有的ke
2020-09-16 17:13:24
4205
1
原创 阿里云Nginx配置站点403Forbidden问题
对于使用nginx提供服务的站点来说,访问站点返回403错误有多种原因,比较常见的如下:nginx配置中直接返回了403http状态码nginx中配置的站点目录或文件没有访问权限1 站点返回403状态码例如下面的配置,访问站点http://demo.lxh.space会直接返回403错误,如图 server { server_name demo.lxh.space; root /usr/local/wwwroot/demo; l
2020-09-15 22:17:34
3480
原创 Spring Boot:JPA + AuditingEntityListener时区设置
在SpringBoot项目中,如果应用启用了EnableJpaAuditing并且使用AuditingEntityListener对实体的创建时间、更新时间进行自动审计,可能存在生成时间的时区和系统时区不一致的问题。可在应用配置中添加如下配置,将时区设定为指定时区:spring.jpa.properties.hibernate.jdbc.time_zone = GMT+8...
2020-08-25 09:31:04
3150
原创 阿里云OSS STS最佳实践,看这一篇就够了
阿里云OSS(Object Storage Service,对象存储服务)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。在实际应用开发中,可方便的用于图片管理、文件管理等等,为应用提供图片访问及文件下载服务。何为“最佳实践”? 即使用客户端直传和临时授权。客户端直传避免客户端传到应用服务器再由应用服务器传到阿里云OSS的两步数据传输。临时授权,用阿里OSS官方的话说就是使用STS(Security Token Service,临时授权访问),可以为第三方应用或子用户(即用户身份由
2020-08-22 23:47:41
15495
原创 阿里云ECS(Centos)安装docker-compose命令
docker-compose可方便的管理和运行多个docker容器,本文记录在Centos中安装docker-compose命令的过程。1、下载安装从github获取docker-compose安装包,并安装到系统的/usr/local/bin目录下,如下图:curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/b
2020-08-20 22:18:15
1409
原创 阿里云ECS(Centos)中安装docker
1、docker简介docker是一款开源的容器引擎,可以让开发者打包应用以及依赖的库,然后发布到任何流行的linux发行版上,移植很方便。更多介绍可参考官网或自行搜索,这里重点介绍centos中docker的安装(本文安装版本为ce社区版)。宿主系统:CentOS 8.0 64位docker版本:19.03.12(社区版)2、安装命令整理在centos中,全部安装命令整理如下,按顺序共5条。更新及清理宿主机包yum update & yum clean all & yum lis
2020-08-19 23:04:30
625
原创 Dockerfile中使用sdkmanager安装Android SDK自动接受license的方法
1 未自动授权时现象未授权的Dockerfile脚本片段:# update sdkmanager and install build toolsENV ANDROID_VERSION=25 \ ANDROID_BUILD_TOOLS_VERSION=26.0.2RUN $ANDROID_HOME/tools/bin/sdkmanager --updateRUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUI
2020-07-22 17:57:02
1408
原创 Cordova项目添加android平台失败的问题
今天使用 cordova 创建项目后,添加 android 平台的时候一直失败,报错如下:Using cordova-fetch for cordova-android@~7.1.1Failed to fetch platform cordova-android@~7.1.1Probably this is either a connection problem, or platform spec is incorrect.Check your connection and platform nam
2020-07-07 19:51:31
4767
原创 Cordova Android 编译错误 Error occurred while communicating with CMake server
最近编译使用Cordova编译一个Android项目偶然出现错误"Error occurred while communicating with CMake server",也不记得在此之前自己折腾过啥了,如下图。记录下解决过程。1 环境信息主要开发环境信息如下:系统:MacOs CatalinaAS版本:3.2.1Gradle版本:4.12 修改项目及子项目build.gradle文件搜索了下网络资料需要调整 build.gradle 文件,全局搜索com.android.to
2020-07-07 15:20:53
419
原创 Nginx添加http_ssl_module、http_v2_module模块
如果第一次安装nginx没有配置SSL模块而后续添加的话,只能重新编译。但是,假如现有nginx之前如果有一些编译参数,再添加SSL的编译参数的时候也要包含原有参数,否则新编译出来的nginx可能不支持原有的部分功能。这里记录在现有安装的nginx基础上,添加 http_ssl_module 和 http_v2_module 模块,以支持SSL和http2。1 查看原有nginx编译参数使用如下命令,查看原有nginx编译参数...
2020-07-01 09:10:54
3730
原创 阿里云ECS(Centos)中Nginx安装及配置
Nginx是一个高性能的http和反向代理web服务器,本篇在记录阿里云ECS中安装及配置Nginx的过程。Nginx作为系统关键服务,下面流程全部在root用户下完成。系统:CentOS 8.0 64位Nginx:1.18.0版本1 安装nginx依赖Nginx的安装通过源码包编译完成,需要c++支持库,同时在Nginx运行过程中对于一些压缩、路由正则表达式、https支持等相关特性需要其他一些支持库。一般情况下,安装 gcc gcc-c++ pcre pcre-devel zlib ...
2020-06-30 13:47:17
5973
3
原创 阿里云ECS(Centos)中Git工具安装及配置
Git是一款最常用的版本控制工具,这里记录一下Centos 8中安装Git工具的过程,主要用于后续可以从该服务器拉取远端代码等用途。1 查看是否已安装yum info git未安装的情况下,指令结果给出了可安装的包以及包的版本等信息,如下:2 安装如果未安装,使用yum install命令进行安装yum install -y git安装完成后,再执行yum info git命令查看信息如下,提示已经安装包及版本信息。输入git回车可查看git的一些常用命令,如下:3 配置提交信
2020-06-28 17:25:19
1537
原创 Spring Boot:PostgreSQL整合JPA、MyBatis基本操作
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另.
2020-06-25 16:09:11
1822
2
原创 Docker案例:Mac系统构建PostgreSQL容器及使用
使用官方postgres镜像构建PostgreSQL容器,当前最新版本为12。另外,使用官方的adminer镜像构建可选网页版PostgreSQL操作客户端,当前最新版本为4。1 创建PostgreSQL数据目录用于将容器内部的数据文件映射到宿主机。创建目录:~/docker/postgres/data2 拉取官方镜像docker pull postgres:12docker pull adminer:43 构建docker-compose文件当前案例使用了两个镜像postgres和a
2020-06-25 08:53:02
1603
1
原创 Linux 用户及用户组操作
常用的用户组及用户相关操作。1 用户组操作创建admin用户组,指定组编号,命令如下:groupadd -g 777 admin其他用户组相关命令:删除xxx用户组:groupdel xxx修改用户组groupb名称为groupa:groupmod -n groupa groupb2 用户操作2.1 创建用户创建crane用户,并归属到admin用户组中useradd -g admin crane2.2 修改用户密码修改用户crane的密码passwd crane
2020-06-23 22:31:21
637
原创 阿里云ECS(Centos)中JDK 1.8配置
趁618大促,入坑了一个阿里云ECS,记录一下配置JDK的过程。系统:CentOS 8.0CPU:x86_64JDK:jdk-8u251-linux-x64JDK作为整机公用的支持库,下面整个过程使用root账户使用最高权限操作。1 下载JDK可从 官网 下载JDK,这里选择的8u251版本压缩包。官网下载JDK需要登录,需要注册账号。如果使用jdk-8u251-linux-x64版本也可从 百度网盘 下载,提取码:hs0l。注意,下载JDK时需要注意CPU架构类型和JDK匹配,关于CP
2020-06-23 11:24:57
405
原创 Linux 查看CPU架构及内核版本
涉及arch命令和/proc/version文件1 查看CPU架构有些软件的安装需要和CPU架构相匹配,如JDK等等,所以需要确定主机的CPU架构类型。可使用命令arch查看Linux系统的CPU架构,如下:arch2 查看内核版本文件/proc/version中包含系统内核的版本信息,可借助cat命令查看,如下:cat /proc/version...
2020-06-23 10:02:05
28512
原创 Linux ssh免密登录设置
如果客户机的ssh公钥在远端主机某用户的授权key文件中存在,那么可以在本机免密码登录远端主机的指定用户,下面提供两种方式实现。1 通过文件内容复制的方式将本机的当前用户目录下.ssh/id_rsa.pub文件中的全部内容追加复制到远端主机某用户目录下的.ssh/authorized_keys文件中即可实现ssh免密登录。注意不要覆盖远端主机.ssh/authorized_keys文件中的全部内容,在文件末尾追加一行即可,因为文件中可能包含其他客户端的授权key,覆盖后会导致其他客户端无法免密登录远
2020-06-23 09:27:16
924
原创 Linux中shell相关操作及配置
Linux系统中常用的shell类型有sh、bash、zsh等等。1 查看系统中支持的shell类型more /etc/shellschsh -l2 查看系统当前使用的shellecho $SHELLecho $03 临时切换shell直接输入shell名称回车即可
2020-06-22 22:20:17
719
原创 Java中数字的四舍五入和取整
Java中对数字进行四舍五入或取整处理经常使用Math库中的三个方法:ceilfloorround1 ceil 向上取整ceil英文释义:天花板。天花板在上面,所以是向上取整,好记了。Math.ceil 函数接收一个double类型的参数,用于对数字进行向上取整(遇小数进1),即返回一个大于或等于传入参数的最小整数(但还是以double类型返回)。2 floor 向下取整floor英文释义:地板。地板在下面,所以是向下取整,好记了。Math.floor 函数接收一个double
2020-06-18 17:31:15
27961
原创 Java中数字的进制转换
常用的进制类型:二进制、八进制、十进制、十六进制。其中十进制是人类计数最常用的进制,大部分操作都是以十进制作为桥梁进行转换。1 常用进制数字声明方式常用的进制,除十进制之外,在代码中声明其它进制数字采用加前缀的方式:二进制:加前缀 0b八进制:加前缀 0十六进制:加前缀 0x//声明2进制数字int num2 = 0b10000;int num8 = 020;int num16 = 0x10;System.out.println(num2);//16System.out.print
2020-06-14 07:45:19
1886
SpringBoot2.2.8集成PostgreSQL12 JPA MyBatis
2020-06-25
日记本小程序 音乐功能
2008-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人