自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

超频化石鱼的博客

愿终将不负时光

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

原创 死亡细胞Mod制作教程

文件官方在游戏的根目录下放置了一个ModTools文件夹。里面包含了制作Mod所需的文档ModsDoc.pdf以及各种工具。原理所谓mod就是修改。游戏的运行需要一系列资源文件,这些文件在游戏打开时会被加载。而mod提供了一些同类的资源文件。一旦用户开启mod,就会将mod中的资源替换掉默认加载的同类资源文件,从而实现对游戏的修改。游戏允许同时加载多个mod。然而若同时加载的多个mod修...

2020-01-10 21:25:48 22656 13

原创 我的软考之路

2016年,入职了一家业务相对稳定的公司。技术栈的切换使得刚入职的时光格外忙碌。然而当所有工作所需技术逐步掌握并渐渐精通,摸鱼的时间也相对多了起来。这样的日子一多,危机感开始蔓延,毕竟35是谁都绕不过的一道坎。程序猿的应对思路也简单:多学技术,提升自己。然而面对茫茫多的技术,无从下手,依然摸鱼。于是给自己列一份长期计划,每天到公司再列一份当日计划,照着执行。有目标,行动起来就果断多了。随着时间积累,写的技术文档也越来越多。

2023-12-24 13:02:26 493

原创 SpringBoot中企业微信的API调用

企业微信官方提供的均为API接口,没有提供集成SDK。因此无需引入Maven依赖,直接以Https方式请求即可。有些第三方提供了集成的Java SDK,可根据需求自行选用。本文采用直接调用官方API的方式。

2023-11-20 15:08:36 1064

原创 MessageFormat:格式化字符串

实际需要对[]内的内容进行替换。如果调用,那需要执行多次。而使用。

2023-11-15 17:42:30 397

原创 Spring Boot日志:SLF4J和Logback

日志的分类SpringBoot中的日志库分为两种:实现库:提供具体的日志实现,例如日志级别的控制、打印格式、输出目标等。外观库:自身不提供日志实现,而是对其他日志库进行封装,从而方便使用。基于外观模式实现。关于外观库的出现,可设想一下:现在有多种日志库,每一种接口都不同。于是我们在不同项目中往往需要调用不同的API。于是希望,无论哪一种日志库,我们都在外面套一层壳,使用时调用这层壳的接口,这样就统一了。这层壳就是外观库。对于这两种库,常见的有:实现库:Log4j、Log4j2、Logbac

2023-07-25 15:29:09 1403

原创 Kafka部署与SpringBoot集成

Kafka部署与SpringBoot集成

2023-03-01 18:51:45 806 1

原创 Kafka基本概念

Kafka是一个消息系统。它可以集中收集生产者的消息,并由消费者按需获取。

2023-03-01 18:49:28 467

原创 我的创作纪念日

距第一篇文章,五周年了,记录一下

2023-01-30 17:36:59 373

原创 OAuth2.0-授权码模式

OAuth2.0授权码模式主要解决了信任问题:一个第三方网站需要访问我们Github上的数据(例如用户头像),那Github为什么要信任该网站?该对网站信任到什么程度?基于此,如果可以为该网站提供一个专门的,该有专门的权限和过期时间,且Github可随时清除的授权,这样问题就可以解决了。

2023-01-29 15:42:49 1555 1

原创 AOP开发

AOP开发基础

2023-01-06 16:26:17 505

原创 Feign原理及其使用

Feign的原理介绍及使用流程

2022-11-24 16:35:54 1370

原创 BloomFilter:布隆过滤器和Redis缓存穿透

BloomFilter,中文名叫布隆过滤器,用于判断目标值是否存在。

2022-11-02 10:52:58 284

原创 SpringBoot中多配置文件的动态启用

需求开发时使用的环境与生产环境配置往往不同。为了方便开发,在工程中针对不同的环境添加了多个配置文件,当处于不同环境时启用不同的配置文件。在多配置文件共同启用的前提下, application.properties 是一定启用的,其他配置文件根据需求启用。准备配置文件系统默认的配置文件为 application.properties 。该配置文件通常用于存放不需要变更的配置信息。这里使用默认的 .properties 文件, .yml 文件同理。额外添加的配置文件必须以 application 开头

2022-02-08 15:30:32 638

原创 MyBatisPlus搭建

MyBatisPlus搭建及相关问题

2022-01-27 15:24:14 4074

原创 2021年7月,关于技术和未来

近期研究了一段时间梅花易数。作为一个从小接受唯物主义教育的社会主义接班人,自然曾经一度对这些所谓的封建迷信是不屑一顾的。后来随着年龄增长,才开始慢慢觉得应对这些传承下来的古老文化保持敬畏。然而,直到最近真正仔细研究了后才发现,梅花易数居然有一整套的完整流程:起卦,计算上卦和下卦,计算变爻,计算互卦和变卦,判定生克给出意象,然后结合周易进行解读。这就像一个完美的程序,只要输入合法运算不出错,就一定会给出一些确定的结果。唯一不确定的,在于结果给出的意象必须依赖人为解读。由此,我第一反应是,从起卦...

2021-07-12 15:01:15 165

原创 MySQL服务开机自启动失败

问题每次机器重启,MySQL的服务都没有开起来。查看服务,确认已将MySQL的服务设为自动启动。原因Windows服务管理器对所有服务的状态进行管控。服务管理器会等待服务就绪,这个时间默认为30秒。然而,处于某些原因(机器配置/性能问题/技术原因),某些服务就绪所需时间会大于30秒。这就导致了服务管理器认为该服务启动失败。于是,一种解决该问题的思路就是设置一个更长的等待时间。解决Win+R,输入regedit,运行注册表编辑器。定位到:HKEY_LOCAL_MACHINE\SYSTEM\Cu

2021-06-01 09:33:26 5432 9

原创 基于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 462 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 556 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 2040

原创 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 228

原创 创建、执行并打包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 338

原创 微信小程序运行环境加载失败(2,101)

华为Mate9,EMUI 9.0.1,Android 9。测试微信小程序的时候,扫体验版小程序,提示:运行环境加载失败(2,101)然而各种正式版小程序无此问题,只有体验版/调试版小程序有该现象。尝试了各种解决方案:更换wifi/流量。清理微信缓存。杀死微信进程重新打开微信。重启手机。均未能解决。后来偶然发现手机的时间比北京时间快几分钟。打开系统设置,进入时间和日期,发现时间的自动校正已关闭。将其打开,时间立即校正为正确的北京时间。再次扫码进入体验版小程序,一切正常了。猜测加

2021-03-12 13:12:32 22631 2

原创 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&gt

2021-03-08 17:24:25 931

原创 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 965

原创 接收参数适配:为参数增加自定义转换

接收参数错误web端请求时,会附带各种类型的参数。对应地服务端在接收这些参数时,会以指定的类型接收。然而,有些web端参数虽然实际可以转换为对应的服务端参数,但Spring本身并没有提供这样的转换,就会导致报错。最典型的例子就是时间戳和日期类型参数。例如,web端请求时附带参数为:{ time: 1609466400000}服务端使用JavaBean接收,class定义为:class TestT { private Timestamp time; ...}当服务端收到请求

2021-01-27 17:06:58 399

原创 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 1532 4

原创 Spring Boot发送邮件

概述要发送邮件,必须借助已有的SMTP服务。要么借助本地安装的邮箱客户端,要么借助网络邮箱的SMTP服务。从本地直接凭空将信息发送到某个指定邮箱是做不到的。这里使用网络邮箱的SMTP服务。开启SMTP服务网络邮箱的SMTP服务默认都是关闭的,需要进入设置后打开。所有网络邮箱开启SMTP服务的方式都基本相同。这里以QQ邮箱为例。打开邮箱后点击设置,选择其下的账户选项卡:向下找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,然后将其中的IMAP/SMTP服务打

2021-01-07 16:35:26 390

原创 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 1178

原创 Spring Security中使用token

单点登录与多点登录单点登录:同一个账号在同一时间只有一个token有效。一旦生成新的token,所有旧token失效。多点登录:同一个账号在同一时间可多次登录,每次登陆都会获得一个token。这些token的有效期是隔离的,不受新生成token的影响。对于token,若要实现单点登录,则必须将所有token保存在服务端。这实际上与token服务端不负责保存的本质相悖。若要实现单点登录,建议使用session。下面将实现多点登录。原理与思路Spring Security的认证与授权是分开的:

2020-09-12 09:14:34 15210 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 567

原创 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 3642

原创 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 791

原创 在同一台机器上安装多个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 592

原创 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 906

原创 剪贴板中图片转为BASE64格式

需求将图片复制到剪贴板后,希望将图片快捷地转换为BASE64格式。各种在线工具往往需要先将图片保存到本地,然后将本地文件上传。现在考虑将图片保存到本地这一步去掉,直接将图片从剪贴板粘贴到网页的某个元素中,网页触发粘贴事件并获取文件,然后转换并显示。触发粘贴并转换首先准备一个<textarea>用于粘贴图片以及显示结果。<textarea id="result"></textarea>然后为其添加paste事件:document.getElementById

2020-07-21 14:54:07 1923

原创 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 1183

原创 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 3730 3

原创 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 17945 6

原创 记一次MySql还原导致的无法连接

问题昨天同事使用服务器的MySql数据库还原了一个5GB+的备份,结果一直卡住,他就将数据库强行关闭,没再执行任何其他操作。结果今天客户反馈登录异常。逐步排查,定位到是数据库无法访问。于是远程查看服务器,发现:MySql服务是正在运行的。本地Navicat访问数据库,提示Can’t connect to MySQL server on localhost (10061)。MySql版...

2020-04-30 12:10:09 403

原创 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 11965

jdk-8u251-macosx-x64.rar

jdk-8u251-macosx-x64的官方macosx 64位dmg。

2020-06-28

jdk-8u251-windows-x64.rar

jdk-8u251-windows-x64的官方windows 64位安装包。

2020-06-28

jdk-8u241-windows-x64.rar

jdk-8u241-windows-x64的官方安装包,官方下载需要注册且网速较慢。解压后得到jdk-8u241-windows-x64.exe,直接进行安装即可。

2020-03-17

ArcGIS API for JavaScript 3.25版本

ArcGIS API for JavaScript 3.25版本。用于ArcGIS API服务的发布。

2018-07-27

OpenCV图像在MFC中显示

该类可以在MFC中绑定一个static控件,从而将该控件作为OpenCV的IplImage图像显示控件。该类不仅可以以1:1、全窗口、半窗口、动态选择等方式显示IplImage图像,还可以对图像进行平移、放缩,并在信息区同步显示图像坐标系下鼠标所在位置及RGB或灰度值。除此之外还可以在控件上直接进行矩形的绘制操作,会实时显示绘制矩形的信息,并提供了一组接口函数用于获取或清除绘制的矩形。更多的函数功能请具体参考说明文档及源代码。 下载文件中附带源码、说明文档及实例。使用时务必详细阅读说明文档。

2014-01-26

MFC扩展位图按钮 实现不同状态切换 异形按钮 提示等

MFC的CBitmapButton的扩展类,实现了: 按钮正常、按下、弹起、禁用等不同状态图片切换; 鼠标经过按钮时按钮状态图片的改变; 鼠标指针在按钮上时形状的改变; 异形按钮,利用按钮自绘实现了特殊形状按钮; 按钮提示信息,鼠标停留在按钮上会显示提示

2012-10-31

MFC扩展位图按钮类

MFC的CBitmapButton的扩展类,实现了: 按钮正常、按下、弹起、禁用等不同状态图片切换; 鼠标经过按钮时按钮状态图片的改变; 鼠标指针在按钮上时形状的改变; 异形按钮,利用按钮自绘实现了特殊形状按钮; 按钮提示信息,鼠标停留在按钮上会显示提示

2012-10-30

MFC中使用flash按钮并交互

使用flash制作了按钮,然后导入到MFC中使用,并与MFC产生交互。点击界面上不同的flash按钮会弹出响应的提示。注意flash文件的制作要添加fscommand消息,并传出参数以供MFC调用。

2012-05-25

MFC选择位图文件并显示

在MFC中点击一个按钮,然后会弹出文件选择框,从文件选择框中选择一个bmp格式的位图文件并显示出来。

2012-04-19

空空如也

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

TA关注的人

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