详解定时任务中的 cron 表达式
1.前言我们经常使用cron表达式来定义定时任务的执行策略,今天我们就总结一下cron表达式的一些相关知识。2.cron表达式的定义cron表达式是一个字符串,该字符串由6个空格分为7个域,每一个域代表一个时间单位。格式如下:[秒][分][时][日][月][周][年]通常定义“年”的部分可以省略,实
MongoDB - 用户与权限
切换数据库1useadmin创建用户所有权限1db.createUser(2{3user:"anoyi",4pwd:"password",5roles:["root"]6}7)指定数据库所有权限1db.createUser(2{3user:"admin",4pwd:"admin",5roles:[{
Java 文件处理 Paths & Files
文件路径的描述与操作Path&Paths1、文件路径字符串转Patsh对象1PathfilePath=Paths.get("/Users/Anoyi/aaa.txt");另一种写法:1PathfilePath=Paths.get("/Users","Anoyi","aaa.txt");2、P
不懂Neo4j?没关系,一起学
Neo4j是什么为什么要用Neo4j什么场景使用怎么安装一、Neo4j是什么首先我们要了解下什么是Neo4j。Neo4j是一个高性能的、NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数
预防XSS,这几招管用!
https:最近重温了一下「黑客帝国」系列电影,一攻一防甚是精彩,生活中我们可能很少有机会触及那么深入的网络安全问题,但工作中请别忽略你身边的精彩https:https:https:大家应该都听过XSS(Cross-sitescripting)攻击问题,或多或少会有一些了解,但貌似很少有人将这个问题
JDK12 Collectors.teeing 功能真香
前言在Java12里面有个非常好用但在官方JEP没有公布的功能,因为它只是Collector中的一个小改动,它的作用是merge两个collector的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图😂):管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将dow
Java 8 Stream 的终极技巧——Collectors 操作
1.前言昨天在Collection移除元素操作[1]相关的文章中提到了Collectors。相信很多同学对这个比较感兴趣,那我们今天就来研究一下Collectors。2.Collectors的作用Collectors是Java8加入的操作类,位于java.util.stream包下。它会根据不同的策
Java Collection 移除元素的几种方式
1.前言操作集合是一个Java编程人员几乎每天都在重复的事情。今天我们来研究一下从JavaCollection中删除元素的方法。我构建了一个简单的集合,我们以此为例子来展开探索。List<String>servers=newArrayList<>();servers.add(
如何妙用Spring 数据绑定机制
前言在剖析完SpringBoot返回统一数据格式是怎样实现的?文章之后,一直觉得有必要说明一下Spring'sDataBindingMechanism「Spring数据绑定机制」。默认情况下,Spring只知道如何转换简单数据类型。比如我们提交的int、String或boolean类型的请求数据,它
讲讲自己一天入门Python的一些心得
1.前言好久没写文了。最近在搞一些好玩的技术用到了Python。我原以为要花些时日,谁知道第一天入门之后便没有再刻意地去学习它了。这里就写写其中的一些关键点吧。如果我去学一门语言不是因为它火了而是我用到它了。曾经闲着没事干的时候把Kotlin、Vue、React学了,但是从来没有实践中用到它们,以至
Java 是如何优雅地处理NPE问题的
1.前言对于Java开发者来说,null是一个令人头疼的类型,一不小心就会发生NPE(空指针)问题。也是Java语言为人诟病的一个重要原因之一。在我们消除可恶的NPE问题之前我们要回顾一下Java中null的概念。2.Java中的null翻译自OracleJava文档[1]Java语言中有两种类型,
解决原子性问题?你首先需要的是宏观理解
上一篇文章可见性有序性,Happens-before来搞定,解决了并发三大问题中的两个,今天我们就聊聊如何解决原子性问题原子性问题的源头就是线程切换,但在多核CPU的大背景下,不允许线程切换是不可能的,正所谓「魔高一尺,道高一丈」,新规矩来了:互斥:同一时刻只有一个线程执行实际上,上面这句话的意思是
图文并茂教你学会使用 IntelliJ IDEA 进行远程调试
1.前言今天线上出现了个Bug,而且比较坑的是涉及到微信相关的东西不能线下调试。传统方式是在代码中各种的日志log埋点然后重新部署进行调试,再根据log中的信息进行分析。如果你的log埋点不合理,就要不停的修改代码、不停的打包部署。有没有什么骚操作避免上面的问题呢?2.远程调试当然有解决方案,这就是
Spring Security 实战干货:动态权限控制(下)实现
1.前言SpringSecurity实战干货:内置Filter全解析[1]中提到的第32个Filter不知道你是否有印象。它决定了访问特定路径应该具备的权限,访问的用户的角色,权限是什么?访问的路径需要什么样的角色和权限?它就是FilterSecurityInterceptor,正是我们需要的那个轮
Spring Security 实战干货:动态权限控制(上)思路
1.前言欢迎阅读SpringSecurity实战干货系列[1]文章。截止目前已经对基于配置和基于注解的角色访问控制进行了讲解。对于一些小项目来说基本是够用的。然而如果希望运营管理人员能够动态的配置和分配权限,以上两种方式显然是满足不了需求的。接下来我们来一起探讨一下思路。2.动态权限同样依赖RBAC
Lombok 使用详解,简化Java编程
前言在Java应用程序中存在许多重复相似的、生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足Java的编译需求比如,在Java应用程序开发中,我们几乎要为所有Bean的成员变量添加get(),set()等方法,这些相对固定但又不得不编写的代码浪费程序员很多精力,同时让类内容
Spring Security 实战干货:SecurityContext相关的知识
1.前言欢迎阅读SpringSecurity实战干货[1]系列文章。在前两篇我们讲解了基于配置[2]和基于注解[3]来配置访问控制。今天我们来讲一下如何在接口访问中检索当前认证用户信息。我们先讲一下具体的场景。通常我们在认证后访问需要认证的资源时需要获取当前认证用户的信息。比如“查询我的个人信息”。
阿里巴巴Json工具-Fastjson教程
首先我们要了解JSON是什么?JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交
Spring Security 实战干货:基于注解的接口角色访问控制
1.前言欢迎阅读SpringSecurity实战干货[1]系列文章。在上一篇基于配置的接口角色访问控制[2]我们讲解了如何通过javaConfig的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方式基于注解。今天我们就来探讨一下。DEMO获取方式在文末。2.SpringSecurity方法安
Springboot整合支付宝支付加内网穿透工具实现本地回调
项目中我们集成了支付宝,用户可以使用支付宝来进行支付项目测试时,我们当然也需要一套测试环境对支付流程进行测试如果我们使用线上的支付宝配置进行测试,那么我们必须使用真实货币进行支付并且支付的金额会进入生产环境的支付宝绑定银行卡中,造成诸多不便这里,支付宝为测试提供了一个沙箱环境,使我们可以使用虚拟货币