无奈何杨(wnhyang)

I will keep to fight

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


官网:Sa-Token

一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!

介绍

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权 等一系列权限相关问题。

官方文档写的已经非常好了。引用官方文档开头的一段话:

本文档将会尽力讲解每个功能的设计原因、应用场景,用心阅读文档,你学习到的将不止是 Sa-Token 框架本身,更是绝大多数场景下权限设计的最佳实践。

确实,通过阅读官方文档有学到很多东西,收获更大的是结合我的使用体验,下载并阅读源码后有学到了一些东西想和大家分享!这篇文章只是开头。

阅读全文 »

个人博客:无奈何杨(wnhyang)

个人语雀:wnhyang

共享语雀:在线知识共享

Github:wnhyang - Overview


Proxy SwitchyOmega

轻松快捷地管理和切换多个代理设置。

安装

SwitchyOmega谷歌商店:https://chromewebstore.google.com/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif

备用下载地址:https://github.com/FelisCatus/SwitchyOmega/releases

官网下载地址:https://switchyomega.org/switchyomega-download/

以上都不行的话,可以在Edge浏览器扩展找到它:https://microsoftedge.microsoft.com/addons/detail/proxy-switchyomega/fdbloeknjpnloaggplaobopplkdhnikc

阅读全文 »

随着云计算技术的不断发展,越来越多的企业和个人开始使用云服务器来托管网站、应用程序和其他在线服务。云服务器提供了一种灵活、可扩展且成本效益高的解决方案,使得用户可以轻松地部署和管理自己的在线业务。本文将为您提供一份详细的云服务器使用指南,帮助您更好地利用云服务器。

一、选择合适的云服务器提供商

市场上有许多云服务器提供商,如阿里云、腾讯云、亚马逊AWS等。在选择云服务器提供商时,您需要考虑以下几个因素:

  • 价格:比较不同提供商的价格,选择性价比最高的方案。
  • 性能:根据您的需求选择合适的CPU、内存和存储配置。
  • 可靠性:了解提供商的数据中心分布和网络连接质量,确保您的服务稳定可靠。
  • 技术支持:选择提供良好技术支持的提供商,以便在遇到问题时能够得到及时的帮助。

这些云服务器提供商针对个人和企业用户有非常多的产品可供挑选,尤其是对于新用户、学生更是有很多优惠。

阅读全文 »

#Spring Boot Admin

也许你在学习SpringBoot的时候有接触Admin监控,但是因为是自学没有真正意义上跑的项目,只是每次启动后调试一下然后就关闭了,所以监控的意义其实不大。况且,我们基本上都是本地跑的项目,基本上不会有什么压力,也很少去分析接口耗时、Jvm堆栈、线程、CPU、内存等,也是因此我们一直都有忽略监控的重要性。其实也都可以理解,没有这样的需求怎么会去探索呢。就像现在工作了,自己也有买服务器跑项目,就会不自觉地去做这些事情,驱动力来源就是自己了,完全不用借助他力。很多事情也是一样,现在做那些没必要的事情我觉得很烦,没有意思,也用不到,但是一旦与我息息相关,牵扯到利益上,对不起,我绝不放弃。

监控系统介绍

于我而言,见过的监控系统也并不多,仅仅知道ZabbixPrometheus+Grafana仅此而已,

https://blog.csdn.net/liu320yj/article/details/123554297

讯飞大模型

今年AI的风潮还没有停歇,就像是去年的俄乌战争一样,好像是只是出现在去年的年初,然后就消失了一样,其实一直战争都在持续,只是因为公众已经被其他的新闻所转移了视线,是的,人们只会对当下新鲜的事物所吸引,总是忘记一些很重要的事情。不只是AI,很多事情也是一样,当他出现在热搜时,我们去关注,去挖掘,去思考,等一下更具吸引力的热搜出现,之前的变得无人问津的时候,好像它就过去了一样,然而往往不是这样的。讲的有点偏了,扯回话题,国内AI,准确的说是今年大火的AI大模型很让国人失望,当然也包括我,具体的就不吐槽了,知道知道讯飞星火,体验了一下还非常不错,才有了一点改观,虽然与国外的大模型相比还有差距,但还是值得欣慰的。

最近讯飞开发公众免费体验讯飞大模型api的机会,正好我也体验了一下,每人免费20w``token,还是可以玩一玩的,借此记录体验感受。

参考

讯飞大模型

一文吃透 WebSocket 原理 刚面试完,趁热赶紧整理

Websocket技术的Java实现(上篇)

Websocket技术的Java实现(下篇)

springboot整合webSocket(看完即入门)

WebSocket

提到WebSocket的原因是讯飞提供的Java示例使用就是WebSocket技术,这下不得不了解一下了。

Socket想必在学习计算机网络时都会有些了解,这个WebSocket虽然听过但完全没概念,所以上面贴上了一些WebSocket入门的一些博客,看了仿佛打开了新世界,到目前为止只会写Controller提供的Http接口,这个WebSocket还是很值得学一下的,相信能玩一些很有趣的事情。

下面是直接下载讯飞官网Java示例运行后,对话中产生的,这一次对话使用大概500多token,免费体验的token这样看起来不算多了,但还是能尝试一下集成在微信公众号、群聊机器人、个人网站等等。

我:java实现websocket的方法 大模型:Java实现WebSocket的方法有很多,这里给出一个使用Java-WebSocket库的简单示例:

  1. 首先,需要在项目中添加Java-WebSocket依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖:
1
2
3
4
5
><dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.2</version>
</dependency>
  1. 创建一个WebSocket客户端类,继承org.java_websocket.client.WebSocketClient,并重写相关方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
>import org.java_websocket.client.WebSocketClient;
>import org.java_websocket.handshake.ServerHandshake;

>import java.net.URI;
>import java.net.URISyntaxException;

>public class MyWebSocketClient extends WebSocketClient {

public MyWebSocketClient(URI serverUri) {
super(serverUri);
}

@Override
public void onOpen(ServerHandshake handshakedata) {
System.out.println("连接已打开");
}

@Override
public void onMessage(String message) {
System.out.println("收到消息: " + message);
}

@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("连接已关闭");
}

@Override
public void onError(Exception ex) {
ex.printStackTrace();
}

public static void main(String[] args) {
try {
MyWebSocketClient client = new MyWebSocketClient(new URI("ws://localhost:8080/websocket"));
client.connect();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}

在这个示例中,我们创建了一个名为MyWebSocketClient的类,继承了WebSocketClient,并重写了onOpenonMessageonCloseonError方法。然后在main方法中,我们实例化了这个类,并连接到了一个运行在本地的WebSocket服务器。 ************************************************************************************* 我:

许久没更新了

每次好久不更新,再回头看的的时候就像看许久未打扫的屋子一样,杂乱而又陌生。哈哈哈哈

简单讲讲这段时间做的事情吧,一边是记录生活,一边是激励自己吧。

永远不要放弃你所热爱的

工作没有不烦的,不多提了。

学习呢,还是想自己做一套完整的系统,之前的白嫖敏捷开发体系Docker 部署 Java 镜像Apifox 简单使用初次使用 XXL-JOBXXL-JOB 发送过期邮件提醒自己写 spring-boot-starter-xxx微服务集成 sa-token 小记等一些文章已经说过了,目前进度大概是,后端接口部分大致完成,现在需要一个前端系统,而我的前端水平又不是太行,之前有过下载开源项目改改使用的经历,我想想参照着官网和成功的开源项目我也是可以的,所以最近一直在搞这个前端,遇到过不少问题,关键是这些问题我是比较难下手的,用的已有框架比较新,已有的使用经验也比较少,所以经常卡住,比较难搞哦。

另外,每每到周末除了偶尔有约能出去玩外,一直闷在屋子里,也是这段时间追完了老《三国》电视剧,真的好看,太好看了。四大名著除了国人耳熟能详的西游,我最熟悉的其实是水浒,之前所有一百单八将绰号和姓名我全部能对上,随便问都能直接答出来,就这种程度。三国更多记忆还是小时候的动画片和干脆面集卡,大致的故事都知道,但是也只是大致,很多都没有很理解,直到我看完了这部无比优秀的《三国》,有很多感触。东汉末年的乱世,桃园三兄弟的情谊,大将军与十常侍,董卓的专横跋扈,当初意气风发三公四世的袁绍,趋炎附势武功盖世的吕奉先,曹老板的心狠手辣和雄心壮志,乱世佳人美貂蝉,不信鬼神的江东猛虎孙伯符,义薄云天的关二爷,勇猛无畏的三爷,未献一计的徐元直,千里走单骑的云妹,雄姿英发羽扇纶巾周郎,守口如瓶鲁子敬,合肥战神孙仲谋,鞠躬尽瘁死而后已诸葛丞相,继承诸葛丞相意志的姜伯约,演技超群司马仲达,钟会邓艾破蜀,等等,太过精彩

除此之外要接触一下经典的电影,这个时代能花费一个多小时甚至是两个小时,安静的沉下心地去看完一整部电影的人恐怕不多了。经典就是经典,经久不衰,总能有些体会和收获。

健身会上瘾的哦

健身会上瘾是真的,自从我开始力量训练就停不下来了,也不是盲目的追求大重量,就是每次脱下衣服照镜子,看到自己的进步就很开心!

都说上班会制造各种疾病,我偏不,就是要跟他干,现在身体倍棒,就是偶尔太馋啦。

Game

因为我早已告别pc游戏,只剩下手游可以消遣,也只有联盟手游和金铲铲给我打发时光,嘿嘿

一句话,成为更好的自己!!!

安全框架

想必一旦涉及到Spring安全框架,很容易就会想到SpringSecurityShiro,了解过的都知道,完美的集成一套安全框架是多么麻烦的事情,所以大家都有努力在简化安全框架的集成成本。

我也是在自己做项目中需要集成安全框架才有了这篇文章,上面的两位的集成难度对我这种小菜鸡还是太难了。所以果断寻求别的方案,这不,发现了这个Sa-Token

Sa-Token 介绍

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证权限认证单点登录OAuth2.0分布式Session会话微服务网关鉴权 等一系列权限相关问题。

以上介绍复制于官网,在自己体验和使用后,感受就是🥳

Sa-token使用起来真的非常简单方便,具体使用上,直接看官网就好,这里主要讨论一个问题:

在微服务模式下,auth(认证中心)的拆解,是归于system(系统),还是独立的,如果是独立的。。。如果不是独立的。。。

阅读全文 »

启动错误日志呢

如题,这个问题其实很早之前就遇到过,是同样的报错,虽然可能具体的原因有些不同,但忘了记录,这次说什么也要记录下来长个记性。

说来也离奇,通常在使用IDEA启动调试SpringBoot就算是启动不了,至少还有一些日志能够帮助我们排查出是什么问题,但这次遇到的只有下面这个,除此之外什么什么也没有了!

1
2

Process finished with exit code 1

这可着实无从下手,还有一种启动失败错误如下,也是非常常见的。

1
2
3
4
Connected to the target VM, address: '127.0.0.1:56302', transport: 'socket'
Disconnected from the target VM, address: '127.0.0.1:56302', transport: 'socket'

Process finished with exit code 1
阅读全文 »

又搞我?

我的服务器竟然被攻击了!之后,我的服务器又被攻击了,上次是解决了远程用户登录,定时执行恶意脚本的问题。

但这次又对我的MySQL下手了,并且在每个库中留下了一张README的表,表里只有一条数据,如下:

您的数据库已删除。您必须支付 0.0125 比特币 (BTC) 才能取回它们。我拥有的备份:okay, wnh, xxl_job。通过 chin71303@proton.me 与我联系 只有与付款相关的邮件才会得到答复!

bc1q3l9q2n840y682vvy7xxs7cptnthag3z3xmfpgy

chin71303@proton.me

真是杀人且诛心啊!

跟上次一样,发生了这件事后我立刻马上就知道被攻击的原因了,还是我习惯了自己开发,随性的原因,平常我自己玩就不太注意开放出来的安全性,因为那时候仅仅是在自己的电脑上玩,不管是局域网还是防火墙都会有保障,而且一般不会全天24小时运行,但是到服务器上就不一样了,在安全规则上设置的比较随意,需要的端口都直接开放,中间件账号权限也是随意设置的,特别容易被以撞库等方式破解,这次事件也正是它带来的后果。

阅读全文 »

Q&A1

Q1:清理2023年,除了20230109目录外,保留近一个月的目录shell脚本

A1:以下是清理除20230109目录外,保留近一个月的目录的shell脚本:

1
2
3
4
复制代码#!/bin/bash

# 删除早于30天的目录
find /path/to/directory/* -type d ! -name "20230109" -ctime +30 -exec rm -rf {} \;

/path/to/directory/替换为要清理的目录的路径。这个脚本使用find命令来查找除了名为20230109的目录以外的所有目录,并删除它们,同时保留近30天内被修改过的目录。

学到了学到了,运维时就可以通过手动或定时任务清理一些不需要的文件了。

阅读全文 »
0%