自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java小白翻身

java小白翻身

  • 博客(436)
  • 资源 (8)
  • 收藏
  • 关注

原创 一手学会花式console.log,震惊了领导

肯定有人会说:“花里胡哨有什么用?影响性能吗?兄弟(划掉)朋友,这玩意儿一不加打包体积,二不占内存,三能提升团队幸福感——

2025-02-27 20:30:38 933

原创 React如何使用JSX语法

🎉 这里是 剽悍一小兔,曾经做了好几年的Java,前某大厂后端研发工程师,现在是一名前端工程师,主要技术栈为React+vue3.0+有空会刷刷算法题,平时喜欢打乒乓球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『java小白翻身』发一些比较自认为比较有价值的文章,有兴趣的也可以关注下。再看需求,要展现一个动态的列表,那就不能写死,需要我们从js变量中提取数据,展示在JSX模板里面。

2024-10-28 10:12:47 437

原创 React怎么创建虚拟dom和挂载到页面

1、🍟你可以直接下载本节配套的资源代码,然后导入vscode看效果,也可以跟着教程一点一点敲,都是没问题的。2、🤔怎么运行本节代码?很简单,随便找个浏览器打开index.html即可。💕。

2024-10-27 17:27:48 1117

原创 docker安装redis

之前的redis通过 docker rm -f 命令删除,再重新启动,就用了我们自己的配置。因为没有指定name,所以随机了一个name。让我们进入docker容器,随机操作一番。为了保证数据不丢失,我们也要挂载数据卷。然后,就可以在本地用工具去连接啦。

2024-10-23 08:30:00 194

原创 docker安装mysql

我的环境:centos7。

2024-10-22 21:28:23 721

原创 无废话版:一文搞定webpack(上)

最近准备出一个无废话版教程,每天学习一点点,一年后相信你就是最靓的仔。webpack官网源码永久下载链接。

2024-07-07 23:21:49 915 1

原创 React+TS 从零开始教程(4):useEffect

源码链接:https://pan.quark.cn/s/c6fbc31dcb02上一节,我们已经学会了React的第一个Hook:useState。这一节,我们要学习的是另一个非常重要的Hook:useEffect。Effect在这里,意为副作用?不论是哪一个Hook,都是写在函数里面的,比如上个章节中useEffect,就是写在一个函数中。所以,这个副作用,就是函数的副作用。怎么理解呢?我们知道,函数就是你给我参数,我给你一个确定的返回,这个叫函数。

2024-07-02 21:07:44 1159 7

原创 React+TS 从零开始教程(3):useState

hook是一个特殊的函数,React Hooks 是 React 16.8 版本中引入的一个新特性,它允许你在不编写 class 的情况下使用 state 以及其他的 React 特性。如果你在编写这个函数组件的时候,想要设置一些组件的变量(状态),以前的做法,我们是必须把组件转化成一个class,然后用setState去做。其实,这个写法是之前类组件的时候常用的,但现在都是函数式组件了,就不推荐这样写了。useState的应用很广泛,任何需要状态管理的组件,都会用到,下面我们再来一个模态窗体的例子。

2024-06-24 22:04:08 1262 1

原创 React+TS 从零开始教程(2):简中简 HelloWolrd

这一节,我们来见识React+TS的威力,开始上手开发第一个组件,什么组件呢?当然是简中简的HelloWolrd组件啦。在src下创建一个components,然后新建Hello.tsx为什么是tsx呢,这个目的就是告诉编译器,我这个文件是支持jsx语法的,如果遇到你看不懂的标签,就当作来处理。这个组件,我们只有一个要求,就是输入一个属性叫做message,然后展示出来即可。够简单吧,简直是简中简,弟中弟的组件哈。但是,依然很有学习的价值。然后,我们在App.tsx中引用这个组件。

2024-06-23 22:43:24 502

原创 React+TS 从零开始教程(1)

里面是一个空的{} 再来建一个.prettierignore,类似于.gitignore,是指我们不需要格式化的文件。现在我们说下prettier是干嘛用的吧,他就是帮我们自动格式化的,统一格式化代码,这样就不需要我们一个个文件去格式化了。并且将刚才的db.json移动进去,这个目录用__开头,代表跟项目本身没啥关系,只是辅助。post代表提交数据,返回了一个新的user,并且,我们的db.json也改了。注意,如果你的node版本很低,14左右的样子,用下面这个(MD搞死了~)

2024-06-20 22:58:35 1980 1

原创 面试官:MySQL也可以实现分布式锁吗?

首先说结论,可以做,但不推荐做。我们并不推荐使用数据库实现分布式锁。如果非要这么做,实现大概有两种。

2024-06-12 06:42:08 1075

原创 vue-router全部搞定(附源码)

(先转存,后下载)

2024-06-10 10:47:13 1110 5

原创 https从入门到放弃(概念+实战+上线)

大家都知道http,为什么现在又多了一个https呢?HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。如果在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。

2024-05-13 14:17:58 1054 2

原创 SQL调优:小表驱动大表

用join关联的时候,数据量大的情况下,并不是关联字段加了索引就一定没事了,一定要遵循小表驱动大表的原则,要预测关联表where条件过滤后,是否能过滤掉大部分数据。本案例原 sql 其实写的不好,结果集没有用到 a 表的数据,却还用到了 left join,也正因为如此,我们直接查 b 表数据是没问题的,反正都是取交集。但是如果要查 a 表数据,就不能这样改写了,因为那样就改变了业务逻辑。

2024-04-10 09:35:29 647

原创 SpringBoot整合RabbitMQ

我们就以平时常见的商品购买为例,订单下完了,需要通知发货,我们就可以使用消息队列对其进行解耦。这边我们就定义订单队列。代码概览如下图所示@Bean@Bean//创建队列构造器并指定队列名称//如果队列持久化,这边不用设置队列过期时间//设置死信队列的RouteKey//设置死信队列的Exchange//创建队列。

2024-04-07 10:45:13 1530

原创 细说MySQL的3种表关联设计

正常两张表进行关联,我们可以采用中间表的方式,这是最灵活的方式,它可以直接将两张表的数据根据某个字段直接关联起来。下面是一个简单的例子来解释这个概念:假设我们有两个表:students(学生)和 courses(课程)。一个学生可以选修多门课程,同时一门课程也可以被多个学生选修。这就是一个典型的多对多关系。| — | — || — | — |在这个中间表中,每一行都表示一个学生和一门课程之间的关联。例如,第一行表示 Alice(学生ID为1)选修了 Math(课程ID为1)。

2024-03-25 13:12:38 871

原创 BigDecimal可以用equals方法做等值比较吗?

结论是不可以,BigDecimal的equals方法不仅会比较值,还会比较精度,比如1.0和1.00虽然值是一样的,我们也倾向于认为是相同的,但是因为精度不同,最终得到的结论是false。得到结果:这是因为BigDecimal重写了equals这段代码是BigDecimal类中的equals方法的一部分,用于比较两个BigDecimal对象是否相等。如果传入的对象x不是BigDecimal的实例,那么返回false。2.将对象x强制转换为BigDecimal类型,并赋值给xDec。3.

2024-03-09 15:19:10 823 1

原创 Java日常开发的21个坑,你踩过几个?

try {try {//这里有问题//这里有问题exceptionTwo抛出的异常,很可能是 exceptionOne的异常哦。正确使用方法,应该是new 一个出来。throw new BusinessException("业务异常", 0001);

2024-02-22 09:10:21 1074

原创 MybatisPlus创建时间不想用默认值

这样一来,创建时间就可以灵活配置了,更新时间也可以这样改,但是一般来说用不着,更新时间用当前时间是没问题的,很少有需要手动调整更新时间的情况。有些时候,我希望自己设置一个创建时间进去,比如我在导入数据的时候,插入这张表,人家excel里面就有创建时间,那我当然不希望用当前时间啦!我们知道,MybatisPlus可以给一些字段设置默认值,比如创建时间,更新时间,分为插入时设置,和更新时设置。方法时,就会自动填充两个时间的值,非常方便。结果,让人崩溃的是,哪怕你设置了。的逻辑,保存了当前时间。

2024-02-20 10:06:20 787

原创 程序员必备基础:Git 命令全方位学习

掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~文章目录Git是什么?Git的相关理论基础日常开发中,Git的基本常用命令Git进阶之分支处理Git进阶之处理冲突Git进阶之撤销与回退Git进阶之标签tagGit其他一些经典命令百度百科定义是酱紫的~版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

2024-01-30 14:29:05 968

原创 面试官:如果单表数据量过大怎么办?

要回答这个问题,首先我们要明确这个表的数据是否全部有用?使用MySQL的过程,经常会遇到一个问题,比如说某张”log”表,用于保存某种记录,随着时间的不断的累积数据,但是只有最新的一段时间的数据是有用的;这个时候会遇到性能和容量的瓶颈,需要将表中的历史数据进行归档。也就是说,大部分情况,我们做数据归档就足以解决这个问题。只有那些全部很重要的业务数据,才需要做分库分表。

2024-01-02 14:35:59 645

原创 SpringBoot+AOP+Redis 防止重复请求提交

我们最终希望的效果是,你想要哪个方法有防止重复提交的功能,直接加上注解即可。/*** 加锁过期时间,默认是5秒* @return*/这段代码定义了一个Java注解(Annotation)叫做RepeatSubmit。注解是Java提供的一种元数据机制,它可以被用于为代码提供附加的信息,这些信息可以被编译器用于生成代码、生成文档、代码检查等。: 这个注解指定RepeatSubmit只能被用于方法上。ElementType.METHOD表示这个注解只能用于方法。

2023-12-28 13:47:03 1588 1

原创 SpringBoot整合Spring-Security 认证篇(保姆级教程)

🌹⭐🌹⭐🌹🌹⭐🌹。

2023-12-26 15:56:46 1767

原创 SpringBoot整合jwt(小白入门)

JWT(JSON Web Token)是一种用于身份验证和授权的开放标准(RFC 7519),它是一种安全的、轻量级的身份验证方式。JWT由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。头部通常由两部分信息组成:令牌的类型(即JWT)和所使用的签名算法。载荷包含了一些声明(Claim),用于描述用户信息、权限、过期时间等。签名由头部和载荷组成,并使用密钥进行加密生成。JWT的使用流程如下:用户使用用户名和密码进行登录,服务器验证用户信息是否正确。

2023-12-25 11:25:04 433 1

原创 java面试:==和equals有什么区别?

int x, y;this.x = x;this.y = y;// 结果为false,因为Point类中没有重写equals方法,所以比较的是引用地址// 结果为false,同样是比较的引用地址在这个例子中,即使这两个Point对象的属性值是相同的,但由于没有重写equals方法,因此"=="和"equals"都会比较对象的引用地址,从而导致返回false。在Java中,“==”比较的是对象的引用地址,而“equals”方法用于比较对象的内容。

2023-12-18 09:41:57 160

原创 vue.js怎么保证计算精度

JavaScript 中的精度丢失问题通常出现在处理浮点数时。这是因为 JavaScript 使用双精度浮点数格式(64位),无法精确表示所有的小数。举例来说,尝试计算 0.1 + 0.2 会得到一个近似值 0.30000000000000004,而不是预期的 0.3。因此,在处理需要高精度的小数计算时,可能需要使用特定的库或技术来解决精度丢失的问题,比如使用第三方的库如 Decimal.js 或者采用整数运算来避免浮点数计算。

2023-12-18 09:41:17 314

原创 Java前端如何发送date类型的参数给后端

第一次:Get方式传参-成功 这个时候是用的get请求方式,get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应。第二次:Post方式传参-失败错误信息第三次:post传参-成功。

2023-12-18 09:40:46 1234

原创 vue.js怎么保证计算精度

JavaScript 中的精度丢失问题通常出现在处理浮点数时。这是因为 JavaScript 使用双精度浮点数格式(64位),无法精确表示所有的小数。举例来说,尝试计算 0.1 + 0.2 会得到一个近似值 0.30000000000000004,而不是预期的 0.3。因此,在处理需要高精度的小数计算时,可能需要使用特定的库或技术来解决精度丢失的问题,比如使用第三方的库如 Decimal.js 或者采用整数运算来避免浮点数计算。

2023-12-05 15:46:28 1890

原创 用git stash暂存修改

已暂存的文件是在暂存区中的修改,准备包含在下次提交中。未暂存的文件是已被Git跟踪但未添加到暂存区的修改,不会包含在下次提交中。未跟踪的文件是未被Git跟踪的文件,不包含在Git的版本控制中。git stash默认只保存已修改但未暂存的文件和已暂存的文件,不保存未跟踪的文件。使用git stash --include-untracked或git stash -u可以保存所有修改,包括未跟踪的文件。

2023-10-19 13:51:28 650 1

原创 Java基础20问(6-10)

接口用于制定规范,而抽象类用于代码的复用,比如模板方法模式。实际开发中,我们用接口来制定规范,直接参与上层业务(Controller)代码的编写,然后具体的实现放到业务层(ServiceImpl),如果实现类有很多相同的逻辑,就可以考虑封装为一个抽象类。/*** Excel导入* @param file 上传的excel文件* @return*/importData 要求输入一个file文件,返回导入的结果。

2023-10-19 09:27:18 222

原创 Java基础20问(1-5)

也是将一个问题拆解成几个步骤,但是先不去实现,而是根据这些步骤抽象出若干个类,每个类都有属性和方法,咱配合着把问题解决。比如把大象装进冰箱,得有一个冰箱类和大象类,还有一个执行者类。是将一个问题拆解成几个步骤,依次实现每一个步骤,比如实现一个。的算法,是为了解决某个非常具体的问题。

2023-10-16 16:16:43 313

原创 springboot实现ACL+RBAC权限体系

本文基于web系统的权限控制非常重要的前提下,从ALC和RBAC权限控制两个方面,介绍如何在springboot项目中实现一个完整的权限体系。

2023-09-28 16:42:18 598

原创 springboot整合mybatisPlus全技巧(2-常用开发技巧:通用字段插入)

本系列专题基于 springboot 整合 mybatisPlus 的各种文章早已烂大街的背景下,根据三个方面,来对这一专题做一个全面且实用的总结,基本上只要你吃透这篇文章,开发中关于你能遇到的问题都能迎刃而解了。

2023-09-09 14:19:31 774

原创 springboot整合mybatisPlus全技巧(1-整合过程)

本文基于 springboot 整合 mybatisPlus 的各种文章早已烂大街的背景下,根据三个方面,来对这一专题做一个全面且实用的总结,基本上只要你吃透这篇文章,开发中关于你能遇到的问题都能迎刃而解了。

2023-09-06 18:02:36 285

原创 springboot实现 伪微信登录

众所周知,微信扫码登陆的功能,个人网站是无法申请的,我们想在本地想测一下微信登录也是无法实现。要实现微信登录,首先你得是一个企业单位,有公章才能申请,申请还要花费300块大洋。如果我们只是想学习和体验一下微信登录,可以自己本地搭建个微型服务模拟一下,过一把瘾也是可以的。如果你是企业用户,并顺利完成了微信开发者认证,就会得到一个 AppID 和 AppSecret。AppID 是公开的,谁都可以知道。而 AppSecret 是私密的,只有开发者自己知道。假设我们得到的 AppID 是wx123456。

2023-08-29 19:26:50 1104 6

原创 SpringBoot整合thymeleaf

JavaEE领域有几种常用的模板引擎: Jsp, Thymeleaf, Freemarker, Velocity等.对于前端页面渲染效率来说 JSP 其实还是最快的, Velocity次之.Thymeleaf虽然渲染效率不是很快,但语法比较轻巧.Thymeleaf 支持html5标准, Thymeleaf页面无需部署到servlet开发到服务器上,以 .html 后缀结尾,可直接通过浏览器就能打开.可完全替代JSP(前后端分离不是很好).

2023-08-29 16:04:11 350

原创 springboot结合shiro实战-身份认证

本文实现了所谓ACL的权限控制,用shiro框架结合springboot实现,非常适合初学者学习。源码下载 https://gitee.com/skyblue0678/shiro-demo。

2023-08-16 13:22:13 390

原创 Java解析SQL的基本思路

splitUntil方法是一个循环,它不断从Tokenizer对象中读取字符串,如果读取的字符串不等于给定的分隔符until,则将字符串拼接到StringBuffer对象sb中,并在每个字符串之间添加一个空格。如果读取的字符串等于分隔符until,则循环结束,并返回拼接好的字符串。使用Tokenizer的next()方法获取SQL语句的第一个关键字,并通过cmdMap获取对应的DBCmd对象。总之,Parser类通过查表法将SQL关键字与对应的数据库命令进行映射,实现了SQL语句的解析和执行。

2023-07-06 09:23:07 3091

原创 记一次数据库取值问题

今天遇到一个奇怪的问题,就是我sql明明取了字段A,但是最终获取的结果却始终不对,很疑惑。简单来说,就是分组后,同一个字段写了两次,第一次是直接查询,后面是sum后用别名重复了!这就导致Mybatis查询后最终映射到的是第一个字段,而不是后面的。越是诡异的错误,往往就越低级,以后还是要好好检查代码,哈哈。解决办法就是第一个字段取一个不一样的别名就行了。

2023-07-04 10:40:19 245

原创 一个sql中的一张表,最多只会走一个索引吗

在Mysql中执行explain的结果中有一列为key_len,那么key_len的含义是什么呢?key_len:表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。索引字段的附加信息: 可以分为变长和定长数据类型讨论,当索引字段为定长数据类型时,如char,int,datetime,需要有是否为空的标记,这个标记占用1个字节(对于not null的字段来说,则不需要这1字节);

2023-06-27 09:43:12 1744 1

React怎么创建虚拟dom和挂载到页面

React怎么创建虚拟dom和挂载到页面

2024-10-27

flex仿微博布局实战+代码

flex仿微博布局实战+代码 HTML+CSS+FLEX

2022-03-29

博客原型.rar 好看的博客页面,带Ueditor富文本编辑器

好看的博客页面,带Ueditor富文本编辑器

2022-02-26

JavaScript实现桌面级便签系统

JavaScript实现桌面级便签系统

2022-02-26

JavaScript仿抖音案例.zip

JavaScript仿抖音案例.zip

2022-02-25

JavaScript代码实现,HTML页面实时预览.zip

JavaScript代码实现,HTML页面实时预览.zip

2022-02-25

【JavaScript】兔子抢金币发布版.zip

【JavaScript】兔子抢金币发布版.zip

2022-02-25

HTML5植物大战僵尸.zip

HTML5植物大战僵尸.zip

2022-02-25

JavaScript飞机大战项目.rar

JavaScript飞机大战项目.rar

2020-11-21

空空如也

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

TA关注的人

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