自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring 5.1.x 本地构建 build.gradle文件配置

遇到的报错:Could not find io.spring.gradle:propdeps-plugin:0.0.9.RELEASE.

2023-10-11 10:33:21 625

原创 基于Halo搭建个人博客

云服务器安装Docker开启8090端口。

2023-09-29 21:10:03 290

原创 多个Bean自动注入成Map @Autowired @Service 策略模式

将多个策略的具体实现自动注入到Map中。

2023-09-29 21:08:28 815

原创 docker mysql 5.7 连接不上 密码错误

执行命令之前,在宿主机创建好/var/lib/mysql文件夹,其中创建一个conf.d文件夹和一个my.cnf,conf.d文件夹是空的,my.cnf里面的内容是。然后通过上面的run命令去创建新的mysql容器,然后进到容器的bash里,(可能需要restart一下这个新容器),然后密码就正确了。密码是正确的,从docker的启动命令里就能看到当时run的时候设置的环境变量,可是就是进不去。重新基于mysql:5.7镜像构建一个容器。

2023-06-05 23:43:08 952

原创 多个Bean自动注入成Map @Autowired @Service 策略模式

设计模式

2023-01-23 00:27:10 1432 1

原创 axios和SpringMVC数据交互(一维二维数组,JSON/form形式,@RequestBody/@RequestParam)

前端或postman发送数组,后端controller做为入参接收后端springboot spingmvc不是k-v,直接是一个数值数组postman(与上方的前端代码等效)后端JSON要用@RequestBody去接收以JSON形式发送对象,对象中有数组前端postman后端以JSON形式发送对象,对象中有二维数组前端或postmandata0或者postman框中的文本改为后端把TestEntity的ld改成类型以x-www-form-ur

2022-12-06 11:19:41 786 1

原创 SpringBoot项目调用Matlab方法

SpringBoot项目调用Matlab方法

2022-11-23 20:21:01 1264 4

原创 docker容器、镜像的导出导入、保存加载

docker镜像导出两种方案的学习

2022-10-28 23:13:22 584

原创 java redis lua脚本 nil tonumber string

场景还原环境redission 3.14redisTemplate:Jackson2JsonRedisSerializer+StringRedisSerializer<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.14.1</

2022-05-16 01:24:36 1497 1

原创 Redis压缩列表ziplist

ziplist的组成和在数据类型中做为编码的使用一个压缩列表my_zl的组成一个压缩列表节点的组成ziplist编码的Listziplist编码的Sorted Set存储格式ziplist编码的Hash表存储格式一个压缩列表my_zl的组成属性 字节数 含义zlbytes 4B-my_zl全部内容占用的内存字节数zltail 4B 尾节点的偏移,O(1)地找到尾节点,不然要从头遍历zllen 2B my_zl中节点的数量,即后面entry的数量entry0 字节数不定

2022-05-15 10:45:38 143

原创 代码测试 等待、超时等待、阻塞状态下被中断会发生什么?中断标志位会变成什么?

欢迎一起交流问题先说总结:测试1 测试结论:LockSupport.park();可被中断且保留中断标志位2 测试结果:sleep()可以被中断,且清除标志位3 测试join4 测试obj.wait()5 测试synchronized问题让线程进入等待、超时等待、阻塞的方法,能否被中断?被中断后中断标志位是true还是false?被中断后除了中断标志位还有什么操作?先说总结:LockSupport.park()的WAITINGZ中,中断会继续往下执行,同时不清除标志位sleep(), join(

2022-04-09 00:41:46 842

原创 Scanner nextInt() next()之后nextLine()遇到的问题 读不到字符串

Scanner sc = new Scanner(System.in);sc.nextInt()//从光标读int,直到下一个空格,读完光标放在同一行,sc.nextLine()//从光标读int,直到下一个换行,读完光标放在下一行问题System.out.println(sc.nextInt());System.out.println(sc.nextInt());System.out.println(sc.nextLine());然后输入如下1 2lemon是输出不了lemon的

2022-04-03 14:56:11 304

原创 多模块项目/全局异常处理/失效/没用/不生效

需求在common模块添加一个GlobalExceptionHandler,在引用了common模块的其他模块抛出某个异常时,可以直接通过这个全局异常处理器return前端,异常的消息在异常里,抛出时传入参数问题现有common模块和oauth2模块,结构如下,oauth2模块依赖common模块在TokenController中throw new ParameterException(“测试错误”);时,应该是可以直接返回给用户“测试错误”的response的,测试失效,用户直接收到提示Inte

2022-03-16 17:54:50 1443 2

原创 nacos+sentinel+openfeign实现流控Demo

nacos+sentinel+openfeign实现流控Demo需求新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入需求使用nacos进行服务的注册与发现使用openfeign进行服务间的调用使用sentinel进行

2022-02-10 17:07:36 1669

原创 手写spring boot starter

MyPropertiespackage com.jiading;import org.springframework.boot.context.properties.ConfigurationProperties;@ConfigurationProperties(prefix = "spring.jiading")public class MyProperties { private String host; private int port; //省略 get se.

2022-01-11 15:37:33 584

原创 StableQuickSort

注:leetcode912超时class Solution { public int[] sortArray(int[] nums) { stableQuickSort(nums, 0, nums.length-1); return nums; } public void stableQuickSort(int[] nums, int i, int j){ if(i >= j){ return ;

2022-01-11 10:00:07 145

原创 ArrayList深浅拷贝、HashCode

今天碰到一个ArrayList拷贝的问题,在一道搜索回溯题目中,过程中的list可能是需要加入到最终的list<list<>>数组中的,浅拷贝会导致后面的搜索回溯中影响已经加入结果数组的List出现问题,题解 中我看到大佬使用的是res.add(new ArrayList<>(list)),也就是说List<Integer> list3 = new ArrayList<>(list1);list3是不同于list1的新数组对象,后序改变list

2021-12-26 10:52:41 292

原创 若依登录和JWT验证的大体流程和对redis的使用

其中SpringSecurity验证部分也是很复杂的

2021-12-03 22:00:44 1135 1

原创 .Class文件常量池小理解

本文基于:链接下面是一个类和它编译出来的JVM能识别的字节码文件,即.Class文件package com.ejushang.TestClass;public class TestClass implements Super{private static final int staticVar = 0;private int instanceVar=0;public int instanceMethod(int param){ return param+1; }}interface Su

2021-11-27 10:20:53 318

原创 js Promise小理解

代码1const promise = new Promise((resolve, reject) => { console.log("1") setTimeout(() => { console.log("3秒后打印:2") }, 3000) resolve() //注意resolve的位置 console.log("3")})promise.then(() => { console.log("4")})console.log("5")代码

2021-11-24 19:45:08 500

原创 vue打包js文件混淆加密保护

需求部署到服务器上的vue项目在网页F12之后能看到源码,vue文件啦,js文件啦,都能看到,连我的注释都能看到,这能随便给别人看?环境vue 3vue cli 4webpack 4解决方案方案一工具:“uglifyjs-webpack-plugin”: “^2.2.0”使用:const UglifyJsPlugin = require('uglifyjs-webpack-plugin')... module.exports = { configureWebpack: {

2021-11-22 23:08:31 11566 20

原创 同一域名nginx部署多个vue项目

需求将多个vue项目通过nginx部署到同一台服务器,通过ip:80/demo1,ip:80/demo2这种形式去访问环境vue 3vue-router 4vue cli 4最开始只是想要解决的是一个项目通过tomcat部署到服务器之后刷新报404的错误,官方也给出解决方案,通过nginx配置,好吧,尝试使用Nginx,结果遇到好多问题,各种404,403,500,这里给出最终成功的方案,关键参考:链接项目一vue.config.js...publicPath:"/position"

2021-11-20 19:44:02 739

原创 jar包做成镜像运行

1、在自己电脑打包出jar2、传到远程服务器,新建一个文件夹,把jar包放进去3、 在jar包同一文件夹下创建Dockerfile文件FROM java:8#把文件夹内的jar复制到容器中,重命名为app.jarADD YourOwnName-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"]4、在jar包所在目录创建镜像docker build -t testimage:1.0 .最后一个点表示Docke

2021-11-08 23:02:57 4287

原创 three.js ViewHelper 使用报错

Threejs:Class constructor Object3D cannot be invoked without 'new'参考:参考处尝试更改three.js到0.124.0npm uninstall three --savenpm install --save [email protected]

2021-11-06 15:08:23 821

原创 Docker mybatis springboot项目部署使用mysql

本文基于上一篇文章:链接需求将本地springboot项目部署到服务器上,使用docker,项目中是需要使用mysql的,干脆mysql也搞成docker的,事先说明,这是基于两个docker容器的,不是什么docker-compose,技术含量不高,记录一下;环境Linux: docker, mvn, jdk上一篇文章所讲的单独的一个springboot项目的docker运行(不涉及数据库)的基础新增的需要做的服务器不需要安装Mysql,通过docker pull mysql57来拉取

2021-10-25 22:42:01 374

原创 基础SpringBoot项目通过Docker部署到Linux服务器

服务器安装jdk, maven(包括/etc/profile环境变量的配置)服务器安装docker(可以使用宝塔傻瓜式安装)初始化一个springboot项目,要做的有:准备好Getmapping("/hello")等到服务器上运行起来后好测试;pom中引入docker-maven插件,以下代码在< build ></ build >中<plugins> <plugin> <groupId>org.spr.

2021-10-24 20:34:30 2936 1

原创 JWT放在cookie里,怎么实现的避免CSRF?

突然想到这个问题,拜读了这篇文章【链接】理解了一点,直接搜索出来的2016,2017年的文章,讲基本都是CSRF Token,都是Token,它和JsonWebToken是不一样的,二者可以说是并列关系,都是避免CSRF的方案。要理解为什么JWT放在Cookie里却能实现避免CSRF要注意到:CSRF的原理是危险网站B盗取登陆成功的业务网站A的Cookie,用户点击危险网站B的带有请求A网站URL的的按钮,关键在于网站A服务端鉴权是使用的Cookie,token存在Cookie里只是暂存,最终的唯一去向.

2021-10-18 20:59:42 768

原创 IDEA 2021.2.2 取消双击shift搜索框

现在网上对这个问题的解决都是老版本的解决方案,这个版本的idea的注册表里没有那个选项,既然是双击shift打开search everywhere嘛,那就利用一下哦豁,所以嘛,打上✔就OK了

2021-10-16 15:11:23 519 5

原创 vue three.js sprite canvas img 预加载图片 更新文本

前言老早之前就搞过sprite用canvas做材质然后更新canvas里的文本的案例,当时比较乱,还用了windows.requestAnimationFrame(),而且在html里加一个我感觉有点不整洁,再次总结提高一下效果核心代码mounted(){ //温度值 this.tem1 = null //预设一些需要的变量 this.canvas = document.createElement("canvas"); this.context = null; this.s

2021-10-04 12:38:15 695

原创 THREE.Line在某些角度消失

场景:orbit控制相机运动,对场景中的线环绕观察,确实时不时会消失,时不时又出现尝试过程:材质的depthTest,DoubleSide都试过,相机和控制器也添加了updateProjectionMatrix()和update(),尝试把Line换成Line2失败了,没有深入学习,因为基于别人造的功能,具体是通过修改geometry的position数组来改变Line,而Line2好像不能通过修改数组来更新?我不清楚,需要进一步学习。重要的一点是,我发现并不是某些角度消失,而是在相机视野范围内没有

2021-09-22 20:13:20 596 1

原创 3dmax导出的FBX加载到three.js后有黑色的处理参考

这里写自定义目录标题场景处理方案其他提醒场景准备优化一下之前建的模型,重新建了一下,放到场景之后发现模型有的地方是黑色,而且还有看不到的,必须从另一个方向才能看到的问题,下图是黑色的问题,右为正确模型处理方案模型面没闭合,其实在3dmax里用“标准”模型查看模型的时候,就能看到黑色和不黑的通过给边加“桥”把边连成面使面闭合焊接多余的点,通过框选选择顶点,有些时候经过附加或者镜像,同一个位置会有多个点,这个应该是影响了面的方向,导致黑面删除点和线时不能直接按delete,得点右键菜单里的删

2021-09-08 20:33:58 1919

原创 three.js项目从vue2升级成vue3、vue-router3升级成vue-router4后续遇到的问题

关于把对象声明在data()还是mounted()按照网上的说法,非数字的放在mounted(),数字的放在data(),比如container,camera,mesh,orbitControl,gridHelper,socket,datGui,fbx,gltf那这些的就声明到mounted()里了,全部都是this.XXX=null;,这样的好处也有一个就是最后在beforeUnmount()里可以直接把这一些复制进去,当然还需要关闭socket、清除监听事件、cancelAnimationFrame等

2021-08-03 20:24:28 441

原创 Three.js 动画 Animation 理解

场景在3dmax中做模型和动画,导出FBX格式,转换成GLTF后通过three.js的GLTFLoader导入网页,通过AnimationMixer.setTime()来控制动画进度主要步骤建模及制作动画,要注意的是,动画需要按照30帧为单位来做通过FBX2glTF-windows-x64.exe来进行转换,有个问题是,开始我用的动画是24为单位,一共48帧的动画,转成gltf后,最后一帧会丢失,3dmax里整个动画是前后相同的,也就是第0帧和第48帧是一样的,结果导致转成gltf后,用windo

2021-07-19 18:21:30 703

原创 NATAPP的使用

场景服务器在远处,那里没有网线,可是需要对服务器远程SSH登录操作消费无线网卡:因为服务器那里没有网,太远了又不可能局域网NATAPP隧道:10块钱一个月就能买一个VIP_2型隧道原理简述隧道的作用就是,natapp这家公司的服务器,提供一个端口,这个端口通过网络连接服务器的某个端口(比如ssh就是22端口,数据库就是3306端口,这个端口可以在natapp网站"我的隧道"里配置),自己的电脑通过网络访问natapp这家公司的服务器的这个端口,也就相当于自己的电脑通过natapp服务器的一个端口

2021-07-15 09:57:07 647

原创 vue2项目升级vue3、vue-router3升vue-router4小记

项目vue2升级vue3记录之前的包版本更新版本嘛,多简单遇到的几个坑现在的package.json之前的包版本看视频的时候发现vue3的一些基础配置代码有变,比如出使用createApp,app.use(),app.mount(’#app’)等,跟我现在的vue2 new Vue以及vue-router的方法上都有不同,我一直以为自己是vue3,本着追求新事物的想法,下午心血来潮把项目的vue和vue-router版本升级了一下,这是之前的package.json "dependencies": {

2021-07-12 22:09:54 2731 3

原创 js事件监听中的bind/apply的作用

threejs的FirstPersonControls.js中的部分代码:var FirstPersonControls = function ( object, domElement ) { this.onKeyDown = function ( event ) { //event.preventDefault(); switch ( event.keyCode ) { case 38: /*up*/ case 87: /*W*/ this.moveForward = t

2021-07-05 21:29:48 176

原创 jav使用python模型实现方案

目录大体流程python方面生成模型并导出pmml的代码Java方面一个坑另一个小点代码大体流程用python将生成的模型导出为pmml格式,java通过加载本地pmml文件的形式读取模型,给予参数,实现预测或分类,本文用spring boot,接口接收前端各参数数值,预测后返回给前端使用,大致这么个流程python方面生成模型并导出pmml的代码def exportPmml(): iris = load_iris() # 创建带有特征名称的 DataFrame iris_

2021-02-05 11:31:47 1154

原创 vue 访问本地文件 相对路径 文件目录 three.js 加载模型

需要注意的一点就是,你路径已/开头,是从public文件开始,public下的models文件夹下的test.gltf,那么url就是。搞了一下把three.js融入vue,前面比较顺利,在加载文件时遇到了问题(GLTFLoader)我报这个错的原因是模型文件路径错误,…/一层一层往上找了半天,愣是没碰出来个对的路径,吐了。搞了半天,老是报这么个错,网上也没搜到解决方案,而且这个错误给的不明确,

2020-12-30 20:45:59 5132 5

原创 Electron-builder 打包exe 安装程序

趁热把博客写了,这几天在把网页套壳做成假C/S,用了electron,先直接说一下怎么把electron项目打包用yarn装electron-builder,我没有全局装,只在这个electron项目文件夹里装,yarn add electron-builder --save-dev然后就要对package.json里敲东西配置,下面是我成功打包出来installer.exe的:{ "build": { "productName":"我的第一个软件", "appId": "co

2020-12-11 21:19:08 2899

原创 electron 关闭窗口提示框 关闭确认 关闭弹窗 提示窗

目的及效果:点击窗口右上角的叉叉的时候,弹出下面这个,点击确认则程序结束,取消则提示框关闭,程序继续,环境:electron version: 11.0.4main.js代码var electron = require('electron')app.on('ready', () => { mainWindow = new BrowserWindow({ width: 1500, height: 800, minHeight: 80

2020-12-11 15:20:08 7797 3

ListView 安卓应用市场

初学android studio ListView 模拟安卓应用市场飞 飞飞飞

2018-10-21

空空如也

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

TA关注的人

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