3 csdnzoutao

尚未进行身份认证

You got a dream, you gotta protect it. 如果你有梦想的话,就要去捍卫它。——《当幸福来敲门》

等级
TA的排名 1k+

用了MyBatis就不会发生SQL注入风险吗?

用了MyBatis就不会发生SQL注入风险吗?SQL注入问题是很久的事情了,而且现在mybatis,hibernate等框架使用较为成熟了,但是作为一个T新手肯定要对一些本质上的安全问题从新从头梳理一下。本文主要说SQL注入中的Statement对象,PreparedStatement对象,和mybatis的注入风险 \color{red}{本文主要说SQL注入中的Statement对象,PreparedStatement对象,和mybatis的注入风险 ~}本文主要说SQL注入中的Sta

2020-05-17 00:48:49

MyBatis-Plus的一些高级干货

MyBatis-Plus的一些高级干货MyBatis Plus(简称 MP)是一个 MyBatis 的增强版,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。记住:对MyBatis只做增强不做改变,引入它不会对现有工程产生影响\color{red}{对MyBatis 只做增强不做改变,引入它不会对现有工程产生影响}对MyBatis只做增强不做改变,引入它不会对现有工程产生影响mp官方文档:https://mp.baomidou.com/guide/1.MyBatis-Plus

2020-05-16 20:14:40

BeanUtils优雅的set和get赋值操作

BeanUtils优雅的set和get赋值操作今天博主任务是webservice接口的开发,拿到甲方给过来的接口文档,里面一百多个字段。需要赋值操作~需求场景今天博主任务是webservice接口的开发,拿到甲方给过来的接口文档,里面一百多个字段。于是打开之前的别人的webservice接口,其中moldrepairSync方法,如下:居然长达100多个字段,挨个set,get赋值,OMG,当时我和我的小伙伴都惊呆了~这写完怕是手都断了~~~~思考我们知道,一个JavaBean通常包

2020-05-10 13:19:00

web/springboot数据变更历史记录设计

web/springboot数据变更历史记录设计在一些领域,记录数据的变更历史是非常重要的。比如人力资源系统…需要记录个人的成长历史。再比如一些非常注重安全的系统,希望在必要时可以对所有的历史操作追根溯源,有据可查。1.前言比如,修改一个人的姓名从“张三”变为了“李四”,那么在进行记录的时候,记录的信息可能如下: 姓名:(张三)=>(李四);如图:这样就很好的体现出了修改了哪个字段,修改前后的数据分别是什么。关键的信息无论怎么修改都会有据可查,时间、人物、修改数据前后信息等。

2020-05-10 11:29:17

Hadoop当下最简洁的大数据各种技术介绍与总结

当下最简洁的大数据各种技术介绍与总结当下最简洁的大数据各种技术介绍与总结1.大数据的发展历史1.1 启蒙阶段:数据仓库的出现1.2 技术变革:Hadoop诞生1.3 数据商业化:数据湖系统1.4 数据工厂时代:大数据平台兴起1.5 数据价值时代:数据中台2.大数据的核心概念2.1 什么是大数据?2.2 什么是数据仓库?2.3 传统数据仓库 vs 新一代数据仓库3.大数据平台的通用架构3.1 数据传...

2020-04-20 23:12:04

基于Spring AOP的统一响应体的实现(注解版)

基于Spring AOP的统一响应体的实现(注解版)一、前言在上一篇系列中 我们 统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档,对于统一数据响应返回规范那里(5. 统一结果响应),我们写的方式不采用注解的,介于springboot中注解的使用较为频繁,特意增加一个自定义注解版本来完成的统一响应的操作。二、思路使用Spring的Control...

2020-04-16 21:49:40

springboot/web项目优秀的后端接口体系,看一篇就够了

springboot/web项目优秀的后端接口体系,看一篇就够了项目构建-统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档1. 前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。本文主要演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范...

2020-04-16 21:17:36

springboot启动项目自动运行测试方法

springboot启动项目自动运行测试方法实现方式在xxxx包下创建一个类xxxxx.java,该类需要继承ApplicationRunner接口并实现里面的run方法,并将该类通过@Component 注入到spring里,源码如下:package com.gitee.taven.test;import org.slf4j.Logger;import org.slf4j.Logg...

2020-04-14 15:43:40

SpringBoot/Web项目防止表单/请求重复提交(单体和分布式)

SpringBoot/Web项目防止表单/请求重复提交(单机和分布式)一、场景/方案说起web项目的防止表单/请求重复提交,不得不说幂等性。幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次。1.1、常见场景: • 订单接口, 不能多次创建订单 • 支付接口, 重复支付同一笔订单只能扣一次钱 • 支付宝回调接口, 可能会多次回调, 必须处理重复回调...

2020-04-14 15:37:16

java工具类之map中存放list《实体类》生成数据测试接口

java工具类之map中存放list<实体类>,用于生成数据测试接口Java Map 存放list集合Map接口中键和值一一映射. 可以通过键来获取值。应用场景比如你测试一个接口,返回的是一条数据。图示:后端的这么写的:@RequestMapping("user")public class UserController { @GetMapping("/getUs...

2020-04-11 23:44:18

java策略模式去掉冗余if-else实战支付案例

java策略模式去掉冗余if-else支付案例实战前言上一篇文章介绍了 java中冗余if-else代码块的优化(策略模式法,反射法),里面详细介绍了策略模式+工厂模式来解决代码中大量的if-else结构。这一篇就举个实战例来说明,怎么使用策略模式。1.支付案例需求假设你在做的某个项目,需求就是页面选择不同的付款渠道,计算不同的折扣,进行扣款。看到这个图片,有小伙伴在遇到诸如此类的...

2020-04-10 22:12:57

java中冗余if-else代码块的优化(策略模式法,反射法)

JAVA中冗余if-else代码块的优化开发中我们会经常写if(…) { } else if(…) {} else if (…) {}等多个逻辑判断,一般else if 会有好几个,比如这样:多个else if代码块会使得整个方法看起来比较臃肿,这篇文章的目的就是通过几种方式来减少甚至消灭else if。优化冗余if-else代码块的三种方式1.switch-case结构在大多数文...

2020-04-10 21:32:25

python3爬虫系列24之重庆微博地铁客运量爬取和可视化

python3爬虫系列24之重庆微博地铁客运量爬取和可视化1.前言在python3爬虫系列23之selenium+腾讯OCR识别验证码登录微博且抓取数据里面,我们既是又搞selenium自动化,又搞腾讯OCR识别,又搞图片验证码位置截取等等。接下来,让你看看啥叫吐血。。。。这里给大家透露小诀窍:一般做爬虫爬取网站时,首选的都是m站,其次是wap站,最后考虑PC站,因为PC站的各种验证最...

2019-12-02 17:59:50

python3爬虫系列23之selenium+腾讯OCR识别验证码登录微博且抓取数据

python3爬虫系列23之selenium+腾讯OCR识别验证码登录微博且抓取数据1.前言上一篇是一个python3爬虫系列22之selenium模拟登录需要验证码的微博且抓取数据,我们是首先进入到验证码网页读取验证码,人来手动识别输入,然后再提交。比较麻烦。翻看博客发现,之前有些过关于调用OCR的:python3调用腾讯API(图像/文字/验证码/名片/驾驶证)识别,网上一大堆...

2019-12-02 17:29:20

python3爬虫系列22之selenium模拟登录带验证码的微博且抓取数据

python3爬虫系列22之selenium模拟登录需要验证码的微博且抓取数据1.前言前面一篇说的是 python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容,实际上呢,163的登录没有遇到验证码的问题。现在写一个微博的自动登录的,注意这个是需要验证码的。很多网上的代码不适应了,微博代码已经改了,是最新的2.网页分析目标地址:https://weibo.com...

2019-12-02 16:57:37

python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容

python3爬虫系列21之selenium 的自动化登录1.前言前面在 python3爬虫系列20之反爬需要登录的网站三种处理方式中介绍的第三种方法,使用自动化测试工具selenium 库。他的作用呢?之前爬虫都是使用到了一些 python 的请求库,模拟浏览器的请求之类的,这些毕竟都是人工的,而如果让爬虫自己去打开浏览器,自己去请求我们要爬取的网站,自己去模拟登录啊搜索啊等等。就可...

2019-12-02 16:25:37

python3爬虫系列20之反爬需要登录的网站三种处理方式

python3爬虫系列20之反爬需要登录的网站处理1.前言在上一篇文章中,讲了python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用,实际上这是属于反爬中的一个了,在数据采集的过程中,基本上经常遇到这些情况,所以,如果要写持久型采集方案,多要采用这些方式。在以往的案例中,我们都是爬那些不需要登录或者登陆要求不高的网站。那么当你在爬某些网站的时候,需要你登录才可以获...

2019-12-02 15:29:04

python3爬虫系列18之多进程爬取2009-2019十年高考分数线

python3爬虫系列17之多进程爬取2009-2019十年高考分数线1. 前言上一篇文章是python3爬虫系列16之爬虫增速多进程,进程池的用法(白话解释),在里面我们知道了用来爬虫加速的多进程和进程池的创建使用方式。而之前的多线程爬虫例子python3爬虫系列15之多线程爬取汽车之家批量下载图片,看到python中使用多线程好像并不是很快。最后得出的结论是 在 Python 里面推...

2019-12-02 13:24:10

python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用

python3爬虫系列18之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事。1. 前言比如随着我们爬虫的速度越来越快,很多时候,有人发现,数据爬不了啦,打印出来一看。不返回数据,而且还甩一句话是不是很熟悉啊?要想想看,人是怎么访问网站的? 发请求,对,那么就会带有request.headers,那么...

2019-11-26 01:43:45

python3爬虫系列17之爬虫增速多进程,进程池的用法(白话解释)

python3爬虫系列16之爬虫增速多进程,进程池的用法(白话解释)1.前言上一篇文章呢,python3爬虫系列15之多线程爬取汽车之家批量下载图片,我们采用了多线程的方式来爬取,在耗时环节呢,感觉并不是很快,才600多张图片花了近21秒。至于原因呢,也在最后告诉了大家, 多线程下的 GIL 锁让python的多线程显得有点鸡肋, GIL锁 即全局排他锁,保护了数据安全性的同时,使得多...

2019-11-25 23:41:55

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。