自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 收藏
  • 关注

原创 别再分库分表了,来试试新型数据库TiDB(Sql+NoSql)!

数据库发展至今已经有3代了:SQL,传统关系型数据库,例如 MySQLnoSQL,例如 MongoDB,RedisnewSQL。

2023-07-28 16:34:12 537 2

原创 超越 MyBatis-Plus?来领略一下 MyBatis-Flex 的优雅魅力!

2、灵活: 支持 Entity 的增删改查、以及分页查询的同时,Mybatis-Flex 提供了 Db + Row^灵活 工具,可以无需实体类对数据库进行增删改查以及分页查询。这带来了几个好处:1、极高的性能;我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper^亮点 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。MyBatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。

2023-07-28 16:06:09 402

原创 再见 MybatisPlus,阿里推出Fluent Mybatis

现在,我们已经通过一个简单例子演示了 Fluent Mybatis 的强大功能, 在进一步介绍 Fluent Mybatis 更强大功能前,我们揭示一下为啥我们只写了一个数据表对应的 Entity 类, 却拥有了一系列增删改查的数据库操作方法。很简单吧,在这里,你即不需要配置任何 Mybatis xml 文件, 也不需要写任何 · 接口, 但你已经拥有了强大的增删改查的功能,并且是 Fluent API,让我们写一个测试来见证一下 Fluent Mybatis 的魔法力量!不然后续遇到问题会很麻烦的!

2023-07-28 16:04:25 640

原创 IntelliJ IDEA 2023.2 新版本即将发布,拥抱 AI

IntelliJ IDEA 近期连续发布多个EAP版本,官方在对用户体验不断优化的同时,也新增了一些不错的功能,尤其是人工智能助手补充,,相信在后续IDEA使用中,会对开发者工作效率带来不错的提升。以下是官方对的介绍和说明:生成式人工智能和大型语言模型正在迅速改变软件开发工具的格局,将这项技术集成到我们的产品中的决定对我们来说是理所当然的。我们构建人工智能助手功能的方法主要集中在两个方面:将 AI 辅助融入核心 IDE 用户工作流程。

2023-07-21 10:22:12 127

原创 MySQL 巨坑:永远不要在 MySQL 中使用 UTF-8!!

我们都知道,计算机使用0和1来存储文本。比如字符“C”被存成“01000011”,那么计算机在显示这个字符时需要经过两个步骤:计算机读取“01000011”,得到数字67,因为67被编码成“01000011”。计算机在Unicode字符集中查找67,找到了“C”。同样的:我的电脑将“C”映射成Unicode字符集中的67。我的电脑将67编码成“01000011”,并发送给Web服务器。几乎所有的网络应用都使用了Unicode字符集,因为没有理由使用其他字符集。

2023-07-21 10:16:31 89

原创 17款最佳的代码审查工具

它提供了正式代码检查的所有优势,而且相比而言,所需的精力和时间更少。Code Reviewer是一款免费的、简单的又易于部署和使用的代码审查工具,由SmartBear开发——也是Collaborator的发明者,业界第一家推出商用代码审查工具的公司。你可以使用JArchitect分析代码结构、指定设计规则、执行高效的代码审查,以及通过比较不同版本的代码掌握作出的改进。Reviewale是市面上新出来的代码审查工具,它的功能包括语法高亮、发现bug/问题、改进代码、干净的用户界面、自定义代码字体等等。

2023-07-21 10:11:37 1517

原创 面试官:Feign第一次调用为什么会很慢?

首先要了解 Feign 是如何进行远程调用的,这里面包括,注册中心、负载均衡、FeignClient 之间的关系,微服务通过不论是 eureka、nacos 也好注册到服务端,Feign 是靠 Ribbon 做负载的,而 Ribbon 需要拿到注册中心的服务列表,将服务进行负载缓存到本地,然后 FeignClient 客户端在进行调用,大概就是这么一个过程。WeightedResponseTimeRule(权重比策略,优先选择权重比高的服务,也就是服务响应时间比较短的,响应时间越长权重比越低)

2023-07-21 10:10:18 413

原创 京东又开源一款新框架,用起来真优雅!

DripTable 是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。DripTable 目前包含以下子项目:drip-table、drip-table-generator。各个子项目具体介绍如下:drip-table:动态列表解决方案的核心库,其主要能力是支持符合 JSON Schema 标准的数据自动渲染列表内容。

2023-07-21 10:08:51 121

原创 Nginx 代理解决跨域问题分析

如果不加上content-type,则会报如下错误。意思就是预请求响应头Access-Control-Allow-Headers中缺少头信息authorization(各种情况会不一样,在发生跨域后,在自定义添加的头信息是不允许的,需要添加到请求响应头Access-Control-Allow-Headers中,以便浏览器知道此头信息的携带是服务器承认合法的,我这里携带的是authorization,其他的可能是token之类的,缺什么加什么),知道了问题所在,然后修改配置文件,添加对应缺少的部分,再试试。

2023-07-06 09:23:00 1990 1

原创 更强大、更全面的高性能任务调度框架:Openjob 重磅来袭!

Openjob一款全面的高性能任务调度框架,支持多种定时任务、延迟任务、工作流设计、轻量级计算、无限水平扩容,并具有无可比拟的可伸缩性和容错性,以及完善权限管理、强大的对称监控、原生支持多语言。另外,有需要chatGPT和jb授权账号的小伙伴,可以点击「原文阅读」,去我网站购买,24h自动发货。另外,有需要chatGPT和jb授权账号的小伙伴,可以点击「原文阅读」,去我网站购买,24h自动发货。官方文档:https://openjob.io/zh-Hans/docs/intro/

2023-07-06 09:20:20 233

原创 普通程序员如何实现财富自由,迎娶白富美,走上人生巅峰!

所以,即使你以前的学历不高,扎根学习,也能有不错的就业前景。其次,在创业公司,前期能提供给你的资源有限,是带着梦想来为未来打工,要守得住当下的艰苦,很多人没有耐心,每每与别人一比较,就觉得公司给自己各方面都不如其他人,就会动摇,会觉得到底值不值得,然后放弃了当初的梦想。曾经也想一夜暴富,后来却慢慢务实,哪有那么多的一夜暴富,自己是芸芸众生中的普通一员,既没有那么好的运气,也没有雄厚的家底可以去不停的尝试,只能脚踏实地的向前迈进,但我依然相信,这样普通的你未来有一天依然可以不普通。

2023-07-04 14:36:39 216

原创 编程高手是如何练成的?

2、读源码、学习各种原理,所有这些都只是学习和巩固知识的过程,真正体现编程水平的是实际解决问题的能力,因此如何将知识变成有效的经验?刚毕业那会,我眼中的编程高手是我的同事 - 超哥,他是亚马逊的架构师,团队里面技术级别最高的人(后来他做到了亚马逊中国首架的位置,现在也算圈内比较知名的大牛了)。我觉得只有量变引起质变,真正形成了自己的方法论,能持续搞定一类问题,而不是单个问题的人才算是高手。高质量:编程质量能做到团队中的 Top,设计方案的合理性、编码的严谨性、测试方法、监控运维方案等,都能思考全面的人。

2023-07-04 14:32:58 96

原创 糟糕程序员的20个坏习惯

以上这些不良习惯,你命中几个呢?或者你身边有没有碰到这样的人?我认为提早规避这些问题,是成为一个优秀程序员必须要做的。这些习惯总结起来大致分为这 4 个方面:良好的编程修养谦虚的学习心态良好的沟通和表达注重团队协作优秀程序员的专业技能,我们可能很难在短时间内学会,但这些基本的职业素养,是可以在短期内做到的。希望你我可以有则改之,无则加勉。你认为还有哪些程序员的坏习惯,欢迎在评论区留言讨论~

2023-07-04 14:30:45 79

原创 目前工资最高的几家外包公司汇总!(2023最新版)

最近,很多小伙伴问:只有外包的 offer 能去吗?大环境不行,面试太少了,很多本科生想进外包都没机会。非常时期,不需要在意那么多,外包作为过渡也是没问题的,很多外包其实比小公司还要好多了。也不要太担心去外包会污染自己的简历,只要接触的项目还可以,写在简历上再润色一下,那就完全没问题的,放心!默默沉淀,提高个人竞争力,等待时机成熟再溜就好了。根据网上的资料,整理出来的一份国内软件外包公司的名单。

2023-07-04 14:27:20 113

原创 缓存和数据库一致性问题,看这篇就够了

好了,总结一下这篇文章的重点。1、想要提高应用的性能,可以引入「缓存」来解决2、引入缓存后,需要考虑缓存和数据库一致性问题,可选的方案有:「更新数据库 + 更新缓存」、「更新数据库 + 删除缓存」3、更新数据库 + 更新缓存方案,在「并发」场景下无法保证缓存和数据一致性,且存在「缓存资源浪费」和「机器性能浪费」的情况发生。

2023-07-04 14:21:27 132

原创 面试官:列存储为什么能够大幅度提高数据的查询性能?

01、列存储的特点02、列存储的物理实现03、列存储索引04、列存储索引的空间使用传统的存储数据的方式是逐行存储(Row Store),每一个Page存储多行数据,而列存储(Column Store)把数据表中的每一列单独存储在Page集合中,这意味着,Page集合中存储的是某一列的数据,而不是一行的所有列的数据。

2023-07-04 14:17:41 310

原创 Redis实现分页+多条件模糊查询组合方案

本文大概地描述了实现分页和多条件模糊查询的方案,希望能够对大家有所帮助。来源:blog.youkuaiyun.com/qq_33905217/article/details/129211947。

2023-07-04 14:16:46 231

原创 Java 中如何使用枚举来消除 if/else

static Direction valueOf(String name):通过枚举常量的名字返回Direction常量,注意,这个方法与Enum类中的valueOf()方法的参数个数不同。其实此类的枚举项的创建,就相当于其他类调用无参构造器 new 出来的对象,也就是这个枚举类创建了7次实例,所以输出了7个 hello。需要传入商品折扣计算价格,使用上面的常量定义就没有类型上的约束,传入任何 double 类型的值都可以,编译器不会发出警告。的所有成员的程序,或者是一种特定类型对象的计数。

2023-07-04 14:14:37 98

原创 一款开源的答题考试小程序,功能丰富,页面美观!(附开源地址)

微信小程序,考试小程序,答题小程序,刷题小程序,知识竞赛小程序,活动答题小程序。题库小程序。毕业设计小程序,有前后端完整源码和数据库,易于二次开发。还可用于考试预约,企业内部考核,内部培训等,注册师刷题,基于云开发,部署简单,免服务器和域名备案。

2023-07-04 14:11:23 1281 1

原创 五个维度,解析 Spring 中 @Autowired 和 @Resource 的区别

Autowired只包含一个required参数,默认为true,表示开启自动注入。// 是否开启自动注入,在不开启自动装配时,可设为false@Resource 包含7个参数,其中最重要的两个是name和type。// Bean的名称// Java类,被解析为Bean的类型Class<?CONTAINER,// 身份验证类型// 组件是否可以与其他组件共享// 描述。

2023-07-04 14:04:36 97

原创 实战:彻底搞定 SpringBoot 整合 Kafka

kafka是一个消息队列产品,基于Topic partitions的设计,能达到非常高的消息发送处理性能。Spring创建了一个项目Spring-kafka,封装了Apache 的Kafka-client,用于在Spring项目里快速集成kafka。除了简单的收发消息外,Spring-kafka还提供了很多高级功能,下面我们就来一一探秘这些用法。项目地址:https://github.com/spring-projects/spring-kafka。

2023-07-01 16:28:27 5139 1

原创 手把手教你用Java实现一个简易联网坦克对战小游戏

通过本项目能够更直观地理解应用层和运输层网络协议, 以及继承封装多态的运用. 网络部分是本文叙述的重点, 你将看到如何使用Java建立TCP和UDP连接并交换报文, 你还将看到如何自己定义一个简单的应用层协议来让自己应用进行网络通信.客户机连上服务器后, 两边分别获取了初始信息, 且客户端和服务器均开启了UDP线程. 客户端通过保存的服务器UDP端口号可以向服务器的UDP套接字发送UDP包, 服务器保存了所有连上它的Client客户端信息, 它可以向所有客户端的UDP端口发送UDP包.

2023-07-01 16:23:50 318

原创 面试官:你能说一下什么是熔断?什么是服务降级吗?

Hystrix:英 [hɪst'rɪks] 美 [hɪst'rɪks] ,翻译过来是“豪猪”的意思。在分布式环境中,不可避免地会出现某些依赖的服务发生故障的情况。Hystrix是这样的一个库,它通过添加容许时延和容错逻辑来帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,阻止跨服务的级联故障,并提供了退路选项,所有这些都可以提高系统的整体弹性。Hystrix的设计目的:通过第三方客户端的库来为访问依赖服务时的潜在故障提供保护和控制;防止在复杂分布式系统中出现级联故障;

2023-07-01 16:20:24 100

原创 撸一个简易聊天室,不信你学不会实时消息推送(附源码)

短轮询、长轮询实现成本相对比较简单,适用于一些实时性要求不高的消息推送,在实时性要求高的场景下,会存在延迟以及会给服务器带来更大的压力websocket目前而言实现成本相对较低,适合于双工通信,对于多人在线,要求实时性较高的项目比较实用SSE只能是服务器端推送消息,因此对于不需要双向通信的项目比较适用。

2023-07-01 16:16:23 295

原创 一个基于SpringBoot开源的小说和漫画在线阅读网站,简洁大方、强烈推荐

今天给大家推荐的这个开源项目是一个基于 SpringBoot 实现的小说和漫画在线阅读网站。。这个开源项目是一个多平台(web、安卓 app、微信小程序)、功能完善的小说弹幕网站,包含精品小说专区、轻小说专区和漫画专区。包括小说 / 漫画分类、小说 / 漫画搜索、小说 / 漫画排行、完本小说 / 漫画、小说 / 漫画评分、小说 / 漫画在线阅读、小说 / 漫画书架、小说 / 漫画阅读记录、小说下载、小说弹幕、小说 / 漫画自动爬取、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能。

2023-07-01 16:14:48 1018

原创 Java身份证号码识别系统(开源项目)

不需要安装opencv 新增的了前端控制识别区域的功能,新增了后端识别后验证 ,页面样式主要适应paid,重新修改了后面的识别过程,用户opencv进行图片优化和区域 选择,使用tess4j进行数字和x的识别 配合样式中的区域在后台裁剪相关区域图片 /idCardCv/src/main/resources/static/js/plugins/cropper/cropper.css。该项目修改原有的需要安装opencv的过程,全部使用javaccp技术重构,通过javaccp引入需要的c++库进行开发。

2023-07-01 16:13:33 415

原创 从零到一快速搭建个人博客网站(域名备案 + https免费证书)

为什么选择搭建个人博客?一方面是各个平台经常下架原创文章,另一个方面是为了熟悉整个建站流程。通过搭建个人博客,我们可以自由的发表文章不用担心下架,而且可以锻炼个人的SEO优化能力,不管是运维还是运营这块对个人的技术提升有着很大的帮助。本篇文章记录了网站从零到一的过程,希望你也能根据本篇文章搭建出属于自己的网站。大家有疑问可以一起讨论。下面开始正题。资源说明centosv7.2docker快速部署项目环境nginx反向代理,同时配置https证书halov1.4.2,开源博客项目。

2023-07-01 16:11:32 520

原创 SpringBoot+Vue 完整的外卖系统,手机端和后台管理,可以玩一下!

一个完整的外卖系统,包括手机端,后台管理,api基于spring boot和vue的前后端分离的外卖系统包含完整的手机端,后台管理功能本项目主要供交流学习,不建议商用。

2023-07-01 16:10:18 350

原创 程序员们!来谈谈35岁危机

而反观35岁以上的人,身体开始走下坡路,加班久了可能猝死,上有老,下有小,生活琐事多,下班后要去陪老婆孩子,还要照顾年老的父母,没时间加班和提升技能,还可能不定时地请假。同时,我们也要有一个良好的心态,我们作为打工人,能做的就是不断提升综合实力,让自己不是特别容易被替代,其他的,只有顺其自然,尽人事,听天命罢了。其他行业也是如此,比如,我舅舅,年轻的时候是建筑工人,到了40岁后,体力不行了,就自己转行了,都用不着雇主提醒。那有人就想,可以在34岁前后,考上编制,转行拿到铁饭碗,自然就不用担心失业的问题了。

2023-06-28 14:48:39 402

原创 ChatGPT 的 18 种玩法,惊到我了!!

我觉得角色扮演挺有意思的,对话前加一句:假如你是 xxx。现在有一些小程序,让AI扮演一些角色对话,就是用这种方法实现的。

2023-06-28 14:28:44 56

原创 Sa-Token,优雅的实现 Spring Boot 项目鉴权!

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

2023-06-28 14:20:53 527

原创 Spring Boot 优雅实现多租户架构,so easy!

多租户架构是指在一个应用中支持多个租户(Tenant)同时访问,每个租户拥有独立的资源和数据,并且彼此之间完全隔离。通俗来说,多租户就是把一个应用按照客户的需求“分割”成多个独立的实例,每个实例互不干扰。

2023-06-28 14:19:30 63

原创 支付系统就该这么设计,稳的一批!!

支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下各个系统的核心组成和交互。

2023-06-28 14:17:57 73

原创 阿里一面:MySQL 单表数据最大不要超过多少行?为什么?

Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。参考资料:《MYSQL 内核:INNODB 存储引擎 卷 1》

2023-06-28 14:13:08 145

原创 如何使用 Java 灵活读取 excel 内容 ?

记录一次用EasyExcel实现Excel导入导出以前工作中实现Excel操作都是用的公司封装好的功能或者用JXL和POI,最近发现了一款excel操作神器EasyExcel,看了源码之后是真香啊,用起来简直不要太爽!下面就先简单的实现一个导入导出,后面的其他功能再慢慢研究,废话不多说,上代码:然后可以直接在实体类中配置表头,,如果不需要某个字段,可以使用注解忽略;此外还有很多配置各种类型的表头,详情可以参考EasyExcel官方文档。

2023-06-28 14:10:17 334 1

原创 Undertow技术:为什么很多SpringBoot开发者放弃了Tomcat

在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。Tomcat是完全免费的,深受开发者的喜爱。

2023-06-28 08:25:02 167

原创 详解比springSecurity和shiro更简单优雅的轻量级Sa-Token框架

可参考:码云:GlobalException.java(https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/current/GlobalException.java)q=sa-token)下载地址:sa-token-1.6.0.jar(https://oss.dev33.cn/sa-token/sa-token-1.6.0.jar)

2023-06-28 08:23:54 1290

原创 SpringBoot 集成 Camunda 流程引擎,实现一套完整的业务流程

官方文档下面是官网的一些文档,有时间可以看看,下面说一些核心的东西。

2023-06-27 19:36:43 465

原创 SpringBoot 我随手封装了一个万能的导出excel工具,传什么都能导出

没错就是这么简单, 当然也是抛转引玉, 希望大家看了这篇文章,可以借鉴这些反射的函数玩法,做更多的好玩的封装,比如加上一些自定义注解的解析,比如加上一些前后置拦截器拓展等等。上面的示例中导出的表头是属性名,如果正式的导出通常需要自定义表头名称,我们这里可以使用自定义注解来完成。但是呢我们封装出来的函数,要足够支撑不同的类,我们自动去读取遍历list ,然后导出生成文件。我知道,这是很多人都想过的, 至少我就收到很多人问过我这个类似的问题。如题,这个小玩意,就是不限制你查的是哪张表,用的是什么类。

2023-06-27 11:21:50 65

原创 写了个工具,CRUD 开发效率直接提升100倍!生产力拉满...

来看下代码,建表sql、增删改查sql、表对应的实体类、DB层的接口类、业务层的实体类、业务层的接口类、业务接口的实现类、业务层实体类和db层实体类的转换器,最后是controller层,这些代码全都帮我们生成好了。工具提供了模版的导入和导出功能,如果你创建好了一份非常满意的模版,可以导出,然后发给你的同事直接使用,这样它就不用重复创建了,你也可以忽悠你的同事来创建,然后分享给你。因为现在看到的这一套自动生成的代码,可能只是适合我,但不同的人、不同的公司,它们项目结构的分层、代码的细节,都是不一样的。

2023-06-27 11:18:24 52

空空如也

空空如也

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

TA关注的人

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