GraphQL在Spring Boot项目中的实践

什么是GraphQL?

GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。它对标的是REST这种接口风格,它重新定义了一种接口模式,让调用方可以指定需要查询的数据,而且没有任何冗余。

Read More

Github Pages 博客优化

使用Github Action自动部署

Github Action是Github提供的免费CI系统,利用Git Hooks可以在提交代码时触发自动化构建流程。对于我使用hexo搭建的博客来说,在我写完博客后push到Github就能触发自动hexo deploy发布博客。

Read More

使用RSS获取资讯

一、RSS是什么

RSS是一种信息聚合的技术,都是为了提供一种更为方便、高效的互联网信息的发布和共享,用更少的时间分享更多的信息。

简单来说RSS就是以统一的格式发布内容,订阅了某个RSS源的客户端可以接受到该源的更新推送。类似订阅一份报纸后,当天最新的报纸就会准时递到你手中。而由于RSS统一格式的优势,不拘于新闻,各种博客,网站更新,各种app讯息都能订阅,这种统一的概念正是吸引我的地方之一。另外一个吸引我的地方是RSS只会让你接收你想要接收的内容,沉浸式无广告阅读,不会有“猜你喜欢”擅自用AI技术推送消息给你的情况出现。

Read More

记一次应对挖矿程序的经历

一、背景

之前为了远程调试redis,将服务器上的redis绑定到了阿里云的公网IP上。后来上redis时发现多了两个key,查看了这两个key发现里面是curl和wget命令,于是猜到有人远程下载了脚本,但是下载的地址已经失效了,无法判断是什么脚本,但是可以肯定服务器被攻击了。后来检查服务器的资源占用,果然cpu占用间断性的会飙到100%,显然被人用来挖矿了。

Read More

使用hexo搭建博客

一、背景

本来在自己的vps上自己写了一个博客,但是很多地方需要自己不断维护,自己写的前端也不太满意所以决定用框架搭一个静态博客部署在github page上,这样也省了在vps上到处迁移。

我选择了人气比较高的Hexo,记录一下自己搭建的过程,作为官方文档的整理和补充。

Read More

Spring Boot + Spring Security 应用开启接口跨域

一、为何要提供跨域资源服务

最近在写的一个项目后端使用了Spring Boot和Spring Security,前端使用Vue和axios(发送ajax)。为了实现前后端分离,前端和后端能部署在不同的域名下,后端要开启CORS(跨站资源共享),保证后端接口能被不同域名下的前端正常请求。

由于浏览器的同源策略,跨域请求一般会被拒绝,导致ajax无法访问到后端资源。
跨域的几种场景,可以判断自己的网站是否跨域:

  1. 域名不同
  2. 域名相同,端口不同
  3. 域名相同,协议不同,如http和https

Read More