自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

原创 LeetCode每日一题02.08-02.14

2021.02.08-最长湍流子数组978最长湍流子数组题目描述:摘自:https://leetcode-cn.com/problems/longest-turbulent-subarray/solution/zui-chang-tuan-liu-zi-shu-zu-by-leetcode-t4d8/ /** * 滑动窗口 * @param arr * @return */ public int maxTurbulenceSize(int

2021-02-08 17:50:07 197

原创 LeetCode每日一题02.01-02.07

2021.02.01-公平的糖果棒交换888公平的糖果棒交换题目描述:题目解析:

2021-02-01 14:21:35 269

原创 LeetCode每日一题01.25-01.31

2021-01.25-由斜杠划分区域959题目描述:在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。返回区域的数目。题目解析:连通性问题可使用BFS DFS 并查集,因为此题需要的是数目,并非连通的路径,所以推荐使用并查集难点在于将1 x 1的方格根据grid分割为nn份的小方格,一个小方格由四个三角形构成,求区域即求4 * n *n个区域中连通的个数,一个三角形为一个节点,可分别从[向左,向上

2021-01-25 15:25:38 315 1

原创 LeetCode每日一题不定时更新

LeetCode刷题记录2021.01.04-斐波那契数列题目:计算斐波那契数列题目分析:如果直接使用递归,时间复杂度O(2^n),会爆;观察使用递归时间复杂度这么高的原因主要是递归树结点的重复计算,可以考虑将中间结果存入到HashMap集合中,在递归计算前先查看下集合中有没有数据,如果已经有的话则无需递归计算也可以使用动态规划的思想,要求的值为从开头,前两个相加得到结果,在和第二个值相加…不断向后移动知道要求的值的那一位,可以设first=0,second=0,temp=1然后从2开始,一直

2021-01-17 16:50:21 256

原创 Redis实战学习

Redis实战学习学习链接:https://www.bilibili.com/video/BV1S54y1R7SB?from=search&seid=7621763557629341311学习路径:基础理论学习+实操,将知识融会贯通历史、发展、理论、实践NoSQL为什么要用NoSQL1,单机MySQLDAL:数据库操作(CRUD)接口90年代,网站访问量不大,单个数据库足够网站更多使用静态html,服务器没啥压力瓶颈:数据量如果太大,一个mysql放不下;数据索引太大放不

2020-12-08 22:29:29 416

原创 LeetCode专题学习记录

本着快速积极复习数据结构和算法基础的目的,按照LeetCode的标签,一个个过。根据标签复习总结相关的知识点,每个标签保证10道左右的刷题量(简单程度),目的是确保掌握这个知识点的基本使用方式。数组知识点数组:把具有相同类型的若干元素按有序的形式组织起来,线性表的实现方式之一(另外一个是链表)数组利用索引来记录每个元素在数组中的位置,索引从0开始,即数组A[m]的索引值范围是[0,m-1],可通过索引快速访问数组中的元素,索引指向的是内存地址数组中的元素在内存中连续存储,每个元素占用相.

2020-12-04 11:00:44 99

原创 读取配置文件的方法总结

前言在项目中经常会用到从配置文件读取配置的需求,毕竟有些例如ip/端口/文件存储路径等配置,为了代码的复用性和可移植性,最好是能从配置文件读,最大程度避免在代码中写死(不要硬编码,不要硬编码)遇到过好几种从配置文件读取配置的方法,在此做下汇总,方便之后复用~方法一、使用Properties配置类对象获取一般会给一个static静态代码块,在其中实例化好Properties对象,然后定义一个方法,根据key去配置文件中获取对应的配置其中配置文件可以直接写文件名的原因:通过类加载器进行加

2020-11-22 16:44:01 2610

原创 MongoDB简单学习小总结

MongoDB学习背景:互联网发展开始只有少量的数据,一台服务器足够,使用的时候得进行数据备份以应对大量的读取和宕机。之后添加缓存层,提升查询速度。MongoDB具有二级索引、范围查询、排序、聚合以及地理空间索引等功能MongoDB优点:易于使用:面向文档(document-oriented),非关系型数据库,不再有“行”的概念,取而代之的是“文档”模型。灵活性可扩展性:NoSQL扩展的两种方式:纵向扩展(换好机器,大多数情况下有瓶颈不现实);横向扩展(分片分区存储)MongoDB支持

2020-11-12 22:27:21 1195

原创 Docker练习小结

Docker复习参考学习网站:https://www.bilibili.com/video/BV1og4y1q7M4https://www.bilibili.com/video/bv1kv411q7Qc/?spm_id_from=333.788.b_636f6d6d656e74.60.复习目标前面简答过了下基础概念,因为没有实践环境就没实操。后续有了自己的节点,就简单的操作练了下(毕竟凡人一个,眼过千遍不如手过一遍嘛)。进行简单记录方便后续命令查看。不过个人感觉最好的参考就是Docker官

2020-10-30 22:52:32 1685 1

原创 Spring Cloud学习总结(二)

0. 学习目标使用Feign进行远程调用搭建Spring Cloud Gateway网关服务配置Spring Cloud Gateway路由过滤器编写Spring Cloud Gateway全局过滤器搭建Spring Cloud Config配置中心服务使用Spring Cloud Bus实时更新配置1. Feign1.1 简介在前面的学习中,使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码String url = "http://user-service/user/"

2020-10-27 22:04:43 454

原创 Spring Cloud学习总结(一)

微服务学习0.学习目标使用RestTemplate发送请求明确SpringCloud的作用搭建Eureka注册中心使用Robbin负载均衡使用Hystrix熔断器为什么要学习Spring Cloud?在项目开发中,随着业务越来越多,导致功能间耦合性越来越高,开发效率低,系统运行缓慢,难以维护及不稳定,微服务可以解决这些问题。而Spring Cloud是微服务的常用实现方式言外之意,微服务可以降低项目功能模块间的耦合性,提高开发效率,利于项目维护1.系统架构的演变随互联网的发展

2020-10-22 23:28:30 922

原创 Docker学习小总结

参考https://www.runoob.com/docker/docker-resources.htmlhttps://docs.docker.com/engine/https://www.cnblogs.com/jackzz/p/10024043.html基础概念docker是一个用于开发、发布和运行应用程序的开发平台,可将应用程序与基础架构分开,从而快速交付软件。借助docker,可以与管理应用程序相同的方式管理基础架构,可利用docker方法来快速交付、测试和部署代码,可大大减少编码和在

2020-10-14 17:43:43 257

原创 有关File的常用操作实现汇总

前言最近参与了一个小项目,主要负责的是文件的跨服务器传送,其中包含按要求对文件进行压缩后传送,实现的时候使用的是Restful接口,实现的过程中遇到了很多关于文件File的操作,感觉实现的时候有思路知道该如何如何实现这个功能,但是具体的代码实现还是得百度搜索,想着之后也会常用不如总结一下,后续遇到相关操作继续更新~常用操作一、MultipartFile转FileSpringBoot中通常前端上传文件到后端,对应接口的文件参数类型为MultipartFile,后端获取到这个Multipa...

2020-10-09 21:46:32 1403 2

原创 Spring Security学习之会话管理

概念会话:session,对于无状态的HTTP 实现用户状态可维持的一种解决方案。 HTTP的无状态特点使得用户给与在服务器交互的过程中,每个请求间没有关联性,即用户的访问没有身份记录,站点无法为用户提供个性化服务。session的诞生解决这个问题(利用session保存用户身份) 服务器通过与用户约定,每个请求都会携带一个id类的信息,使得不用请求间有了关联;id也方便与用户绑定,就可把不同请求归类到同一用户 基于此方案,为了使同一个用户的每个请求都携带一个id,需要一个载体

2020-09-10 19:55:32 450 1

原创 Spring Security学习之OAuth介绍

OAuth概念OAuth:解决了在用户不提供密码给第三方应用的情况下,让第三方应用有权获取用户数据及基本信息的难题 Open Authorization开放授权,是一种资源提供商用于授权第三方应用代表资源所有者获得有限访问权限的授权机制。由于整个授权过程中,第三方应用无需触及用户的密码即可取得部分资源的使用权限,所有OAuth是安全开放的。 例如登录CSDN的时候支持QQ、新浪微博、百度、开源中国和GitHub: 在选择QQ作为第三方登录的时候,会跳转到QQ站点(避免在CSD...

2020-09-10 19:41:17 719

原创 Spring Security学习之自动登录与自动注销

前言设置自动登录的原因: 有的网站可能对密码要求比较繁琐(例如必须包含大小写甚至特殊字符),可能下次用户登录的时候会忘记密码,不得不找回密码从而又回到如何设计密码的环节 支持用户对信任的设备使用remember-me功能,直接登录提升用户登录体验 实现基本思路将用户的登录信息保存在用户浏览器的cookie中,当用户下次访问的时候,自动实现校验并建立登录态Spring Security在自动登录中支持两种令牌(检验机制): 用散列算法加密用户必要的登录信息并生成令牌

2020-09-10 19:32:03 516

原创 Spring Security学习之密码加密

前言密码安全的重要性: 防止被黑客“拖库” 拖库:数据库术语,从数据库中导出数据。现特指网站遭到入侵后,黑客窃取数据库文件 如果发生拖库:大量用户信息被暴露,面临数据安全和数据隐私双重威胁,尤其如果数据库密码是明文存储 预防错误:数据库加密 如果拖库已经发生,那么密码如果有加密的话可以最大限度的防止被破解从而减少安全损失 提高密码破解难度,让黑客主动放弃高成本破解 另外通知用户登录,跳转手机号/邮箱验证,验证通过话

2020-09-10 19:02:30 568 1

原创 Spring Security基础理论学习

前言想着既然项目中用到Spring Security框架,那为了以后面试说到这个项目的时候不害怕被问框架问题,干脆就好好学一下,基础、实战、源码分析一个一个来。参考资料Spring Security参考手册:https://www.springcloud.cc/spring-security-zhcn.html#true-javahttps://docs.spring.io/spring-security/site/docs/5.1.12.RELEASE/reference/htm...

2020-08-19 21:28:38 372

转载 《Java开发手册》学习总结

前言实际开发以来,总是觉得自己的代码不够优雅,但是往往学习的对象只单纯是同组/前人的代码以及自己的惯用编程习惯,后续发现阿里有出《Java开发手册》,便下了华山版进行学习并记录。学习完后上阿里云官网发现后续出了泰山版和嵩山版,进行简单对比后补充。参考资料:《Java开发手册-华山版》《Java开发手册-泰山版》《Java开发手册-嵩山版》下载链接:https://developer.aliyun.com/topic/java20?spm=a2c6h.12873581.0.0.e407

2020-08-18 19:28:34 2815

原创 基于Spring AOP的日志功能实现

前言前一段时间学习了Spring,明确Spring的两大特征:IoC控制反转和AOP面向切面编程。后续遇到了系统日志功能,实现的时候使用到了AOP,在此进行总结。IoC:主要是将程序中的对象通过创建bean对象的方式将其加入到Spring容器中,通过依赖注入的方式调用容器中的bean对象,从而降低程序间的依赖性(传统是通过new 方式获取类对象)AOP:面向切面编程,抽取出程序中重复度较高的代码,然后项目中哪里需要使用,就通过反向代理的方式调用这部分重复度高的代码,实现原功能的代码增强。参考

2020-08-11 11:34:54 3462

原创 SpringMVC学习简单总结

前言过了下SpringMVC,简单总结一下。知识点一. 基本概念1.1 三层架构表现层:即web层,负责接收客户端请求,向客户端返回响应结果。通常客户端通过http协议请求web层,web需要接受http请求并完成http响应。表现层包括展示层和控制层,展示层负责结果的展示(前端),控制层负责接收请求(servlet)。MVC是表现层的常用设计模型,SpringMVC是MVC模型的一个具体的实现框架业务层:即service层,负责业务逻辑处理,与开发需求息息相关,web层依

2020-08-09 16:39:52 258

原创 Spring学习简单总结

前言前一段时间简单学习了Spring,了解核心内容Ioc和AOP,根据学习的东西简单总结记录下。知识点一. 基础概念二. Ioc三. AOP四. 基于Spring的事务控制总结及时汇总总结,学知识要融会贯通,多联想思维。...

2020-08-03 23:20:02 246

原创 简易版电商系统实现记录

前言最近手上没啥活了,就干脆把之前一直想练的一个项目拿出来做做,挺有意思的一点就是平时都是自己在别人搭好的项目结构上直接写业务逻辑,当自己从0开始写项目的时候还是遇到了一些问题,也算是更宏观的学习如何做出一个项目。这个项目的角色有用户和管理员,主要涉及到的业务逻辑有用户管理、商品管理、购物车管理、订单管理和支付管理。实际应用中的电商项目肯定很复杂,除了基本的业务逻辑外,如果数据访问量比较大的话还会加redis缓存机制,如果需要离线计算还会加Hadoop框架...这个练手的项目本身是使用SSM框架做的

2020-07-25 20:57:24 2043

原创 Cassandra学习小总结

前言最近机缘巧合接触了Cassandra,经历了几天的安装部署压测完成任务的同时,利用时间结合网上的博客了解学习了Cassandra,并且简单实操了下,在此进行总结。参考链接1. Cassandra官网:https://cassandra.apache.org 官网文档:https://cassandra.apache.org/doc/latest/2. Cassandra下载链接:http://archive.apache.org/dist/cassandra/3. C...

2020-07-19 22:49:27 906

原创 HBase开发总结

前言之前一直学的是HBase的Shell基本操作和API基本操作,对于一个项目中如何对HBase数据库进行CRUD操作 没有宏观的代码框架设计,所以根据实际项目中的应用进行总结,不定时更新~开发过程记录1. 宏观的一个框架Java端对HBase的操作基本其实就是:1. 获取Configuration,基本两个:HBase的节点以及ZooKeeper端口号2. 获取Connection3. 获取Admin进行DDL操作/获取Table进行DML操作。其中DDL操作主要是指对HBas

2020-07-14 16:10:34 383

转载 LocalDateTime学习笔记

前言项目中遇到使用时间处理类LocalDateTime,查询后发现是Java8的新特性,一定程度上可以替代Date类型,进行简单学习并总结相关链接。参考链接1. Java 8 特性:https://ifeve.com/java-8-features-tutorial/2. LocalDateTime类:https://www.yiibai.com/javatime/javatime_localdatetime.htmlhttps://www.cnblogs.com/huanshilang

2020-07-09 21:35:43 210

原创 自定义密码规则功能实现

前言最近遇到一个功能需要用户可以自定义系统的密码规则,传统中对于密码规则这块一般都是后端给定常用的密码正则表达式,然后当用户注册的时候填写密码,系统获取密码后会匹配这个给定的正则表达式,如果不匹配会提示用户密码不符合规范。现在如果是可以自定义密码规则,首先不太可能由用户直接写正则表达式,难度较大且正则表达式的正确性无法得到保证。通过分析一般密码的正则表达式发现基本都是数字、大小写字母、特殊字符以及规定密码的长度,所以如果自定义规则的话不妨让用户可以自定义密码中数字、大小写这些字段的长度,然后系统读取

2020-07-03 16:08:25 2081

原创 MyBatis学习简单总结

前言知识点1. MyBatis框架简介2. 基于XML和基于注解的开发实例代理模式+daoImpl都说明一下,之后用代理模式3. MyBatis的基本操作xml+注解开发都说明一下4. MyBatis的多表查询操作4.1 多对一4.2 一对多5. MyBatis中的连接池6. MyBatis中的事务7. MyBatis中的缓存总结...

2020-07-01 23:46:05 212

原创 定时检查数据是否过期,如过期则更新字段

前言项目中遇到一个检查数据库数据是否过期,并且如果过期的话需要更新字段的功能,当时想到的是数据库的存储过程+定时实现,后续想着很多方法如果能在后端代码实现的话就不用在数据库添加太多功能,所以尝试搜了一下springboot这块是否有这个功能,发现还真有,通过定时任务实现该功能,定时检查是否过期,如果过期更新字段;如果没有过期的则不作任何操作。在此进行简单记录。参考链接1. mysql event实现:https://blog.csdn.net/qq_40425961/article/detail

2020-06-22 17:16:37 2745

原创 Spring Security集成Oauth2实现用户身份验证+授权

前言最近的项目有使用到Sping Security和Oauth做用户身份验证和授权机制,所以在网上找了点资料简单学习并写了个小demo,在此进行记录总结。参考链接1. Spring Security了解:https://www.springcloud.cc/spring-security-zhcn.html2. Spring Boot集成Spring Security:https://www.jianshu.com/p/afe6619d9663https://www.cnblogs.

2020-06-05 20:06:00 5477

原创 SpringBoot集成Swagger实现JWT验证token

前言最近有个项目涉及用户权限管理,然后之前也有看到的一个小技术JWT,简单学习了解以后结合SpringBoot Swagger实现了一个简单的demo,这个demo主要是实现用户通过用户名和密码登录系统,登录成功以后系统给一个token,之后的用户操作需要验证token,只有token符合要求才能进行其他系统资源访问操作,否则提示权限不够或者token过期有误等提示信息,现将实现过程进行简单记录。参考链接1. Swagger了解:https://www.jianshu.com/p/349e130

2020-06-04 19:18:33 3975 3

原创 组织树结构后端实现

前言最近遇到一个显示树结构的问题,需要将结果以树的形式进行展示,想着这个东西其实很普遍很常见,所以在网上找了两个方法+自己想的一个笨办法,现此进行简单思路说明总结。参考链接https://blog.csdn.net/ldllovegyh/article/details/102692948 https://blog.csdn.net/weixin_39819191/article/details/84180652?utm_medium=distribute.pc_relevant.none-ta

2020-06-04 17:31:52 1729

原创 @RequestBody @RequestParam @ModelAttribute学习记录

前言最近做的一个功能里面接触到了Spring相关的一些知识点,目前还没系统学Spring,先根据遇到的问题零碎学习并进行总结。后续系统学习Spring后再整体做总结。开发这个功能遇到一个问题,原本接口参数中有@RequestBody,后续需求变更又加了@RequestParam,测试的时候报Json parser error的错误,网上查询说是这两个东西不能同时存在一个方法的参数列表中(j...

2020-05-07 20:44:58 169

原创 JDBC使用简单记录

前言Java Database Connectivity,Java数据库连接,即Java通过JDBC来操作关系型数据库。(JDBC相当于Java的一个接口,不同关系型数据库通过实例化实现这个接口来具体的实现对数据库的具体CRUD操作)由于开发中常用JDBC,特此进行简单的代码记录,以便之后直接使用。常用代码记录1. JDBC快速入门2. JDBC工具类3. 数据库连接池...

2020-04-14 21:38:29 181

原创 MySQL知识点复习小结

前言最近刚刚复习了关系型数据库MySQL,现进行简单总结。知识点1. 数据库DataBase(简称DB),用于存储和管理数据的仓库。1.1 数据库的特点:可持久化存储数据(数据库其实就是一个文件系统);可高效存储和管理数据;支持统一的方式来操作数据库(对于关系型数据库——SQL;对于非关系型数据库——NoSQL)1.2 常见的数据库:关系型数据库——MySQ...

2020-04-14 12:40:51 285

原创 Java基础学习总结记录

前言之前基本确定之后的求职方向,但一直学习没有方向没有系统的路线,放假期间捋了一下自己的思路,感觉确确实实知识得系统的学,尤其基础的应用最多的技术知识。Java是本科选修过,但是当时只是单纯考试考完基本上就是平常有项目的时候会用到,没有很系统的知识体系。既然以后大几率是往后端开发去靠近,那完全是有必要把基础夯实,构建完整的知识体系,所以也就利用时间过了一遍JavaSE基础,在此进行简单的记录总...

2020-04-03 20:12:42 236

原创 通过GET/POST方式获取第三方接口的数据

前言遇到一个项目,需要通过API去获取数据,API接口的调用方式支持GET和POST。一开始不同这个API具体是个啥,是需要我们自己设计还是说用户给定,后续搜索明确是用户自定义提供API接口,开发人员只需要获取到API的url及调用这个API所需要的必要参数,然后分别以GET/POST方式连接API,通过API获取数据返回即可。这块对我来讲是个新知识点和新的处理方式,所以进行简单记录。参考...

2020-03-25 23:59:26 11441

原创 导项目依赖问题

前言在编译项目的时候很容易会因为网络问题而导致一些项目的依赖jar包下不下来,或者是使用IDEA等工具打开项目的时候maven下载部分依赖jar包失败。第一回遇到这个问题的时候选择硬等下载但是还是没有下载成功,后来直接手动将下载不下来的jar包手动下载导入到maven下自定义的repository目录下,后续也有直接用现成的repository,重新编译项目发现很快;这几天使用IDEA...

2020-03-14 21:31:18 190 1

原创 Java学习——斗地主升级版(玩家手牌和底牌顺序输出)

需求三个人斗地主,54张牌(包括大王、小王)。每人按顺序摸牌,最后剩3张底牌,请打印分别从大到小顺序输出三个玩家的手牌以及所剩的底牌。设计表面上看起来同https://blog.csdn.net/qq_38586378/article/details/104780112的逻辑相同,就是准备牌、洗牌、发牌、牌输出,但是需要注意的是加了一个新需求,三名玩家和底牌输出并不是直接输出,而是将摸...

2020-03-12 18:34:23 573

原创 Java学习——斗地主

需求设计实现总结

2020-03-11 10:06:05 428

Apache Atlas1.1.0安装包其余part

本来分了5个part,目前已经上传成功了一个part,但是想着太过麻烦了,这个就直接上网盘链接,整个Apache Atlas安装包可以通过网盘地址直接下载↖(^ω^)↗ 主要是有atlas内嵌的hbase和solr(这个如果本身电脑已经有的话就不需要了),还有钩子hook,以及web上的server,还有atlas自身运行的bin目录等

2019-03-08

Apache Atlas1.1.0安装包

因为atlas目前官网给的只有源码需要自行编译,而且自己编译的时候很容易出现各种各样的bug,就上传一个已经编译打包好的安装包,直接解压应该就可以用↖(^ω^)↗ 因为每次上传有限制,就拆开上传,这个压缩包里面有bin、conf、data、docs、models、logs还有几个txt文档

2019-03-08

空空如也

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

TA关注的人

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