自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (4)
  • 收藏
  • 关注

原创 安装图数据库Nebula Graph

今年开始,很多机关单位、央国企都要求所有新建的信息系统必须走国产化技术路线,而且还要求满足“信创”要求。“信创”通俗来讲就是要自研,那种拿个开源套壳的都不满足信创要求。之前研究了一段时间的neo4j,显然neo4j不满足国产化技术路线。刚好前一段时间和Nebula Graph的技术人员交流,顺便也就安装研究一下。

2024-04-11 17:44:41 405

原创 安装Neo4j

Neo4j是一款比较流行的图数据库。图数据库相比于关系型数据库,更适合展现对象与对象之间的关系。主要使用场景为推荐系统、反诈系统、图谱等等。本次安装的版本为Neo4j 5.17.0社区版,在CentOS7下。

2024-04-01 09:59:20 734

原创 Spring Security学习(七)——父子AuthenticationManager(ProviderManager)

Spring Security学习(六)——配置多个Provider》有个很奇怪的现象,如果我们不添加DaoAuthenticationProvider到HttpSecurity中,似乎也能够达到类似的效果。那我们为什么要多此一举呢?从文章的效果来看确实是多此一举,但其实这里面暗藏玄机。也引出了本文的父子AuthenticationManager(ProviderManager)的话题。Spring Security学习(六)——配置多个Provider。

2024-02-24 18:08:14 1192

原创 Spring Security学习(六)——配置多个Provider(存在两种认证规则)

Spring Security学习(五)——账号密码的存取》一文已经能满足一般应用的情况。但实际商业应用也会存在如下的情况:用户提交的账号密码,能在本地的保存的账号密码匹配上,或者能在远端服务认证中匹配上,就算认证通过。这种通常类似于单点登录,或者认证中心之类的。本文不去探索这种架构,只是单纯讨论如果存在两种认证规则下如何处理。多种认证方式使用Spring Security时有好几种处理方式。根据不同的情况,架构师考虑不同的解决方案。本文先从比较简单的方案说起。

2024-02-21 17:59:24 1412

原创 Spring Security学习(五)——账号密码的存取(UserDetailService、PasswordEncoder、DaoAuthenticationProvider)

本文是常见Java Web应用中使用Spring Security的核心。一个Web应用管理系统在用户登陆上最核心的问题就是解决两个问题:1、用户提交的账号密码如何与数据库中保存的账号密码匹配上;2、如何保持会话。本文就是解决第一个问题的。

2024-02-15 23:49:04 274

原创 Spring Security学习(四)——登陆认证(包括自定义登录页)

本文主要讲述了SpringSecurity中提交账号的方式,其中自定义登录页可以适用于thymeleaf为前端的轻应用。不过对于使用vue作为前端的应用不需要配置登陆提交方式。

2024-02-14 22:04:09 1103 1

原创 Apach Ozone部署

最近由于工作需要,要部署一套ozone。我自己对hadoop这套体系不是很熟悉,所以过程磕磕碰碰,好不容易勉强搭起来,所以记录一下部署方式。

2023-11-22 18:28:56 382 2

原创 关于cloudflare的“检查站点连接是否安全”一直反复转圈的问题

其中很多时候哦是没有红色框框一栏,就是拼命在转圈和刷新页面,等上一个小时都没用。以上情况看很多网上的说法是卸载浏览器安装的插件。我寻思我也没安装过什么插件。不一定要全部添加,可能添加其中几个就可以了。

2023-08-23 09:44:54 31406 8

原创 nvm安装使用与常见问题

nvm是一个用来进行nodejs多个版本管理和切换的工具。这个工具的使用相当简单和方便,但是没想到我使用的时候却遇到了好些问题,这里记录一下顺便分享。

2023-08-17 17:17:40 1683

原创 Maven搭建Springboot+MyBatisPlus+人大金仓数据库

最近做一个项目,因为国产化的需要,甲方要求使用人大金仓数据库。赶紧查了下MyBatisPlus可以适配,就打算搭建一套简单Springboot+MyBatisPlus+人大金仓数据库的环境,用来进行一些简单的验证。

2023-03-23 21:58:34 6741 2

原创 Springboot生成war部署到Tomcat

今天刚好一个同事叫我友情协助给个简单的war包他,用来作为培训的素材。确实是个很简单的东西,我却整整坑了2个多小时在里面。因为这些年用springboot都是生成jar包直接启动,还真没做过几个项目是生成war扔tomcat上的。结果好一阵子搜索,其实也没什么,无非就是pom排除内嵌的tomcat,主类继承SpringBootServletInitializer并重写的configure方法。但就这么点简单的东西居然也坑了,正好就mark一下。Springboot生成war

2022-11-20 00:56:03 187

原创 Vue学习(九)——混入

混入(mixin)的使用非常简单,其实我原本打算直接写插件(plugin)的,但考虑到插件的使用范围也包括混入和自定义指令,还是先讲讲这两个的基本概念。混入在我看来,就是给组件加上一些通用的属性和方法。比如说我们项目有很多个页面是要展示分页列表的,那页面组件都会包含当前页、每页记录、总记录数、总页数这些属性、还有页面增删查改操作的函数等等,其中有很多是完全一样,或者具备一定可复用性的。如果每个页面都搞这么一大坨,不单写起来繁琐,看起来也很乱。要是碰上不同的人开发,变量名定义还不一样,可读性可维护性就很差。

2022-11-20 00:45:22 520

原创 Spring Security学习(三)——密码加密

上一篇文章我们实现了从数据库读取用户名密码到Spring Security中,并验证登录成功。不过密码的形式有点奇怪,这篇文章我们研究一下密码加密和比对的问题。

2022-10-16 19:33:56 1670

原创 Spring Security学习(二)——使用数据库保存密码

上一篇文章我们已经快速搭起Spring Security应用。我们使用的是默认的用户名密码。通常项目中我们使用数据库保存密码,并且数据库的密码是加密保存的。如何做到呢,是这篇文章的重点。

2022-10-16 11:57:49 896 1

原创 Spring Security学习(一)——快速开始

Spring Security是目前Java后台管理系统中使用最常见的安全认证框架之一。本文讲述如何快速创建Spring Security应用。

2022-09-28 17:26:31 391 1

原创 身份证校验(JAVA、JS)

我也是最近做项目的时候,才知道身份证的尾数是个校验位。说白了,并不是你随随便便输入一个身份证号码都是正确的号码。不单开头两位的省份编码要正确,中间出生年月日是合理数值,还有身份证最后一位是前面17位的一个校验码。其实逻辑很简单,基本一看就懂了,废话不说,直接上源码:...

2022-07-07 11:05:38 2184

原创 Vue学习(八)——引入mock进行测试

前言按照前后端分离的架构设计思路,通常前端通过axios调用后端接口。如果后端接口未写好,前端如何进行测试呢?这时候就要引入mock。mock会拦截前端请求,并生成测试数据。这样看起来就像调用了后端接口一样。虽然mock不能实现什么业务功能,但作为前端开发,引入mock也是必不可少的。安装mock由于mock的作用本来就是用于相应ajax调用,因此我们沿用《Vue学习(七)——引入Axios》建好的项目作为例子。在此之上引入mock并使用。首先在...

2022-01-24 17:59:42 2748 3

原创 Vue学习(七)——引入Axios

前言Vue官网推荐使用Axios用于Ajax调用。本文介绍如何在Vue项目中引入Axios。准备服务端程序本服务端程序仅用来测试,如果读者有其他rest接口用于测试可跳过此节。我通过Eclipse创建一个Springboot项目。首先新建maven选择webapp那一项填写必要信息便可完成修改pom.xml文件,主要增加对spring-boot和spring-mvc的依赖。前几行注释掉的地方是我的项目信息,读者可以改成自己的。<project x.

2022-01-22 18:20:13 10808

原创 Vue学习(六)——Vue-Router引入

前言Vue-Router是Vue官方推荐的使用的路由库。由于官方文档以单页面为主,而实际项目大多不是这样。所以这篇文章记录一下搭建一个简单Vue应用如何引入Vue-Router。新建项目安装依赖我们还是按照之前《Vue学习(一)——组件基础》的方式初始化项目。vue create router1之后安装依赖npm install这之后我们进入项目的目录并安装Vue-Router。cd route1npm install vue-router --save

2022-01-12 17:15:15 8641

原创 Vue学习(五)——Vuex核心概念(State、Getter、Mutation、Action、Module)

本文会把Vuex的五个核心概念State、Getter、Mutation、Action、Modul都进行介绍和展示

2021-12-14 19:30:49 1715

原创 Vue学习(四)——Vuex入门

Vue的组件的传值方式通常是这样的:父组件给子组件设定属性,子组件从props中取出;子组件通过$emit给父组件发送消息,父组件处理该消息从而获取传值。这种设计理念在遇到诸如兄弟组件传值、祖父节点给孙子节点传值时,就比较麻烦了。所以这种场景可以考虑使用Vuex。

2021-12-08 10:31:21 570

原创 SpringMVC(一)——新建SpringMVC项目

环境准备eclipse:Oxygen.1 Release (4.7.1)servlet:3.1.0新建maven项目关于转换项目为Servlet3.x,请参考《Eclipse新建基于Servlet3.x的maven项目》。SpringMVC传统是通过XML方式配置。后来也增加了java方式配置。XML方式配置先编辑pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xm...

2021-10-25 19:35:46 469

转载 jupyter notebook 登陆需密码问题

引用参考:Python-Jupyter notebook更换浏览器时需要输入密码的问题 - 倦刻懒骨 - 博客园使用Jupyter notebook学习Python,打开后如果切换浏览器,提示需要密码。自己在网上查了下,基本解决。1、首先打开Anaconda Prompt(有的写的是cmd命令行,我的反正尝试了是不行的)输入如下 jupyter notebook --generate-config出现如下:Overwrite C:\Users\LENOVO\.jupyter\jupyter_

2021-10-19 09:59:52 2753

原创 Shiro学习(七)——Shiro与web集成

前言Shiro作为一个权限认证框架,最主要的服务对象应该就是JavaWeb。因此如何与web集成是发挥shiro作用的关键。这里以最基础的与servlet集成作为例子。新建简单的servlet应用这里以《Eclipse新建基于Servlet3.x的maven项目》这篇文章的方式构建基本的servlet,就不在本文叙述了。...

2021-10-07 17:12:15 332

原创 Eclipse新建基于Servlet3.x的maven项目

前言好长时间没有玩servlet了,还是十年前在校的时候入门java时折腾一下。最近想用Eclipse新建一个基于Servlet3.x的maven项目,却没想到还折腾了好一阵子。正好写一篇文章作为参考的例子。环境准备eclipse:Oxygen.1 Release (4.7.1)servlet:3.1.0新建maven项目转换为serlvet3.0此时我们发现Dynamic Web Module转换不了3.0,这是本项目最麻烦的地方。我们在...

2021-09-30 18:08:36 213

原创 Shiro学习(六)——MD5加密与盐值

前言上一篇文章讲了shiro如何配置加密服务。这篇文章我们用md5加密算法作为例子。md5算法是常见的加密算法,另外为了提高安全性,通常还会加上盐值。这些如何进行配置呢,在本文进行展示...

2021-09-25 22:49:41 1443 1

原创 xxl-job适配PostgreSQL数据库

xxl-job是xxl系列的任务调度平台,本身默认使用mysql。如果我们的项目需要使用pg数据库,那就必须对其进行适配了。其实修改的核心在于建表语句和mapper中的sql语句变更。不同版本xxl-job的sql是有所不同的,不可能生搬硬套。如果版本不一致时,要先比对不同版本xxl-job的mysql建表语句和mapper之间的区别,然后在给定pg适配语句上修改。切勿生搬硬套!!切勿生搬硬套!!切勿生搬硬套!!这里我以xxl-job 2.3.1版本为例:建表语句:CREATE TABLE

2021-09-17 09:39:31 4475 5

原创 Shiro学习(五)——密码的加密解密

前言前面几篇文章的密码都是以明文形式存储。在真实项目中当然不可能明文存储密码,密码一定是以加密的形式存储的。前面我们可以看到当我们给出帐号和密码后,shiro就会去查找ini配置文件或者数据库对应字段来匹配账号密码。那如果我们把存储的密码加密,shiro又如何根据我们提交的明文密码与存储的加密密码匹配呢?Shiro加密与匹配的原理这里不准备展示源码。相信很多读者看文章时面对大量源码也看得一头雾水,并不能总结出什么来,所以这里大致讲讲思路,有兴趣的读者可以自行跟踪源码。这里以读取ini文件为例

2021-09-09 10:58:33 5413

原创 Shiro学习(四)——认证与授权(ini文件配置与数据库配置方式)

前言安全框架最基本的两个功能是认证和授权。在系列第一篇文章《Shiro学习(一)——Shiro配置与快速开始》中,我们已经通过login验证了其认证功能。本篇主要讲讲授权功能。另外也想讲讲通过数据库方式进行授权的管理。网上搜索以及很多例子基本都是以ini文件配置为主,即使个别使用数据库管理的,也讲得不清不楚,希望这篇文章能让大家搞明白。ini文件配置方式还是先以ini文件配置方式讲起,我们新建文件shiro.ini[users]zhang=123,role1wang=456,r

2021-09-02 17:08:18 724

原创 mybatis学习(二)——各种查询操作示例

前言查询是数据库操作中最频繁,花样最多的操作,没有之一。上一篇文章看来只要在xml里写好sql即可。主要的问题在于各种类型参数如何传参到sql语句里,可能还需要一些动态语句。另外当数据库字段和接收查询结果的实体类属性没对上的话,如何进行映射。事前准备上篇文章我们直接在主程序里面进行。这篇文章开始我们使用junit测试。我是使用Eclipse Oxygen(挺老的版本),Eclipse都是自带junit的,在build path中添加即可,如下图所示:然后我们在src/test/j

2021-07-17 11:52:33 247 1

原创 mybatis学习(一)——快速搭建基于maven的项目

前言本次系列文章不打算把mybatis的各项配置解释得清清楚楚。配置细节不单繁琐,而且官网上篇幅也挺多,觉得没必要把官网的东西搬下来,也没必要每个配置项都各种尝试,否则写一百篇文章也讲不清。更想记录的是做项目中一些比较基础的搬砖式代码的,尤其是mybatis查询中的各种例子,省去每次遇到问题还要自己试验半天。快速开始新建数据库首先在mysql数据库中新建一个名为test的schema,然后新建数据表studentCREATE TABLE `student` ( `id` in

2021-07-14 11:12:59 98

原创 Vue学习(三)——组件的slot

前言学习组件的slot(插槽)前,必须先学习组件基础。插槽是建立在组件之上的。我刚开始做vue项目,拿代码依葫芦画瓢的时候,遇到slot搜了好多篇文章都看不明白。直接看官方文档也看不明白。问题首先是对组件基本不怎么理解,其次是没有亲手去建一个简单项目来理解slot。使用组件通常也不可避免要用到slot。可以去看看element ui文档,很多组件都有slot。slot说白了就是组件的一块区域空出来,交给用户自定义。最典型例子就是数据表格,其右侧“操作”一列经常包含“编辑 查看 删除”这样,如下图所示

2021-07-13 10:27:54 1960 1

原创 Vue学习(二)——父子组件的交互

前言如果你对组件的基础不是很了解,请先学习前一篇关于vue的文章,或者去官网学习,否则只会让你越学越乱父子组件交互父子组件属性的传递父子组件的交互通常的模式是:

2021-07-07 16:53:44 520 2

原创 Vue学习(一)——组件基础

概述Vue初学者遇到的第一个难题应该就是组件。Vue中组件又是使用非常频繁的的功能。虽然官网已经写得不错,但相信也有很多新手不太适应官网的描述方式,因此写一下自己的理解。单页面使用...

2021-07-04 02:21:31 694 3

原创 MyBatis-Plus学习(三)——字段自动填充

前言现在项目中的数据库表经常会加上create_time和update_time字段,表示记录的创建时间和更新时间。而这两个字段的信息通常不需要我们手动填写,可以交给框架自动填充。MybatisPlus

2021-06-09 14:41:00 405

原创 MyBatis-Plus学习(二)——CRUD的使用

前言MyBatis-Plus对mybatis一些简单crud语句进行了的封装,因此对于不复杂的单表,可以直接使用提供出来的API即可。

2021-06-07 19:05:12 323

原创 MyBatis-Plus学习(一)——Springboot快速开始

前言虽然Mybatis-Plus官网的指南写得比较清楚,不过在实际开发和配置中,还是遇到了不少问题,既是写给自己看,也是把一些遇到的问题记录下来。快速开始数据库首先在数据库中新建一个数据库,这里我新建的叫mybatis_plus_test。然后执行以下脚本创建User表DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30).

2021-05-23 23:11:33 959 5

原创 《How Tomcat Works》学习(四)——连接器(二)——解析http头部参数

前言上文已经对路径及请求参数进行了解析,本文会对头部的参数,如cookie、content-length、content-type进行解析程序HttpRequest类增加以下代码:public class HttpRequest implements HttpServletRequest { //...... private int contentLength; private String contentType; //...... public void par.

2021-02-24 10:17:53 188

原创 FreeSWITCH学习(一)——CentOS下源码编译安装FreeSWITCH

前言最近这段时间因为项目原因,开始学习FreeSWITCH。IP电话这个领域以前没接触过,光是理解一些概念都花了不少时间。准备记录一下自己的学习成果。关于FreeSWITCH,具体的概念我也不细说了,我本身也不是搞这个领域出身的,理解并不透彻。对于搞计算机的人来说,就粗略理解为其功能像路由器、交换机之类的。总之一个ip电话需要通过这个软件,打给别的ip电话,或者通过例如sip服务器等方式和我们现有的固化和移动电话进行通话。安装FreeSWITCHFreeSWITCH是一个跨平台的软件,.

2021-02-15 18:39:02 1664

原创 《How Tomcat Works》学习(三)——连接器(一)——解析http请求路径与参数

前言本文内容根据《How Tomcat Works》第三章学习所写。书中第三章的程序比较庞大,实现了简单的请求解析、请求头部解析等。鉴于程序比较复杂,所以我自己实现了一个更简易的版本。本文的程序主要是为了讲解web服务器解析请求的过程到底做了什么。程序启动类我们创建一个启动类,作为main入口。这里我们新建一个连接器,启动连接器public final class Bootstrap { public static void main(String[] args) { Ht.

2020-12-29 15:31:51 334 1

dubbo-admin-2.6.0.war

dubbo-admin,用于监控和调试dubbo生产者和消费者的工具。本资源是已打包的war,放入tomcat中运行即可。初始帐号密码是root/root

2019-10-08

2004-2013软考网络工程师历年试题答案及详解

2004-2013软考网络工程师历年试题答案及详解,附有答案和详细解释,考生可作参考

2017-02-13

LoadRunner入门与提升

LoadRunner入门与提升这本书主要是对应惠普的LoadRunner软件。LoadRunner功能非常强大,可以做压力测试、性能测试等。这本书写得很细,对LoadRunner的不少功能都做了使用的描述

2014-08-30

Linux内核设计的艺术

看过几本讲内核书,有些门槛很高,必须对内核有一定了解。或者有些则讲得不够底层,还是从比较高层的概念去讲问题。 这本书比较好,讲得很细,图文并茂,而且从计算机开机开始讲,让人感觉对内核入门并没有那么难

2014-08-30

空空如也

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

TA关注的人

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