自定义博客皮肤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修行之路由此开启

  • 博客(27)
  • 收藏
  • 关注

原创 实习一个星期,我被辞退了........

实习已经一个星期了,我原本以为我会一直干下去,没想到,最后还是跑路了。与其说我跑路了,不如说我被炒鱿鱼了。

2024-05-21 18:21:26 386

原创 实习第一天,没想到,居然这么尴尬~~~~

我心想:完了,这下肯定被穿小鞋了,项目经理先是问我,若依框架的事,给我几天时间让我好好琢磨;然后,他和我说话的时候,我就一直看着他的大脚,我自己都不知道我为啥一直看着,可能是觉得有点尴尬吧。说实话,我当时是有点怕的,因为在我的认知里,公司都是在高楼大厦,而这个公司怎么在这么个破地方?来的时候,项目经理在开会,没时间搭理我。然后,他就说我版本下错了,前后端都没分离,原来我下的是最老的版本,后面我重新下了最新的就好多了。好了,我本来以为我们应该没交集了,结果,今天我就在现在的公司遇见他了(草,这该死的缘分!

2024-05-13 22:21:50 321

原创 找实习两个多星期,谈谈我的感受···········

再是,准备时间不够,无论是算法、面试题八股文,还是项目,都需要大量的时间去理解。最有亮点的就是我这两个项目了,算是唯一能拿得出手的了。最后,我是因为找工作去了另一个城市,也就是需要自己租房,刚出社会的大学生身上都没多少钱,我都是每天吃一顿,因为不舍得太贵了/(ㄒoㄒ)/~~。准备时间其实不足,八股文的背诵还不够,临时背诵理解地不够深刻,算法我是一个都没刷,所以其实面试被挂的风险还是很大的。然后,在背面试题的时候,发现之前学技术过程中存在很多一知半解的东西,通过背八股文这种方式对代码逻辑的理解更加的深刻了。

2024-05-11 22:57:26 189

原创 基于我自己逻辑下的Redis短信登录

当注册完成后,用户去登录会去校验用户提交的手机号和验证码,是否一致,如果一致,则根据手机号查询用户信息,不存在则新建,最后将用户数据保存到redis,并且生成token作为redis的key,当我们校验用户是否登录时,会去携带着token进行访问,从redis中取出token对应的value,判断是否存在这个数据,如果没有则拦截,如果存在则将其保存。这里缺少一步 ,除了登录、注册,我们还需要先获取用户登录状态,记录用户的登录状态,避免用户重复登录,减少数据库访问压力。而只有变成自己的东西,才能真正掌握。

2023-11-20 13:26:17 106

原创 【黑马点评】UV统计

UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录1次。PV:全称Page View,也叫页面访问量或点击量,用户每访问网站的一个页面,记录1次PV,用户多次打开页面,则记录多次PV。往往用来衡量网站的流量。通常来说UV会比PV大很多,所以衡量同一个网站的访问量,我们需要综合考虑很多因素,所以我们只是单纯的把这两个值作为一个参考值。

2023-11-03 10:38:43 163

原创 【黑马点评】用户签到

我们针对签到功能完全可以通过mysql来完成,比如说以下这张表用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条我们如何能够简化一点呢?其实可以考虑小时候一个挺常见的方案,就是小时候,咱们准备一张小小的卡片,你只要签到就打上一个勾,我最后判断你是否签到,其实只需要到小卡片上看一看就知道了。

2023-10-31 20:00:24 92

原创 【黑马点评】附近商户

图示:当我们点击美食之后,会出现一系列的商家,商家中可以按照多种排序方式,我们此时关注的是距离,这个地方就需要使用到我们的GEO,向后台传入当前app收集的地址(我们此处是写死的) ,以当前坐标作为圆心,同时绑定相同的店家类型type,以及分页信息,把这几个条件传入后台,后台查询出对应的数据再返回。

2023-10-11 16:04:07 105

原创 【黑马点评】好友关注

功能对应的接口地址:尝试关注用户是否关注用户对应数据库表:tb_follow实现思路:需求:基于该表数据结构,实现两个接口:关注是User之间的关系,是博主与粉丝的关系,数据库中有一张tb_follow表来标示:注意: 这里需要把主键修改为自增长,简化开发。Controloller层FollowController类实现接口FollowserviceImpl类3、结果:查询是否关注关注成功取消关注如果我和对方关注了相同的人就会出现共同关注好友显示想要去看共同关注的好友,需要首先进入到这个页面,这

2023-09-14 20:11:09 81 1

原创 你感到焦虑吗?

关于焦虑,也许大家并不陌生,我们存在着很多方面的焦虑,但这里我们谈谈工作方面的焦虑,因为这是我们即将需要面对的现实,我还是大学生,并没进入过社会,但我的学习圈子,他们有部分已经入职实习,有部分和我一样,也即将步入职场。,有很多努力上进的同龄人,即使学了这么多的技术,也有了几个能拿出手的项目,也还是在这条路上屡屡碰壁。但焦虑归焦虑,别人不会因为你焦虑而同情你,面试官更不不会因为你的焦虑而放水,路还是得走,人总得往前看,日子即便再苦也总得过!不少入职的同学也表示,公司的工作太无聊了,自己学不到什么,想离职。

2023-09-07 10:39:19 59 1

原创 【黑马点评】达人探店

探店笔记类似点评网站的评价,往往是图文结合。对应的表有两个:tb_blog:探店笔记表,包含笔记中的标题、文字、图片等tb_blog_comments:其他用户对探店笔记的评价根据找到对应的上传接口对应数据库表:tb_blog。

2023-09-05 20:35:24 118 1

原创 【黑马点评】分布式锁

利用set nx ex获取锁,并设置过期时间,保存线程标示释放锁时先判断线程标示是否与自己一致,一致则删除锁特性:利用set nx满足互斥性利用set ex保证故障时锁依然能释放,避免死锁,提高安全性利用Redis集群保证高可用和高并发特性。

2023-08-28 17:33:53 164

原创 【黑马点评】优惠券秒杀

每个店铺都可以发布优惠券:当用户抢购时,就会生成订单并保存到这张表中,表结构:业务场景分析:场景分析一:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。场景分析二:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。以上问题可以通过全局ID生成器来解决。

2023-08-26 10:09:24 85

原创 API 接口防刷(接口请求次数限制)

创建自定义的注解请求限制的自定义注解@Target 注解可修饰的对象范围,ElementType.METHOD 作用于方法,ElementType.TYPE 作用于类(ElementType)取值有:1.CONSTRUCTOR:用于描述构造器2.FIELD:用于描述域3.LOCAL_VARIABLE:用于描述局部变量4.METHOD:用于描述方法5.PACKAGE:用于描述包6.PARAMETER:用于描述参数7.TYPE:用于描述类、接口(包括注解类型) 或enum声明。

2023-08-19 21:31:37 1003

原创 【黑马点评】基于Redis实现短信验证登录

首先我们要思考一下利用redis来存储数据,那么到底使用哪种结构呢?由于存入的数据比较简单,我们可以考虑使用String,或者是使用哈希,如下图,如果使用String,同学们注意他的value,要多占用一点空间,如果使用哈希,则他的value中只会存储他数据本身,如果不是特别在意内存,其实使用String就可以啦。

2023-08-14 15:10:03 209

原创 【黑马点评】基于session实现短信登录

访问之前都要先校验用户的登录状态,用户的请求直接访问controller实现这一段逻辑,那随着业务的增加,每个controller都来执行这段逻辑太过麻烦,所以,这里定义了一个拦截器,这样用户请求就不是直接访问controller,所有的请求都必须先经过这个拦截器,再由拦截器放行,将请求发送给controller,拦截到的信息需要受到保护,然后发送给controller。

2023-08-05 21:11:05 261 1

原创 【用户登录与注销】你真的懂登录吗?

我记得我刚刚接触数据库 MySQL 的时候,老师最常让我们做的作业就是学生管理系统的注册和登录。当时我还没学过MyBatis,也不知道有 Mybatis-Plus ,只会一点 JDBC ,连代码都不记得,需要网上搜寻一遍。那时候,我以为的注册登录自然就是将用户数据写入数据库,然后将查询数据和输入的数据进行比对实现登录。不过,我越学到后面越发现注册登录并没有我想的这么简单!举个例子:用户从一个网站登录,我们首先需要校验他是否注册过;

2023-07-27 09:30:07 589

原创 【版本控制Git】远程仓库的拉取与推送

git是一个版本控制工具,可以帮你管理你的文件。举个例子:你写了几篇文章,写完了人出去浪了。结果有人故意搞你,把你的文章内容给改了,而你又不知道改了多少,改了哪里,这就很麻烦了。但如果你用了git,你写完后记得提交,无论别人怎么改,你只需要回滚一下就可以,回到最初的状态。而像 GitHub 和 Gitee 的远程仓库则可以在线查看和修改我们的文件。这里我以码云(https://gitee.com/)为例,它相比 GitHub 更稳定一些。设置本机绑定SSH公钥,实现免密码登录。

2023-07-07 10:44:07 1066

原创 【Springboot实战】如何发送短信验证

阿里云注册短信服务似乎会送一些免费的额度,这波又被我白嫖到了😁😁😁90条短信,做测试足够了第三方短信服务运营商这里我白嫖阿里的进入阿里云官网并登录,顶部搜索短信服务登录选择国内消息菜单,首先添加短信签名,用于标识短信发送者的身份其次申请短信模板,用于定义发送短信的内容格式。短信模板的内容就自己定义,规则自己多看看,这里我就不说了,我也两次没通过😵‍💫😵‍💫签名和模板需要等待大概一个多小时的时间这里我添加了两个模板。

2023-06-28 23:06:45 2719 3

原创 SpringBoot发送邮件

学习springboot如何整合javamail发送邮件。学习邮件发送之前先了解3个概念,这些概念规范了邮件操作过程中的标准。SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于电子邮件的传输协议POP3(Post Office Protocol - Version 3):用于电子邮件的标准协议IMAP(Internet Mail Access Protocol):互联网消息协议,是POP3的替代协议。

2023-06-18 17:17:37 454 1

原创 消息队列RabbitMQ的安装和简介

MQ简称消息队列,是在消息传输过程中保存消息的容器。多用于分布式系统间的通信MQ:消息列队,消息中间件分布式系统通信的两种方式:远程调用和第三方间接通信发送方——生产者,接收方——消费者。

2023-06-12 19:52:01 384

原创 学习之路漫漫

上次我写了《身为大学生的你,还在摆烂吗》,想必大家看了这篇文章后,都或多或少有的一些感触吧。所以这篇文章我打算和大家来聊聊关于如何制定学习计划,并完成它?

2023-05-29 09:57:29 149 1

原创 Springboot基础知识

所有springboot项目都要继承的项目,定义了若干个依赖版本号(依赖管理),减少依赖版本冲突。如今的Java项目只是在自己的电脑上运行,如果程序脱离了该电脑,服务器是没法访问。5、在运行jar文件时,可能会出现端口占用,导致程序运行失败。上述行为是约束方式,不是规范,可以打破,不是REST规范。是boot工程的执行入口,运行main方法启动工程(

2023-05-26 20:26:52 70 1

原创 版本控制Git,你了解多少

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。在团队开发中git是必不可少的,它是目前为止最流行的工具。

2023-05-16 21:39:03 101 1

原创 SpringBoot异常处理

把异常页面统一放在templates的error文件夹下404、500实际项目处理中会出现各种各样的异常,如果以上面的方式处理异常,我们就需要写大量的异常处理页面,太过麻烦,可以定义中一个全部异常处理页面使用了全局异常处理后原本的/error页面就会失效共有三种方法:这里举例两种一、注解自定义一个全局异常处理类,只需上面加上 @ControllerAdvice 注解同时要在执行异常处理的方法上标记@ExceptionHandler。

2023-05-10 14:37:20 2962 3

原创 身为大学生的你,还在摆烂吗?

我们熬过了高中时代艰苦的岁月,终于上了大学后,没有了老师的催促,没有了家长的监督,也不必再整天面对成堆的作业和考试。大学当之无愧成为了大学生的天堂。可事实真是如此吗?一段时间后,你会发现无论是同学还是室友都沉迷于手机、游戏、恋爱。作为新时代的青年,这些是再正常不过了,可是物极必反,没有束缚的爱好被称为瘾。凌晨两三点都在回荡着室友键盘疯狂的敲击声和难以入耳的脏话,使你难以入眠。你真的享受这样的生活吗?这样的生活当然能让你没有任何烦恼,可也会让你无所适从。

2023-04-28 21:59:34 283 1

原创 MyBatis的基本入门

如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。@Value注解用于修饰类,相当于是@Data的不可变形式,因为字段都被修饰为private和final,默认的情况下不会生成settter。@Data注解在类上,将类提供的所有属性都添加get、set方法,并添加equals、hashCode、toString方法。在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致。

2023-04-25 21:52:13 194 1

原创 MyBatis-plus的功能

目录1、主键自增1.1、id自增策略1.2、id主键自增不连续2、自动填充数据功能代码级别1)使用注解@TableField2)数据库中新增字段3)自定义实现类处理注解3)测试数据库级别3、代码生成器方式一:下插件方式二:写代码4、逻辑删除1)数据库中添加字段2)实体类上加注解3)配置文件4)测试4、条件构造器5、乐观锁5.1、实现方式:5.2、实现步骤5.3、测试乐观锁mybatis-plus官方文档从源码中可以看到,除了AUTO这个策略以外,还有如下几种生成策略:NONE: 不设置id生成

2023-04-23 21:22:33 849 3

标准数据层开发-接口方法、主键自增、日志输出

标准数据层开发-接口方法、主键自增、日志输出

2023-03-13

空空如也

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

TA关注的人

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