博客列表

perlin噪声算法实践
Perlin噪声算法,可以实现将一组散点进行平滑连接过渡,不仅适用于二维连线,同样适用于三维连线,甚至是n维的平滑过渡。使用场景 使用的场景也非常多,于二维,比如想要将统计数据平滑连接已显示趋势的曲线统计图,于三维生成平滑的地形,而非断崖。 如果我们不使用噪声算法,直接连接,得到的效果图可能如下图所示。首先随机了几个顶...
联机围棋的简单实现
两个月没更新文章了,暂且水一篇()。本次的主题是——联机围棋。 使用的语言是JAVA,技术细节为Socket套接字、Thread多线程、Swing图形界面,以及IO流读写。目标 1.可以在任何地方访问,不局限于局域网连接通信。 2.符合基础的围棋下棋规则,黑方先下,轮替下棋。 3.符合基础的围棋逻辑,自动提...
网页背景添加粒子飘动效果
对于首页粒子飘动的效果,我其实早在一年前就有计划去实现,只是不知怎得遂竟忘之。近来重构部分页面样式时,才发现了这样一个空函数 bkeffectStart 藏匿于代码之中,宛如空头支票,欺骗了我许久。 话不多说,先上结果图(下图所示)。可以看到一个个小的圆点在到处飘动(静态图片怎么看出来的2333,[假装在动.gif]),鼠标...
调用支付宝账单接口记账
为了进行个人财产管理,在先前的几个月都是用的excel表格进行记账,每次回家都要进行一步记录当日消费入账的操作,非常的繁琐,而且也不方便处理数据。于是乎就想着能不能接入支付宝的官方api来获取每日的账单,并且同步到个人系统中。 因为账单模块与个人主页是相对独立的两个主题模块,所以账单模块单独写了一个微服务,个人主页只要负责调...
Springboot的依赖包分离
之前有写过一篇博客,内容是实现了springboot打包中的maven依赖jar包分离(详见:Springboot的jar包分离),确实能够达到预期。但是当我们新增一些依赖时,之前的配置无法便捷的获得依赖项,所以更正完善了一下配置,本文仅作留档方便后续查询。<build> <plugins> ...
NGINX:获取原始IP与404页面配置
在昨天的博客(NGINX:端口映射子域名&维护页面切换)中,我们成功的将不同端口映射到指定的三级域名,并且实现了维护页面的基础切换,但是在后续的查询时,却发现了一个问题。 我的博客浏览量是和用户访问IP直接关联的,然而在NGINX启用后,用不同的网络设备去浏览同一篇网站时,计数始终没有变更,初步怀疑是NGINX反向代...
NGINX:端口映射子域名&维护页面切换
当一台服务器拥有多个独立服务时,通常采用的服务提供方式是对外开放不同端口。然而端口号作为数字本身没有含义,难以通过端口号来辨别服务类型,只有一些知名常用端口号被程序员们知晓。而普通用户体验不是很好。 很早以前,因为对域名的作用和机制不是很了解,还想着能不能在DNS解析的时候将三级域名和特定的端口绑定在一起,实践下来发现这个想...
actuator指标检测的简单运用
Springboot Actuator可以实现对springboot应用程序的各项指标进行检测,结合Springboot Admin即可完成检测数据可视化。本次将记录一次个人主页添加actuator的简单功能实现。添加actuator 首先需要给当前工程引入依赖。<dependency> <grou...
springboot配置文件不提示
今天修改主页功能的时候偶然的浏览量一眼yml和properties配置文件,发现了一个奇怪的现象,如下图所示: 自己的configuration配置类都扫描到了,但是springboot的一些原生的配置类都无法定位,与以往的情况恰恰相反(能扫到springboot但是扫不到自己配置的,只需要装上processor插件即可)。...
后端mock的一种解决方案
mock,模拟服务器发送数据,通常会在以下两种场景会用到:当后端接口未实现完毕,前端却迫切需要一个接口的数据以继续开发时,就需要一个临时接口来模拟后端接口返回符合前后端文档规范的数据结果;如果后端需要测试第三方api时,服务尚未开通完毕或者调试接口也计调用次数,就需要临时接口来模拟该接口了,以此来实现整个代码编写逻辑更加通顺。现有的...
idea控制台乱码解决
idea控制台乱码的情况其实当初在解决同学的工程项目时就遇到过,那时候也就含糊的让他们不用在意控制台的输出。而如今个人调试时却发现,控制台乱码是真的很影响测试。 其实关于idea控制台输出乱码的解决方式网上有很多,不过大体都是File>Editor>File Encodings,设置工程编码和默认配置编码格式为u...
博客编写云同步
尽管先前已经给博客编写功能添加了导入导出功能,以防备断网时候博客编排内容无法提交的情况产生,还有一个问题需要解决——如何避免编写过程中因手滑页面退出导致的编写内容丢失。 这一块其实很容易就能想到采用云同步来实现。基本原理就是用户在前端富文本编辑器编辑,触发编辑相关事件后,就向服务器发送最新的编辑内容以更新。服务器端则可以将数...
服务器内存监测
内存,作为计算机的四大件之一,当它充足的时候,我们不会察觉到它的存在,直到它悄无声息的一点点失去,才会越加珍惜。 而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄...
加内存之旅
随着后台服务越来越多,原本8GB的内存容量被蚕食的只剩下2GB的空闲内存,随便开一个IdeaIDE就能到90%的占用率,若要结合vscode进行前后端联调,则不得不关掉QQ音乐以及其它社交软件,很影响体验。 这台笔记本还是当年刚上大学时买的,当时的想法是:我主要是用来学习的,偶尔玩点轻量级游戏,追追番什么的,应该用不到多高...
私人git远程仓库搭建(windows)
Git作为一款优秀的分布式版本控制工具深受开发者的青睐,相应的Github与Gitee作为免费的代码托管平台,也成为了与git共同绑定的好伙伴。 Github不用多解释,一个全球最大的同性交友网站,里面的人会讲多国语言:Java、C++、Go、Python...当然还有很多精通多门语言的语言大师!包含了世界上几乎所有领域的知...
aop记录登录日志
在网站或者各种软件系统中,多多少少会有一些日志需要我们来记录,从而查看当前系统的运行状态。 对于springboot框架而言,可以采用aop面向切面编程的方式,在不改变原本业务的基础上来增加这个日志记录功能。以下为一个记录登录数据日志的aop代码,通过该代码,可以将用户登录ip、登录方法、登录信息、登录时间计入mysql数据...
短链接的实现
短链接,可以将一个较长的、携带参数的url简化成一个可以接受的长度。 生活中,经常会在手机短信的广告中出现,因为短信服务本身对短信的长度有限制,如果使用一个非常长的链接,几百字符很快就能用完,关键信息的字符数被挤压,影响了服务方的广告价值同时也影响了消费者的观感,通过短链可以解决这个问题。 短链也经常用在资源的分享链接...
可以白嫖的AI绘画API
随着AI技术入侵我们的生活,在一边抵制滥用的同时又不得不臣服于它,除了AI文章生成、AI代码生成、AI绘图以及chatgpt的浮世,都给了我不小的震撼。 目前已有的AI绘图产品大多都是付费的,除非自己能够拥有一个可以跑的高性能机器,绘图价格也都不低,有个1角一张,有的1元一张...... 那么当然就想着有没有可以免费用...
win10的一些问题解决
这里记录一下我目前遇到的一些比较严重的win10使用过程中遇到的问题。1. 掉网卡驱动问题 出现的场景:一次更新win10时,更新完成后发现扫描不到无线网了,查看适配器后发现没有无线网WLAN适配器,继续查看驱动,发现无线网的驱动有了一个黄色的感叹号,表示出现故障。 试过的方法: · 使用电脑管家网络修复工...
服务监测与redis序列化
随着服务器数量的增多,部署于不同服务器的服务数量也是稳步增长的,这时候监测每个服务是否正常运转就显得尤为重要。通过监测的结果,可以方便的知道有没有服务下线了,从而采取相应的解决策略。服务监测的设计 我设计的监测策略如下: 所有服务监测相关的数据存于redis中,每隔5分钟向目标服务端口发送一个socket连接请求,如果...
Springboot的jar包分离
上一次实现了前后端分包,每次可以单独管理前端或者后端程序的上线,从而方便维护。但是随着例行维护发现,springboot每次整体打包,都要往服务器传递近百来兆的一个大的jar包,非常费力,所以就想着进行一个简单的优化,从而使每次上传的量尽量小。 造成jar包非常大的原因其实很简单,通过解压jar包,查看结构就会发现,占用大头...
分布式项目搭建的一些小结
前几天又从头开始创建了一个多模块的分布式的项目,过程中还是有不少问题的,这里做一些小结:1.配置注入,下面二选一。 为了有提示等,引入spring-boot-configuration-processor ① @EnableConfigurationProperties + @ConfigurationPropertie...
浏览量的简单设计
哈喽,又是一天早起的日子,今天就写写昨天实现了的浏览量逻辑设计,顺带一些其它的小知识总结,设计思路 基本需求是当用户进入到某一篇博客的时候,该博客的浏览量+1,并且同一个用户同一天访问的博客不会再次增加1,即一天一个用户只会绑定一次某个博客。 基于这个需求,最开始设计的时候就简单的对getBlogById进行了一个扩展...
服务器子用户创建运用
啊啦啊啦,好久没写博客了,打算水一篇博客。(其实这篇博客内容压在库存里面两个月了,哈哈哈哈嗝:>_<:) 作为一个仍然在校的学生,对于服务器以及域名等的费用支出通常预存不了太多,往往开了一台学生优惠的轻量运用服务器加上一些其它服务费用就已经捉襟见肘了,如果此时有需要另外一台服务器,没有了学生优惠的价格选购是非常麻...
接入bilibili直播开放平台
在前几天,无意间看到了b站直播互动平台开放了开发者接入的功能,所以继接入qq和baidu登录授权功能后决定研究一下b站的直播互动平台接入有哪些不同。对于这篇文章酝酿了好些天,因为实在是有些不大好下手,不知道怎样写才能讲的更加清晰、易懂。回顾开发的总结 先来对这些天开发的内容进行一个总结和比较qq互联baidu网盘开放平台bi...
高自由度QQ机器人制作
其实很早之前就有接触过qq机器人,不过那个时候,我只会使用别人搭建起来的程序客户端,并且搜索别人做好的插件来实现想要的效果。 然而,个人肯定想要更加自由的管理qq机器人,那么就需要更接近核心组件的去了解如何自定义的发送想要的内容,比如发送自己服务器群的状态信息到常用qq、定时发送每天的百度热搜来查看热点新闻、发送自己b站的各...
unity模仿mc放方块
今天实现了unity技术模仿mc放方块的功能,由于目前是锁定视角的,所以做起来相对来说比较简单。 我实现的逻辑主要就以下的几步:1. 获取左击事件的触发2. 从相机向空间中该点发射射线发生碰撞,判断是否是基准方块类型(非方块地基无法放置方块)3. 获取碰撞面,上面、侧面、前后面(方块中心点到空间点击点的向量,求与各面的垂直向量夹...
yum报错NoMirrorList
原因:centos8停止服务1. 进入yum的仓库配置页面cd /etc/yum.repos.d/2. 修改所有centos文件内容sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mirror.centos.o...
Unity的一些基础总结
这几天重新拾起了自己草草学习的unity技术(不到一周),开始了大胆的模仿原神之路。下面做一些总结。1. 添加天空材质 首先作为一个世界肯定要有一个天空的材质啦,从unity社区找了一个带地形和天空材质的包。如下设置天空背景环境。地形则是直接从资源包中导入了demo地形(种了很多多树的草原)。2. 添加UI的字体 对于...
font-spider压缩字体文件
通过一段时间的运行,发现即使将网站的字体文件(dotted2MB,soft4MB)放到CDN加载依然很慢,而且流量跑的飞快!不得已开始寻找压缩字体的方式,最终找到了font-spider这个工具,可以依据html文件,将用到字体的字给单独提取出来打包成小的字体包,貌似只支持ttf格式的字体文件。全局安装工具 由于该工具具有普...
linux系统开mc服务器
铛铛,今天在腾讯云花16RMB买了一台孟买的服务器(一个月),打算试试将现在服务器里的mc服务迁移过去来缓解服务器压力。记录一下。 之前在课堂或者自学有了一定了linux基础,现在是实战啦!1. 登录 首先是登录方式,腾讯云支持一键登录和vnc登录、ssh登录,我这边使用的是一键登录,如下图: 登录成功后,界面会...
音乐播放组件
这两天加了一个音乐播放的组件,同时对部分功能进行了优化。页面切换过度 对页面的切换进行了一个转场过度,对博客成列的展示与切换也简单的做了个过度。 使用的是vue的transition标签,当里面内容改变的时候,会通过name指定的样式进行过度。(列表使用的标签是transition-group)// html:<transi...
b站评论过滤脚本
今天乘有空,写了一个油猴脚本,可以屏蔽b站评论区的评论! 油猴脚本地址:点击前往 ,相关的修改方式都有所描述。 油猴脚本源代码:// ==UserScript== // @name bili_rebuild // @description b站评论过滤器 // @license MIT // @namespace dreamcen...
sql导入本地与MimeMessage
sql导入本地报错 我们知道服务器的定期备份文件设置是utf格式的,但是当我们下到本地开发环境导入的时候,却报了如下的错误: 一开始,我以为是导出的时候出现问题,看报错以为是主键出现冲突了,然后打开sql文件查看,看来看去啥问题都没有,所以断定不可能是数据库dump的时候产生的数据异常。那么会是什么原因呢?查看百度都是清一色的...
事务、异步线程池、二级缓存
今天在本地实现了部分业务的事务添加、异步线程池的添加以及mybatis二级缓存的添加。由于稳定性未知,仍然需要在本地测试一段时间,具体测试多久呢,可能也不会有多久,两天?或者和博客按tag检索功能实装一起?又或许等actuator监控完成了一起?又或者明天就上?事务添加 这次本地版本,对专辑删除、博客添加、删除相片分别添加了...
数据库备份与日期文字化算法改正
本来今天是没打算更新的QAQ,但是确实是遇到了不能忽略的程序bug,所以就抽出时间修正了以下。数据库备份异常 在 这篇博客中 我们实现了数据库备份的计划任务,乍一看这两天的备份都成功了,文件也都备份出来了。但是当今天进行例行检查的时候,却发现:xxx.sql文件中出现了乱码!通过排查发现是读取命令行输出结果时候没有进行编码设...
百度收录与一些优化
今天很高兴的是网站已经正式被收录啦,并且解决了一些大大小小需要改善的问题。先从简单的说起,路由跳转catch 对于vue,我们已经知道路由的跳转有hash和history的两种方式,而对于history模式,服务器的容器需要配置错误页到index页面,这样我们就可以不带#来实现访问,看起来更像一个通用的路由模式。我们在手动进...
数据库的定期备份
这两天完成了数据库的定期备份业务实现,以及一些无需提及的前端页面bug更正。 因为以后可能会有不少的定期任务,如果仍然放在service目录层级下,会显得比较乱,所以决定放在了新的包schedule中。以后所有的schedule都放在这个目录层级下,方便管理,顺便截了一张当前项目的目录结构: 接下来是看一下这节的主题给...
动漫页和仓库页初步完成
应该算是第二阶段的开发快要结束了吧,基础的页面和功能都已经完成了。接下来的就是对整体的UI和性能的调优。 下面来记录一下这些天(摸鱼了好几天,嘿嘿嘿)的问题。redis密码 之前设置密码是在redis-cli设置的,然后,在一次重启时,发现项目启动失败了,才发现这种方式设置的密码是临时的,非常危险!所以需要在配置文件设...
yml找不到与mail注入问题分析
今天没有按计划完成任务,原因是~有个新的游戏公测了,没忍住QAQ 另外一个重要问题是,两个bug的产生,如下阐述。yml文件没有小绿叶 我的后端springboot是采用的yml以及application杂糅的方式进行配置的,之前每天正常的跑着,可是今天打开idea时候,yml一直没有自动提示,yml文件没有染上spr...
友链页的设计:评论
从今天开始就是一些比较繁杂的业务了,比如友链、番剧、仓库。对于这三个模块,每个模块都有大量的业务需要处理。 目前暂且将灵感和TODO模块给删除了,还在考量其必要性。 然后今天完成的主要工作就是,友链的各项后端接口设计:友链的增删改查、评论的增加与分页查询。前端就是友链的展示样式设计、评论的添加与回复实现(大把时间在设计和...
服务器部署的各项问题
好耶!终于可以部署服务器了!很开心?确实,但是结果并非一帆风顺,遇到了各种各样的问题。下面来一个一个描述与给出解决方案。vue路由history模式后端配置 之前对于vue的history模式路由的配置方式是xml修改404错误页指向。对于springboot相关的配置类是WebServerFactoryCustomizer...
第一阶段设计结束
今天主要完成了动态的编辑、信息统计bug修复以及阻止手机端访问的功能。 动态的编辑中,主要运用的原理是vuex,其实也有考虑用属性传递(props),但是我的富文本编辑并非简单的作为组件来实现的。而是作用一个单独的子页面来实现的,这样,在文档上就没有直接的关联,所以最终采用vuex。当然采用的编辑默认规则为只允许编辑最后一条...
访问记录和回忆相片修改
今天完成的任务相对来说非常的轻松,添加了用户访问栏目的记录、相片名字描述的修改以及专辑的封面名字修改。 如果说今天有啥要记录的应该就是一些小的细节: 1. describe是mysql的关键字,作为字段引用时需要加上飘号 `` ,否则识别为sql语句时候会出现问题。 2. axios是异步数据,所以在同一函数类,a...
删除业务与鉴权
今天主要完成的是动态、专辑与图片的基本删除能力,其中包含了前端右键菜单设计以及导出功能的完善。(专辑=相册)后端的业务实现删除动态 这个的实现最为简单,没有上面特别需要注意的地方,所以不多赘述。删除专辑 删除专辑中,由于有设定数据库中前三个专辑id的默认匹配规则(自动、博客、动态),所以在删除的时候给了id>3的...
优化图片存储并前台展示
今天的心得比较多,可能写的会比较多!主要完成了相册和图片的优化,前台展示以及博客页上传图片功能的最终实装!图片存储方面的优化redis状态验证 在之前的图片上传模块中,发现图片到上传图床的时间跨度非常大。而且,一旦出现错误,各个文件和记录的回退(删除)会显得非常浪费资源。 于是乎,我选择了先查询redis中保存的图床状态,如果确保图床...
后台回忆页专辑图片陈列
今天主要完成的是后端图片上传功能的进一步完善以及后台回忆页面的初步成列。后端图片上传完善昨天的图片上传,忽略了一个比较严重的功能,那就是更新相册的图片计数。今天则把该功能实现了,因为该功能的操作与返回结果无关,所以采用开启新的线程进行单独处理,从而提升用户体验,后台慢慢更新。new Thread(() ->; { Integer...
图片上传图床与备份回退策略
今天完成了服务器端的图片上图床、备份、增加记录、获取列表功能。主要完成的技术要点是对接图床,并且在本地备份(相对于服务器的本地),然后记录计入数据库。设计流程先来展示一下我设计的基本流程:整个流程中,为了尽量让出现异常错误产生的“垃圾”文件数据进行回退,从而保证资源利用率。图床api的包装与修改在原有官方提供的java版本api后,经过简...
懒加载与日期文字化
今天简单的完成了动态的后端操作,由于技术简单不做赘述。主要技术创新在前端。语义化时间已经知道后端传来的时间格式为 2022-04-11,然而动态页认为直接用数字属实是难看到家了。所以准备把它语义化成汉字形式,即:二零二二年 * 四月十一日。所以设计了一个简单的算法。算法要点: 所有汉字作为写成一个串,直接对应索引获取翻译 年份直接翻译 月...
博客tag的一些问题解决
哒哒哒!今天完成了博客tag的添加,当然不是一帆风顺的。就几个问题进行汇总分享一下。如何设计tag的数据库? 这个问题当然一开始就让我考虑了很久,因为和需求分析阶段的粗糙分析相差还有很多。 原本是打算在tag,blog两张表之外再加上一张blog_tag的表,也是传统的多对多的解决策略。但是仔细分析了个人的需求,额,感觉这样设计就...
第一篇博客成立!
这是我的第一篇正式博客!兴奋!好耶!通了,遇到过不少小的问题,也努力解决了。分页上的小问题比如分页排序上,原本打算通过id分页来提高检索效率,使用了如下的方式SELECT * FROM blog WHERE id > #{param1} ORDER BY id desc LIMIT #{param2}结果好像逻辑并不对,因为排序后的...