SpringBoot + JWT + Redis 开源知识社区系统

Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!:https://javaguide.cn/

你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 9 期,每一期我都会精选 5 个高质量的 Java 开源项目。

前 8 期的「优质开源项目推荐」传送门:https://javaguide.cn/open-source-project/

SpringBoot + JWT + Redis 开源知识社区系统

你可以通过 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)找到更多优质的 Java 开源项目。

SpringBoot + JWT + Redis 开源知识社区系统

mini-spring-cloud:简化版 Spring Cloud

mini-spring-cloud 是一个手写的简化版的 Spring Cloud,旨在帮助你快速熟悉 Spring Cloud 源码及掌握其核心原理。

mini-spring-cloud 实现了 Spring Cloud 生态提供的核心功能比如服务注册、服务发现、负载均衡、集成 Feign 简化调用、流量控制、熔断降级、API 网关。并且,对于每一块功能的实现,mini-spring-cloud 还附带了详细的源码解析。

SpringBoot + JWT + Redis 开源知识社区系统

相关阅读:腾讯正式开源Spring Cloud Tencent,打造一站式微服务解决方案

Github 地址:https://github.com/DerekYRC/mini-spring-cloud

ANTLR:强大的语法解析器

Antlr(Another Tool for Language Recognition) 是一款强大的词法和语法解析器,可用于读取、处理、执行和翻译结构化的文本或二进制文件。

Antlr 广泛应用于学术界和工业界构建各种语言、工具和框架,比如 Twitter 搜索中的查询解析就是基于 ANTLR 来做的,再比如 HBase 的访问客户端 Phoenix 使用 Antlr 进行 SQL 解析。

Antlr 使用 Java 语言实现,支持 Java、C#、JavaScript、Python、Go、C++、Swift 等编程语言,目前在 Github 上收获了 12k+ Star。

SpringBoot + JWT + Redis 开源知识社区系统

Antlr 的作者是谷歌的 Tech Lead,同时也是旧金山大学的数据科学和计算机教授,从 1989 年开始就一直深耕语言工具的开发和研究。一直到他自认满意的 ANTLR 4 发布,前后用了 25 年的时间。

相关阅读:Antlr4 简介

Spring Cloud Tencent:腾讯版 Spring Cloud

Spring Cloud Tencent 是腾讯开源的一站式微服务解决方案。

SpringBoot + JWT + Redis 开源知识社区系统

Spring Cloud Tencent 提供的能力包括但不限于:

  • 服务注册和发现
  • 动态配置管理
  • 服务治理
  • 服务限流
  • 服务熔断
  • 服务路由

SpringBoot + JWT + Redis 开源知识社区系统

Spring Cloud Tencent 官方提供了体验环境,地址:http://14.116.241.63:8080/ (账号和密码都是 polaris)。

SpringBoot + JWT + Redis 开源知识社区系统

相关阅读:腾讯正式开源Spring Cloud Tencent,打造一站式微服务解决方案

Github 地址:https://github.com/Tencent/spring-cloud-tencent

QR-Code-generator:高质量的二维码生成库

QR-Code-generator 是一款支持多语言(Java,TypeScript/JavaScript,Python,Rust,C++,C)的高质量的二维码生成库。

SpringBoot + JWT + Redis 开源知识社区系统

与同类型的二维码生成库相比,QR-Code-generator 的代码更简介并且文档注释更详细。

Java 语言基于 QR-Code-generator 生成二维码的代码示例如下:

import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import io.nayuki.qrcodegen.*;

// Simple operation
QrCode qr0 = QrCode.encodeText("Hello, world!", QrCode.Ecc.MEDIUM);
BufferedImage img = toImage(qr0, 4, 10);  // See QrCodeGeneratorDemo
ImageIO.write(img, "png", new File("qr-code.png"));

// Manual operation
List segs = QrSegment.makeSegments("3141592653589793238462643383");
QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false);
for (int y = 0; y < qr1.size; y++) {
    for (int x = 0; x < qr1.size; x++) {
        (... paint qr1.getModule(x, y) ...)
    }
}

forest:下一代的知识社区系统

forest 是下一代的知识社区系统,可以自定义专题和作品集。

SpringBoot + JWT + Redis 开源知识社区系统

forest 的后端基于 SpringBoot + Shrio + MyBatis + JWT + Redis,前端基于 Vue + NuxtJS + Element-UI。

非常小众的一个项目,看得出来作者维护比较认真,并且很有想法。根据项目首页介绍,这个项目未来还可能会增加专业知识题库、社区贡献系统、会员系统。

SpringBoot + JWT + Redis 开源知识社区系统

SpringBoot + JWT + Redis 开源知识社区系统

Original: https://www.cnblogs.com/javaguide/p/16407447.html
Author: JavaGuide
Title: SpringBoot + JWT + Redis 开源知识社区系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592776/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 开发必备linux命令大全-稳赚不亏

    我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须。接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结…

    Java 2023年6月5日
    088
  • 惊呆了!Spring Boot 还能开启远程调试?

    持续原创输出,点击上方蓝字关注我 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启调试? transport server suspend address o…

    Java 2023年6月14日
    075
  • 碎碎念六四

    09.01 写可,不写亦可。但,—— 毕竟是写了十八年,——或许会是自己一生坚持时间最长的事情吧!写到离开世界的那一天。 用代码驱动机器,用文字影响世界。 09.02 早上又迷糊睡…

    Java 2023年6月9日
    059
  • Python面向对象

    1.面向对象 2.什么是类和类变量? 3.实例和实例化以及实例变量 4.数据成员 5.方法和静态方法以及类方法 6.什么是方法重写 7. _ init _ 8.self 9.类的初…

    Java 2023年6月7日
    076
  • 运算符 (Java)

    基本介绍 算术运算符:+,-,*,/,%,++,– 赋值运算符:= 关系运算符: 实例展示 public class Operator { //base.Operato…

    Java 2023年6月9日
    085
  • Java正则表达式——matcher.find()的匹配原理

    在Java正则中,matcher.find()通过获取目的子字符串的第一元素和最后一个元素的索引来确定目的字符串,大致方法就是将获取的索引存入在类中定义好的属性groups[]中,…

    Java 2023年6月8日
    071
  • 经典面试题:==和equals的区别

    1.== 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型就是比较内存地址 2.equals的话,它是属于java.lang.Object类里面的方法,如…

    Java 2023年6月14日
    0101
  • springboot整合mybatis-plus代码生成器遇到bug

    一、生成的实体类没有ID主键 二、生成的mapper不能自动注入 在mapper中添加@Mapper注解,(如果有自定义的mapper.xml,在application.prope…

    Java 2023年6月13日
    069
  • spring boot RocketMQ 集成

    RocketMQ学习 1.基本概念 RocketMQ是阿里巴巴团队使用java语言开发的一款分布式消息中间件,是一款低延迟,高可用,拥有海量消息堆积能力和灵活拓展性的消息队列。 r…

    Java 2023年6月5日
    075
  • 30个类手写Spring核心原理之MVC映射功能(4)

    本文节选自《Spring 5核心原理》 接下来我们来完成MVC模块的功能,应该不需要再做说明。Spring MVC的入口就是从DispatcherServlet开始的,而前面的章节…

    Java 2023年6月7日
    066
  • 【翻译】Nginx的HTTP负载均衡

    将请求负载均衡到多个应用实例是一个常用的技术,它起到优化资源使用率、最大化吞吐量、降低延迟、保证容错性。 Nginx是一个非常有效的HTTP负载均衡工具,它将请求分发到多个应用服务…

    Java 2023年5月30日
    064
  • Spring(十六):声明式事务管理

    一、什么是事务 事务就是一系列的业务逻辑的操作,必须要全部执行成功,否则每个操作所执行的内容都要撤销。 二、事务的四大特性 1.原子性(atomicity):事务虽然有一系列的操作…

    Java 2023年6月15日
    085
  • Elasticsearch高级检索之使用单个字母数字进行分词N-gram tokenizer(不区分大小写)【实战篇】

    一、前言 小编最近在做到一个检索相关的需求,要求按照一个字段的每个字母或者数字进行检索,如果是不设置分词规则的话,英文是按照单词来进行分词的。 小编以7.6.0版本做的功能哈,大家…

    Java 2023年6月15日
    085
  • Java并发编程volatile关键字

    volatile理解 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和volatile 关键字机制。volatile具有synchronized关键…

    Java 2023年6月7日
    067
  • 4.JSP共有以下9个内置的对象

    request 用户端请求,此请求会包含来自GET/POST请求的参数response 网页传回用户端的回应pageContext 网页的属性是在这里管理session 与请求有关…

    Java 2023年6月9日
    0135
  • 整理的Java List Set Map是否有序,元素是否允许重复

    整理的Java List Set Map是否有序,元素是否允许重复的说明,如下图: Original: https://www.cnblogs.com/muyuge/p/61524…

    Java 2023年5月29日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球