后端开发
敲代码的ciery
认真做事,勤于搜索,不畏困难。
展开
-
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 · 1753 阅读 · 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 · 468 阅读 · 0 评论 -
Spring Cloud学习总结(一)
微服务学习0.学习目标使用RestTemplate发送请求明确SpringCloud的作用搭建Eureka注册中心使用Robbin负载均衡使用Hystrix熔断器为什么要学习Spring Cloud?在项目开发中,随着业务越来越多,导致功能间耦合性越来越高,开发效率低,系统运行缓慢,难以维护及不稳定,微服务可以解决这些问题。而Spring Cloud是微服务的常用实现方式言外之意,微服务可以降低项目功能模块间的耦合性,提高开发效率,利于项目维护1.系统架构的演变随互联网的发展原创 2020-10-22 23:28:30 · 969 阅读 · 0 评论 -
Spring Security学习之会话管理
概念会话:session,对于无状态的HTTP 实现用户状态可维持的一种解决方案。 HTTP的无状态特点使得用户给与在服务器交互的过程中,每个请求间没有关联性,即用户的访问没有身份记录,站点无法为用户提供个性化服务。session的诞生解决这个问题(利用session保存用户身份) 服务器通过与用户约定,每个请求都会携带一个id类的信息,使得不用请求间有了关联;id也方便与用户绑定,就可把不同请求归类到同一用户 基于此方案,为了使同一个用户的每个请求都携带一个id,需要一个载体原创 2020-09-10 19:55:32 · 496 阅读 · 1 评论 -
Spring Security学习之OAuth介绍
OAuth概念OAuth:解决了在用户不提供密码给第三方应用的情况下,让第三方应用有权获取用户数据及基本信息的难题 Open Authorization开放授权,是一种资源提供商用于授权第三方应用代表资源所有者获得有限访问权限的授权机制。由于整个授权过程中,第三方应用无需触及用户的密码即可取得部分资源的使用权限,所有OAuth是安全开放的。 例如登录CSDN的时候支持QQ、新浪微博、百度、开源中国和GitHub: 在选择QQ作为第三方登录的时候,会跳转到QQ站点(避免在CSD...原创 2020-09-10 19:41:17 · 759 阅读 · 0 评论 -
Spring Security学习之自动登录与自动注销
前言设置自动登录的原因: 有的网站可能对密码要求比较繁琐(例如必须包含大小写甚至特殊字符),可能下次用户登录的时候会忘记密码,不得不找回密码从而又回到如何设计密码的环节 支持用户对信任的设备使用remember-me功能,直接登录提升用户登录体验 实现基本思路将用户的登录信息保存在用户浏览器的cookie中,当用户下次访问的时候,自动实现校验并建立登录态Spring Security在自动登录中支持两种令牌(检验机制): 用散列算法加密用户必要的登录信息并生成令牌原创 2020-09-10 19:32:03 · 532 阅读 · 0 评论 -
Spring Security学习之密码加密
前言密码安全的重要性: 防止被黑客“拖库” 拖库:数据库术语,从数据库中导出数据。现特指网站遭到入侵后,黑客窃取数据库文件 如果发生拖库:大量用户信息被暴露,面临数据安全和数据隐私双重威胁,尤其如果数据库密码是明文存储 预防错误:数据库加密 如果拖库已经发生,那么密码如果有加密的话可以最大限度的防止被破解从而减少安全损失 提高密码破解难度,让黑客主动放弃高成本破解 另外通知用户登录,跳转手机号/邮箱验证,验证通过话原创 2020-09-10 19:02:30 · 589 阅读 · 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 · 390 阅读 · 0 评论 -
《Java开发手册》学习总结
前言实际开发以来,总是觉得自己的代码不够优雅,但是往往学习的对象只单纯是同组/前人的代码以及自己的惯用编程习惯,后续发现阿里有出《Java开发手册》,便下了华山版进行学习并记录。学习完后上阿里云官网发现后续出了泰山版和嵩山版,进行简单对比后补充。参考资料:《Java开发手册-华山版》《Java开发手册-泰山版》《Java开发手册-嵩山版》下载链接:https://developer.aliyun.com/topic/java20?spm=a2c6h.12873581.0.0.e407转载 2020-08-18 19:28:34 · 2850 阅读 · 0 评论 -
基于Spring AOP的日志功能实现
前言前一段时间学习了Spring,明确Spring的两大特征:IoC控制反转和AOP面向切面编程。后续遇到了系统日志功能,实现的时候使用到了AOP,在此进行总结。IoC:主要是将程序中的对象通过创建bean对象的方式将其加入到Spring容器中,通过依赖注入的方式调用容器中的bean对象,从而降低程序间的依赖性(传统是通过new 方式获取类对象)AOP:面向切面编程,抽取出程序中重复度较高的代码,然后项目中哪里需要使用,就通过反向代理的方式调用这部分重复度高的代码,实现原功能的代码增强。参考原创 2020-08-11 11:34:54 · 3522 阅读 · 0 评论 -
SpringMVC学习简单总结
前言过了下SpringMVC,简单总结一下。知识点一. 基本概念1.1 三层架构表现层:即web层,负责接收客户端请求,向客户端返回响应结果。通常客户端通过http协议请求web层,web需要接受http请求并完成http响应。表现层包括展示层和控制层,展示层负责结果的展示(前端),控制层负责接收请求(servlet)。MVC是表现层的常用设计模型,SpringMVC是MVC模型的一个具体的实现框架业务层:即service层,负责业务逻辑处理,与开发需求息息相关,web层依原创 2020-08-09 16:39:52 · 297 阅读 · 0 评论 -
Spring学习简单总结
前言前一段时间简单学习了Spring,了解核心内容Ioc和AOP,根据学习的东西简单总结记录下。知识点一. 基础概念二. Ioc三. AOP四. 基于Spring的事务控制总结及时汇总总结,学知识要融会贯通,多联想思维。...原创 2020-08-03 23:20:02 · 279 阅读 · 0 评论 -
简易版电商系统实现记录
前言最近手上没啥活了,就干脆把之前一直想练的一个项目拿出来做做,挺有意思的一点就是平时都是自己在别人搭好的项目结构上直接写业务逻辑,当自己从0开始写项目的时候还是遇到了一些问题,也算是更宏观的学习如何做出一个项目。这个项目的角色有用户和管理员,主要涉及到的业务逻辑有用户管理、商品管理、购物车管理、订单管理和支付管理。实际应用中的电商项目肯定很复杂,除了基本的业务逻辑外,如果数据访问量比较大的话还会加redis缓存机制,如果需要离线计算还会加Hadoop框架...这个练手的项目本身是使用SSM框架做的原创 2020-07-25 20:57:24 · 2115 阅读 · 0 评论 -
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 · 403 阅读 · 0 评论 -
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 · 247 阅读 · 0 评论 -
自定义密码规则功能实现
前言最近遇到一个功能需要用户可以自定义系统的密码规则,传统中对于密码规则这块一般都是后端给定常用的密码正则表达式,然后当用户注册的时候填写密码,系统获取密码后会匹配这个给定的正则表达式,如果不匹配会提示用户密码不符合规范。现在如果是可以自定义密码规则,首先不太可能由用户直接写正则表达式,难度较大且正则表达式的正确性无法得到保证。通过分析一般密码的正则表达式发现基本都是数字、大小写字母、特殊字符以及规定密码的长度,所以如果自定义规则的话不妨让用户可以自定义密码中数字、大小写这些字段的长度,然后系统读取原创 2020-07-03 16:08:25 · 2132 阅读 · 0 评论 -
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 · 276 阅读 · 0 评论 -
定时检查数据是否过期,如过期则更新字段
前言项目中遇到一个检查数据库数据是否过期,并且如果过期的话需要更新字段的功能,当时想到的是数据库的存储过程+定时实现,后续想着很多方法如果能在后端代码实现的话就不用在数据库添加太多功能,所以尝试搜了一下springboot这块是否有这个功能,发现还真有,通过定时任务实现该功能,定时检查是否过期,如果过期更新字段;如果没有过期的则不作任何操作。在此进行简单记录。参考链接1. mysql event实现:https://blog.csdn.net/qq_40425961/article/detail原创 2020-06-22 17:16:37 · 2836 阅读 · 0 评论 -
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 · 5618 阅读 · 0 评论 -
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 · 4206 阅读 · 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 · 1780 阅读 · 0 评论 -
@RequestBody @RequestParam @ModelAttribute学习记录
前言最近做的一个功能里面接触到了Spring相关的一些知识点,目前还没系统学Spring,先根据遇到的问题零碎学习并进行总结。后续系统学习Spring后再整体做总结。开发这个功能遇到一个问题,原本接口参数中有@RequestBody,后续需求变更又加了@RequestParam,测试的时候报Json parser error的错误,网上查询说是这两个东西不能同时存在一个方法的参数列表中(j...原创 2020-05-07 20:44:58 · 191 阅读 · 0 评论 -
JDBC使用简单记录
前言Java Database Connectivity,Java数据库连接,即Java通过JDBC来操作关系型数据库。(JDBC相当于Java的一个接口,不同关系型数据库通过实例化实现这个接口来具体的实现对数据库的具体CRUD操作)由于开发中常用JDBC,特此进行简单的代码记录,以便之后直接使用。常用代码记录1. JDBC快速入门2. JDBC工具类3. 数据库连接池...原创 2020-04-14 21:38:29 · 209 阅读 · 0 评论 -
通过GET/POST方式获取第三方接口的数据
前言遇到一个项目,需要通过API去获取数据,API接口的调用方式支持GET和POST。一开始不同这个API具体是个啥,是需要我们自己设计还是说用户给定,后续搜索明确是用户自定义提供API接口,开发人员只需要获取到API的url及调用这个API所需要的必要参数,然后分别以GET/POST方式连接API,通过API获取数据返回即可。这块对我来讲是个新知识点和新的处理方式,所以进行简单记录。参考...原创 2020-03-25 23:59:26 · 12109 阅读 · 0 评论 -
Java学习——斗地主升级版(玩家手牌和底牌顺序输出)
需求三个人斗地主,54张牌(包括大王、小王)。每人按顺序摸牌,最后剩3张底牌,请打印分别从大到小顺序输出三个玩家的手牌以及所剩的底牌。设计表面上看起来同https://blog.csdn.net/qq_38586378/article/details/104780112的逻辑相同,就是准备牌、洗牌、发牌、牌输出,但是需要注意的是加了一个新需求,三名玩家和底牌输出并不是直接输出,而是将摸...原创 2020-03-12 18:34:23 · 606 阅读 · 0 评论 -
Java学习——斗地主
需求设计实现总结原创 2020-03-11 10:06:05 · 467 阅读 · 0 评论 -
Oracle运维日记
前言最近实验室一直的一个运维项目频频在Oracle上出错,想着错误还挺典型,做一个记录,以供后续参考学习使用。运维记录1. ORA-01000: 超出打开游标的最大数问题描述:需要开多进程遍历对象集合,并且将对象数据存入到Oracle数据库中,测试报超出Oracle游标最大数的错误。知识介绍:Oracle的游标数cursors:游标是SQL的一个内存工作区,由系统或用户以...原创 2020-03-10 18:20:06 · 896 阅读 · 0 评论 -
SSM学习 —— Spring Boot +MyBatis小试炼
一、前言最近需要有个小面试准备学了一点点SSM,主要是学到MyBatis的一些用法吧算是,恰好作业有用到,就简单记录一下,使用的是Spring Boot+MyBatis二、知识准备SSH:可参考博客https://blog.csdn.net/qq_38586378/article/details/103076786Spring+Stuts+Hibernate,SSH相对来讲响应稍慢、...原创 2019-11-29 10:15:25 · 411 阅读 · 0 评论 -
SSH学习(二)—— SSH框架搭建篇
一、前言前面简单了解了SSH基础的概念(https://blog.csdn.net/qq_38586378/article/details/103076786),参考网上的一些教程使用IDEA创建Maven项目搞了个SSH框架搭建。二、参考链接https://www.cnblogs.com/baixaio/articles/10326050.htmlhttps://blog.csd...转载 2019-11-15 00:01:54 · 132 阅读 · 0 评论 -
SSH学习(一)—— 基础概念篇
一、前言最近有个小面试需要复习以前用到的SSH框架,忘得差不多了当然当时也差不多就是不会的状态,现在花了三四天的时间进行一个简单的学习,总结一些概念性的东西放在这儿。二、参考链接ssh框架:https://baike.baidu.com/item/ssh%E6%A1%86%E6%9E%B6/8882453?fr=aladdinSSH三大框架的概述:https://blog.csdn...原创 2019-11-14 23:40:02 · 1496 阅读 · 0 评论