- 博客(256)
- 资源 (9)
- 收藏
- 关注

原创 死亡细胞Mod制作教程
文件官方在游戏的根目录下放置了一个ModTools文件夹。里面包含了制作Mod所需的文档ModsDoc.pdf以及各种工具。原理所谓mod就是修改。游戏的运行需要一系列资源文件,这些文件在游戏打开时会被加载。而mod提供了一些同类的资源文件。一旦用户开启mod,就会将mod中的资源替换掉默认加载的同类资源文件,从而实现对游戏的修改。游戏允许同时加载多个mod。然而若同时加载的多个mod修...
2020-01-10 21:25:48
25904
14
原创 我的软考之路
2016年,入职了一家业务相对稳定的公司。技术栈的切换使得刚入职的时光格外忙碌。然而当所有工作所需技术逐步掌握并渐渐精通,摸鱼的时间也相对多了起来。这样的日子一多,危机感开始蔓延,毕竟35是谁都绕不过的一道坎。程序猿的应对思路也简单:多学技术,提升自己。然而面对茫茫多的技术,无从下手,依然摸鱼。于是给自己列一份长期计划,每天到公司再列一份当日计划,照着执行。有目标,行动起来就果断多了。随着时间积累,写的技术文档也越来越多。
2023-12-24 13:02:26
728
原创 SpringBoot中企业微信的API调用
企业微信官方提供的均为API接口,没有提供集成SDK。因此无需引入Maven依赖,直接以Https方式请求即可。有些第三方提供了集成的Java SDK,可根据需求自行选用。本文采用直接调用官方API的方式。
2023-11-20 15:08:36
1942
原创 Spring Boot日志:SLF4J和Logback
日志的分类SpringBoot中的日志库分为两种:实现库:提供具体的日志实现,例如日志级别的控制、打印格式、输出目标等。外观库:自身不提供日志实现,而是对其他日志库进行封装,从而方便使用。基于外观模式实现。关于外观库的出现,可设想一下:现在有多种日志库,每一种接口都不同。于是我们在不同项目中往往需要调用不同的API。于是希望,无论哪一种日志库,我们都在外面套一层壳,使用时调用这层壳的接口,这样就统一了。这层壳就是外观库。对于这两种库,常见的有:实现库:Log4j、Log4j2、Logbac
2023-07-25 15:29:09
2020
原创 OAuth2.0-授权码模式
OAuth2.0授权码模式主要解决了信任问题:一个第三方网站需要访问我们Github上的数据(例如用户头像),那Github为什么要信任该网站?该对网站信任到什么程度?基于此,如果可以为该网站提供一个专门的,该有专门的权限和过期时间,且Github可随时清除的授权,这样问题就可以解决了。
2023-01-29 15:42:49
1805
1
原创 SpringBoot中多配置文件的动态启用
需求开发时使用的环境与生产环境配置往往不同。为了方便开发,在工程中针对不同的环境添加了多个配置文件,当处于不同环境时启用不同的配置文件。在多配置文件共同启用的前提下, application.properties 是一定启用的,其他配置文件根据需求启用。准备配置文件系统默认的配置文件为 application.properties 。该配置文件通常用于存放不需要变更的配置信息。这里使用默认的 .properties 文件, .yml 文件同理。额外添加的配置文件必须以 application 开头
2022-02-08 15:30:32
733
原创 2021年7月,关于技术和未来
近期研究了一段时间梅花易数。作为一个从小接受唯物主义教育的社会主义接班人,自然曾经一度对这些所谓的封建迷信是不屑一顾的。后来随着年龄增长,才开始慢慢觉得应对这些传承下来的古老文化保持敬畏。然而,直到最近真正仔细研究了后才发现,梅花易数居然有一整套的完整流程:起卦,计算上卦和下卦,计算变爻,计算互卦和变卦,判定生克给出意象,然后结合周易进行解读。这就像一个完美的程序,只要输入合法运算不出错,就一定会给出一些确定的结果。唯一不确定的,在于结果给出的意象必须依赖人为解读。由此,我第一反应是,从起卦...
2021-07-12 15:01:15
213
原创 MySQL服务开机自启动失败
问题每次机器重启,MySQL的服务都没有开起来。查看服务,确认已将MySQL的服务设为自动启动。原因Windows服务管理器对所有服务的状态进行管控。服务管理器会等待服务就绪,这个时间默认为30秒。然而,处于某些原因(机器配置/性能问题/技术原因),某些服务就绪所需时间会大于30秒。这就导致了服务管理器认为该服务启动失败。于是,一种解决该问题的思路就是设置一个更长的等待时间。解决Win+R,输入regedit,运行注册表编辑器。定位到:HKEY_LOCAL_MACHINE\SYSTEM\Cu
2021-06-01 09:33:26
6725
11
原创 基于Spring Cloud Alibaba搭建nacos
关系Spring Boot是框架。将各个组件集合在一起,方便快速开发web应用。Spring Cloud基于Spring Boot,限定了一组特定的组件,从而可以方便地进行微服务工程的开发。Spring Cloud Alibaba在Spring Cloud的基础上进行了一些调整,将某些组件替换为阿里巴巴的组件,同样是为了方便微服务工程的开发。也就是说,Spring Cloud Alibaba依赖于Spring Cloud。故而,想要使用Spring Cloud Alibaba,必须在Spring
2021-05-29 17:14:26
517
1
原创 将纯真ip数据库导入MySql
ip数据源网上最多的免费数据源为纯真IP地址数据库。下载一个纯真IP地址数据库应用程序,运行后可看到如下界面:点击在线升级将数据库升级到最新版。然后点解压,保存到本地。数据分析数据保存到本地后是个txt文件,打开,可以看到:0.0.0.0 0.255.255.255 IANA 保留地址1.0.0.0 1.0.0.0 美国 亚太互联网络信息中心(CloudFlare节点)1.0.0.1 1.0.0.1 美国 A
2021-05-08 11:09:37
764
1
原创 将Vue工程打包为Electron:vue-cli-plugin-electron-builder
介绍vue-cli-plugin-electron-builder 插件的作用是将一个Vue工程打包为Electron程序。官网:https://nklayman.github.io/vue-cli-plugin-electron-builder/与electron-vue对比作用目标作用方式更新维护electron-vueelectron-vue工程编译工程中的Vue代码不及时vue-cli-plugin-electron-builderVue工程将V
2021-04-13 16:44:59
2347
原创 electron-vue工程创建
创建工程创建一个工作文件夹用于存放所有Electron工程。设为 D:\work\ 。打开CMD,cd到 D:\work\ 文件夹下,然后执行命令:# 创建 electron-vue 工程。创建过程会多次提示输入信息。vue init simulatedgreg/electron-vue HelloWorld若没有安装全局vue-cli,则创建 electron-vue 工程时会提示安装:Command vue init requires a global addon to be insta
2021-03-30 16:55:39
269
原创 创建、执行并打包Electron工程
官方文档:https://www.electronjs.org/docs依赖Electron本质上是个Node.js程序。因此依赖Node.js与npm。安装依赖后,输入命令查看版本:node -vnpm -v建议使用最新版本node与npm。在windows平台下,node无法借助n来管理版本,因此直接访问node官网下载最新版本安装即可: http://nodejs.cn/download/npm则可执行npm install -g npm命令来更新到最新版本。创建应用程序基础
2021-03-30 16:53:57
427
原创 微信小程序运行环境加载失败(2,101)
华为Mate9,EMUI 9.0.1,Android 9。测试微信小程序的时候,扫体验版小程序,提示:运行环境加载失败(2,101)然而各种正式版小程序无此问题,只有体验版/调试版小程序有该现象。尝试了各种解决方案:更换wifi/流量。清理微信缓存。杀死微信进程重新打开微信。重启手机。均未能解决。后来偶然发现手机的时间比北京时间快几分钟。打开系统设置,进入时间和日期,发现时间的自动校正已关闭。将其打开,时间立即校正为正确的北京时间。再次扫码进入体验版小程序,一切正常了。猜测加
2021-03-12 13:12:32
28481
3
原创 vue中使用第三方素材:iframe与访问路径
有很多特效素材都是使用js+html+第三方库制作,本身使用常规的html开发方式,类似:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>测试</title> <script type="text/javascript" src="Test.js"></script> </head> <body>
2021-03-08 17:24:25
1030
原创 js递归的优化
尾递归函数调用自身,称为递归。如果尾调用自身,就称为尾递归。阮一峰在《ECMAScript 6》中举了一个例子:function Fibonacci (n) { if ( n <= 1 ) {return 1}; return Fibonacci(n - 1) + Fibonacci(n - 2);}这是一个常规的Fibonacci 数列递归实现。但运行时需要保存众多调用帧,占用大量内存,容易发生栈溢出错误。但若将其更改为尾递归:function Fibonacci2 (n
2021-02-02 17:34:34
1070
原创 接收参数适配:为参数增加自定义转换
接收参数错误web端请求时,会附带各种类型的参数。对应地服务端在接收这些参数时,会以指定的类型接收。然而,有些web端参数虽然实际可以转换为对应的服务端参数,但Spring本身并没有提供这样的转换,就会导致报错。最典型的例子就是时间戳和日期类型参数。例如,web端请求时附带参数为:{ time: 1609466400000}服务端使用JavaBean接收,class定义为:class TestT { private Timestamp time; ...}当服务端收到请求
2021-01-27 17:06:58
453
原创 Chrome浏览器携带Cookie无效
问题请求中使用了Session。结果在Chrome浏览器中无效,而在其他浏览器中正常。这是因为chrome浏览器80以上版本为了防止CSRF攻击而新增了SameSite规则,且默认为打开。该设置会影响所有涉及到Cookie相关的操作,例如Session。要想携带Cookie,必须将SameSite设置为禁用。解决在chrome的地址栏输入:chrome://flags/。在搜索栏输入:SameSite。将搜索到的SameSite by default cookies这一项由Default更
2021-01-18 15:55:07
1754
4
原创 Spring Boot发送邮件
概述要发送邮件,必须借助已有的SMTP服务。要么借助本地安装的邮箱客户端,要么借助网络邮箱的SMTP服务。从本地直接凭空将信息发送到某个指定邮箱是做不到的。这里使用网络邮箱的SMTP服务。开启SMTP服务网络邮箱的SMTP服务默认都是关闭的,需要进入设置后打开。所有网络邮箱开启SMTP服务的方式都基本相同。这里以QQ邮箱为例。打开邮箱后点击设置,选择其下的账户选项卡:向下找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,然后将其中的IMAP/SMTP服务打
2021-01-07 16:35:26
636
原创 Java链式调用的继承:泛型
常规链式调用对于链式调用,只需要在某些操作方法中返回this即可:class A { protected String name; public A setName(String name) { this.name = name; return this; } public String getName() { return name; }}如上,使用时:String name = new A().set
2021-01-07 09:39:43
1441
原创 Spring Security中使用token
单点登录与多点登录单点登录:同一个账号在同一时间只有一个token有效。一旦生成新的token,所有旧token失效。多点登录:同一个账号在同一时间可多次登录,每次登陆都会获得一个token。这些token的有效期是隔离的,不受新生成token的影响。对于token,若要实现单点登录,则必须将所有token保存在服务端。这实际上与token服务端不负责保存的本质相悖。若要实现单点登录,建议使用session。下面将实现多点登录。原理与思路Spring Security的认证与授权是分开的:
2020-09-12 09:14:34
16380
5
原创 Spring Security集成与使用
说明security会对服务端的接口添加权限过滤,不具备权限的请求将被拒绝。引入security要引入security,只需添加依赖即可:在pom.xml中引入security:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency&g
2020-09-12 09:09:27
662
原创 InnoDB Cluster搭建
简介InnoDB Cluster与MySQL Cluster是完全不同的:InnoDB Cluster用于InnoDB,而MySQL Cluster用于NDB。InnoDB Cluster并没有单独的应用,它是由3个应用共同协作构成的:MySQL服务:提供数据库功能及组复制同步功能。MySQL Shell:提供控制台功能,自带一些扩展的API。MySQL Router:将用户应用透明连接到MySQL实例,以及故障转移功能。准备工作进入官方下载页面:https://dev.mysql.c
2020-08-15 10:57:15
5123
原创 MySql Router使用
简介MySQL Router是MySQL Proxy的替换产品。支持读写分离,故障自动切换。目前的最新版本为8.0.21。操作系统为Windows10。下载&配置从官方网站进行下载:https://dev.mysql.com/downloads/router/下载后是个zip文件,解压。打开根目录。在根目录下添加一个3个文件夹,分别命名为:log,run,data。在根目录下添加一个mysqlrouter.ini文件。配置文件打开添加的mysql-router.ini:
2020-08-15 10:55:07
1075
原创 在同一台机器上安装多个MySQL8.0服务
概要操作系统为Windows10,当前使用MySQL版本为8.0.21。在该机器上安装3个MySQL服务,端口分别为:3306,3307,3308。对于3306端口,按正常流程安装即可,不再赘述。对于3307/3308端口,流程相同。3307/3308端口服务安装以3307端口为例。准备文件将3306端口的MySQL安装文件夹复制一份(或直接解压官网下载的压缩文件),改名,路径为:D:\Program Files\mysql_3307。清理删除D:\Program Files\mys
2020-08-10 11:57:38
686
原创 MySQL重装及重置
重装重装MySql首先要将已安装MySql删除,然后重新安装。若要直接使用已有MySql,则删除 MySql/data/ 文件夹的所有内容,然后跳过下面的删除步骤,从安装的第3步开始。删除以管理员身份打开cmd,输入net stop mysql停止服务。确认服务已停止后,执行下一步。打开运行界面,输入regedit打开注册表,删除:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQLHKEY_LOCAL_MACHINE\SYST
2020-08-07 09:09:03
1049
原创 剪贴板中图片转为BASE64格式
需求将图片复制到剪贴板后,希望将图片快捷地转换为BASE64格式。各种在线工具往往需要先将图片保存到本地,然后将本地文件上传。现在考虑将图片保存到本地这一步去掉,直接将图片从剪贴板粘贴到网页的某个元素中,网页触发粘贴事件并获取文件,然后转换并显示。触发粘贴并转换首先准备一个<textarea>用于粘贴图片以及显示结果。<textarea id="result"></textarea>然后为其添加paste事件:document.getElementById
2020-07-21 14:54:07
2347
原创 SpringBoot中MyBatis传参的方式
版本SpringBoot调用MyBatis访问数据库,依赖为org.mybatis.spring.boot,版本为2.1.2。两种调用方式两种调用方式为:注解方式和SqlProvider方式。两种方式所遵循的规则相同:无论是否使用@Param,都可以支持多参数,令传入与引用的参数名相同即可。因此建议:不使用@Param直接传参,且保持传入与引用的参数名一致。注解方式@Select({"select id, name, age, class from student"})List<
2020-07-18 09:21:42
1413
原创 RestTemplate转发请求
需求服务端A接收到来自于前端的请求后,要使用RestTemplate将请求转发给服务端B,然后将服务端B的返回转发给前端。根据请求类型的不同,分为:常规请求转发文件上传转发文件下载转发常规请求转发@RequestMapping("/transmit")public String transmit(HttpServletRequest request, HttpMethod method, @RequestBody(required = false) String body) {
2020-07-16 16:00:46
4153
4
原创 vue-element-adminV4.0版本遇到的一些问题及解决方案
V4.0与之前版本的差异在vue-element-admin V4.0之前的版本,根目录下存在2个文件夹:build文件夹包含构建相关的build及webpack等文件。config文件夹包含各种环境下的配置。通常地,各种基础设置都能在这2个文件夹下的配置文件中完成。然而,V4.0版本变化较大:build文件夹保留,但其下只剩了一个index.js文件。config文件夹去掉。...
2020-05-07 15:51:18
18262
7
原创 记一次MySql还原导致的无法连接
问题昨天同事使用服务器的MySql数据库还原了一个5GB+的备份,结果一直卡住,他就将数据库强行关闭,没再执行任何其他操作。结果今天客户反馈登录异常。逐步排查,定位到是数据库无法访问。于是远程查看服务器,发现:MySql服务是正在运行的。本地Navicat访问数据库,提示Can’t connect to MySQL server on localhost (10061)。MySql版...
2020-04-30 12:10:09
500
原创 MySql字段内容加密与解密
AES和DES对于存储在数据库中的敏感信息,往往需要对其进行加密。MySql提供了多种加密方式,其中两种为AES和DES。这两种方式用法类似。性能上,AES各方面都略强于DES。因此推荐使用AES。AES加密MySql提供了2个AES加密与解密的函数:AES_ENCRYPT('明文', 'key') // 加密AES_DECRYPT('明文', 'key') // 解密其中:...
2020-03-11 15:16:23
15258
jdk-8u241-windows-x64.rar
2020-03-17
OpenCV图像在MFC中显示
2014-01-26
MFC扩展位图按钮 实现不同状态切换 异形按钮 提示等
2012-10-31
MFC扩展位图按钮类
2012-10-30
MFC中使用flash按钮并交互
2012-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人