自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 微信小程序网格布局

【代码】微信小程序网格布局。

2024-05-09 16:36:12 346

原创 element的textarea字体与input字体不一致解决方案

【代码】element的textarea字体与input字体不一致解决方案。

2024-04-30 19:27:09 147

原创 RSA加密---java和node兼容版(可直接复制使用)

本来项目的后端是node,里面登录接口用的是后端生成RSA公钥和私钥,公钥给前端网页用来加密,node后端解密,一切很和谐,突然要我上一个Android应用,结果java和node两边就是无法通配。注意:java代码中的公钥不需要开头和结尾的【-----BEGIN PUBLIC KEY-----】这个,只需要保留中间的密钥就好,且不要留有换行符【\n】。:默认的RSA加解密格式不一样,node默认的是DEFAULT_ENCRYPTION_SCHEME = '', 而java中默认的是。

2024-04-29 20:32:11 384 1

原创 超简单的vue实现生成二维码并下载为图片(可直接复制使用)

因为一些需求需要生成大量的二维码,用于用户核销使用,这里就用了一个比较使用的多的一个组件vue-qr.效果。

2024-04-25 11:38:17 399 1

原创 vue实现水平排列且水平居中

【代码】vue实现水平排列且水平居中。

2024-04-23 17:04:18 662 1

原创 vue+node使用RSA非对称加密,实现登录接口加密密码

登录接口,密码这种重要信息传输,必须加密处理。这里就可以使用RSA非对称加密,公钥和私钥。:给前端,公钥可以暴露出来,没有影响,因为公钥加密的数据私钥才能解密。:留在后端,用于解密。

2024-04-19 14:37:58 335

原创 node后端上传文件到本地指定文件夹

第一步,引入依赖第二步,先设置一个上传守卫,用于初步拦截异常请求第三步,写接口,并引用上面的上传守卫。

2024-04-09 15:00:21 396

原创 java中List数组深度拷贝,修改新数组不影响原数组内容

使用Java 8的Stream API,可以使用。方法将流中的元素收集到新的List中。方法将原数组转换为流,然后使用。

2024-03-29 15:22:23 196

转载 解决Android软键盘在全屏下设置adjustResize无效的问题(转载)

在全屏模式下,即使将activity的。在键盘显示时它未将Activity的Screen向上推动,所以你Activity的view的根树的尺寸是没有变化的。在这种情况下,你也就无法得知键盘的尺寸,对根view的作相应的推移。全屏下的键盘无法Resize的问题从2.1就已经存在了,直到现在google还未给予解决。有人已经封装好了该类,你只需引用就OK了,我们来看下这个类。

2023-12-22 15:20:56 212

原创 Android年份选择器(超简单-可直接复制使用)

通过点击textview触发年份选择器dialog显示,选中年份后,更新到textview。隐藏月份和天数即可(但仍需给一个初始化数据)。

2023-12-20 14:45:42 663

原创 Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)

本人因为一些需求初次接触android,需要实现一个类似android自带的AutoCompleteTextView(自动完成文本框),但和其不同的是通过后端接口直接筛选数据(自己的分词处理规则),然后返回前端直接显示即可。这个listview“提示框”在输入框获得焦点的情况下才显示,并且每次输入框内内容变化时,触发网络请求更新“提示框”显示的内容,在用户点击了“提示框”中的item后,将item的内容替换输入框当前内容,并关闭提示框。让listview定位在edittext输入框的底部,并通过。

2023-12-15 16:03:14 872

原创 Android超简单实现-即时更新Toast(可直接复制)

第一步、封装个工具类ToastUtil.class(可直接复制拿走)第二步、在activity中直接调用即可(就这么简单)

2023-12-01 15:33:02 429

原创 Android中实现RecyclerView,并对item及其多个子控件的点击事件监听

如下图所示,在对RecyclerView中item及其多个子组件都需要不同的点击事件监听处理,需要使用到adapter的OnItemClickListener和OnItemChildClickListener两个对象。

2023-11-29 17:17:56 1859

原创 获取ip属地(ip2region本地离线包-超简单)

结果突然看到了这个【ip2region】开源项目,离线识别ip属地,精度自己测试了好多个国家和地区的ip,效果还可以,有98%的成功率。最近有涉及要显示ip属地,但我想白嫖,结果就是白嫖的api接口太慢了,要延迟3到4秒左右,很影响体验,而且不一定稳定。以下代码可直接复制使用,只需要看一下离线包的地址是否需要更改即可。这里因为我的后端用的是node,就用node的代码做示例。ip2region原作者开源项目地址。

2023-11-23 17:07:33 1162

原创 left join查询耗时太慢,添加索引解决问题

因为最近自己用的小app越用感觉加载越慢,以为是自己app开发逻辑出现问题了,结果才发现是自己很早以前的代码用到的是left join多表联查,以前因为数据少,所以没有感觉,现在数据量稍微一大,耗时就非常严重了。如下图所示,3张表中有一个是日志表,已经有几w条数据了,所以耗时已经达到了2.8s。主键不需要添加索引,除此之外,对使用left join的on进行对比时的两个字段都进行新建索引(如上图的ni.notice_id、n.trace_id、rl.trace_id),而且这些字段的类型要保持一致。

2023-11-22 16:09:53 1872

原创 vue实现聊天栏定位到最底部(超简单、可直接复制使用)

通过watch监听聊天内容的加载,一旦加载完成或者数据更新触发vue的数据监听时,就重新修改【滚动滑钮到滚动条顶部的距离=滚动条的高度】,从而实现定位到底部的效果。这里的messnowList是我的消息储存集合,用于判断数据变化,这个可以根据你实际情况修改,通过id绑定刚才的聊天框div,然后修改实现定位底部。新建一个div(聊天框,如下),给他一个id,一会要用到。

2023-11-21 10:28:00 1016

原创 Android权限动态申请(包括悬浮窗)

【代码】Android权限动态申请。

2023-11-13 16:14:21 1849

原创 android自定义switch颜色

Switch。

2023-11-10 17:39:14 387

原创 android在service中修改fragment的UI

【代码】android在service中修改fragment的UI。

2023-11-10 14:56:27 304

原创 Android超简单的显示网络图片方法

【代码】Android显示网络图片。

2023-11-10 14:08:12 698

原创 android使用notification消息通知(工具类封装)

代码直接复制粘贴就可以用了,参数可以更具自己需求添加。

2023-11-09 17:34:27 264

原创 Android高版本后台开机检测自启动service(解决did not then call Service.startForeground())

1、新建一个Receiver,继承BroadcastRecevier类,用于开机广播,启动service服务。非android工程师,单纯个人临时有需要,赶时间借鉴很多文章做出来的,单纯记录备忘下。

2023-11-08 17:17:16 565

原创 nodejs使用express框架,给每次http请求添加traceId

在Express中,中间件是一个函数,它可以访问请求对象(req)、响应对象(res)和应用程序中的下一个中间件函数(next)。可以使用uuid模块生成唯一标识符(traceid)。

2023-11-02 10:23:33 155

原创 nodejs中将字符串数组转换成mysql语句IN子查询的(数组)格式

【代码】nodejs中将字符串数组转换成mysql语句IN子查询的(数组)格式。

2023-10-21 11:36:08 166

原创 Springboot利用CompletableFuture异步执行线程(有回调和无回调)

项目中总会有需要异步执行来避免浪费时间资源的情况,这就需要异步操作。异步又分两种:1、无回调:有一些执行过程对用户而言不需要反馈回调,只需要自己执行即可,且执行过程时间较长(某些第三方接口,如发送短信验证码、查取ip属地等等),如果同步执行,势必会影响到用户体验,这时候就可以使用CompletableFuture.runAsync()方法了。2、有回调:在执行异步操作结束后,需要获得异步方法返回的值,然后再回调给用户展示,这时候就需要用到CompletableFuture.supplyAsync()

2023-10-12 16:11:37 2627

原创 Springboot使用RestTemplate调用第三方接口

【代码】Springboot使用RestTemplate调用第三方接口。

2023-10-11 16:01:21 502

原创 Springboot给每个接口设置traceId,并添加到返回结果中

这个是可选项,用于生成唯一uid,我人懒,就直接用这个工具,你们要自定义uid格式的,就可以不用导入。的实现,保存在这里的变量会绑定到某个请求线程,于是在该请求的线程里的日志代码都可以使用设入的变量。因为要给每一个请求都利用所以建议利用MDC绑定traceId,所以需要用拦截器拦截每一个请求。slf4j有个MDC的类,是。

2023-10-11 12:00:39 807

原创 Springboot全局异常和自定义异常

super(msg);/*** 如果抛出的的是ServiceException,则调用该方法* @param e 服务异常*/// sql执行判断try{

2023-10-10 18:53:09 218

原创 Springboot使用Aop保存接口请求日志到mysql(及解决Interceptor拦截器中引用mapper和service为null)

但是项目如果需要记录这些被拦截的非法请求的话,目前暂时的解决方法是在Interceptor拦截器所拦截非法的请求之前再使用前面的RequestLogMapper再重新进行保存一次(只针对非法请求,因为合法请求会通过Aop日志拦截)。当我们项目中同时使用Interceptor拦截器和aop日志拦截时,被Interceptor拦截器所拦截的请求不会通过aop日志保存到数据库(防止恶意爬虫)。

2023-10-06 17:19:27 707

原创 Springboot实现jwt的token验证(超简单)

超简单的jwt验证token,直接复制粘贴即可使用!

2023-09-27 16:46:32 501

原创 Springboot实现websocket(连接前jwt验证token)

二、因为springboot的websocket连接时不会显示header信息,也就无法拿到cookie中的token信息,需要在连接前处理,新建一个WebSocketConfig.class,在连接前做一个jwt的token验证,并获取用户的账号信息添加到session中。(关于jwt的token验证工具类我这里就不详细讲了),用户连接服务器weksocket前,需经过jwt的token验证(token中包含账号信息),验证合法后,才可以于服务器正常交互。一、配置依赖(pom.xml)

2023-09-27 16:42:36 3371 9

原创 springboot实现发送邮箱验证码

在邮箱官网开放SMTP授权,获取相应密钥,才可以进行发送邮件。第二步、在application.yml中配置邮箱连接信息。这里以网易163邮箱为例,登录邮箱后,依次点击“” ,然后开启SMTP服务。第三步、新建一个controller接口类。第一步、在pom.xml中添加邮箱依赖。,一定要记下来,一会会用到。

2023-09-21 18:10:57 927

原创 Springboot部署服务器项目上线

第二种、在右侧点击 Maven选项,选择鼠标左键双击package选项即可。第一种、直接在项目根目录打开终端,输入以下语句即可。jdk 17.0.8;(尽量与本地测试环境jdk版本一致)java -jar 你的jar包的名字.jar。# 查询springboot项目运行日志。CentOS 7.8版本;kill -9 进程号。# 查询进程是否在线。

2023-09-14 14:27:08 919

原创 springboot上传文件到阿里云OSS

第一步,在application.yml做一下配置,预设下载目录。第二步,新建一个Controller。

2023-09-13 15:08:34 202

原创 Springboot后端导入导出excel表

【代码】Springboot后端导入导出excel表。

2023-09-09 15:56:36 367

原创 MySQL中LEFT JOIN的用法

如需根据表(tableA)a的字段id查询,每一条数据在表(tableB)b中对应字段id2相同的数据数有多少条,可用如下方法。其中,tableA和tableB对应表名,id和id2对应字段名,ON后面是条件语句。

2023-07-21 11:26:13 260

原创 vue实现指定div右键显示菜单,并实现复制内容到粘贴板

【代码】vue实现指定div右键显示菜单,并实现复制内容到粘贴板。

2023-07-06 14:24:46 817

原创 解决node+mysql不能保存emoji表情包的问题

Emoji表情是4个字节,而mysql的utf8编码最多3个字节,所以数据插不进去,而utfmb64是支持四个字节的。所以需要将mysql编码从utf8转换成utf8mb4,从【这样就成功实现了nodejs在mysql中对emoji的保存和读取。】都需要修改为utf8mb4,切记!

2023-07-06 11:05:08 488

原创 解决github无法打开问题

第一步,去如下目录复制hosts文件副本到桌面【切记,要复制到其他文件夹下,不要直接改原文件】。第二步,以文本文档形式打开复制的副本文件,添加如下语句保存后【替换】掉原有hosts文件。第三步,按win+r输入cmd打开控制界面,输入以下语句,然后刷新即可访问github。

2023-07-05 10:44:26 643

原创 node.js分词搜索

最近有个需求是要实现类似搜索引擎的功能,用户输入关键字,后台实时推送相关数据。

2023-07-04 17:41:09 811

空空如也

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

TA关注的人

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